Don't log "SOCKS accepted" if there was an Accept error.

This actually caused a nil pointer dereference panic when Accept
returned an error, because conn was nil.
This commit is contained in:
David Fifield 2018-03-21 00:43:17 -07:00
parent 1114acbcb4
commit 6a9c2bf951

View file

@ -57,13 +57,13 @@ func socksAcceptLoop(ln *pt.SocksListener, snowflakes SnowflakeCollector) error
for {
log.Println("SOCKS listening...")
conn, err := ln.AcceptSocks()
log.Println("SOCKS accepted: ", conn.Req)
if err != nil {
if e, ok := err.(net.Error); ok && e.Temporary() {
continue
}
return err
}
log.Println("SOCKS accepted: ", conn.Req)
err = handler(conn, snowflakes)
if err != nil {
log.Printf("handler error: %s", err)