[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [snowflake/master] Fixed log scrubber to not scrub timestamps
commit 83fb5df260d5d98a7679d9a69cacb26f2e1f8b09
Author: Cecylia Bocovich <cohosh@xxxxxxxxxxxxxx>
Date: Wed May 8 12:31:53 2019 -0400
Fixed log scrubber to not scrub timestamps
Our log scrubber was a bit over-zealous and was scrubbing timestamps as
well. While we're still over-scrubbing, we're now more precise and
ensure that compressed IPv6 addresses have "::"
---
common/safelog/log.go | 9 ++++++---
common/safelog/log_test.go | 8 ++++++++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/common/safelog/log.go b/common/safelog/log.go
index 8229584..1241676 100644
--- a/common/safelog/log.go
+++ b/common/safelog/log.go
@@ -10,10 +10,13 @@ import (
)
const ipv4Address = `\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}`
-const ipv6Address = `(([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?(` + ipv4Address + `))` +
- `|(([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?)`
+const ipv6Address = `([0-9a-fA-F]{0,4}:){5,7}([0-9a-fA-F]{0,4})?`
+const ipv6Compressed = `([0-9a-fA-F]{0,4}:){0,5}([0-9a-fA-F]{0,4})?(::)([0-9a-fA-F]{0,4}:){0,5}([0-9a-fA-F]{0,4})?`
+const ipv6Full = `(` + ipv6Address + `(` + ipv4Address + `))` +
+ `|(` + ipv6Compressed + `(` + ipv4Address + `))` +
+ `|(` + ipv6Address + `)` + `|(` + ipv6Compressed + `)`
const optionalPort = `(:\d{1,5})?`
-const addressPattern = `((` + ipv4Address + `)|(\[(` + ipv6Address + `)\])|(` + ipv6Address + `))` + optionalPort
+const addressPattern = `((` + ipv4Address + `)|(\[(` + ipv6Full + `)\])|(` + ipv6Full + `))` + optionalPort
const fullAddrPattern = `(^|\s|[^\w:])` + addressPattern + `(\s|(:\s)|[^\w:]|$)`
var scrubberPatterns = []*regexp.Regexp{
diff --git a/common/safelog/log_test.go b/common/safelog/log_test.go
index 0f342de..16edbc9 100644
--- a/common/safelog/log_test.go
+++ b/common/safelog/log_test.go
@@ -72,6 +72,11 @@ func TestLogScrubberMessages(t *testing.T) {
"(1:2:3:4:c:d:e:f) {1:2:3:4:c:d:e:f}",
"([scrubbed]) {[scrubbed]}\n",
},
+ {
+ //Make sure it doesn't scrub timestamps
+ "2019/05/08 15:37:31 starting",
+ "2019/05/08 15:37:31 starting\n",
+ },
} {
var buff bytes.Buffer
log.SetFlags(0) //remove all extra log output for test comparisons
@@ -102,9 +107,12 @@ func TestLogScrubberGoodFormats(t *testing.T) {
"[1:2:3:4:c:d:e:f]:55",
"[1111:2222:3333:4444:CCCC:DDDD:EEEE:FFFF]:65535",
// compressed IPv6
+ "::f",
"::d:e:f",
"1:2:3::",
"1:2:3::d:e:f",
+ "1:2:3:d:e:f::",
+ "::1:2:3:d:e:f",
"1111:2222:3333::DDDD:EEEE:FFFF",
// compressed IPv6 with brackets
"[::d:e:f]",
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits