Hector Santos wrote:
The document editor and others believe this is a MLM BUG. It could
be, but we don't know if its really an normal attempt to add HEADER
text that was empty:
Create List Message for Distribution:
Body = EMPTY;
Body += AppendText(GetHeaderNoticeForList()) + CRLF;
Body += AppendText(GetMessageBody()) + CRLF;
Body += AppendText(GetFooterNoticeForList()) + CRLF;
We just don't know. Of course, for programmers, one can easily see
that there is a "mite" there where extra CRLF will be added. We
recognized it with the ending CRLF but "forgot" that list header text
was also possible. The key point is for "40" years, it wasn't a
problem until a new kid in the block came and now demands MLMs adjust
to work with it
As a follow up, the above is very conceivable when you also consider
the addition of List-* which is normally done with templates:
Head = EMPTY;
Head = GetMessageHeaders();
Head += GetListHeaders();
Body = EMPTY;
Body += TrimCRLF(GetHeaderNoticeForList()+CRLF;
Body += GetMessageBody() + CRLF;
Body += GetFooterNoticeForList() + CRLF;
Mail = Head + CRLF + Body;
Of course, regardless of DKIM, to be aesthetically "clean" in
displays, it should perform trailing CRLF checks to avoid extra lines:
Head = EMPTY;
Head = GetMessageHeaders();
Head += TrimCRLF(GetListHeaders()); // no extra CRLF
Body = EMPTY;
TextHeader = TrimCRLF(GetHeaderNoticeForList()); // no extra CRLF
if (TextHeader != EMPTY) Body += TextHeader +CRLF;
Body += GetMessageBody();
TextFooter = TrimCRLF(GetFooterNoticeForList()); // no extra CRLF
if (TextFooter) Body += CRLF+ TextFooter + CRLF;
Mail = Head + CRLF + Body;
So its easy to see that a MLM not being 100% in its "clean" header and
footer text additions to the header and body is possible without being
label as a "BUG" or bad until something that deals with the purity of
integrity and C14N comes into play.
The MLM I-D *SHOULD* at least acknowledge that an extra line is
conceivable.
--
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com
_______________________________________________
NOTE WELL: This list operates according to
http://mipassoc.org/dkim/ietf-list-rules.html