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