feature: Adds basic TCP support for SSHAppBackend.
This commit is contained in:
parent
432d457ad7
commit
15176831e6
5 changed files with 622 additions and 172 deletions
|
@ -36,6 +36,8 @@ type SSHRemoteAppBackend struct {
|
|||
tcpProxies map[uint16]*TCPProxy
|
||||
udpProxies map[uint16]*UDPProxy
|
||||
|
||||
isRunning bool
|
||||
|
||||
sock net.Conn
|
||||
}
|
||||
|
||||
|
@ -43,6 +45,8 @@ func (backend *SSHRemoteAppBackend) StartBackend(byte []byte) (bool, error) {
|
|||
backend.tcpProxies = map[uint16]*TCPProxy{}
|
||||
backend.udpProxies = map[uint16]*UDPProxy{}
|
||||
|
||||
backend.isRunning = true
|
||||
|
||||
return true, nil
|
||||
}
|
||||
|
||||
|
@ -61,11 +65,12 @@ func (backend *SSHRemoteAppBackend) StopBackend() (bool, error) {
|
|||
delete(backend.udpProxies, udpProxyIndex)
|
||||
}
|
||||
|
||||
backend.isRunning = false
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (backend *SSHRemoteAppBackend) GetBackendStatus() (bool, error) {
|
||||
return true, nil
|
||||
return backend.isRunning, nil
|
||||
}
|
||||
|
||||
func (backend *SSHRemoteAppBackend) StartProxy(command *commonbackend.AddProxy) (uint16, bool, error) {
|
||||
|
@ -104,6 +109,8 @@ func (backend *SSHRemoteAppBackend) StartProxy(command *commonbackend.AddProxy)
|
|||
backend.tcpProxies[proxyID].connectionIDIndex++
|
||||
backend.tcpProxies[proxyID].connectionIDLock.Unlock()
|
||||
|
||||
backend.tcpProxies[proxyID].connections[connectionID] = conn
|
||||
|
||||
dataBuf := make([]byte, 65535)
|
||||
|
||||
onConnection := &datacommands.TCPConnectionOpened{
|
||||
|
@ -372,12 +379,14 @@ func (backend *SSHRemoteAppBackend) HandleTCPMessage(message *datacommands.TCPPr
|
|||
tcpProxy, ok := backend.tcpProxies[message.ProxyID]
|
||||
|
||||
if !ok {
|
||||
log.Warnf("could not find tcp proxy (ID %d)", message.ProxyID)
|
||||
return
|
||||
}
|
||||
|
||||
connection, ok := tcpProxy.connections[message.ConnectionID]
|
||||
|
||||
if !ok {
|
||||
log.Warnf("could not find tcp proxy (ID %d) with connection ID (%d)", message.ProxyID, message.ConnectionID)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue