Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
koko
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
koko
Commits
6ef96e7f
Commit
6ef96e7f
authored
Oct 28, 2019
by
Eric
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bugfix] close connections
parent
5eeea6b0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
3 deletions
+18
-3
sftp.go
pkg/handler/sftp.go
+2
-2
websshws.go
pkg/httpd/websshws.go
+14
-1
proxy.go
pkg/proxy/proxy.go
+2
-0
No files found.
pkg/handler/sftp.go
View file @
6ef96e7f
...
@@ -32,12 +32,12 @@ func SftpHandler(sess ssh.Session) {
...
@@ -32,12 +32,12 @@ func SftpHandler(sess ssh.Session) {
req
:=
sftp
.
NewRequestServer
(
sess
,
handlers
)
req
:=
sftp
.
NewRequestServer
(
sess
,
handlers
)
if
err
:=
req
.
Serve
();
err
==
io
.
EOF
{
if
err
:=
req
.
Serve
();
err
==
io
.
EOF
{
_
=
req
.
Close
()
userSftp
.
Close
()
logger
.
Info
(
"sftp client exited session."
)
logger
.
Info
(
"sftp client exited session."
)
}
else
if
err
!=
nil
{
}
else
if
err
!=
nil
{
logger
.
Error
(
"sftp server completed with error:"
,
err
)
logger
.
Error
(
"sftp server completed with error:"
,
err
)
}
}
_
=
req
.
Close
()
userSftp
.
Close
()
}
}
func
NewSFTPHandler
(
user
*
model
.
User
,
addr
string
)
*
sftpHandler
{
func
NewSFTPHandler
(
user
*
model
.
User
,
addr
string
)
*
sftpHandler
{
...
...
pkg/httpd/websshws.go
View file @
6ef96e7f
...
@@ -121,7 +121,20 @@ func OnHostHandler(c *neffos.NSConn, msg neffos.Message) (err error) {
...
@@ -121,7 +121,20 @@ func OnHostHandler(c *neffos.NSConn, msg neffos.Message) (err error) {
}
}
userR
,
userW
:=
io
.
Pipe
()
userR
,
userW
:=
io
.
Pipe
()
addr
,
_
,
_
:=
net
.
SplitHostPort
(
cc
.
Socket
()
.
Request
()
.
RemoteAddr
)
var
addr
string
request
:=
cc
.
Socket
()
.
Request
()
header
:=
request
.
Header
remoteAddr
:=
header
.
Get
(
"X-Forwarded-For"
)
if
remoteAddr
==
""
{
if
host
,
_
,
err
:=
net
.
SplitHostPort
(
request
.
RemoteAddr
);
err
==
nil
{
addr
=
host
}
else
{
addr
=
request
.
RemoteAddr
}
}
else
{
addr
=
strings
.
Split
(
remoteAddr
,
","
)[
0
]
}
client
:=
&
Client
{
client
:=
&
Client
{
Uuid
:
roomID
,
addr
:
addr
,
Uuid
:
roomID
,
addr
:
addr
,
WinChan
:
make
(
chan
ssh
.
Window
,
100
),
Conn
:
c
,
WinChan
:
make
(
chan
ssh
.
Window
,
100
),
Conn
:
c
,
...
...
pkg/proxy/proxy.go
View file @
6ef96e7f
...
@@ -221,6 +221,8 @@ func (p *ProxyServer) Proxy() {
...
@@ -221,6 +221,8 @@ func (p *ProxyServer) Proxy() {
// 创建Session
// 创建Session
sw
,
err
:=
CreateSession
(
p
)
sw
,
err
:=
CreateSession
(
p
)
if
err
!=
nil
{
if
err
!=
nil
{
// 创建srv成功,但session创建失败,关闭srvConn
_
=
srvConn
.
Close
()
return
return
}
}
defer
RemoveSession
(
sw
)
defer
RemoveSession
(
sw
)
...
...
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