summaryrefslogtreecommitdiff
path: root/modes
diff options
context:
space:
mode:
authorBluesaxorcist <joshua@operatorfoundation.org>2019-10-21 17:32:39 -0500
committerBluesaxorcist <joshua@operatorfoundation.org>2019-10-21 17:32:39 -0500
commit4a56b1440c2bc315adda61b542793b7780cb8730 (patch)
tree819118b10e18373d6ddca31665ba3b7970849652 /modes
parent770bc14548a6a48ccbc8be0f0583122cf1dc6f6e (diff)
Removed termmon and fixed compiler warnings
Diffstat (limited to 'modes')
-rw-r--r--modes/pt_socks5/pt_socks5.go57
-rw-r--r--modes/stun_udp/stun_udp.go31
-rw-r--r--modes/transparent_tcp/transparent_tcp.go54
-rw-r--r--modes/transparent_udp/transparent_udp.go26
4 files changed, 67 insertions, 101 deletions
diff --git a/modes/pt_socks5/pt_socks5.go b/modes/pt_socks5/pt_socks5.go
index c3a8c45..e2aa546 100644
--- a/modes/pt_socks5/pt_socks5.go
+++ b/modes/pt_socks5/pt_socks5.go
@@ -46,22 +46,21 @@ import (
"github.com/OperatorFoundation/shapeshifter-dispatcher/common/log"
"github.com/OperatorFoundation/shapeshifter-dispatcher/common/socks5"
- "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"
)
-func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string, ptClientProxy *url.URL, names []string, options string) (launched bool, listeners []net.Listener) {
+func ClientSetup(socksAddr string, ptClientProxy *url.URL, names []string, options string) (launched bool, listeners []net.Listener) {
// Launch each of the client listeners.
for _, name := range names {
ln, err := net.Listen("tcp", socksAddr)
if err != nil {
- pt.CmethodError(name, err.Error())
+ _ = pt.CmethodError(name, err.Error())
continue
}
- go clientAcceptLoop(target, termMon, name, ln, ptClientProxy, options)
+ go clientAcceptLoop(name, ln, ptClientProxy, options)
pt.Cmethod(name, socks5.Version(), ln.Addr())
log.Infof("%s - registered listener: %s", name, ln.Addr())
@@ -73,8 +72,8 @@ func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string,
return
}
-//FIXME figure out how to make this function match the other modes
-func clientAcceptLoop(target string, termMon *termmon.TermMonitor, name string, ln net.Listener, proxyURI *url.URL, options string){
+
+func clientAcceptLoop(name string, ln net.Listener, proxyURI *url.URL, options string) {
for {
conn, err := ln.Accept()
if err != nil {
@@ -85,15 +84,12 @@ func clientAcceptLoop(target string, termMon *termmon.TermMonitor, name string,
}
continue
}
- go clientHandler(target, termMon, name, conn, proxyURI, options)
+ go clientHandler(name, conn, proxyURI, options)
}
}
-func clientHandler(target string, termMon *termmon.TermMonitor, name string, conn net.Conn, proxyURI *url.URL, options string) {
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
-
- var needOptions bool = options == ""
+func clientHandler(name string, conn net.Conn, proxyURI *url.URL, options string) {
+ var needOptions = options == ""
// Read the client's SOCKS handshake.
socksReq, err := socks5.Handshake(conn, needOptions)
@@ -122,28 +118,27 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, con
var dialer proxy.Dialer
// Deal with arguments.
- transport, _ := pt_extras.ArgsToDialer(socksReq.Target, name, args,dialer)
+ transport, _ := pt_extras.ArgsToDialer(socksReq.Target, name, args, dialer)
// Obtain the proxy dialer if any, and create the outgoing TCP connection.
- dialFn := proxy.Direct.Dial
if proxyURI != nil {
- dialer, err := proxy.FromURL(proxyURI, proxy.Direct)
- if err != nil {
+ var proxyErr error
+ dialer, proxyErr = proxy.FromURL(proxyURI, proxy.Direct)
+ if proxyErr != nil {
// This should basically never happen, since config protocol
// verifies this.
log.Errorf("%s(%s) - failed to obtain proxy dialer: %s", name, addrStr, log.ElideError(err))
- socksReq.Reply(socks5.ReplyGeneralFailure)
+ _ = socksReq.Reply(socks5.ReplyGeneralFailure)
return
}
- dialFn = dialer.Dial
}
- fmt.Println("Got dialer", dialFn, proxyURI, proxy.Direct)
+ fmt.Println("Got dialer", dialer, proxyURI, proxy.Direct)
- remote, _ := transport.Dial()
- if err != nil {
+ remote, err2 := transport.Dial()
+ if err2 != nil {
log.Errorf("%s(%s) - outgoing connection failed: %s", name, addrStr, log.ElideError(err))
- socksReq.Reply(socks5.ErrorToReplyCode(err))
+ _ = socksReq.Reply(socks5.ErrorToReplyCode(err))
return
}
err = socksReq.Reply(socks5.ReplySucceeded)
@@ -161,7 +156,7 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, con
return
}
-func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, options string) (launched bool, listeners []net.Listener) {
+func ServerSetup(ptServerInfo pt.ServerInfo, options string) (launched bool, listeners []net.Listener) {
for _, bindaddr := range ptServerInfo.Bindaddrs {
name := bindaddr.MethodName
@@ -199,7 +194,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio
return
}
case "replicant":
- config, ok :=args.Get("config")
+ config, ok := args.Get("config")
fmt.Println(config)
if !ok {
return false, nil
@@ -207,7 +202,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio
transport := replicant.New(replicant.Config{})
listen = transport.Listen
case "Dust":
- idPath, ok :=args.Get("idPath")
+ idPath, ok := args.Get("idPath")
if !ok {
return false, nil
}
@@ -244,13 +239,11 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio
return
}
-
-
f := listen
transportLn := f(bindaddr.Addr.String())
- go serverAcceptLoop(termMon, name, transportLn, &ptServerInfo)
+ go serverAcceptLoop(name, transportLn, &ptServerInfo)
// if args := f.Args(); args != nil {
// pt.SmethodArgs(name, ln.Addr(), *args)
@@ -268,7 +261,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio
return
}
-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()
if err != nil {
@@ -277,13 +270,11 @@ 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) {
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
+func serverHandler(name string, remote net.Conn, info *pt.ServerInfo) {
addrStr := log.ElideAddr(remote.RemoteAddr().String())
log.Infof("%s(%s) - new connection", name, addrStr)
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()
}
diff --git a/modes/transparent_tcp/transparent_tcp.go b/modes/transparent_tcp/transparent_tcp.go
index 0bdfe75..c1482bb 100644
--- a/modes/transparent_tcp/transparent_tcp.go
+++ b/modes/transparent_tcp/transparent_tcp.go
@@ -43,14 +43,12 @@ import (
"sync"
"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"
"github.com/OperatorFoundation/shapeshifter-transports/transports/shadow"
)
-func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string, ptClientProxy *url.URL, names []string, options string) (launched bool, listeners []net.Listener) {
+func ClientSetup(socksAddr string, target string, ptClientProxy *url.URL, names []string, options string) (launched bool, listeners []net.Listener) {
// Launch each of the client listeners.
for _, name := range names {
ln, err := net.Listen("tcp", socksAddr)
@@ -59,7 +57,7 @@ func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string,
continue
}
- go clientAcceptLoop(target, termMon, name, options, ln, ptClientProxy)
+ go clientAcceptLoop(target, name, options, ln, ptClientProxy)
log.Infof("%s - registered listener: %s", name, ln.Addr())
@@ -70,7 +68,7 @@ func ClientSetup(termMon *termmon.TermMonitor, socksAddr string, target string,
return
}
-func clientAcceptLoop(target string, termMon *termmon.TermMonitor, name string, options string, ln net.Listener, proxyURI *url.URL) {
+func clientAcceptLoop(target string, name string, options string, ln net.Listener, proxyURI *url.URL) {
for {
conn, err := ln.Accept()
if err != nil {
@@ -81,14 +79,11 @@ func clientAcceptLoop(target string, termMon *termmon.TermMonitor, name string,
log.Warnf("Failed to accept connection: %s", err.Error())
continue
}
- go clientHandler(target, termMon, name, options, conn, proxyURI)
+ go clientHandler(target, name, options, conn, proxyURI)
}
}
-func clientHandler(target string, termMon *termmon.TermMonitor, name string, options string, conn net.Conn, proxyURI *url.URL) {
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
-
+func clientHandler(target string, name string, options string, conn net.Conn, proxyURI *url.URL) {
var dialer proxy.Dialer
dialer = proxy.Direct
if proxyURI != nil {
@@ -103,7 +98,7 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, opt
}
}
-//this is where the refactoring begins
+ //this is where the refactoring begins
args, argsErr := options2.ParseOptions(options)
if argsErr != nil {
log.Errorf("Error parsing transport options: %s", options)
@@ -124,7 +119,7 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, opt
}
}
-func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, statedir string, options string) (launched bool, listeners []net.Listener) {
+func ServerSetup(ptServerInfo pt.ServerInfo, statedir string, options string) (launched bool, listeners []net.Listener) {
// Launch each of the server listeners.
for _, bindaddr := range ptServerInfo.Bindaddrs {
name := bindaddr.MethodName
@@ -177,7 +172,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
log.Errorf("could not coerce Dust Url to string")
return false, nil
}
- transport := Dust.NewDustServer(*idPath)
+ transport := Dust.NewDustServer(idPath)
listen = transport.Listen
case "meeklite":
args, aok := args["meeklite"]
@@ -190,22 +185,22 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
return false, nil
}
-
Url, err := options2.CoerceToString(untypedUrl)
if err != nil {
log.Errorf("could not coerce meeklite Url to string")
}
- untypedFront, ok := args["Front"]
+ untypedFront, ok := args["front"]
if !ok {
return false, nil
}
- Front, err := options2.CoerceToString(untypedFront)
- if err != nil {
- log.Errorf("could not coerce meeklite Front to string")
+ front, err2 := options2.CoerceToString(untypedFront)
+ if err2 != nil {
+ log.Errorf("could not coerce meeklite front to string")
}
- transport := meeklite.NewMeekTransportWithFront(*Url, *Front)
+
+ transport := meeklite.NewMeekTransportWithFront(Url, front)
listen = transport.Listen
case "shadow":
args, aok := args["shadow"]
@@ -220,7 +215,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
Password, err := options2.CoerceToString(untypedPassword)
if err != nil {
- log.Errorf("could not coerce meeklite Url to string")
+ log.Errorf("could not coerce shadow password to string")
}
untypedCertString, ok := args["Url"]
@@ -228,13 +223,12 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
return false, nil
}
-
- certString, err := options2.CoerceToString(untypedCertString)
- if err != nil {
+ certString, err2 := options2.CoerceToString(untypedCertString)
+ if err2 != nil {
log.Errorf("could not coerce meeklite Url to string")
}
- transport := shadow.NewShadowServer(*Password, *certString)
+ transport := shadow.NewShadowServer(Password, certString)
listen = transport.Listen
default:
log.Errorf("Unknown transport: %s", name)
@@ -245,7 +239,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
transportLn := f(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()))
@@ -281,7 +275,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, state
// return result, nil
//}
-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()
if err != nil {
@@ -292,14 +286,11 @@ func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln net.Listener
log.Warnf("Failed to accept connection: %s", err.Error())
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) {
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
-
+func serverHandler(name string, remote net.Conn, info *pt.ServerInfo) {
// Connect to the orport.
orConn, err := pt.DialOr(info, remote.RemoteAddr().String(), name)
if err != nil {
@@ -343,4 +334,3 @@ func copyLoop(a net.Conn, b net.Conn) error {
return nil
}
-
diff --git a/modes/transparent_udp/transparent_udp.go b/modes/transparent_udp/transparent_udp.go
index 64bc711..506637e 100644
--- a/modes/transparent_udp/transparent_udp.go
+++ b/modes/transparent_udp/transparent_udp.go
@@ -36,7 +36,6 @@ import (
options2 "github.com/OperatorFoundation/shapeshifter-dispatcher/common"
"github.com/OperatorFoundation/shapeshifter-dispatcher/common/log"
"github.com/OperatorFoundation/shapeshifter-dispatcher/common/pt_extras"
- "github.com/OperatorFoundation/shapeshifter-dispatcher/common/termmon"
"github.com/OperatorFoundation/shapeshifter-ipc"
"github.com/OperatorFoundation/shapeshifter-transports/transports/Dust"
replicant "github.com/OperatorFoundation/shapeshifter-transports/transports/Replicant"
@@ -65,7 +64,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)
@@ -80,7 +79,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", name)
}
@@ -88,12 +87,10 @@ 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) {
var length16 uint16
defer conn.Close()
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
fmt.Println("@@@ handling...")
@@ -153,7 +150,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")
@@ -161,7 +158,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()
@@ -211,7 +208,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) (launched bool, listeners []net.Listener) {
+func ServerSetup(ptServerInfo pt.ServerInfo, options string) (launched bool, listeners []net.Listener) {
fmt.Println("ServerSetup")
// Launch each of the server listeners.
@@ -304,7 +301,7 @@ func ServerSetup(termMon *termmon.TermMonitor, ptServerInfo pt.ServerInfo, optio
transportLn := f(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()))
@@ -356,7 +353,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")
@@ -368,16 +365,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 length16 uint16
- termMon.OnHandlerStart()
- defer termMon.OnHandlerFinish()
-
addrStr := log.ElideAddr(remote.RemoteAddr().String())
fmt.Println("### handling", name)
log.Infof("%s(%s) - new connection", name, addrStr)