commit f58c865d82fa5d3670c1df9a587d61450aeb664b
Author: Arlo Breault <[email protected]>
Date:   Fri Feb 7 15:45:26 2020 -0500

    Add unsafe logging
---
 broker/broker.go      | 10 ++++++++--
 client/snowflake.go   |  9 +++++++--
 proxy-go/snowflake.go | 10 ++++++++--
 server/server.go      | 10 ++++++++--
 4 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/broker/broker.go b/broker/broker.go
index 17c677e..d9ef111 100644
--- a/broker/broker.go
+++ b/broker/broker.go
@@ -376,6 +376,7 @@ func main() {
        var certFilename, keyFilename string
        var disableGeoip bool
        var metricsFilename string
+       var unsafeLogging bool
 
        flag.StringVar(&acmeEmail, "acme-email", "", "optional contact email 
for Let's Encrypt notifications")
        flag.StringVar(&acmeHostnamesCommas, "acme-hostnames", "", 
"comma-separated hostnames for TLS certificate")
@@ -388,13 +389,18 @@ func main() {
        flag.BoolVar(&disableTLS, "disable-tls", false, "don't use HTTPS")
        flag.BoolVar(&disableGeoip, "disable-geoip", false, "don't use geoip 
for stats collection")
        flag.StringVar(&metricsFilename, "metrics-log", "", "path to metrics 
logging output")
+       flag.BoolVar(&unsafeLogging, "unsafe-logging", false, "prevent logs 
from being scrubbed")
        flag.Parse()
 
        var err error
        var metricsFile io.Writer
        var logOutput io.Writer = os.Stderr
-       //We want to send the log output through our scrubber first
-       log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       if unsafeLogging {
+               log.SetOutput(logOutput)
+       } else {
+               // We want to send the log output through our scrubber first
+               log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       }
 
        log.SetFlags(log.LstdFlags | log.LUTC)
 
diff --git a/client/snowflake.go b/client/snowflake.go
index 4076fff..8acb8f3 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -91,6 +91,7 @@ func main() {
        logFilename := flag.String("log", "", "name of log file")
        logToStateDir := flag.Bool("logToStateDir", false, "resolve the log 
file relative to tor's pt state dir")
        keepLocalAddresses := flag.Bool("keepLocalAddresses", false, "keep 
local LAN address ICE candidates")
+       unsafeLogging := flag.Bool("unsafe-logging", false, "prevent logs from 
being scrubbed")
        max := flag.Int("max", DefaultSnowflakeCapacity,
                "capacity for number of multiplexed WebRTC peers")
        flag.Parse()
@@ -119,8 +120,12 @@ func main() {
                defer logFile.Close()
                logOutput = logFile
        }
-       // We want to send the log output through our scrubber first
-       log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       if *unsafeLogging {
+               log.SetOutput(logOutput)
+       } else {
+               // We want to send the log output through our scrubber first
+               log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       }
 
        log.Println("\n\n\n --- Starting Snowflake Client ---")
 
diff --git a/proxy-go/snowflake.go b/proxy-go/snowflake.go
index 264d4f2..69fef9d 100644
--- a/proxy-go/snowflake.go
+++ b/proxy-go/snowflake.go
@@ -408,12 +408,14 @@ func main() {
        var stunURL string
        var logFilename string
        var rawBrokerURL string
+       var unsafeLogging bool
 
        flag.UintVar(&capacity, "capacity", 10, "maximum concurrent clients")
        flag.StringVar(&rawBrokerURL, "broker", defaultBrokerURL, "broker URL")
        flag.StringVar(&relayURL, "relay", defaultRelayURL, "websocket relay 
URL")
        flag.StringVar(&stunURL, "stun", defaultSTUNURL, "stun URL")
        flag.StringVar(&logFilename, "log", "", "log filename")
+       flag.BoolVar(&unsafeLogging, "unsafe-logging", false, "prevent logs 
from being scrubbed")
        flag.Parse()
 
        var logOutput io.Writer = os.Stderr
@@ -426,8 +428,12 @@ func main() {
                defer f.Close()
                logOutput = io.MultiWriter(os.Stderr, f)
        }
-       //We want to send the log output through our scrubber first
-       log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       if unsafeLogging {
+               log.SetOutput(logOutput)
+       } else {
+               // We want to send the log output through our scrubber first
+               log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       }
 
        log.Println("starting")
 
diff --git a/server/server.go b/server/server.go
index 6e9fb19..c03e41c 100644
--- a/server/server.go
+++ b/server/server.go
@@ -214,12 +214,14 @@ func main() {
        var acmeHostnamesCommas string
        var disableTLS bool
        var logFilename string
+       var unsafeLogging bool
 
        flag.Usage = usage
        flag.StringVar(&acmeEmail, "acme-email", "", "optional contact email 
for Let's Encrypt notifications")
        flag.StringVar(&acmeHostnamesCommas, "acme-hostnames", "", 
"comma-separated hostnames for TLS certificate")
        flag.BoolVar(&disableTLS, "disable-tls", false, "don't use HTTPS")
        flag.StringVar(&logFilename, "log", "", "log file to write to")
+       flag.BoolVar(&unsafeLogging, "unsafe-logging", false, "prevent logs 
from being scrubbed")
        flag.Parse()
 
        log.SetFlags(log.LstdFlags | log.LUTC)
@@ -233,8 +235,12 @@ func main() {
                defer f.Close()
                logOutput = f
        }
-       //We want to send the log output through our scrubber first
-       log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       if unsafeLogging {
+               log.SetOutput(logOutput)
+       } else {
+               // We want to send the log output through our scrubber first
+               log.SetOutput(&safelog.LogScrubber{Output: logOutput})
+       }
 
        if !disableTLS && acmeHostnamesCommas == "" {
                log.Fatal("the --acme-hostnames option is required")



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to