This adds an option to turn off SMTP callbacks on header froms while leaving it on for envelope froms. The patch in verify is from Philip, the glue to make it an option (and the option name) are my fault :-) Marc MERLIN 2001/06/29 diff -urN exim-3.30.orig/src/globals.c exim-3.30/src/globals.c --- exim-3.30.orig/src/globals.c Mon Jun 18 04:03:24 2001 +++ exim-3.30/src/globals.c Fri Jun 29 01:58:24 2001 @@ -668,6 +668,7 @@ BOOL sender_verify_batch = FALSE; char *sender_verify_callback_domains = NULL; char *sender_verify_callback_error = NULL; +BOOL sender_verify_callback_hdrfrm = TRUE; int sender_verify_callback_timeout = 30; BOOL sender_verify_fixup = FALSE; char *sender_verify_hosts = "*"; diff -urN exim-3.30.orig/src/globals.h exim-3.30/src/globals.h --- exim-3.30.orig/src/globals.h Mon Jun 18 04:03:24 2001 +++ exim-3.30/src/globals.h Fri Jun 29 01:58:24 2001 @@ -491,6 +491,7 @@ extern BOOL sender_verify_batch; /* TRUE if batch SMTP included */ extern char *sender_verify_callback_domains; /* For SMTP callbacks */ extern char *sender_verify_callback_error; /* ditto - holds error */ +extern BOOL sender_verify_callback_hdrfrm; /* callback on hdrfrm too */ extern int sender_verify_callback_timeout; /* ditto */ extern BOOL sender_verify_fixup; /* Fix broken senders from headers */ extern char *sender_verify_hosts; /* Verification hosts */ diff -urN exim-3.30.orig/src/readconf.c exim-3.30/src/readconf.c --- exim-3.30.orig/src/readconf.c Mon Jun 18 04:03:26 2001 +++ exim-3.30/src/readconf.c Mon Jun 25 16:54:04 2001 @@ -221,6 +221,7 @@ { "sender_verify", opt_bool, &sender_verify }, { "sender_verify_batch", opt_bool, &sender_verify_batch }, { "sender_verify_callback_domains", opt_stringptr, &sender_verify_callback_domains }, + { "sender_verify_callback_hdrfrm", opt_bool, &sender_verify_callback_hdrfrm }, { "sender_verify_callback_timeout", opt_time, &sender_verify_callback_timeout }, { "sender_verify_fixup", opt_bool, &sender_verify_fixup }, { "sender_verify_hosts", opt_stringptr, &sender_verify_hosts }, diff -urN exim-3.30.orig/src/verify.c exim-3.30/src/verify.c --- exim-3.30.orig/src/verify.c Mon Jun 18 04:03:28 2001 +++ exim-3.30/src/verify.c Fri Jun 29 01:58:53 2001 @@ -711,7 +730,13 @@ } else { - new_ok = verify_address(s, NULL, &is_local, newaddr, 0); + char *save = sender_verify_hosts_callback; + if (! sender_verify_callback_hdrfrm) + { + sender_verify_hosts_callback = NULL; + } + new_ok = verify_address(s, NULL, &is_local, newaddr, 0); + sender_verify_hosts_callback = save; } *ss = terminator; diff -urN exim-3.30.orig/src/version.c exim-3.30/src/version.c --- exim-3.30.orig/src/version.c Mon Jun 18 04:03:28 2001 +++ exim-3.30/src/version.c Fri Jun 29 02:06:43 2001 @@ -10,7 +10,7 @@ #include "exim.h" -#define THIS_VERSION "3.31" +#define THIS_VERSION "3.31-VA-mm1" /* The header file cnumber.h contains a single line containing the