| 1 | Exim DSN Patch (4.82) |
| 2 | --------------------- |
| 3 | |
| 4 | This patch is free software; you can redistribute it and/or modify |
| 5 | it under the terms of the GNU General Public License as published by |
| 6 | the Free Software Foundation; either version 2 of the License, or |
| 7 | (at your option) any later version. |
| 8 | |
| 9 | This patch is distributed in the hope that it will be useful, |
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 | GNU General Public License for more details. |
| 13 | |
| 14 | You should have received a copy of the GNU General Public License |
| 15 | along with this patch; if not, write to the Free Software |
| 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. |
| 17 | |
| 18 | Installation & Usage |
| 19 | -------------------- |
| 20 | See docs/experimental-spec.txt |
| 21 | |
| 22 | Credits |
| 23 | ------- |
| 24 | |
| 25 | The original work for the patch was done by Philip Hazel in Exim 3 |
| 26 | |
| 27 | The extract was taken and re-applied to Exim 4 by the following :- |
| 28 | Phil Bingham (phil.bingham@cwipapps.net) |
| 29 | Steve Falla (steve.falla@cwipapps.net) |
| 30 | Ray Edah (ray.edah@cwipapps.net) |
| 31 | Andrew Johnson (andrew.johnson@cwippaps.net) |
| 32 | Adrian Hungate (adrian.hungate@cwipapps.net) |
| 33 | |
| 34 | Now Primarily maintained by :- |
| 35 | Andrew Johnson (andrew.johnson@cwippaps.net) |
| 36 | |
| 37 | Updated for 4.82, improved and submitted to |
| 38 | http://bugs.exim.org/show_bug.cgi?id=118 |
| 39 | by :- |
| 40 | Wolfgang Breyha (wbreyha@gmx.net) |
| 41 | |
| 42 | Contributions |
| 43 | ------------- |
| 44 | Andrey J. Melnikoff (TEMHOTA) (temnota@kmv.ru) |
| 45 | |
| 46 | |
| 47 | ChangeLog |
| 48 | --------- |
| 49 | 14-Apr-2006 : Changed subject to "Delivery Status Notification" |
| 50 | |
| 51 | 17-May-2006 : debug_printf in spool-in.c were not wrapped with #ifndef COMPILE_UTILITY |
| 52 | thanks to Andrey J. Melnikoff for this information |
| 53 | |
| 54 | 12-Sep-2006 : Now supports Exim 4.63 |
| 55 | |
| 56 | 12-Sep-2006 : src/EDITME did not include the #define SUPPORT_DSN as stated |
| 57 | in the documentation, this has now been corrected |
| 58 | thanks to Robert Kehl for this information |
| 59 | |
| 60 | 28-Jul-2008 : New version for exim 4.69 released. |
| 61 | |
| 62 | 02-Jul-2010 : New version for exim 4.72 released. |
| 63 | |
| 64 | 25-Apr-2014 : Version 1.4 |
| 65 | *) fix ENVID and ORCPT addition in SMTP transport |
| 66 | *) p was not moved to the end of the string. new content |
| 67 | added afterwards overwrites ENVID and/or ORCPT |
| 68 | *) change spool file format to be compatible with the |
| 69 | extensible format of exim 4 by prepending new values and |
| 70 | setting the extended bitmask accordingly |
| 71 | *) use SUPPORT_DSN_LEGACY=yes in Makefile to be able to read |
| 72 | the legacy format of older patches until all messages are out of queue. |
| 73 | *) change "dsn" boolean toggle to "dsn_advertise_hosts" to |
| 74 | be able to select who actually can use the extension |
| 75 | *) Add all RFC 3461 MUST fields to delivery-status section |
| 76 | *) convert xtext in ENVID |
| 77 | *) add all successful rcpts to ONE message instead of sending several messages |
| 78 | |
| 79 | 26-Apr-2014 : Version 1.5 |
| 80 | fixes: |
| 81 | *) fixed wrong order for ENVID |
| 82 | *) fixed wrong Final-Recipient value |
| 83 | *) af_ignore_failure is ignored for success reports |
| 84 | *) fixed DSN_LEGACY switch |
| 85 | improvements: |
| 86 | *) added MIME "failure" reports |
| 87 | *) bounce_return_message is ignored (required by RFC) |
| 88 | *) in case RET= is defined we honor these values |
| 89 | otherwise bounce_return_body is honored. |
| 90 | *) bounce_return_size_limit is always honored. |
| 91 | *) message body intro and final text is ignored |
| 92 | *) do not send report if DSN flags say NO |
| 93 | *) added MIME "delay" reports |
| 94 | *) do not send report if DSN flags say NO |
| 95 | *) changed from SUPPORT_DSN to EXPERIMENTAL_DSN |
| 96 | *) updated documentation |
| 97 | |
| 98 | 01-May-2014 : Version 1.6 |
| 99 | fixes: |
| 100 | *) code cleanup |
| 101 | *) use text/rfc822-headers were applicable |
| 102 | *) fix NOTIFY=FAILURE |
| 103 | |
| 104 | improvements: |
| 105 | *) do not truncated MIME messages |
| 106 | *) if bounce_return_size_limit is smaller then the actual message |
| 107 | only the header is returned |
| 108 | *) if bounce_return_body or bounce_return_size_limit prevents Exim |
| 109 | from returning the requested (RET=FULL) body this fact is added |
| 110 | as X-Exim-DSN-Information Header |
| 111 | *) this also means that all of the last three parts of the "failure" |
| 112 | template are not used anymore |
| 113 | |
| 114 | *) dsn_process switch removed |
| 115 | *) every router "processes" DSN by default |
| 116 | *) there is no possibilty to "gag" DSN anymore since this violates RFC |
| 117 | *) dsn_lasthop switch added for routers |
| 118 | *) if dsn_lasthop is set by a router it is handled as relaying to a |
| 119 | non DSN aware relay. success mails are sent if Exim successfully |
| 120 | delivers the message. |
| 121 | *) redirect routers always "act" as if dsn_lasthop is set |
| 122 | |
| 123 | *) address_item.dsn_aware changed from uschar to int for easier handling. |
| 124 | |
| 125 | 02-May-2014 : fixes: |
| 126 | *) Reporting-MTA: use smtp_active_hostname instead of qualify_domain from |
| 127 | original patch. |
| 128 | |
| 129 | 20-May-2014 : fixes: |
| 130 | *) removed support for EXPERIMENTAL_DSN_LEGACY for codebase inclusion |
| 131 | *) fixed build of exim_monitor tree |
| 132 | *) fixed late declaration of dsn_all_lasthop |
| 133 | |
| 134 | ----------------- |
| 135 | |
| 136 | Support for this patch up to 1.3 (limited though it is) will only be provided through the SourceForge |
| 137 | project page (http://sourceforge.net/projects/eximdsn/) |
| 138 | |
| 139 | From 1.4 onward feel free to ask on the exim-users mailinglist or add comments to |
| 140 | http://bugs.exim.org/show_bug.cgi?id=118 |
| 141 | |