formail, and any other program, may indeed be correct to treat email
with this '>From ' header in it in this manner, but that is not the
point.

  The point is that delivery with 'procmail -d <user>' inserts that very
header in the first place.

  As for 'From ...' headers.  That's the mbox format.  A line which
begins 'From ...' delimits each message in an mbox format file.  I don't
recall if a blank line (so "\n\n") is necessary before this.
  Perhaps you should understand mbox format before you comment further.

  The testing I did, which I simplified the results of was to put a
quick recipe at the very start of my .procmailrc to spit out a copy of
the email as it was at that point.  This already had the '>From ...'
header in it and I now know exim wasn't responsible for this as I've
since changed its config to not use -d with procmail and now the header
no longer appears.  I also at this point had VERBOSE=yes in my .procmailrc.
I then took the file this first recipe produced and by hand fed it
through any other filter it would have hit.  First spamassassin, then
bogofilter, then the formail recipe.  I saved each stage of this.
  THAT is what I was describing in my original addition to this bug
report.

  Note that the procmail manpage says:

       -d recipient ...
            This  turns  on  explicit  delivery  mode, delivery will be to the

       ...

       When in explicit delivery mode, procmail will generate a leading  `From
       '  line  if  none  is present.  If one is already present procmail will
       leave it intact.  If procmail is not invoked with one of the  following
       user  or  group  ids :  root,  daemon, uucp, mail, x400, network, list,
       slist, lists or news, but still has to generate or accept a new `From '
       line,  it will generate an additional `>From ' line to help distinguish
       fake mails.

It's that very last described behaviour which is the bug.  That
'escaping' with a > before 'From' is what is used in the *BODY* of an
email if it begins with 'From', so as to not falsely think the email has
finished and move onto the next.  This is NOT what should happen in the
headers.
  Look at the code in from.c in the procmail source, the makeFrom()
function.  It uses FAKE_FIELD, which is defined to ">From ".  So if
Debian wanted to fix this problem locally all it needs is that changing
to "X-Procmail-From: " or somesuch.

-Ath
-- 
- Athanasius = Athanasius(at)miggy.org / http://www.miggy.org/
                  Finger athan(at)fysh.org for PGP key
           "And it's me who is my enemy. Me who beats me up.
Me who makes the monsters. Me who strips my confidence." Paula Cole - ME

Attachment: signature.asc
Description: Digital signature

Reply via email to