Ring, John C wrote: >So, looking at: > >"/GUID:QPywoUg6DZ06+yvqCupCVJw*/G=Cam/S=Dowlat/OU=Corporate-Markham/O=Alcate >l Cable/PRMD=ACAB/ADMD=ATTMAIL/C=CA/"@MHS > >"-GUID:QnGodydG460CKmx35BCOvbw*-G=Cam-S=Dowlat-OU=Corporate-Markham-O=Alcate >l Cable-PRMD=ACAB-ADMD=ATTMAIL-C=CA-"@MHS > >Side-by-side, it seems[1] that the only substantial difference between them >is that they've replaced the "/" with "-". So I'm not certain why, if the >1st is valid, why the 2nd one would not be considered valid as well? > > Looking at the rule, I'm surprised they aren't BOTH declared invalid.
It would appear that the rule should declare any Message-ID containing a space to be invalid, unless in contains a parenthesized comment. Both Message-ID's contain spaces, neither appears to have a comment. Looking at RFC2822, it seems to be true that both are invalid. The left half can be quoted, but the quoted text is not allowed to contain whitespace. Snipping the relevant parts from http://www.faqs.org/rfcs/rfc2822.html in order to look at the construction of the left-half of a message ID: message-id = "Message-ID:" msg-id CRLF msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] id-left = dot-atom-text / no-fold-quote / obs-id-left no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE qtext = NO-WS-CTL / ; Non white space controls %d33 / ; The rest of the US-ASCII %d35-91 / ; characters not including "\" %d93-126 ; or the quote character quoted-pair = ("\" text) / obs-qp There's no allowance in there for id-left to contain a space. dot-atom-text and obs-id-left can't contain a quote character, so I've not bothered to put their definitions in here.