diff options
Diffstat (limited to 'modes/stun_udp/stun_udp.go')
-rw-r--r-- | modes/stun_udp/stun_udp.go | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/modes/stun_udp/stun_udp.go b/modes/stun_udp/stun_udp.go index 4abe433..3d72b69 100644 --- a/modes/stun_udp/stun_udp.go +++ b/modes/stun_udp/stun_udp.go @@ -47,7 +47,6 @@ import ( "github.com/willscott/goturn" "github.com/OperatorFoundation/shapeshifter-dispatcher/common/log" - "github.com/OperatorFoundation/shapeshifter-dispatcher/common/termmon" "github.com/OperatorFoundation/shapeshifter-ipc" "github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2" "github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4" @@ -64,7 +63,7 @@ func NewConnState() ConnState { type ConnTracker map[string]ConnState -func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string, ptClientProxy *url.URL, names []string, options string) bool { +func ClientSetup(socksAddr string, target string, ptClientProxy *url.URL, names []string, options string) bool { // Launch each of the client listeners. for _, name := range names { udpAddr, err := net.ResolveUDPAddr("udp", socksAddr) @@ -79,7 +78,7 @@ func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string, continue } - go clientHandler(target, termMon, name, options, ln, ptClientProxy) + go clientHandler(target, name, options, ln, ptClientProxy) log.Infof("%s - registered listener: %s", name, ln) } @@ -87,12 +86,9 @@ func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string, return true } -func clientHandler(target string, termMon *termmon.TermMonitor, name string, options string, conn *net.UDPConn, proxyURI *url.URL) { +func clientHandler(target string, name string, options string, conn *net.UDPConn, proxyURI *url.URL) { - termMon.OnHandlerStart() //defers are never called due to infinite loop - //defer termMon.OnHandlerFinish() - //defer conn.Close() fmt.Println("@@@ handling...") @@ -133,7 +129,7 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, opt fmt.Println("Opening connection to ", target) - openConnection(&tracker, addr.String(), target, termMon, name, options, proxyURI) + openConnection(&tracker, addr.String(), target, name, options, proxyURI) // Drop the packet. fmt.Println("recv: Open") @@ -141,7 +137,7 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, opt } } -func openConnection(tracker *ConnTracker, addr string, target string, termMon *termmon.TermMonitor, name string, options string, proxyURI *url.URL) { +func openConnection(tracker *ConnTracker, addr string, target string, name string, options string, proxyURI *url.URL) { fmt.Println("Making dialer...") newConn := NewConnState() @@ -193,7 +189,7 @@ func dialConn(tracker *ConnTracker, addr string, target string, name string, opt (*tracker)[addr] = ConnState{remote, false} } -func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, options string, stateDir string) (launched bool, listeners []net.Listener) { +func ServerSetup(ptServerInfo pt.ServerInfo, options string, stateDir string) (launched bool, listeners []net.Listener) { fmt.Println("ServerSetup") // Launch each of the server listeners. @@ -268,7 +264,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio transportLn := listen(bindaddr.Addr.String()) - go serverAcceptLoop(termMon, name, transportLn, &ptServerInfo) + go serverAcceptLoop(name, transportLn, &ptServerInfo) log.Infof("%s - registered listener: %s", name, log.ElideAddr(bindaddr.Addr.String())) @@ -345,7 +341,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio // return int(port), err //} -func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln net.Listener, info *pt.ServerInfo){ +func serverAcceptLoop(name string, ln net.Listener, info *pt.ServerInfo) { for { conn, err := ln.Accept() fmt.Println("accepted") @@ -357,15 +353,13 @@ func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln net.Listener } continue } - go serverHandler(termMon, name, conn, info) + go serverHandler(name, conn, info) } } -func serverHandler(termMon *termmon.TermMonitor, name string, remote net.Conn, info *pt.ServerInfo) { +func serverHandler(name string, remote net.Conn, info *pt.ServerInfo) { var header *common.Message - termMon.OnHandlerStart() - addrStr := log.ElideAddr(remote.RemoteAddr().String()) fmt.Println("### handling", name) log.Infof("%s(%s) - new connection", name, addrStr) @@ -373,21 +367,19 @@ func serverHandler(termMon *termmon.TermMonitor, name string, remote net.Conn, i serverAddr, err := net.ResolveUDPAddr("udp", info.OrAddr.String()) if err != nil { _ = remote.Close() - termMon.OnHandlerFinish() + golog.Fatal(err) } localAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:0") if err != nil { _ = remote.Close() - termMon.OnHandlerFinish() golog.Fatal(err) } dest, err := net.DialUDP("udp", localAddr, serverAddr) if err != nil { _ = remote.Close() - termMon.OnHandlerFinish() golog.Fatal(err) } @@ -429,5 +421,4 @@ func serverHandler(termMon *termmon.TermMonitor, name string, remote net.Conn, i } _ = remote.Close() - termMon.OnHandlerFinish() } |