ph10 2006/11/06 15:50:12 GMT
Modified files:
exim-doc/doc-txt ChangeLog NewStuff OptionLists.txt
exim-src/src deliver.c
exim-src/src/transports smtp.c smtp.h
exim-test/confs 0247 0388
exim-test/log 0357
exim-test/scripts/0000-Basic 0357
exim-test/stderr 0357 0358 0388 5005
exim-test/stdout 0357 0358 0474 0497
Log:
Include sender address in retry key for 4xx errors.
Revision Changes Path
1.425 +11 -0 exim/exim-doc/doc-txt/ChangeLog
1.120 +9 -0 exim/exim-doc/doc-txt/NewStuff
1.27 +1 -0 exim/exim-doc/doc-txt/OptionLists.txt
1.38 +16 -4 exim/exim-src/src/deliver.c
1.29 +35 -21 exim/exim-src/src/transports/smtp.c
1.9 +1 -0 exim/exim-src/src/transports/smtp.h
1.2 +0 -1 exim/exim-test/confs/0247
1.2 +1 -0 exim/exim-test/confs/0388
1.2 +3 -0 exim/exim-test/log/0357
1.2 +2 -0 exim/exim-test/scripts/0000-Basic/0357
1.5 +45 -16 exim/exim-test/stderr/0357
1.5 +21 -19 exim/exim-test/stderr/0358
1.7 +1 -0 exim/exim-test/stderr/0388
1.6 +1 -0 exim/exim-test/stderr/5005
1.2 +3 -3 exim/exim-test/stdout/0357
1.2 +4 -4 exim/exim-test/stdout/0358
1.2 +1 -1 exim/exim-test/stdout/0474
1.3 +1 -1 exim/exim-test/stdout/0497
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.424
retrieving revision 1.425
diff -u -r1.424 -r1.425
--- ChangeLog 6 Nov 2006 11:27:54 -0000 1.424
+++ ChangeLog 6 Nov 2006 15:50:12 -0000 1.425
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.424 2006/11/06 11:27:54 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.425 2006/11/06 15:50:12 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -235,6 +235,17 @@
panic-worthy as it just means the connection died rather early on. I have
removed the panic log writing for the ECONNRESET error when getsockname()
fails.
+
+PH/36 After a 4xx response to a RCPT error, that address was delayed (in queue
+ runs only) independently of the message's sender address. This meant
+ that, if the 4xx error was in fact related to the sender, a different
+ message to the same recipient with a different sender could confuse
+ things. In particualar, this can happen when sending to a greylisting
+ server, but other circumstances could also provoke similar problems.
+ I have changed the default so that the retry time for these errors is now
+ based a combination of the sender and recipient addresses. This change
+ can be overridden by setting address_retry_include_sender=false in the
+ smtp transport.
Exim version 4.63
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- NewStuff 24 Oct 2006 12:56:06 -0000 1.119
+++ NewStuff 6 Nov 2006 15:50:12 -0000 1.120
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.119 2006/10/24 12:56:06 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.120 2006/11/06 15:50:12 ph10 Exp $
New Features in Exim
--------------------
@@ -153,6 +153,15 @@
$recipients variable. Note that recipients cannot be given on the command
line, because further arguments are taken as strings to expand (just like
-be).
+
+9. When an address is delayed because of a 4xx response to a RCPT command, it
+ is now the combination of sender and recipient that is delayed in subsequent
+ queue runs until its retry time is reached. You can revert to the previous
+ behavious, that is, delay the recipient independent of the sender, by
+ setting address_retry_include_sender=false in the smtp transport. However,
+ this can lead to problems with servers that regularly issue 4xx responses to
+ RCPT commands.
+
Version 4.63
Index: OptionLists.txt
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/OptionLists.txt,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- OptionLists.txt 24 Oct 2006 12:56:06 -0000 1.26
+++ OptionLists.txt 6 Nov 2006 15:50:12 -0000 1.27
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.26 2006/10/24 12:56:06 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.27 2006/11/06 15:50:12 ph10 Exp $
LISTS OF EXIM OPTIONS
---------------------
@@ -68,6 +68,7 @@
acl_smtp_starttls string* unset main 4.11
acl_smtp_vrfy string* unset main 4.00
address_data string* unset routers 4.00
+address_retry_include_sender boolean true smtp 4.64
address_test boolean true routers 4.14
admin_groups string list unset main 3.02
allow_domain_literals boolean false main 4.00 replacing forbid_domain_literals
Index: deliver.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/deliver.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- deliver.c 30 Oct 2006 16:41:04 -0000 1.37
+++ deliver.c 6 Nov 2006 15:50:12 -0000 1.38
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/deliver.c,v 1.37 2006/10/30 16:41:04 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/deliver.c,v 1.38 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -5452,8 +5452,10 @@
}
/* Get the routing retry status, saving the two retry keys (with and
- without the local part) for subsequent use. Ignore retry records that
- are too old. */
+ without the local part) for subsequent use. If there is no retry record for
+ the standard address routing retry key, we look for the same key with the
+ sender attached, because this form is used by the smtp transport after a
+ 4xx response to RCPT when address_retry_include_sender is true. */
addr->domain_retry_key = string_sprintf("R:%s", addr->domain);
addr->address_retry_key = string_sprintf("R:%s@%s", addr->local_part,
@@ -5466,12 +5468,22 @@
domain_retry_record = dbfn_read(dbm_file, addr->domain_retry_key);
if (domain_retry_record != NULL &&
now - domain_retry_record->time_stamp > retry_data_expire)
- domain_retry_record = NULL;
+ domain_retry_record = NULL; /* Ignore if too old */
address_retry_record = dbfn_read(dbm_file, addr->address_retry_key);
if (address_retry_record != NULL &&
now - address_retry_record->time_stamp > retry_data_expire)
- address_retry_record = NULL;
+ address_retry_record = NULL; /* Ignore if too old */
+
+ if (address_retry_record == NULL)
+ {
+ uschar * altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+ sender_address);
+ address_retry_record = dbfn_read(dbm_file, altkey);
+ if (address_retry_record != NULL &&
+ now - address_retry_record->time_stamp > retry_data_expire)
+ address_retry_record = NULL; /* Ignore if too old */
+ }
}
DEBUG(D_deliver|D_retry)
Index: smtp.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/transports/smtp.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- smtp.c 30 Oct 2006 16:41:04 -0000 1.28
+++ smtp.c 6 Nov 2006 15:50:12 -0000 1.29
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.28 2006/10/30 16:41:04 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.29 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -21,6 +21,8 @@
to be publicly visible; these are flagged with opt_public. */
optionlist smtp_transport_options[] = {
+ { "address_retry_include_sender", opt_bool,
+ (void *)offsetof(smtp_transport_options_block, address_retry_include_sender) },
{ "allow_localhost", opt_bool,
(void *)offsetof(smtp_transport_options_block, allow_localhost) },
{ "authenticated_sender", opt_stringptr,
@@ -159,6 +161,7 @@
1024, /* size_addition */
5, /* hosts_max_try */
50, /* hosts_max_try_hardlimit */
+ TRUE, /* address_retry_include_sender */
FALSE, /* allow_localhost */
FALSE, /* authenticated_sender_force */
FALSE, /* gethostbyname */
@@ -555,19 +558,21 @@
converted to OK at the end.
Arguments:
- addrlist the complete address list
- include_affixes TRUE if affixes include in RCPT
- sync_addr ptr to the ptr of the one to start scanning at (updated)
- host the host we are connected to
- count the number of responses to read
- pending_MAIL true if the first response is for MAIL
- pending_DATA 0 if last command sent was not DATA
- +1 if previously had a good recipient
- -1 if not previously had a good recipient
- inblock incoming SMTP block
- timeout timeout value
- buffer buffer for reading response
- buffsize size of buffer
+ addrlist the complete address list
+ include_affixes TRUE if affixes include in RCPT
+ sync_addr ptr to the ptr of the one to start scanning at (updated)
+ host the host we are connected to
+ count the number of responses to read
+ address_retry_
+ include_sender true if 4xx retry is to include the sender it its key
+ pending_MAIL true if the first response is for MAIL
+ pending_DATA 0 if last command sent was not DATA
+ +1 if previously had a good recipient
+ -1 if not previously had a good recipient
+ inblock incoming SMTP block
+ timeout timeout value
+ buffer buffer for reading response
+ buffsize size of buffer
Returns: 3 if at least one address had 2xx and one had 5xx
2 if at least one address had 5xx but none had 2xx
@@ -580,7 +585,8 @@
static int
sync_responses(address_item *addrlist, BOOL include_affixes,
- address_item **sync_addr, host_item *host, int count, BOOL pending_MAIL,
+ address_item **sync_addr, host_item *host, int count,
+ BOOL address_retry_include_sender, BOOL pending_MAIL,
int pending_DATA, smtp_inblock *inblock, int timeout, uschar *buffer,
int buffsize)
{
@@ -705,10 +711,17 @@
update_waiting = FALSE;
- /* Add a retry item for the address so that it doesn't get tried
- again too soon. */
+ /* Add a retry item for the address so that it doesn't get tried again
+ too soon. If address_retry_include_sender is true, add the sender address
+ to the retry key. */
- retry_add_item(addr, addr->address_retry_key, 0);
+ if (address_retry_include_sender)
+ {
+ uschar *altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+ sender_address);
+ retry_add_item(addr, altkey, 0);
+ }
+ else retry_add_item(addr, addr->address_retry_key, 0);
}
}
} /* Loop for next RCPT response */
@@ -1404,8 +1417,9 @@
if (count > 0)
{
switch(sync_responses(first_addr, tblock->rcpt_include_affixes,
- &sync_addr, host, count, pending_MAIL, 0, &inblock,
- ob->command_timeout, buffer, sizeof(buffer)))
+ &sync_addr, host, count, ob->address_retry_include_sender,
+ pending_MAIL, 0, &inblock, ob->command_timeout, buffer,
+ sizeof(buffer)))
{
case 3: ok = TRUE; /* 2xx & 5xx => OK & progress made */
case 2: completed_address = TRUE; /* 5xx (only) => progress made */
@@ -1453,8 +1467,8 @@
int count = smtp_write_command(&outblock, FALSE, "DATA\r\n");
if (count < 0) goto SEND_FAILED;
switch(sync_responses(first_addr, tblock->rcpt_include_affixes, &sync_addr,
- host, count, pending_MAIL, ok? +1 : -1, &inblock,
- ob->command_timeout, buffer, sizeof(buffer)))
+ host, count, ob->address_retry_include_sender, pending_MAIL,
+ ok? +1 : -1, &inblock, ob->command_timeout, buffer, sizeof(buffer)))
{
case 3: ok = TRUE; /* 2xx & 5xx => OK & progress made */
case 2: completed_address = TRUE; /* 5xx (only) => progress made */
Index: smtp.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/transports/smtp.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- smtp.h 28 Feb 2006 12:42:47 -0000 1.8
+++ smtp.h 6 Nov 2006 15:50:12 -0000 1.9
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/transports/smtp.h,v 1.8 2006/02/28 12:42:47 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/transports/smtp.h,v 1.9 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -33,6 +33,7 @@
int size_addition;
int hosts_max_try;
int hosts_max_try_hardlimit;
+ BOOL address_retry_include_sender;
BOOL allow_localhost;
BOOL authenticated_sender_force;
BOOL gethostbyname;
Index: 0247
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0247,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0247 7 Feb 2006 10:34:25 -0000 1.1
+++ 0247 6 Nov 2006 15:50:12 -0000 1.2
@@ -11,7 +11,6 @@
# ----- Main settings -----
-
# ----- Routers -----
begin routers
Index: 0388
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0388,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0388 7 Feb 2006 10:34:26 -0000 1.1
+++ 0388 6 Nov 2006 15:50:12 -0000 1.2
@@ -37,6 +37,7 @@
hosts_max_try = 1
port = PORT_S
connect_timeout = 2s
+ address_retry_include_sender = false
# ----- Retry -----
Index: 0357
===================================================================
RCS file: /home/cvs/exim/exim-test/log/0357,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0357 7 Feb 2006 10:34:46 -0000 1.1
+++ 0357 6 Nov 2006 15:50:12 -0000 1.2
@@ -6,3 +6,6 @@
1999-03-02 09:44:33 Start queue run: pid=pppp
1999-03-02 09:44:33 10HmaX-0005vi-00 == userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
1999-03-02 09:44:33 End queue run: pid=pppp
+1999-03-02 09:44:33 Start queue run: pid=pppp
+1999-03-02 09:44:33 10HmaX-0005vi-00 == userx@??? routing defer (-51): retry time not reached
+1999-03-02 09:44:33 End queue run: pid=pppp
Index: 0357
===================================================================
RCS file: /home/cvs/exim/exim-test/scripts/0000-Basic/0357,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0357 7 Feb 2006 10:54:33 -0000 1.1
+++ 0357 6 Nov 2006 15:50:12 -0000 1.2
@@ -46,4 +46,6 @@
exim -q -d-all+retry
****
dump retry
+exim -q -d-all+retry
+****
no_msglog_check
Index: 0357
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/0357,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- 0357 30 Oct 2006 16:41:05 -0000 1.4
+++ 0357 6 Nov 2006 15:50:12 -0000 1.5
@@ -24,8 +24,8 @@
checking status of 127.0.0.1
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
-added retry item for R:userx@???: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@??? from subprocess
+added retry item for R:userx@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@???:<CALLER@???> from subprocess
added retry item
LOG: MAIN
== userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
@@ -35,9 +35,9 @@
Deferred addresses:
userx@???
locking TESTSUITE/spool/db/retry.lockfile
-retry for R:userx@??? = * 0 0
+retry for R:userx@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@???
+Writing retry data for R:userx@???:<CALLER@???>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
@@ -65,15 +65,15 @@
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@???: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@??? from subprocess
- existing delete item dropped
+added retry item for R:userx@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@???:<CALLER@???> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@??? from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Processing retry items
@@ -82,10 +82,11 @@
Deferred addresses:
userx@???
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:userx@???
deleted retry information for R:test.ex
-retry for R:userx@??? = * 0 0
+retry for R:userx@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@???
+Writing retry data for R:userx@???:<CALLER@???>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
@@ -114,15 +115,15 @@
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@???: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@??? from subprocess
- existing delete item dropped
+added retry item for R:userx@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@???:<CALLER@???> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@??? from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Processing retry items
@@ -131,12 +132,40 @@
Deferred addresses:
userx@???
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:userx@???
deleted retry information for R:test.ex
-retry for R:userx@??? = * 0 0
+retry for R:userx@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@???
+Writing retry data for R:userx@???:<CALLER@???>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+end of retry processing
+LOG: queue_run MAIN
+ End queue run: pid=pppp
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
+LOG: queue_run MAIN
+ Start queue run: pid=pppp
+locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering: userx@???
+no domain retry record
+LOG: retry_defer MAIN
+ == userx@??? routing defer (-51): retry time not reached
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+After routing:
+ Local deliveries:
+ Remote deliveries:
+ Failed addresses:
+ Deferred addresses:
+ userx@???
+Processing retry items
+Succeeded addresses:
+Failed addresses:
+Deferred addresses:
+userx@???: no retry items
end of retry processing
LOG: queue_run MAIN
End queue run: pid=pppp
Index: 0358
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/0358,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- 0358 30 Oct 2006 16:41:05 -0000 1.4
+++ 0358 6 Nov 2006 15:50:12 -0000 1.5
@@ -29,11 +29,11 @@
checking status of 127.0.0.1
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
-added retry item for R:userx@???: errno=-44 more_errno=dd,A flags=0
-added retry item for R:usery@???: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@??? from subprocess
+added retry item for R:userx@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+added retry item for R:usery@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@???:<CALLER@???> from subprocess
added retry item
-reading retry information for R:usery@??? from subprocess
+reading retry information for R:usery@???:<CALLER@???> from subprocess
added retry item
LOG: MAIN
== userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
@@ -45,15 +45,15 @@
Deferred addresses:
usery@???
locking TESTSUITE/spool/db/retry.lockfile
-retry for R:usery@??? = * 0 0
+retry for R:usery@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:usery@???
+Writing retry data for R:usery@???:<CALLER@???>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
userx@???
-retry for R:userx@??? = * 0 0
+retry for R:userx@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@???
+Writing retry data for R:userx@???:<CALLER@???>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
@@ -87,24 +87,24 @@
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@???: errno=-44 more_errno=dd,A flags=0
-added retry item for R:usery@???: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@??? from subprocess
- existing delete item dropped
+added retry item for R:userx@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+added retry item for R:usery@???:<CALLER@???>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@???:<CALLER@???> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@??? from subprocess
- delete item not added: non-delete item exists
-reading retry information for R:usery@??? from subprocess
existing delete item dropped
+ added delete item
+reading retry information for R:usery@???:<CALLER@???> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:usery@??? from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@??? R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
LOG: MAIN
@@ -115,17 +115,19 @@
Deferred addresses:
usery@???
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:usery@???
deleted retry information for R:test.ex
-retry for R:usery@??? = * 0 0
+retry for R:usery@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:usery@???
+Writing retry data for R:usery@???:<CALLER@???>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
userx@???
+deleted retry information for R:userx@???
deleted retry information for R:test.ex
-retry for R:userx@??? = * 0 0
+retry for R:userx@???:<CALLER@???> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@???
+Writing retry data for R:userx@???:<CALLER@???>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
Index: 0388
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/0388,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- 0388 30 Oct 2006 16:41:05 -0000 1.6
+++ 0388 6 Nov 2006 15:50:12 -0000 1.7
@@ -224,6 +224,7 @@
unique = CALLER@???
dbfn_read: key=R:myhost.test.ex
dbfn_read: key=R:CALLER@???
+dbfn_read: key=R:CALLER@???:<>
no domain retry record
no address retry record
CALLER@???: queued for routing
Index: 5005
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/5005,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- 5005 26 Jul 2006 14:39:14 -0000 1.5
+++ 5005 6 Nov 2006 15:50:12 -0000 1.6
@@ -583,6 +583,7 @@
unique = userx@???
dbfn_read: key=R:test.ex
dbfn_read: key=R:userx@???
+dbfn_read: key=R:userx@???:<CALLER@???>
no domain retry record
no address retry record
userx@???: queued for routing
Index: 0357
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0357,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0357 7 Feb 2006 10:47:37 -0000 1.1
+++ 0357 6 Nov 2006 15:50:12 -0000 1.2
@@ -1,11 +1,11 @@
+++++++++++++++++++++++++++
- R:userx@??? -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@??? -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@??? -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
******** SERVER ********
Index: 0358
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0358,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0358 7 Feb 2006 10:47:37 -0000 1.1
+++ 0358 6 Nov 2006 15:50:12 -0000 1.2
@@ -1,12 +1,12 @@
+++++++++++++++++++++++++++
- R:userx@??? -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
- R:usery@??? -44 13121 SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:usery@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@??? -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
- R:usery@??? -44 13121 SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:usery@???:<CALLER@???> -44 13121 SMTP error from remote mail server after RCPT TO:<usery@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
******** SERVER ********
Index: 0474
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0474,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0474 7 Feb 2006 10:47:37 -0000 1.1
+++ 0474 6 Nov 2006 15:50:12 -0000 1.2
@@ -5,7 +5,7 @@
T:127.0.0.1:127.0.0.1:1224:10HmaX-0005vi-00 0 65 SMTP error from remote mail server after MAIL FROM:<CALLER@???>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
first failed = time last try = time2 next try = time2 + 10
+++++++++++++++++++++++++++
- R:abcd@xyz -44 12865 SMTP error from remote mail server after RCPT TO:<abcd@xyz>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
+ R:abcd@xyz:<CALLER@???> -44 12865 SMTP error from remote mail server after RCPT TO:<abcd@xyz>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
first failed = time last try = time2 next try = time2 + 10
******** SERVER ********
Index: 0497
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0497,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 0497 9 Mar 2006 15:10:17 -0000 1.2
+++ 0497 6 Nov 2006 15:50:12 -0000 1.3
@@ -2,7 +2,7 @@
T:127.0.0.1:127.0.0.1:1224:10HmaX-0005vi-00 -45 13377 SMTP error from remote mail server after MAIL FROM:<CALLER@???>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
first failed = time last try = time2 next try = time2 + 0 *
+++++++++++++++++++++++++++
- R:userx@??? -44 13377 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
+ R:userx@???:<CALLER@???> -44 13377 SMTP error from remote mail server after RCPT TO:<userx@???>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
first failed = time last try = time2 next try = time2 + 0 *
******** SERVER ********