Re: MIME boundary strings

Russ Allbery <rra@stanford.edu> Thu, 22 August 2002 14:42 UTC

Received: by above.proper.com (8.11.6/8.11.3) id g7MEgV800177 for ietf-822-bks; Thu, 22 Aug 2002 07:42:31 -0700 (PDT)
Received: from windlord.stanford.edu (windlord.Stanford.EDU [171.64.13.23]) by above.proper.com (8.11.6/8.11.3) with SMTP id g7MEgT200171 for <ietf-822@imc.org>; Thu, 22 Aug 2002 07:42:29 -0700 (PDT)
Received: (qmail 14774 invoked by uid 50); 22 Aug 2002 14:42:26 -0000
To: ietf-822@imc.org
Subject: Re: MIME boundary strings
References: <p0510033db98a5c7c98f8@[192.168.100.100]> <yld6sbyqgh.fsf@windlord.stanford.edu> <1030025300.2536.78.camel@atlas>
In-Reply-To: <1030025300.2536.78.camel@atlas> ("Adrian 'Dagurashibanipal' von Bidder"'s message of "22 Aug 2002 16:08:20 +0200")
From: Russ Allbery <rra@stanford.edu>
Organization: The Eyrie
Date: Thu, 22 Aug 2002 07:42:26 -0700
Message-ID: <ylvg63uf8t.fsf@windlord.stanford.edu>
Lines: 27
User-Agent: Gnus/5.090008 (Oort Gnus v0.08) XEmacs/21.4 (Honest Recruiter, sparc-sun-solaris2.6)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-ietf-822@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-822/mail-archive/>
List-ID: <ietf-822.imc.org>
List-Unsubscribe: <mailto:ietf-822-request@imc.org?body=unsubscribe>

Adrian 'Dagurashibanipal' von Bidder <avbidder@fortytwo.ch> writes:
> On Thu, 2002-08-22 at 15:26, Russ Allbery wrote:

>> Most versions of Eudora also have an interesting bug wherein when
>> forming nested multiparts, some percentage of the time the exterior
>> boundary will be a prefix of the interior boundary.  I think they've
>> finally fixed this in the latest release.

> Just curiosity: isn't it a requirement that the boundary be on a line on
> its own? Then the brokenness would really be in the MIME parsers that
> misbehaved on such things.

Possibly, but on the other hand RFC 2046 is pretty explicit:

   As stated previously, each body part is preceded by a boundary
   delimiter line that contains the boundary delimiter.  The boundary
   delimiter MUST NOT appear inside any of the encapsulated parts, on a
   line by itself or as the prefix of any line.  This implies that it is
   crucial that the composing agent be able to choose and specify a unique
   boundary parameter value that does not contain the boundary parameter
   value of an enclosing multipart as a prefix.

Cyrus will misparse such broken boundaries unless you patch it, although
it's an easy patch.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>