diff options
Diffstat (limited to 'obfs4proxy')
| -rw-r--r-- | obfs4proxy/obfs4proxy.go | 34 | 
1 files changed, 27 insertions, 7 deletions
| diff --git a/obfs4proxy/obfs4proxy.go b/obfs4proxy/obfs4proxy.go index 8820127..7ba0e93 100644 --- a/obfs4proxy/obfs4proxy.go +++ b/obfs4proxy/obfs4proxy.go @@ -167,7 +167,11 @@ func clientHandler(f base.ClientFactory, conn *pt.SocksConn, proxyURI *url.URL)  		// the configuration phase.  		dialer, err := proxy.FromURL(proxyURI, proxy.Direct)  		if err != nil { -			log.Printf("[ERROR]: %s(%s) - failed to obtain proxy dialer: %s", name, addrStr, err) +			if unsafeLogging { +				log.Printf("[ERROR]: %s(%s) - failed to obtain proxy dialer: %s", name, addrStr, err) +			} else { +				log.Printf("[ERROR]: %s(%s) - failed to obtain proxy dialer", name, addrStr) +			}  			conn.Reject()  			return  		} @@ -191,18 +195,26 @@ func clientHandler(f base.ClientFactory, conn *pt.SocksConn, proxyURI *url.URL)  	// bytes back and forth.  	remote, err := f.WrapConn(remoteConn, args)  	if err != nil { -		log.Printf("[ERROR]: %s(%s) - handshake failed: %s", name, addrStr, err) +		if unsafeLogging { +			log.Printf("[ERROR]: %s(%s) - handshake failed: %s", name, addrStr, err) +		} else { +			log.Printf("[ERROR]: %s(%s) - handshake failed", name, addrStr) +		}  		conn.Reject()  		return  	}  	err = conn.Grant(remoteConn.RemoteAddr().(*net.TCPAddr))  	if err != nil { -		log.Printf("[ERROR]: %s(%s) - SOCKS grant failed: %s", name, addrStr, err) +		if unsafeLogging { +			log.Printf("[ERROR]: %s(%s) - SOCKS grant failed: %s", name, addrStr, err) +		} else { +			log.Printf("[ERROR]: %s(%s) - SOCKS grant failed", name, addrStr) +		}  		return  	}  	err = copyLoop(conn, remote) -	if err != nil { +	if err != nil && unsafeLogging {  		log.Printf("[INFO]: %s(%s) - closed connection: %s", name, addrStr, err)  	} else {  		log.Printf("[INFO]: %s(%s) - closed connection", name, addrStr) @@ -282,20 +294,28 @@ func serverHandler(f base.ServerFactory, conn net.Conn, info *pt.ServerInfo) {  	// Instantiate the server transport method and handshake.  	remote, err := f.WrapConn(conn)  	if err != nil { -		log.Printf("[ERROR]: %s(%s) - handshake failed: %s", name, addrStr, err) +		if unsafeLogging { +			log.Printf("[ERROR]: %s(%s) - handshake failed: %s", name, addrStr, err) +		} else { +			log.Printf("[ERROR]: %s(%s) - handshake failed", name, addrStr) +		}  		return  	}  	// Connect to the orport.  	orConn, err := pt.DialOr(info, conn.RemoteAddr().String(), name)  	if err != nil { -		log.Printf("[ERROR]: %s(%s) - failed to connect to ORPort: %s", name, addrStr, err) +		if unsafeLogging { +			log.Printf("[ERROR]: %s(%s) - failed to connect to ORPort: %s", name, addrStr, err) +		} else { +			log.Printf("[ERROR]: %s(%s) - failed to connect to ORPort", name, addrStr) +		}  		return  	}  	defer orConn.Close()  	err = copyLoop(orConn, remote) -	if err != nil { +	if err != nil && unsafeLogging {  		log.Printf("[INFO]: %s(%s) - closed connection: %s", name, addrStr, err)  	} else {  		log.Printf("[INFO]: %s(%s) - closed connection", name, addrStr) | 
