summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2007-02-06 14:19:00 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2007-02-06 14:19:00 +0000
commit09945f1e758a9c9268423e53d2cee2c6c631f465 (patch)
tree950b9254a7d472d52a84ff3fb938ac78a15056c2 /test
parent4c590bd11647b7440bd982a8c72ebcf5c66564b0 (diff)
Retry items for address errors that included the sender address (a
feature added to Exim 4.64) were not being deleted if an address was subsequently successfully delivered.
Diffstat (limited to 'test')
-rw-r--r--test/confs/055440
-rw-r--r--test/log/05544
-rw-r--r--test/scripts/0000-Basic/055441
-rw-r--r--test/stderr/055491
-rw-r--r--test/stdout/055442
5 files changed, 218 insertions, 0 deletions
diff --git a/test/confs/0554 b/test/confs/0554
new file mode 100644
index 000000000..edeb977fa
--- /dev/null
+++ b/test/confs/0554
@@ -0,0 +1,40 @@
+# Exim test configuration 0554
+
+exim_path = EXIM_PATH
+host_lookup_order = bydns
+primary_hostname = myhost.test.ex
+rfc1413_query_timeout = 0s
+spool_directory = DIR/spool
+log_file_path = DIR/spool/log/%slog
+gecos_pattern = ""
+gecos_name = CALLER_NAME
+
+# ----- Main settings -----
+
+
+# ----- Routers -----
+
+begin routers
+
+r1:
+ driver = manualroute
+ route_list = * 127.0.0.1
+ transport = smtp
+ self = send
+
+
+# ----- Transports -----
+
+begin transports
+
+smtp:
+ driver = smtp
+ port = PORT_S
+
+# ----- Retry -----
+
+begin retry
+
+* * F,10s,1s
+
+# End
diff --git a/test/log/0554 b/test/log/0554
new file mode 100644
index 000000000..d601ff246
--- /dev/null
+++ b/test/log/0554
@@ -0,0 +1,4 @@
+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 == x@y R=r1 T=smtp defer (-44): SMTP error from remote mail server after RCPT TO:<x@y>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+1999-03-02 09:44:33 10HmaX-0005vi-00 => x@y R=r1 T=smtp H=127.0.0.1 [127.0.0.1]
+1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/scripts/0000-Basic/0554 b/test/scripts/0000-Basic/0554
new file mode 100644
index 000000000..0cf76b9d9
--- /dev/null
+++ b/test/scripts/0000-Basic/0554
@@ -0,0 +1,41 @@
+# Retries for address errors
+need_ipv4
+#
+exim -odq x@y
+****
+# First attempt is temporarily rejected
+server PORT_S
+220 Server ready
+EHLO
+250 OK
+MAIL FROM
+250 OK
+RCPT TO
+451 Temporary error
+QUIT
+250 OK
+****
+exim -odi -d-all+retry -M $msg1
+****
+dump retry
+#
+# Next attempt succeeds
+server PORT_S
+220 Server ready
+EHLO
+250 OK
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Go Ahead
+.
+250 OK
+QUIT
+250 OK
+****
+exim -odi -d-all+retry -M $msg1
+****
+dump retry
+no_msglog_check
diff --git a/test/stderr/0554 b/test/stderr/0554
new file mode 100644
index 000000000..edd4036c9
--- /dev/null
+++ b/test/stderr/0554
@@ -0,0 +1,91 @@
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
+locking TESTSUITE/spool/db/retry.lockfile
+no retry data available
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering: x@y
+no domain retry record
+no address retry record
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+After routing:
+ Local deliveries:
+ Remote deliveries:
+ x@y
+ Failed addresses:
+ Deferred addresses:
+checking status of 127.0.0.1
+locking TESTSUITE/spool/db/retry.lockfile
+no retry data available
+added retry item for R:x@y:<CALLER@myhost.test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:x@y:<CALLER@myhost.test.ex> from subprocess
+ added retry item
+LOG: MAIN
+ == x@y R=r1 T=smtp defer (-44): SMTP error from remote mail server after RCPT TO:<x@y>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+Processing retry items
+Succeeded addresses:
+Failed addresses:
+Deferred addresses:
+x@y
+locking TESTSUITE/spool/db/retry.lockfile
+retry for R:x@y:<CALLER@myhost.test.ex> = * 0 0
+failing_interval=ttt message_age=ttt
+Writing retry data for R:x@y:<CALLER@myhost.test.ex>
+ 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:<x@y>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+end of retry processing
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
+locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering: x@y
+no domain retry record
+added retry item for R:x@y:<CALLER@myhost.test.ex>: errno=-1 more_errno=dd flags=1
+added retry item for R:x@y: errno=-1 more_errno=dd flags=1
+added retry item for R:y: errno=-1 more_errno=dd flags=1
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+After routing:
+ Local deliveries:
+ Remote deliveries:
+ x@y
+ Failed addresses:
+ Deferred addresses:
+checking status of 127.0.0.1
+locking TESTSUITE/spool/db/retry.lockfile
+no host retry record
+no message retry record
+added retry item for R:x@y:<CALLER@myhost.test.ex>: errno=dd more_errno=dd,A flags=1
+added retry item for R:x@y: errno=dd more_errno=dd,A flags=1
+locking TESTSUITE/spool/db/wait-smtp.lockfile
+reading retry information for R:x@y from subprocess
+ existing delete item dropped
+ added delete item
+reading retry information for R:x@y:<CALLER@myhost.test.ex> from subprocess
+ existing delete item dropped
+ added delete item
+reading retry information for R:y from subprocess
+ existing delete item dropped
+ added delete item
+reading retry information for R:x@y from subprocess
+ existing delete item dropped
+ added delete item
+reading retry information for R:x@y:<CALLER@myhost.test.ex> from subprocess
+ existing delete item dropped
+ added delete item
+LOG: MAIN
+ => x@y R=r1 T=smtp H=127.0.0.1 [127.0.0.1]
+Processing retry items
+Succeeded addresses:
+x@y
+locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:x@y:<CALLER@myhost.test.ex>
+deleted retry information for R:x@y
+deleted retry information for R:y
+Failed addresses:
+Deferred addresses:
+end of retry processing
+LOG: MAIN
+ Completed
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
diff --git a/test/stdout/0554 b/test/stdout/0554
new file mode 100644
index 000000000..8c0cfea8a
--- /dev/null
+++ b/test/stdout/0554
@@ -0,0 +1,42 @@
++++++++++++++++++++++++++++
+ R:x@y:<CALLER@myhost.test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<x@y>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+first failed = time last try = time2 next try = time2 + 1
++++++++++++++++++++++++++++
+
+******** SERVER ********
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250 OK
+MAIL FROM:<CALLER@myhost.test.ex>
+250 OK
+RCPT TO:<x@y>
+451 Temporary error
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250 OK
+MAIL FROM:<CALLER@myhost.test.ex>
+250 OK
+RCPT TO:<x@y>
+250 OK
+DATA
+354 Go Ahead
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+ (envelope-from <CALLER@myhost.test.ex>)
+ id 10HmaX-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+Message-Id: <E10HmaX-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+.
+250 OK
+QUIT
+250 OK
+End of script