Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
coco
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
coco
Commits
9999e909
Commit
9999e909
authored
Aug 08, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 修改models
parent
a1b4180d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
44 deletions
+18
-44
models.py
coco/models.py
+18
-44
No files found.
coco/models.py
View file @
9999e909
...
...
@@ -97,6 +97,7 @@ class BaseServer:
self
.
send_bytes
=
0
self
.
recv_bytes
=
0
self
.
stop_evt
=
threading
.
Event
()
self
.
chan
=
None
self
.
input_data
=
SizedList
(
maxsize
=
1024
)
self
.
output_data
=
SizedList
(
maxsize
=
1024
)
...
...
@@ -160,27 +161,15 @@ class BaseServer:
parser
=
utils
.
TtyIOParser
()
return
parser
.
parse_input
(
self
.
input_data
)
class
TelnetServer
(
BaseServer
):
"""
Telnet server
"""
def
__init__
(
self
,
sock
,
asset
,
system_user
):
super
(
TelnetServer
,
self
)
.
__init__
()
self
.
sock
=
sock
self
.
asset
=
asset
self
.
system_user
=
system_user
def
fileno
(
self
):
return
self
.
sock
.
fileno
()
return
self
.
chan
.
fileno
()
def
send
(
self
,
b
):
self
.
parse
(
b
)
return
self
.
sock
.
send
(
b
)
return
self
.
chan
.
send
(
b
)
def
recv
(
self
,
size
):
data
=
self
.
sock
.
recv
(
size
)
data
=
self
.
chan
.
recv
(
size
)
self
.
session
.
put_replay
(
data
)
if
self
.
_input_initial
:
if
self
.
_in_input_state
:
...
...
@@ -193,15 +182,26 @@ class TelnetServer(BaseServer):
logger
.
info
(
"Closed server {}"
.
format
(
self
))
self
.
parse
(
b
''
)
self
.
stop_evt
.
set
()
self
.
sock
.
close
()
self
.
chan
.
close
()
def
__getattr__
(
self
,
item
):
return
getattr
(
self
.
sock
,
item
)
return
getattr
(
self
.
chan
,
item
)
def
__str__
(
self
):
return
"<To: {}>"
.
format
(
str
(
self
.
asset
))
class
TelnetServer
(
BaseServer
):
"""
Telnet server
"""
def
__init__
(
self
,
sock
,
asset
,
system_user
):
super
(
TelnetServer
,
self
)
.
__init__
()
self
.
chan
=
sock
self
.
asset
=
asset
self
.
system_user
=
system_user
class
Server
(
BaseServer
):
"""
SSH Server
...
...
@@ -218,38 +218,12 @@ class Server(BaseServer):
self
.
asset
=
asset
self
.
system_user
=
system_user
def
fileno
(
self
):
return
self
.
chan
.
fileno
()
def
send
(
self
,
b
):
self
.
parse
(
b
)
return
self
.
chan
.
send
(
b
)
def
recv
(
self
,
size
):
data
=
self
.
chan
.
recv
(
size
)
self
.
session
.
put_replay
(
data
)
if
self
.
_input_initial
:
if
self
.
_in_input_state
:
self
.
input_data
.
append
(
data
)
else
:
self
.
output_data
.
append
(
data
)
return
data
def
close
(
self
):
logger
.
info
(
"Closed server {}"
.
format
(
self
))
self
.
parse
(
b
''
)
self
.
stop_evt
.
set
()
self
.
chan
.
close
()
super
()
.
close
()
self
.
chan
.
transport
.
close
()
if
self
.
sock
:
self
.
sock
.
transport
.
close
()
def
__getattr__
(
self
,
item
):
return
getattr
(
self
.
chan
,
item
)
def
__str__
(
self
):
return
"<To: {}>"
.
format
(
str
(
self
.
asset
))
# def __del__(self):
# print("GC: Server object has been gc")
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment