------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1559 Summary: Diagnostic-Code: Field for EXPERIMENTAL-DSN wrong Product: Exim Version: 4.84 Platform: Other OS/Version: Linux Status: NEW Severity: bug Priority: medium Component: Delivery in general AssignedTo: [email protected] ReportedBy: [email protected] CC: [email protected] Created an attachment (id=771) --> (http://bugs.exim.org/attachment.cgi?id=771) fix for Diagnostic-Code field of EXPERIMENTAL_DSN This bug and patch is for 4.85_RC2 only. EXPERIMENTAL_DSN had two bugs in 4.84. The first is already fixed in 4.85_RCx. addr->host_used is set correctly now (outside the EXPERIMENTAL_DSN code). Thanks Jeremy! The second flaw was not visible until host_used was available. The Diagnostic-Code field of the machine readable part of a DSN was wrong. It looked like: Remote-MTA: dns; mail.example.tld Diagnostic-Code: smtp; 0 This patch fixes this. Instead of using basic_errno, which is also not available at this point of deliver.c, I use addr->message which contains the complete and sanitized error message from the remote host. I added a function to make some specific checks, strip the leading information Exim added by searching for the first ": " and print the SMTP message as required by RFC 3461:9.2. I tested it for single- and multiline 5xx errorcodes. As far as I can tell it should work for 4xx as well. Now it looks like (multiline example): Remote-MTA: dns; mail.example.tld Diagnostic-Code: smtp; 550-unknown user/Adresse existiert nicht <[email protected]> 550 non existent -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
