diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2012-10-06 23:20:08 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2012-12-25 19:58:32 +0000 |
commit | 181d9bf8a602a2573d566427803a4c5288a56008 (patch) | |
tree | 1c1effe575f5be7f6a7a8a39f231617367f5de8a | |
parent | c3eacdb0bc1ab24331b781dc3f08b075aa52e329 (diff) |
Add $router_name and $transport_name variables. Bug 308.
-rw-r--r-- | doc/doc-docbook/spec.xfpt | 19 | ||||
-rw-r--r-- | doc/doc-txt/ChangeLog | 2 | ||||
-rw-r--r-- | doc/doc-txt/NewStuff | 7 | ||||
-rw-r--r-- | src/src/deliver.c | 4 | ||||
-rw-r--r-- | src/src/expand.c | 2 | ||||
-rw-r--r-- | src/src/globals.c | 3 | ||||
-rw-r--r-- | src/src/globals.h | 2 | ||||
-rw-r--r-- | src/src/route.c | 1 | ||||
-rw-r--r-- | test/confs/0143 | 7 | ||||
-rw-r--r-- | test/confs/0227 | 10 | ||||
-rw-r--r-- | test/confs/0325 | 8 | ||||
-rw-r--r-- | test/confs/0410 | 2 | ||||
-rw-r--r-- | test/log/0143 | 2 | ||||
-rw-r--r-- | test/log/0227 | 25 | ||||
-rw-r--r-- | test/rejectlog/0227 | 18 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0143 | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0227 | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0325 | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0410 | 2 | ||||
-rw-r--r-- | test/stderr/0143 | 7 | ||||
-rw-r--r-- | test/stderr/0227 | 32 |
21 files changed, 113 insertions, 46 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index e049936a3..0d258ec5e 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -11750,6 +11750,13 @@ envelope sender. .vindex "&$return_size_limit$&" This is an obsolete name for &$bounce_return_size_limit$&. +.vitem &$router_name$& +.cindex "router" "name" +.cindex "name" "of router" +.vindex "&$router_name$&" +During the running of a router, and any transport it runs, this variable +contains the name of the router. + .vitem &$runrc$& .cindex "return code" "from &%run%& expansion" .vindex "&$runrc$&" @@ -12204,6 +12211,12 @@ This variable contains the numerical value of the local timezone, for example: This variable contains the UTC date and time in &"Zulu"& format, as specified by ISO 8601, for example: 20030221154023Z. +.vitem &$transport_name$& +.cindex "transport" "name" +.cindex "name" "of transport" +.vindex "&$transport_name$&" +During the running of a transport, this variable contains its name. + .vitem &$value$& .vindex "&$value$&" This variable contains the result of an expansion lookup, extraction operation, @@ -16420,7 +16433,8 @@ be specified using &%condition%&. .option debug_print routers string&!! unset .cindex "testing" "variables in drivers" If this option is set and debugging is enabled (see the &%-d%& command line -option), the string is expanded and included in the debugging output. +option) or in address-testing mode (see the &%-bt%& command line option), +the string is expanded and included in the debugging output. If expansion of the string fails, the error message is written to the debugging output, and Exim carries on processing. This option is provided to help with checking out the values of variables and @@ -16429,6 +16443,7 @@ option appears not to be working, &%debug_print%& can be used to output the variables it references. The output happens after checks for &%domains%&, &%local_parts%&, and &%check_local_user%& but before any other preconditions are tested. A newline is added to the text if it does not end with one. +The variable &$router_name$& contains the name of the router. @@ -19589,6 +19604,8 @@ so on when debugging driver configurations. For example, if a &%headers_add%& option is not working properly, &%debug_print%& could be used to output the variables it references. A newline is added to the text if it does not end with one. +The variables &$transport_name$ and &&$router_name$& contain the name of the +transport and the router that called it. .option delivery_date_add transports boolean false diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index bf8141351..a8b2dfa12 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -80,6 +80,8 @@ JH/09 Add $headers_added variable, with content from use of ACL modifier JH/10 Add 8bitmime log_selector, for 8bitmime status on the received line. Pulled from Bugzilla 817 by Wolfgang Breyha. +JH/11 Add $router_name and $transport_name variables. Bugzilla 308. + PP/11 SECURITY: protect DKIM DNS decoding from remote exploit. CVE-2012-5671 diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index 974ebebed..cf4014843 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -120,8 +120,15 @@ Version 4.82 15. New 8bitmime status logging option for received messages. Log field "M8S". + 16. New authenticated_sender logging option, adding to log field "A". +17. New expansion variables $router_name and $transport_name. Useful + particularly for debug_print as -bt commandline option does not + require privilege whereas -d does. As a side-effect the router accepting + for verification is visible in ACLs. + + Version 4.80 ------------ diff --git a/src/src/deliver.c b/src/src/deliver.c index 79d431b37..55bfa0dd0 100644 --- a/src/src/deliver.c +++ b/src/src/deliver.c @@ -2190,6 +2190,8 @@ while (addr_local != NULL) if (previously_transported(addr, FALSE)) continue; + transport_name = tp->name; + /* There are weird cases where logging is disabled */ disable_logging = tp->disable_logging; @@ -3530,6 +3532,8 @@ for (delivery_count = 0; addr_remote != NULL; delivery_count++) if (previously_transported(addr, FALSE)) continue; + transport_name = tp->name; + /* Force failure if the message is too big. */ if (tp->message_size_limit != NULL) diff --git a/src/src/expand.c b/src/src/expand.c index c7dc2742c..464c6f6fc 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -571,6 +571,7 @@ static var_entry var_table[] = { { "reply_address", vtype_reply, NULL }, { "return_path", vtype_stringptr, &return_path }, { "return_size_limit", vtype_int, &bounce_return_size_limit }, + { "router_name", vtype_stringptr, &router_name }, { "runrc", vtype_int, &runrc }, { "self_hostname", vtype_stringptr, &self_hostname }, { "sender_address", vtype_stringptr, &sender_address }, @@ -667,6 +668,7 @@ static var_entry var_table[] = { { "tod_logfile", vtype_todlf, NULL }, { "tod_zone", vtype_todzone, NULL }, { "tod_zulu", vtype_todzulu, NULL }, + { "transport_name", vtype_stringptr, &transport_name }, { "value", vtype_stringptr, &lookup_value }, { "version_number", vtype_stringptr, &version_string }, { "warn_message_delay", vtype_stringptr, &warnmsg_delay }, diff --git a/src/src/globals.c b/src/src/globals.c index 616a2350d..43cf73d5b 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -1071,6 +1071,8 @@ router_instance router_defaults = { NULL /* redirect_router */ }; +uschar *router_name = NULL; + ip_address_item *running_interfaces = NULL; BOOL running_in_test_harness = FALSE; @@ -1305,6 +1307,7 @@ transport_instance transport_defaults = { }; int transport_count; +uschar *transport_name = NULL; int transport_newlines; uschar **transport_filter_argv = NULL; int transport_filter_timeout; diff --git a/src/src/globals.h b/src/src/globals.h index 325a9161d..06cbf312b 100644 --- a/src/src/globals.h +++ b/src/src/globals.h @@ -657,6 +657,7 @@ extern uid_t root_uid; /* The uid for root */ extern router_info routers_available[];/* Vector of available routers */ extern router_instance *routers; /* Chain of instantiated routers */ extern router_instance router_defaults;/* Default values */ +extern uschar *router_name; /* Name of router last started */ extern BOOL running_in_test_harness; /*TRUE when running_status is patched */ extern ip_address_item *running_interfaces; /* Host's running interfaces */ extern uschar *running_status; /* Flag string for testing */ @@ -812,6 +813,7 @@ extern int test_harness_load_avg; /* For use when testing */ extern int thismessage_size_limit; /* Limit for this message */ extern int timeout_frozen_after; /* Max time to keep frozen messages */ extern BOOL timestamps_utc; /* Use UTC for all times */ +extern uschar *transport_name; /* Name of transport last started */ extern int transport_count; /* Count of bytes transported */ extern int transport_newlines; /* Accurate count of number of newline chars transported */ extern uschar **transport_filter_argv; /* For on-the-fly filtering */ diff --git a/src/src/route.c b/src/src/route.c index 32dbd60ab..f8bacf11b 100644 --- a/src/src/route.c +++ b/src/src/route.c @@ -1512,6 +1512,7 @@ for (r = (addr->start_router == NULL)? routers : addr->start_router; int rc; DEBUG(D_route) debug_printf("--------> %s router <--------\n", r->name); + router_name = r->name; /* Reset any search error message from the previous router. */ diff --git a/test/confs/0143 b/test/confs/0143 index c853c8072..08eb3f66a 100644 --- a/test/confs/0143 +++ b/test/confs/0143 @@ -18,12 +18,12 @@ domainlist local_domains = test.ex : *.test.ex begin routers -all: +my_main_router: driver = manualroute domains = ! +local_domains route_list = * 127.0.0.1 self = send - transport = smtp + transport = my_smtp no_more @@ -31,10 +31,11 @@ all: begin transports -smtp: +my_smtp: driver = smtp interface = HOSTIPV4 port = PORT_S + debug_print = transport_name <$transport_name> from router <$router_name> # End diff --git a/test/confs/0227 b/test/confs/0227 index 17f49eb76..2f2178185 100644 --- a/test/confs/0227 +++ b/test/confs/0227 @@ -26,21 +26,25 @@ check_recipient: control = no_multiline_responses accept hosts = V4NET.0.0.4 deny hosts = V4NET.0.0.1 + log_message = ($sender_verify_failure) R:$router_name !verify = sender/callout=no_cache deny hosts = V4NET.0.0.3 - log_message = ($recipient_verify_failure) + log_message = ($recipient_verify_failure) R:$router_name !verify = recipient/callout=no_cache + warn logwrite = verify recipient used R:$router_name deny hosts = V4NET.0.0.5 - log_message = ($sender_verify_failure) + log_message = ($sender_verify_failure) R:$router_name !verify = sender/callout=no_cache/check_postmaster require verify = sender + logwrite = verify sender used R:$router_name accept domains = +local_domains deny message = relay not permitted check_data: deny hosts = V4NET.0.0.4 + log_message = header_sender R:$router_name !verify = header_sender/callout=no_cache - accept + accept logwrite = verify header_sender used R:$router_name # ----- Routers ----- diff --git a/test/confs/0325 b/test/confs/0325 index f56b01bd7..5310dcc8d 100644 --- a/test/confs/0325 +++ b/test/confs/0325 @@ -41,7 +41,7 @@ r1: local_parts = lsearch;DIR/aux-fixed/TESTNUM.data data = debug_print = r1: \$domain_data = $domain_data\n\ - r1: \$local_part_data = $local_part_data + $router_name: \$local_part_data = $local_part_data r2: driver = redirect @@ -49,7 +49,7 @@ r2: local_parts = lsearch;DIR/aux-fixed/TESTNUM.data data = debug_print = r2: \$domain_data = $domain_data\n\ - r2: \$local_part_data = $local_part_data + $router_name: \$local_part_data = $local_part_data r3: driver = redirect @@ -57,7 +57,7 @@ r3: local_parts = +test_local_parts data = debug_print = r3: \$domain_data = $domain_data\n\ - r3: \$local_part_data = $local_part_data + $router_name: \$local_part_data = $local_part_data r4: driver = accept @@ -65,7 +65,7 @@ r4: local_parts = +test_local_parts transport = t1 debug_print = r4: \$domain_data = $domain_data\n\ - r4: \$local_part_data = $local_part_data + $router_name: \$local_part_data = $local_part_data # ----- Transports ----- diff --git a/test/confs/0410 b/test/confs/0410 index b8da514f4..934d8a1e8 100644 --- a/test/confs/0410 +++ b/test/confs/0410 @@ -22,7 +22,9 @@ begin ACL rcpt: accept verify = recipient + logwrite = rcpt R:$router_name verify = sender + logwrite = sndr R:$router_name condition = ${if eq {$address_data}{ADDRESS_DATA_STRING}{yes}{no}} condition = ${if eq {$sender_address_data}{SENDER_ADDRESS_DATA_STRING}{yes}{no}} diff --git a/test/log/0143 b/test/log/0143 index c21deee7c..1f177b3d3 100644 --- a/test/log/0143 +++ b/test/log/0143 @@ -1,3 +1,3 @@ 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss -1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" +1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@domain.com R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1] C="250 OK" 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed diff --git a/test/log/0227 b/test/log/0227 index b976ec2c8..00d940b51 100644 --- a/test/log/0227 +++ b/test/log/0227 @@ -1,20 +1,27 @@ +1999-03-02 09:44:33 verify recipient used R:all +1999-03-02 09:44:33 verify sender used R:all +1999-03-02 09:44:33 verify recipient used R: +1999-03-02 09:44:33 verify sender used R:all 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: response to "RCPT TO:<bad@localhost>" from 127.0.0.1 [127.0.0.1] was: 550 Unknown user -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient) R:all: Sender verify failed 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <uncheckable@localhost1>: response to "RCPT TO:<uncheckable@localhost1>" from 127.0.0.1 [127.0.0.1] was: 450 Temporary error 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable2@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550 Error for <> -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550-Multiline error for <>\n550 Here's the second line -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: Sender verify failed -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second 1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> temporarily rejected RCPT <z@remote.domain>: Could not complete recipient verify callout -1999-03-02 09:44:33 10HmaX-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line -1999-03-02 09:44:33 10HmaY-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line +1999-03-02 09:44:33 10HmaX-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line +1999-03-02 09:44:33 10HmaY-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line +1999-03-02 09:44:33 verify recipient used R: +1999-03-02 09:44:33 verify sender used R:localhost1 1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: relay not permitted +1999-03-02 09:44:33 verify recipient used R: 1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root sender verify fail for <ok@localhost1>: response to "RCPT TO:<postmaster@localhost1>" from 127.0.0.1 [127.0.0.1] was: 550 Don't like postmaster -1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster): Sender verify failed -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient): response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked +1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster) R:localhost1: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient) R:lmtp: response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <bad@localhost1>: response to "initial connection" from 127.0.0.1 [127.0.0.1] was: connection dropped 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost1> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <bad@localhost1>: could not connect to 127.0.0.1 [127.0.0.1]: Connection refused diff --git a/test/rejectlog/0227 b/test/rejectlog/0227 index bc1480be7..f62256992 100644 --- a/test/rejectlog/0227 +++ b/test/rejectlog/0227 @@ -1,15 +1,15 @@ 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: response to "RCPT TO:<bad@localhost>" from 127.0.0.1 [127.0.0.1] was: 550 Unknown user -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient) R:all: Sender verify failed 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <uncheckable@localhost1>: response to "RCPT TO:<uncheckable@localhost1>" from 127.0.0.1 [127.0.0.1] was: 450 Temporary error 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable2@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550 Error for <> -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550-Multiline error for <>\n550 Here's the second line -1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: Sender verify failed -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second +1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second 1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> temporarily rejected RCPT <z@remote.domain>: Could not complete recipient verify callout -1999-03-02 09:44:33 10HmaX-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line +1999-03-02 09:44:33 10HmaX-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line Envelope-from: <uncheckable@localhost1> Envelope-to: <z@remote.domain> P Received: from [V4NET.0.0.4] (ident=root) @@ -18,7 +18,7 @@ P Received: from [V4NET.0.0.4] (ident=root) id 10HmaX-0005vi-00 for z@remote.domain; Tue, 2 Mar 1999 09:44:33 +0000 F From: abcd@x.y.z -1999-03-02 09:44:33 10HmaY-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line +1999-03-02 09:44:33 10HmaY-0005vi-00 H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line Envelope-from: <uncheckable@localhost1> Envelope-to: <z@remote.domain> P Received: from [V4NET.0.0.4] (ident=root) @@ -29,8 +29,8 @@ P Received: from [V4NET.0.0.4] (ident=root) F From: abcd@x.y.z 1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: relay not permitted 1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root sender verify fail for <ok@localhost1>: response to "RCPT TO:<postmaster@localhost1>" from 127.0.0.1 [127.0.0.1] was: 550 Don't like postmaster -1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster): Sender verify failed -1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient): response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked +1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster) R:localhost1: Sender verify failed +1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient) R:lmtp: response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <bad@localhost1>: response to "initial connection" from 127.0.0.1 [127.0.0.1] was: connection dropped 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost1> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout 1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <bad@localhost1>: could not connect to 127.0.0.1 [127.0.0.1]: Connection refused diff --git a/test/scripts/0000-Basic/0143 b/test/scripts/0000-Basic/0143 index 41596d6b5..7ab54f154 100644 --- a/test/scripts/0000-Basic/0143 +++ b/test/scripts/0000-Basic/0143 @@ -1,4 +1,4 @@ -# smtp client "interface" option +# smtp client "interface" option, $transport_name and $router_name need_ipv4 # server PORT_S diff --git a/test/scripts/0000-Basic/0227 b/test/scripts/0000-Basic/0227 index 7b091de4b..59adba788 100644 --- a/test/scripts/0000-Basic/0227 +++ b/test/scripts/0000-Basic/0227 @@ -1,4 +1,4 @@ -# callout verification (no caching) +# callout verification (no caching) and $router_name need_ipv4 # server PORT_S diff --git a/test/scripts/0000-Basic/0325 b/test/scripts/0000-Basic/0325 index b2109f096..a81abd6bc 100644 --- a/test/scripts/0000-Basic/0325 +++ b/test/scripts/0000-Basic/0325 @@ -1,4 +1,4 @@ -# $domain_data and $local_part_data +# $domain_data, $local_part_data and $router_name exim -v -bt xxx@a.b.c **** exim -bh V4NET.0.0.0 diff --git a/test/scripts/0000-Basic/0410 b/test/scripts/0000-Basic/0410 index 512484574..8d9c240ee 100644 --- a/test/scripts/0000-Basic/0410 +++ b/test/scripts/0000-Basic/0410 @@ -1,4 +1,4 @@ -# address_data in ACLs after verification +# address_data and router_name in ACLs after verification exim -bs MAIL FROM:<oksender@y> rcpt to:<child@test.ex> diff --git a/test/stderr/0143 b/test/stderr/0143 index 3373ded2e..bcf7ecc82 100644 --- a/test/stderr/0143 +++ b/test/stderr/0143 @@ -10,7 +10,8 @@ trusted user admin user >>>>>>>>>>>>>>>> Remote deliveries >>>>>>>>>>>>>>>> --------> userx@domain.com <-------- -smtp transport entered +transport_name <my_smtp> from router <my_main_router> +my_smtp transport entered userx@domain.com checking status of 127.0.0.1 127.0.0.1 [127.0.0.1]:1111 status = usable @@ -36,9 +37,9 @@ transport_check_waiting entered sequence=1 local_max=500 global_max=-1 no messages waiting for 127.0.0.1 SMTP>> QUIT -Leaving smtp transport +Leaving my_smtp transport LOG: MAIN - => userx@domain.com R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK" + => userx@domain.com R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1] C="250 OK" LOG: MAIN Completed >>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0227 b/test/stderr/0227 index 31f5b584d..2530d7cd7 100644 --- a/test/stderr/0227 +++ b/test/stderr/0227 @@ -9,10 +9,18 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP>> RCPT TO:<ok@localhost> SMTP<< 250 OK SMTP>> QUIT +LOG: MAIN + verify recipient used R:all +LOG: MAIN + verify sender used R:all LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN SMTP connection from root +LOG: MAIN + verify recipient used R: +LOG: MAIN + verify sender used R:all LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -29,7 +37,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected LOG: MAIN REJECT H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: response to "RCPT TO:<bad@localhost>" from 127.0.0.1 [127.0.0.1] was: 550 Unknown user LOG: MAIN REJECT - H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: Sender verify failed + H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient) R:all: Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -61,7 +69,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected LOG: MAIN REJECT H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable2@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550 Error for <> LOG: MAIN REJECT - H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: Sender verify failed + H=[V4NET.0.0.1] U=root F=<uncheckable2@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -77,7 +85,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected LOG: MAIN REJECT H=[V4NET.0.0.1] U=root sender verify fail for <uncheckable@localhost1>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550-Multiline error for <>\n550 Here's the second line LOG: MAIN REJECT - H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: Sender verify failed + H=[V4NET.0.0.1] U=root F=<uncheckable@localhost1> rejected RCPT <z@test.ex>: (mail) R:localhost1: Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -92,7 +100,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 550 Recipient not liked SMTP>> QUIT LOG: MAIN REJECT - H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked + H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -108,7 +116,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected 550 Here's the second SMTP>> QUIT LOG: MAIN REJECT - H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient): response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second + H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.domain>: (recipient) R:all: response to "RCPT TO:<z@remote.domain>" from 127.0.0.1 [127.0.0.1] was: 550-Recipient not liked on two lines\n550 Here's the second LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -131,7 +139,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 550 Not liked SMTP>> QUIT LOG: MAIN REJECT - H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line + H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -146,11 +154,13 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 550 Not liked SMTP>> QUIT LOG: MAIN REJECT - H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: there is no valid sender in any header line + H=[V4NET.0.0.4] U=root F=<uncheckable@localhost1> rejected after DATA: header_sender R:all: there is no valid sender in any header line LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN SMTP connection from root +LOG: MAIN + verify recipient used R: Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 220 Server ready SMTP>> EHLO myhost.test.ex @@ -167,12 +177,16 @@ Cutthrough cancelled by presence of postmaster verify SMTP>> RCPT TO:<postmaster@localhost1> SMTP<< 250 OK SMTP>> QUIT +LOG: MAIN + verify sender used R:localhost1 LOG: MAIN REJECT H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: relay not permitted LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN SMTP connection from root +LOG: MAIN + verify recipient used R: Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 220 Server ready SMTP>> EHLO myhost.test.ex @@ -192,7 +206,7 @@ Cutthrough cancelled by presence of postmaster verify LOG: MAIN REJECT H=[V4NET.0.0.5] U=root sender verify fail for <ok@localhost1>: response to "RCPT TO:<postmaster@localhost1>" from 127.0.0.1 [127.0.0.1] was: 550 Don't like postmaster LOG: MAIN REJECT - H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster): Sender verify failed + H=[V4NET.0.0.5] U=root F=<ok@localhost1> rejected RCPT <z@remote.domain>: (postmaster) R:localhost1: Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN @@ -207,7 +221,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected SMTP<< 550 Recipient not liked SMTP>> QUIT LOG: MAIN REJECT - H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient): response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked + H=[V4NET.0.0.3] U=root F=<uncheckable@localhost1> rejected RCPT <z@remote.lmtp>: (recipient) R:lmtp: response to "RCPT TO:<z@remote.lmtp>" from 127.0.0.1 [127.0.0.1] was: 550 Recipient not liked LOG: smtp_connection MAIN SMTP connection from root closed by QUIT LOG: smtp_connection MAIN |