Improve concurrency and resource management #2
@ -177,6 +177,15 @@ func (s *Session) handleTCPIPForward(req *ssh.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
s.sendMessage("\033[H\033[2J")
|
||||
|
||||
showWelcomeMessage(s.ConnChannel)
|
||||
s.Status = RUNNING
|
||||
|
||||
if portToBind == 80 || portToBind == 443 {
|
||||
s.handleHTTPForward(req, portToBind)
|
||||
return
|
||||
} else {
|
||||
if portToBind == 0 {
|
||||
unassign, success := portUtil.Manager.GetUnassignedPort()
|
||||
portToBind = unassign
|
||||
@ -192,16 +201,6 @@ func (s *Session) handleTCPIPForward(req *ssh.Request) {
|
||||
s.Close()
|
||||
return
|
||||
}
|
||||
|
||||
s.sendMessage("\033[H\033[2J")
|
||||
|
||||
showWelcomeMessage(s.ConnChannel)
|
||||
s.Status = RUNNING
|
||||
|
||||
if portToBind == 80 || portToBind == 443 {
|
||||
s.handleHTTPForward(req, portToBind)
|
||||
return
|
||||
} else {
|
||||
portUtil.Manager.SetPortStatus(portToBind, true)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user