Fix a logic error in Redacted.
Previously it was redacting exactly when safelogging was _disabled_, which obviously isn't correct. Fixes #671. Regression test included.
This commit is contained in:
parent
30140cb07b
commit
f0084e3fd4
|
@ -267,9 +267,9 @@ impl<T: Redactable> Redacted<T> {
|
||||||
impl<T: Redactable> std::fmt::Display for Redacted<T> {
|
impl<T: Redactable> std::fmt::Display for Redacted<T> {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
if flags::unsafe_logging_enabled() {
|
if flags::unsafe_logging_enabled() {
|
||||||
self.0.display_redacted(f)
|
|
||||||
} else {
|
|
||||||
std::fmt::Display::fmt(&self.0, f)
|
std::fmt::Display::fmt(&self.0, f)
|
||||||
|
} else {
|
||||||
|
self.0.display_redacted(f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -277,9 +277,9 @@ impl<T: Redactable> std::fmt::Display for Redacted<T> {
|
||||||
impl<T: Redactable> std::fmt::Debug for Redacted<T> {
|
impl<T: Redactable> std::fmt::Debug for Redacted<T> {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
if flags::unsafe_logging_enabled() {
|
if flags::unsafe_logging_enabled() {
|
||||||
self.0.debug_redacted(f)
|
|
||||||
} else {
|
|
||||||
std::fmt::Debug::fmt(&self.0, f)
|
std::fmt::Debug::fmt(&self.0, f)
|
||||||
|
} else {
|
||||||
|
self.0.debug_redacted(f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -385,4 +385,13 @@ mod test {
|
||||||
assert_eq!(s1, "[scrubbed], [scrubbed]");
|
assert_eq!(s1, "[scrubbed], [scrubbed]");
|
||||||
assert_eq!(s2, expect);
|
assert_eq!(s2, expect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_redacted() {
|
||||||
|
let localhost = std::net::Ipv4Addr::LOCALHOST;
|
||||||
|
let closure = || format!("{}", localhost.redacted());
|
||||||
|
|
||||||
|
assert_eq!(closure(), "127.x.x.x");
|
||||||
|
assert_eq!(with_safe_logging_suppressed(closure), "127.0.0.1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue