LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Xander Jansen <[log in to unmask]>
Tue, 6 Mar 2001 13:53:44 +0100
TEXT/PLAIN (71 lines)
On Mon, 5 Mar 2001, Glenn A. Malling wrote:

+ [log in to unmask] said:
+
+ > Problem Summary
+ > ---------------
+ > If the "Content-Type:" mail header in
+ > an incoming mail message is longer than 80 characters, the listserver
+ > (or the SMTP server used by the listserver) wraps and indents the
+ > header onto multiple lines before distributing the message.  If the
+ > wrap (newline) and indent (space) characters are inserted within the
+ > "Boundary=" parameter of the header, some mail user agents are unable
+ > to locate and differentiate attachments in the body of the mail
+ > message.
+
+ I think RFC822 says:
+
+ 1) Quoted strings (qtext) may be folded.  See Appendix D

Yes. Folding within quoted strings is permitted. But see below.

+ 2) There is no syntactic difference between a single linear-white-space
+    character and multiple contiguous linear-white-space characters in
+    structured field bodies.  See Section 3.4.2

This is a bit ambiguous in RFC 822. And in a way still ambiguous (without
carefull reading) in RFC822bis (waiting to become an RFC "real soon now").

+ If so, the MUAs having trouble with folded boundary strings are broken.

Depends. Although RFC822 is currently still "the standard" the folding is
one of those things that needed a clean up. The problem here is:

1) How and where to fold ?

In RFC822bis folding is more or less restricted to putting a CRLF in front
of a 'whitespace-char', so just a CRLF is inserted, no extra spaces or
tabs to make a nicely formatted header (which seems to be the problem in
this case). Furthermore it is recommended to do so only between
syntactical elements, i.e. not within for example quoted strings used in
parameters for things like Content-Type: etc., just to prevent problems
like above.

2) How to unfold ?

Basically, just remove the CRLF. Compression of multiple LWSP is permitted
where the LWSP is not "meaningfull". Within a quoted string or
in a 'free text' (unstructured) header field, chances are that the
multiple spaces are meaningfull so a MUA that leaves the extra spaces as
they are is probably doing the right thing. It has no way to know whether
the extra spaces are significant or not.

Anyway, we used to have an MTA that folded 'the wrong way' (i.e. within
quoted strings (allowed) and putting lots of extra whitespace to line up
the folded lines (dangerous and as I understand it not allowed)). This
completely broke many messages with boundary parameters containing a space
character. Needless to say that the vendor eventually fixed it by
restricting the folding to occur only 'between syntactical elements',
never had the problem again ;-)

Please note that the above is just my understanding of the RFC's involved
(and the many discussions on this matter). I could of course be completely
wrong.

Now finding the culprit is another story but Ben already addressed that
one.

Cheers,

Xander

ATOM RSS1 RSS2