Subject: | Mail::DKIM Issues |
Date: | Thu, 6 Jul 2017 21:14:14 -0700 |
To: | bug-Mail-DKIM [...] rt.cpan.org |
From: | Steve James <4stevejames [...] gmail.com> |
1. Mail::DKIM::Signer will not produce signatures passable by Gmail if any
headers that contain address lists do not have at least one space after
each comma in the list.
For example:
*To:* address1@example1.org*,*address2@example2.org
will not produce a correct DKIM signature w/ relaxed canonicalization
because there is not a space after the comma delimiter in the address
list. This applies to all headers that can take an address list. I
believe this is an issue with the canonicalization algorithm.
2. If Mail::DKIM is used in conjunction w/ Email::Simple or Email::MIME,
the Mail::DKIM::TextWrap algorithm produces nicely wrapped signatures.
However, when setting the header via Email::Simple:header_set(), the CR/LFs
inserted by TextWrap are converted to CR/CR/LF's which is clearly wrong and
will cause failing DKIM tests. It would be nice to be able to set the
line termination character for TextWrap in the Mail::DKIM::Signer::new()
parameters, since I found that if the line termination is instead LF, then
header_set() will convert it to the correct CR/LF sequences.
3. Mail::DKIM::Verifier should state what the requested algorithm is in
the results detail if the result is invalid (unsupported algorithm). This
helps with troubleshooting.
4. For the new extended_headers() method, it would be very helpful to just
be able to specify the extended headers in the new() parameters. You
could simply use an additional delimiter ( = or => ) that is checked for in
the Headers parameter. If the extra delimiter exists then the headers are
processed as extended headers.
5. Right now, I am seeing detailed fail results as "message has been
altered" or "body has been altered". I would request an additional
"headers have been altered" fail message... that should be doable and would
really help.
Thanks!
--
*Steve James*