[exim-dev] [Bug 1509] Mssing support for EXPERIMENTAL_DSN sp…

Top Page
Delete this message
Reply to this message
Author: Wolfgang Breyha
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1509] Mssing support for EXPERIMENTAL_DSN spool file extension
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1509




--- Comment #1 from Wolfgang Breyha <wbreyha@???> 2014-08-08 15:47:57 ---
to be more verbose on what changed...

Exim 4 spool format is extensible.

Until EXPERIMENTAL_DSN existed there was either a line conaining the recipients
address alone or

fprintf(f, "%s %s %d,%d#1\n", r->address, errors_to,
      Ustrlen(errors_to), r->pno);


The "#1" at the and stands for "bit 0" set, read errors_to values from back to
front first.

This was extended bei EXPERMIMENTAL_DSN to contain 
    fprintf(f, "%s %s %d,%d %s %d,%d#3\n", r->address, orcpt, Ustrlen(orcpt),
r->dsn_flags,
      errors_to, Ustrlen(errors_to), r->pno);


Now Bit 0 and 1 is set, which means... old exim versions read errors_to from
back to front since bit 0 is set...and stop. That's the "compatible" part.

Newer exims with _DSN read on and get the DNS fields, too, since bit 1 is set.

exipick only knew about "#1". It does not read that by checking for a bitfield,
it simply matches with a regex for "#1". So, i decided to keep it that simple
and add the case for _DSN and both bits set, checking again with a regex for
"#3".


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email