| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| eximdsn-patch-1.6r | 2015-11-09 | ||
| buildenv_486 | 2015-11-09 | ||
| eximdsn-patch-1.3 | 2015-10-30 | ||
| README_486_DSN.txt | 2015-11-09 | 7.5 kB | |
| Totals: 4 Items | 7.5 kB | 0 | |
Exim DSN Patch (4.86)
---------------------
This patch is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This patch is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this patch; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
Installation & Usage
--------------------
The DSN functionality (based on the 1.3 version of this patch) is now included as part of EXIM
so standard DSN functionality always applies, however some functionality had been removed when
it was built into EXIM as standard :-
dsn_process flag has been re-introduced as part of this patch,
this means every router that should process DSN needs to have this set.
The reason this has been done is because an UNSEEN router would have generated a DSN and that's
not always what you wish to do. This patch allows you to be selective on which routers will
process DSN's.
Patch release versions will now follow the primary version number (currently 1.6) with suffix of r (Re-Introduced)
The facility (once compiled in with EXPERIMENTAL_DSN) can be turned on for a particular router via the
dsn_process directive Eg :-
dest_delivery_int:
driver = manualroute
domains = +relay_to_domains
condition = ${if eq {${lc:$sender_address_domain}}\
{domain.com}\
{yes}{no}\
}
dsn_process
hide route_data = ${lc:${extract{mailHost}{$address_data}{$value}{}}}
transport = remote_smtp
This is to ensure compatibility with existing configurations
Credits
-------
The original work for the patch was done by Philip Hazel in Exim 3
The extract was taken and re-applied to Exim 4 by the following :-
Phil Bingham (phil.bingham@cwipapps.net)
Steve Falla (steve.falla@cwipapps.net)
Ray Edah (ray.edah@cwipapps.net)
Andrew Johnson (andrew.johnson@cwipapps.net)
Adrian Hungate (adrian.hungate@cwipapps.net)
Now Primarily maintained by :-
Andrew Johnson (andrew.johnson@sappsys.co.uk) (Vodafone)
Updated for 4.82, improved and submitted to
http://bugs.exim.org/show_bug.cgi?id=118
by :-
Wolfgang Breyha (wbreyha@gmx.net)
Contributions
-------------
Andrey J. Melnikoff (TEMHOTA) (temnota@kmv.ru)
ChangeLog
---------
14-Apr-2006 : Changed subject to "Delivery Status Notification"
17-May-2006 : debug_printf in spool-in.c were not wrapped with #ifndef COMPILE_UTILITY
thanks to Andrey J. Melnikoff for this information
12-Sep-2006 : Now supports Exim 4.63
12-Sep-2006 : src/EDITME did not include the #define SUPPORT_DSN as stated
in the documentation, this has now been corrected
thanks to Robert Kehl for this information
28-Jul-2008 : New version for exim 4.69 released.
02-Jul-2010 : New version for exim 4.72 released.
25-Apr-2014 : Version 1.4
*) fix ENVID and ORCPT addition in SMTP transport
*) p was not moved to the end of the string. new content
added afterwards overwrites ENVID and/or ORCPT
*) change spool file format to be compatible with the
extensible format of exim 4 by prepending new values and
setting the extended bitmask accordingly
*) use SUPPORT_DSN_LEGACY=yes in Makefile to be able to read
the legacy format of older patches until all messages are out of queue.
*) change "dsn" boolean toggle to "dsn_advertise_hosts" to
be able to select who actually can use the extension
*) Add all RFC 3461 MUST fields to delivery-status section
*) convert xtext in ENVID
*) add all successful rcpts to ONE message instead of sending several messages
26-Apr-2014 : Version 1.5
fixes:
*) fixed wrong order for ENVID
*) fixed wrong Final-Recipient value
*) af_ignore_failure is ignored for success reports
*) fixed DSN_LEGACY switch
improvements:
*) added MIME "failure" reports
*) bounce_return_message is ignored (required by RFC)
*) in case RET= is defined we honor these values
otherwise bounce_return_body is honored.
*) bounce_return_size_limit is always honored.
*) message body intro and final text is ignored
*) do not send report if DSN flags say NO
*) added MIME "delay" reports
*) do not send report if DSN flags say NO
*) changed from SUPPORT_DSN to EXPERIMENTAL_DSN
*) updated documentation
01-May-2014 : Version 1.6
fixes:
*) code cleanup
*) use text/rfc822-headers were applicable
*) fix NOTIFY=FAILURE
improvements:
*) do not truncated MIME messages
*) if bounce_return_size_limit is smaller then the actual message
only the header is returned
*) if bounce_return_body or bounce_return_size_limit prevents Exim
from returning the requested (RET=FULL) body this fact is added
as X-Exim-DSN-Information Header
*) this also means that all of the last three parts of the "failure"
template are not used anymore
*) dsn_process switch removed
*) every router "processes" DSN by default
*) there is no possibilty to "gag" DSN anymore since this violates RFC
*) dsn_lasthop switch added for routers
*) if dsn_lasthop is set by a router it is handled as relaying to a
non DSN aware relay. success mails are sent if Exim successfully
delivers the message.
*) redirect routers always "act" as if dsn_lasthop is set
*) address_item.dsn_aware changed from uschar to int for easier handling.
02-May-2014 : fixes:
*) Reporting-MTA: use smtp_active_hostname instead of qualify_domain from
original patch.
20-May-2014 : fixes:
*) removed support for EXPERIMENTAL_DSN_LEGACY for codebase inclusion
*) fixed build of exim_monitor tree
*) fixed late declaration of dsn_all_lasthop
30-Oct-2015 : Patch changes:
*) Re-introduce dsn_process to restore old behaviour (Andrew Johnson @ Vodafone)
-----------------
Support for this patch up to 1.3 (limited though it is) will only be provided through the SourceForge
project page (http://sourceforge.net/projects/eximdsn/)
From 1.4 onward feel free to ask on the exim-users mailinglist or add comments to
http://bugs.exim.org/show_bug.cgi?id=118