Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!mit-eddie!godot!harvard!seismo!brl-tgr!tgr!mrose%udel-eecis2.delaware@UDEL-LOUIE.ARPA
From: Marshall Rose 
Newsgroups: net.mail.headers
Subject: Re: RFC 934 - Message Encapsulation
Message-ID: <8155@brl-tgr.ARPA>
Date: Fri, 8-Feb-85 23:31:32 EST
Article-I.D.: brl-tgr.8155
Posted: Fri Feb  8 23:31:32 1985
Date-Received: Tue, 12-Feb-85 05:12:28 EST
Sender: news@brl-tgr.ARPA
Organization: Ballistic Research Lab
Lines: 32

Unfortunately, requiring more dashes just makes the problem
harder and introduces additional ambiguity.  Let me explain.
A primary motivation for writing that RFC was that I was
getting tired of constantly modifying the bursting agent in MH.

First, I tried looking for 5 dashes at the beginning of a line.
Sure enough, some digests let that through.  Then I upped it to 30.
Sure enough, some digests let that through.  Then I got clever and
introduced special heuristics based on the number of blank lines
both preceeding and following the line that started with the dashes.
Still not good enough.  I then decided to look at least TWO LINES ahead
and see if I could find what looked like a header.  Still no good,
one day someone just happened to have a couple of blank lines, a line
of dashes, a couple of blank lines, all followed by a line that looked like
a header.  Brute force and extremely clever coding just can't compete.

So, I decided that we need to bit (well, byte) stuff.  This is the ONLY
way to unambiguously separate messages in a digest (or a forwarding of
messages, in general).  So, if you're going to change all that software in
net to be considerate and generate digests etc., that other software can
burst, then you might as well make the change as simple as possible.
Hence, the choice of a single dash for the EB.
The RFC contains very simple algorithms to byte-stuff on encapsulation
and to burst on decapsulation.  The latter algorithm, in fact, needs
only one character look-ahead.

The point of all this is that I want to get painless bursting with the
absolute LEAST amount of effort on the part of the mail hackers in the
net.  I really don't think it's too difficult to look at the beginning of
each line and output a "- " if it starts with a "-".

/mtr