Commit 45529545 authored by Ian Jackson's avatar Ian Jackson 💬
Browse files

Merge branch 'redaction_fix' into 'main'

Fix a logic error in Redacted.

Closes #671

See merge request tpo/core/arti!905
parents 80d9248b f0084e3f
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -267,9 +267,9 @@ impl<T: Redactable> Redacted<T> {
impl<T: Redactable> std::fmt::Display for Redacted<T> {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        if flags::unsafe_logging_enabled() {
            self.0.display_redacted(f)
        } else {
            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> {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        if flags::unsafe_logging_enabled() {
            self.0.debug_redacted(f)
        } else {
            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!(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");
    }
}