Bug#823064: libmail-srs-perl: decode address with smashed case returns no decoded address
Dave Norman
bugs.debian.org at dah31.org
Tue Jun 7 22:55:37 UTC 2016
Mail::SRS::Daemon::run() currently makes warnings fatal, so the warn()
in hash_verify() propagates up through parse() to reverse(), where it
kills the daemon.
So, after twelve years, I think it's time to stop making warnings fatal:
diff -r a/usr/share/perl5/Mail/SRS/Daemon.pm
b/usr/share/perl5/Mail/SRS/Daemon.pm
72,75d71
< # Until we decide that forward() and reverse() can die, this will
< # allow us to trap the error messages from those subroutines.
< local $SIG{__WARN__} = sub { die @_; };
<
Note that warnings will still go to the syslog and journal:
# echo 'FORWARD test at original-to.example.tld forwarding-service.tld' | srsc
SRS0=D4BWnURvl4EWeb6+2Vl/WWhX=R7=original-to.example.tld=test at forwarding-service.tld
# echo 'REVERSE
SRS0=D4BWnURvl4EWeb6+2Vl/WWhX=R7=original-to.example.tld=test at forwarding-service.tld'
| srsc
test at original-to.example.tld
# echo 'REVERSE
srs0=d4bwnurvl4eweb6+2vl/wwhx=r7=original-to.example.tld=test at forwarding-service.tld'
| srsc
test at original-to.example.tld
# journalctl -u srsd -l | tail -n1
Jun 07 22:54:40 london.dah31.org srsd[7793]: SRS: Case insensitive
hash match detected. Someone smashed case in the local-part. at
/usr/share/perl5/Mail/SRS.pm line 421, <GEN7> line 1.
Cheers,
--
Dave Norman
bugs.debian.org at dah31.org
More information about the pkg-perl-maintainers
mailing list