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 t...@original-to.example.tld forwarding-service.tld' | srsc SRS0=D4BWnURvl4EWeb6+2Vl/WWhX=R7=original-to.example.tld=t...@forwarding-service.tld # echo 'REVERSE SRS0=D4BWnURvl4EWeb6+2Vl/WWhX=R7=original-to.example.tld=t...@forwarding-service.tld' | srsc t...@original-to.example.tld # echo 'REVERSE srs0=d4bwnurvl4eweb6+2vl/wwhx=r7=original-to.example.tld=t...@forwarding-service.tld' | srsc t...@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....@dah31.org