summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/src/expand.c1
-rw-r--r--src/src/globals.c11
-rw-r--r--src/src/globals.h1
-rw-r--r--src/src/verify.c6
4 files changed, 12 insertions, 7 deletions
diff --git a/src/src/expand.c b/src/src/expand.c
index 623d3f224..ae901d63a 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -724,6 +724,7 @@ static var_entry var_table[] = {
{ "tod_zulu", vtype_todzulu, NULL },
{ "transport_name", vtype_stringptr, &transport_name },
{ "value", vtype_stringptr, &lookup_value },
+ { "verify_mode", vtype_stringptr, &verify_mode },
{ "version_number", vtype_stringptr, &version_string },
{ "warn_message_delay", vtype_stringptr, &warnmsg_delay },
{ "warn_message_recipient",vtype_stringptr, &warnmsg_recipients },
diff --git a/src/src/globals.c b/src/src/globals.c
index fb3ea32a9..1eae4a830 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -1448,11 +1448,7 @@ uschar *uucp_from_pattern = US
uschar *uucp_from_sender = US"$1";
-uschar *warn_message_file = NULL;
-uschar *warnmsg_delay = NULL;
-uschar *warnmsg_recipients = NULL;
-BOOL write_rejectlog = TRUE;
-
+uschar *verify_mode = NULL;
uschar *version_copyright =
US"Copyright (c) University of Cambridge, 1995 - 2014\n"
"(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2014";
@@ -1460,6 +1456,11 @@ uschar *version_date = US"?";
uschar *version_cnumber = US"????";
uschar *version_string = US"?";
+uschar *warn_message_file = NULL;
int warning_count = 0;
+uschar *warnmsg_delay = NULL;
+uschar *warnmsg_recipients = NULL;
+BOOL write_rejectlog = TRUE;
+
/* End of globals.c */
diff --git a/src/src/globals.h b/src/src/globals.h
index c335c343b..f4baa0bb0 100644
--- a/src/src/globals.h
+++ b/src/src/globals.h
@@ -919,6 +919,7 @@ extern uschar *warnmsg_delay; /* String form of delay time */
extern uschar *warnmsg_recipients; /* Recipients of warning message */
extern BOOL write_rejectlog; /* Control of reject logging */
+extern uschar *verify_mode; /* Running a router in verify mode */
extern uschar *version_copyright; /* Copyright notice */
extern uschar *version_date; /* Date of compilation */
extern uschar *version_cnumber; /* Compile number */
diff --git a/src/src/verify.c b/src/src/verify.c
index dba09164e..f8e176b27 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -468,6 +468,7 @@ else
deliver_host_address = host->address;
deliver_host_port = host->port;
deliver_domain = addr->domain;
+ transport_name = addr->transport->name;
if (!smtp_get_interface(tf->interface, host_af, addr, NULL, &interface,
US"callout") ||
@@ -548,6 +549,7 @@ else
{
addr->message = string_sprintf("could not connect to %s [%s]: %s",
host->name, host->address, strerror(errno));
+ transport_name = NULL;
deliver_host = deliver_host_address = NULL;
deliver_domain = save_deliver_domain;
continue;
@@ -879,9 +881,7 @@ else
/* If accepted, we aren't going to do any further tests below. */
if (random_ok)
- {
new_domain_record.random_result = ccache_accept;
- }
/* Otherwise, cache a real negative response, and get back to the right
state to send RCPT. Unless there's some problem such as a dropped
@@ -1852,8 +1852,10 @@ while (addr_new != NULL)
#ifdef SUPPORT_TLS
deliver_set_expansions(addr);
#endif
+ verify_mode = is_recipient ? US"R" : US"S";
rc = do_callout(addr, host_list, &tf, callout, callout_overall,
callout_connect, options, se_mailfrom, pm_mailfrom);
+ verify_mode = NULL;
}
}
else