nsmcp::SmtpLogTool method redact (protected)

 <instance of nsmcp::SmtpLogTool[i]> redact record peers

Defined in /usr/local/ns/tcl/nsmcp/smtp-tools.tcl

Parameters:
record (required)
peers (required)

Testcases:
No testcase defined.
Source code:
set original $record
set redactor [expr {$peers ? ${:peerRedactor} : ${:redactor}}]
# Redact credential-like headers and URL parameters in free text too.
foreach field {sender recipient recipients action reason result} {
    if {[dict exists $record $field]} {dict set record $field [$redactor message [dict get $record $field]]}
}
if {[dict exists $record metadata]} {
    set metadata {}
    dict for {key value} [dict get $record metadata] {
        if {!$peers && [dict exists $record peerAddress] && [dict get $record peerAddress] ne ""} {
            set value [string map [list [dict get $record peerAddress] {[REDACTED]}] $value]
        }
        set value [$redactor message "$key: $value"]
        dict set metadata $key [string range $value [expr {[string length $key]+2}] end]
    }
    dict set record metadata $metadata
}
set record [$redactor record $record]
dict set record redacted [expr {[dict remove $record redacted] ne $original}]
return $record
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: