From dc571192062c6e3792189f18b5ed03723118216d Mon Sep 17 00:00:00 2001 From: Matt Ellis Date: Fri, 9 Mar 2018 19:33:00 -0800 Subject: [PATCH] Only replace secret text if it is longer than 2 characters This is inline with what Travis does. Otherwise, for very short secrets our regex based approach will throw `[secret]` all over the place. --- pkg/engine/events.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/engine/events.go b/pkg/engine/events.go index a5c47cfc3..f86050c0e 100644 --- a/pkg/engine/events.go +++ b/pkg/engine/events.go @@ -114,16 +114,23 @@ func makeEventEmitter(events chan<- Event, update Update) eventEmitter { if !v.Secure() { continue } + secret, err := v.Value(target.Decrypter) + contract.AssertNoError(err) + + // For short secrets, don't actually add them to the filter, this is a trade-off we make to prevent + // displaying `[secret]`. Travis does a similar thing, for example. + if len(secret) < 3 { + continue + } if b.Len() > 0 { b.WriteRune('|') } - secret, err := v.Value(target.Decrypter) - contract.AssertNoError(err) b.WriteString(regexp.QuoteMeta(secret)) } - - f = ®exFilter{re: regexp.MustCompile(b.String())} + if b.Len() > 0 { + f = ®exFilter{re: regexp.MustCompile(b.String())} + } } return eventEmitter{