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
d85df015
Commit
d85df015
authored
Jan 02, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
ad8a9148
f689b5a3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
11 deletions
+10
-11
httpd.py
coco/httpd.py
+3
-6
proxy.py
coco/proxy.py
+2
-1
session.py
coco/session.py
+5
-4
No files found.
coco/httpd.py
View file @
d85df015
...
@@ -32,7 +32,7 @@ class BaseWebSocketHandler:
...
@@ -32,7 +32,7 @@ class BaseWebSocketHandler:
else
:
else
:
remote_ip
=
request
.
remote_addr
remote_ip
=
request
.
remote_addr
self
.
clients
[
request
.
sid
][
"request"
]
=
Request
((
remote_ip
,
0
))
self
.
clients
[
request
.
sid
][
"request"
]
=
Request
((
remote_ip
,
0
))
self
.
clients
[
request
.
sid
][
"request"
]
.
user
=
self
.
get_current_user
()
self
.
clients
[
request
.
sid
][
"request"
]
.
user
=
self
.
current_user
self
.
clients
[
request
.
sid
][
"request"
]
.
meta
=
{
"width"
:
self
.
clients
[
request
.
sid
][
"cols"
],
self
.
clients
[
request
.
sid
][
"request"
]
.
meta
=
{
"width"
:
self
.
clients
[
request
.
sid
][
"cols"
],
"height"
:
self
.
clients
[
request
.
sid
][
"rows"
]}
"height"
:
self
.
clients
[
request
.
sid
][
"rows"
]}
# self.request.__dict__.update(request.__dict__)
# self.request.__dict__.update(request.__dict__)
...
@@ -41,9 +41,6 @@ class BaseWebSocketHandler:
...
@@ -41,9 +41,6 @@ class BaseWebSocketHandler:
self
.
app
.
clients
.
append
(
self
.
clients
[
request
.
sid
][
"client"
])
self
.
app
.
clients
.
append
(
self
.
clients
[
request
.
sid
][
"client"
])
self
.
clients
[
request
.
sid
][
"forwarder"
]
=
ProxyServer
(
self
.
app
,
self
.
clients
[
request
.
sid
][
"client"
])
self
.
clients
[
request
.
sid
][
"forwarder"
]
=
ProxyServer
(
self
.
app
,
self
.
clients
[
request
.
sid
][
"client"
])
def
get_current_user
(
self
):
return
User
(
id
=
'61c39c1f5b5742688180b6dda235aadd'
,
username
=
"admin"
,
name
=
"admin"
)
def
check_origin
(
self
,
origin
):
def
check_origin
(
self
,
origin
):
return
True
return
True
...
@@ -78,7 +75,8 @@ class SSHws(Namespace, BaseWebSocketHandler):
...
@@ -78,7 +75,8 @@ class SSHws(Namespace, BaseWebSocketHandler):
"rw"
:
[]
"rw"
:
[]
}
}
join_room
(
room
)
join_room
(
room
)
self
.
current_user
=
self
.
app
.
service
.
check_user_cookie
(
session_id
=
request
.
cookies
.
get
(
'sessionid'
,
''
),
csrf_token
=
request
.
cookies
.
get
(
'csrftoken'
,
''
))
self
.
prepare
(
request
)
self
.
prepare
(
request
)
def
on_data
(
self
,
message
):
def
on_data
(
self
,
message
):
...
@@ -162,4 +160,3 @@ class HttpServer:
...
@@ -162,4 +160,3 @@ class HttpServer:
def
shutdown
(
self
):
def
shutdown
(
self
):
pass
pass
coco/proxy.py
View file @
d85df015
...
@@ -69,7 +69,8 @@ class ProxyServer:
...
@@ -69,7 +69,8 @@ class ProxyServer:
def
get_server_conn
(
self
,
asset
,
system_user
):
def
get_server_conn
(
self
,
asset
,
system_user
):
logger
.
info
(
"Connect to {}"
.
format
(
asset
.
hostname
))
logger
.
info
(
"Connect to {}"
.
format
(
asset
.
hostname
))
if
not
self
.
validate_permission
(
asset
,
system_user
):
if
not
self
.
validate_permission
(
asset
,
system_user
):
self
.
client
.
send
(
warning
(
_
(
'No permission'
)))
# self.client.send(warning(_('No permission')))
self
.
client
.
send
(
warning
(
'No permission'
))
return
None
return
None
self
.
get_system_user_auth
(
system_user
)
self
.
get_system_user_auth
(
system_user
)
if
True
:
if
True
:
...
...
coco/session.py
View file @
d85df015
...
@@ -5,6 +5,7 @@ import threading
...
@@ -5,6 +5,7 @@ import threading
import
uuid
import
uuid
import
logging
import
logging
import
datetime
import
datetime
import
time
import
selectors
import
selectors
import
time
import
time
...
@@ -20,7 +21,7 @@ class Session:
...
@@ -20,7 +21,7 @@ class Session:
self
.
_watchers
=
[]
# Only watch session
self
.
_watchers
=
[]
# Only watch session
self
.
_sharers
=
[]
# Join to the session, read and write
self
.
_sharers
=
[]
# Join to the session, read and write
self
.
replaying
=
True
self
.
replaying
=
True
self
.
date_created
=
datetime
.
datetime
.
now
()
self
.
date_created
=
datetime
.
datetime
.
utc
now
()
self
.
date_end
=
None
self
.
date_end
=
None
self
.
stop_evt
=
threading
.
Event
()
self
.
stop_evt
=
threading
.
Event
()
self
.
sel
=
selectors
.
DefaultSelector
()
self
.
sel
=
selectors
.
DefaultSelector
()
...
@@ -160,7 +161,7 @@ class Session:
...
@@ -160,7 +161,7 @@ class Session:
logger
.
info
(
"Close the session: {} "
.
format
(
self
.
id
))
logger
.
info
(
"Close the session: {} "
.
format
(
self
.
id
))
self
.
stop_evt
.
set
()
self
.
stop_evt
.
set
()
self
.
post_bridge
()
self
.
post_bridge
()
self
.
date_end
=
datetime
.
datetime
.
now
()
self
.
date_end
=
datetime
.
datetime
.
utc
now
()
self
.
server
.
close
()
self
.
server
.
close
()
def
to_json
(
self
):
def
to_json
(
self
):
...
@@ -171,8 +172,8 @@ class Session:
...
@@ -171,8 +172,8 @@ class Session:
"system_user"
:
self
.
server
.
system_user
.
username
,
"system_user"
:
self
.
server
.
system_user
.
username
,
"login_from"
:
"ST"
,
"login_from"
:
"ST"
,
"is_finished"
:
True
if
self
.
stop_evt
.
is_set
()
else
False
,
"is_finished"
:
True
if
self
.
stop_evt
.
is_set
()
else
False
,
"date_start"
:
self
.
date_created
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"date_start"
:
self
.
date_created
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
+
" +0000"
,
"date_end"
:
self
.
date_end
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
self
.
date_end
else
None
"date_end"
:
self
.
date_end
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
+
" +0000"
if
self
.
date_end
else
None
}
}
def
__str__
(
self
):
def
__str__
(
self
):
...
...
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