Greetings.

Is anyone aware of something that would break DKIM validation when called via 
Client::process()?

I noticed recently, when troubleshooting a DMARC issue, that all of my emails 
going through the spam checker were failing with DKIM_INVALID.  After a bunch 
of troubleshooting, including having a copy of the message written out to a 
file in /tmp, I’m pretty certain that something is mangling the body of the 
message when it is called via the process() method.

Specifically, this works:

                spamassassin -t --debug=dkim < /tmp/bar

        Oct 22 11:28:22.572 [209158] dbg: dkim: DKIM signature verification 
result: PASS

But, with the exact same data, this fails (code snippet to show how I’m 
creating the file):

        open(TMP, ">/tmp/bar");
        print TMP $data;
        close TMP;

        my $result = $spamas->process( $data );

                Oct 22 11:27:40.064 [208834] dbg: dkim: DKIM signature 
verification result: FAIL (BODY HAS BEEN ALTERED)

I’m kinda scratching my head.  It must be happening somewhere in the processing 
on $data when it enters the system via the process() routine.

I dug around a little bit in the code to see if anything obvious presented 
itself, but figured I’d see if anyone in the community has run into this 
before.  My perl is getting pretty rusty these days.

Thanks,

David.

Reply via email to