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