summaryrefslogtreecommitdiff
path: root/modes/stun_udp/stun_udp.go
diff options
context:
space:
mode:
Diffstat (limited to 'modes/stun_udp/stun_udp.go')
-rw-r--r--modes/stun_udp/stun_udp.go31
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()
}