On 11/1/07 at 12:35 PM +1100, Mikel Lindsaar wrote:
One situation I have is where a X-header field and Reply-To field 
has a single piece of text that is longer than the 78 octet limit, 
but has no white space break.
For example:
Reply-To: 
<1234-1234-1234-1234-1234-1234-1234-1234-1234(_at_)me-some-host-over-here(_dot_)org>
The library currently folds this line as:
Reply-To:CRLF
LWSP<1234-1234-1234-1234...blah-with-no-further-fold
That's OK.
Now, I have two questions.
1) I believe that putting the CRLF immediately after the : in the 
header field name is in violation of 2822 specifically that the 
header line should contain the name, a colon, the field and 
terminated by a CRLF.  Would this be a correct interpretation?
No. Following every colon after the header field is "[CFWS]". It's OK 
to fold there.
2) Irregardless of (1), what is the correct handling of a piece of 
text in the field that is longer than 78 characters, but contains no 
whitespace to fold?  ie, in unfolding, no whitespace can be inserted 
back into the original text which would be destructive to the 
original text.
In the X-header field case, if you've got longer than 78 in the field 
body, just leave it. If it's longer than 998, then you're going to 
have to break it.
In the Reply-To field case, you've got other options. You can put in 
the fold before or after the "<", the ">",  the "@", and any "," 
between addresses if there's more than one. That's destructive of the 
original sent form, but it won't be a problem semantically for 
anything parsing. This isn't a general rule, though. It only applies 
to fields that specifically take addresses. There are other similar 
situations.
I saw one mention of doing this:
Reply-To: <1234-1234-1234-1234-1234-12\CRLF
LWSP34-1234-1234-1234
But I can not find this in the RFC 2822 and my library breaks on 
this when it tries to unfold, so I am not sure if my library's 
unfolding function is at fault or if my folding implementation is 
incorrect.
That's broken. It won't unfold correctly.
--
Pete Resnick <http://www.qualcomm.com/~presnick/>
Qualcomm Incorporated - Direct phone: (858)651-4478, Fax: (858)651-1102