ietf-dkim
[Top] [All Lists]

MLM Section 3.3 - Extra Line Acknowledgment

2011-05-17 13:34:08
Hector Santos wrote:
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-* [headers] which is normally done with templates:

      Head = EMPTY;
      Head = GetMessageHeaders();
      Head += GetListHeaders();

      Body = EMPTY;
      Body +=  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.


Base on possible code analysis , here is what I recommend:

current text in section 3.3:

   Minor body changes:  Some lists prepend or append a few lines to each
      message to remind subscribers of an administrative URL for
      subscription issues, or of list policy, etc.

proposed changed (starter text):

   Minor body changes:  Some lists prepend or append a few lines to each
      message to remind subscribers of an administrative URL for
      subscription issues, or of list policy, etc.  These few lines can
      have extra blank lines or empty text with only CRLF characters
      which under normal circumstances would be trimmed or pruned.

The goal is to give the MLM audience reading this document insights into their long running current code which may need some modern CRLF trimming considerations, if any, even if the MLM is non-DKIM aware or a list is setup by the admin not to DKIM resign mail submissions. No need to mention C14N kludges or new C14N (i.e. STRIP) proposals.

--
Hector Santos, CTO
http://www.santronics.com



_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf

<Prev in Thread] Current Thread [Next in Thread>