On Mon, 10 Mar 2003, Mark Baker wrote:
> > I will investigate this in the Exim 4 context.
>
> Thankyou. I believe the same issue exists in exim 4.
The bug is fixed in Exim 4.14, which I hope to release on Wednesday
(just running it here for a bit first).
For Exim 3, I believe the patch below (against 3.36) fixes the problem.
This is a heavy-handed, minimal patch. (The Exim 4 fix is done
"properly", but this area has changed a lot in Exim 4, so it is not
applicable to Exim 3.)
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
*** exim-3.36/src/directors/localuser.c Thu Apr 4 13:56:17 2002
--- directors/localuser.c Mon Mar 10 12:07:04 2003
***************
*** 118,128 ****
if (rc != OK) return rc;
}
- /* Set up the errors address, if any. */
-
- rc = direct_get_errors_address(addr, dblock, "director", verify, &errors_to);
- if (rc != OK) return rc;
-
/* Set up the additional and removeable headers for the address. */
rc = direct_get_munge_headers(addr, dblock, "director", &extra_headers,
--- 118,123 ----
***************
*** 136,142 ****
if (!route_get_transport(dblock->transport, dblock->expand_transport,
addr, &(addr->transport), dblock->name, NULL)) return ERROR;
- addr->errors_address = errors_to;
addr->extra_headers = extra_headers;
addr->remove_headers = remove_headers;
--- 131,136 ----
***************
*** 152,157 ****
--- 146,157 ----
addr->current_dir = dblock->current_directory;
+ /* Set up the errors address, if any. */
+
+ rc = direct_get_errors_address(addr, dblock, "director", verify, &errors_to);
+ if (rc != OK) return rc;
+ addr->errors_address = errors_to;
+
return route_queue(addr, addr_local, addr_remote, (router_instance *)dblock,
NULL, "director")? OK : ERROR;
}