mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
Fix regex matching group for removing password
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
This commit is contained in:
@@ -706,7 +706,7 @@ func (c *client) processErr(errStr string) {
|
||||
}
|
||||
|
||||
// Password pattern matcher.
|
||||
var passPat = regexp.MustCompile(`"?\s*pass\S*\s*"?\s*[:=]\s*("?[^\s,}$]*)`)
|
||||
var passPat = regexp.MustCompile(`"?\s*pass\S*?"?[:=]\s*"?(([^"])*)`)
|
||||
|
||||
// This will remove any notion of passwords from trace messages
|
||||
// for logging.
|
||||
@@ -721,7 +721,7 @@ func removePassFromTrace(arg []byte) []byte {
|
||||
}
|
||||
|
||||
for _, match := range m {
|
||||
if len(match) != 2 {
|
||||
if len(match) != 3 {
|
||||
continue
|
||||
}
|
||||
arg = bytes.Replace(arg, match[1], []byte("[REDACTED]"), 1)
|
||||
|
||||
@@ -228,7 +228,10 @@ func TestRemovePassFromTrace(t *testing.T) {
|
||||
check(removePassFromTrace([]byte("CONNECT {\"user\":\"derek\",\"pass\":\"s3cr3t\"}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"user\":\"derek\",\"pass\": \"s3cr3t\"}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"user\":\"derek\",\"pass\": \"s3cr3t\" }\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"password\":\"s3cr3t\",}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {pass:s3cr3t\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"pass\":\"s3cr3t\",}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {pass:s3cr3t , password = s3cr3t}")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"echo\":true,\"verbose\":false,\"pedantic\":false,\"user\":\"foo\",\"pass\":\"s3cr3t\",\"tls_required\":false,\"name\":\"APM7JU94z77YzP6WTBEiuw\"}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {pass:s3cr3t\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"password\":\"s3cr3t\",}\r\n")))
|
||||
check(removePassFromTrace([]byte("CONNECT {\"echo\":true,\"verbose\":false,\"pedantic\":false,\"user\":\"foo\",\"password\":\"s3cr3t\",\"tls_required\":false,\"name\":\"APM7JU94z77YzP6WTBEiuw\"}\r\n")))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user