SECURITY: off-by-one in smtp transport (read response)
[exim.git] / test / stderr / 0085
index 675c6452c0e0a8c4c7500995a6fd451a3b34541b..0836b3e831cdc7e972317449dca00f3599f16410 100644 (file)
@@ -27,8 +27,8 @@ checking domains
 y.z in "test.ex : myhost.test.ex"? no (end of list)
 y.z in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
-rda_interpret (string): :fail: unrouteable mail domain "$domain"
-expanded: :fail: unrouteable mail domain "y.z"
+rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
+expanded: ':fail: unrouteable mail domain "y.z"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "y.z"
 extract item: :fail: unrouteable mail domain "y.z"
@@ -44,36 +44,37 @@ local_part=x domain=smart.domain
 checking domains
 smart.domain in "smart.domain"? yes (matched "smart.domain")
 checking local_parts
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="smart.domain" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="smart.domain"
-file lookup required for smart.domain
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="smart.domain" opts=NULL
+ file lookup required for smart.domain
+   in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
+ lookup yielded: x : y : abc@d.e.f
 x in "x : y : abc@d.e.f"? yes (matched "x")
 checking senders
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="smart.domain" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="smart.domain"
-cached data used for lookup of smart.domain
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
-address match: subject=abc@d.e.f pattern=x
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="smart.domain" opts=NULL
+ cached data used for lookup of smart.domain
+   in TESTSUITE/aux-fixed/0085.data
+ lookup yielded: x : y : abc@d.e.f
+address match test: subject=abc@d.e.f pattern=x
 d.e.f in "x"? no (end of list)
-address match: subject=abc@d.e.f pattern=y
+address match test: subject=abc@d.e.f pattern=y
 d.e.f in "y"? no (end of list)
-address match: subject=abc@d.e.f pattern=abc@d.e.f
+address match test: subject=abc@d.e.f pattern=abc@d.e.f
 d.e.f in "d.e.f"? yes (matched "d.e.f")
 abc@d.e.f in "x : y : abc@d.e.f"? yes (matched "abc@d.e.f")
 calling smart1 router
@@ -81,12 +82,12 @@ smart1 router called for x@smart.domain
   domain = smart.domain
 route_item = *
 smart.domain in "*"? yes (matched "*")
-original list of hosts = "" options = 
-expanded list of hosts = "" options = 
+original list of hosts = '' options = ''
+expanded list of hosts = '' options = ''
 queued for <unset> transport: local_part = x
 domain = smart.domain
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=smart.domain local_part_data=x
 routed by smart1 router
   envelope to: x@smart.domain
   transport: <none>
@@ -105,6 +106,7 @@ smart1 router skipped: domains mismatch
 local_part=x domain=test.ex
 checking domains
 test.ex in "test.ex : myhost.test.ex"? yes (matched "test.ex")
+data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
 test.ex in "! +local_domains"? no (matched "! +local_domains")
 fail_remote_domains router skipped: domains mismatch
 --------> smart2 router <--------
@@ -112,52 +114,54 @@ local_part=x domain=test.ex
 checking domains
 test.ex in "test.ex"? yes (matched "test.ex")
 checking local_parts
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="test.ex" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="test.ex"
-file lookup required for test.ex
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
+ lookup yielded: x : y : abc@d.e.f
 x in "x : y : abc@d.e.f"? yes (matched "x")
 checking senders
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="test.ex" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="test.ex"
-cached data used for lookup of test.ex
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
-address match: subject=abc@d.e.f pattern=x
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="test.ex" opts=NULL
+ cached data used for lookup of test.ex
+   in TESTSUITE/aux-fixed/0085.data
+ lookup yielded: x : y : abc@d.e.f
+address match test: subject=abc@d.e.f pattern=x
 d.e.f in "x"? no (end of list)
-address match: subject=abc@d.e.f pattern=y
+address match test: subject=abc@d.e.f pattern=y
 d.e.f in "y"? no (end of list)
-address match: subject=abc@d.e.f pattern=abc@d.e.f
+address match test: subject=abc@d.e.f pattern=abc@d.e.f
 d.e.f in "d.e.f"? yes (matched "d.e.f")
 abc@d.e.f in "x : y : abc@d.e.f"? yes (matched "abc@d.e.f")
 checking require_files
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="test.ex.files" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="test.ex.files"
-file lookup required for test.ex.files
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: /etc/passwd
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="test.ex.files" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="test.ex.files" opts=NULL
+ file lookup required for test.ex.files
+   in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
+ lookup yielded: /etc/passwd
 file check: ${lookup{$domain.files}lsearch{TESTSUITE/aux-fixed/0085.data}{$value}}
 expanded file: /etc/passwd
 stat() yielded 0
@@ -168,7 +172,7 @@ set transport dummy
 queued for dummy transport: local_part = x
 domain = test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=test.ex local_part_data=x
 routed by smart2 router
   envelope to: x@test.ex
   transport: dummy
@@ -187,6 +191,7 @@ smart1 router skipped: domains mismatch
 local_part=x domain=myhost.test.ex
 checking domains
 myhost.test.ex in "test.ex : myhost.test.ex"? yes (matched "myhost.test.ex")
+data from lookup saved for cache for +local_domains: key 'myhost.test.ex' value 'myhost.test.ex'
 myhost.test.ex in "! +local_domains"? no (matched "! +local_domains")
 fail_remote_domains router skipped: domains mismatch
 --------> smart2 router <--------
@@ -196,7 +201,7 @@ myhost.test.ex in "test.ex"? no (end of list)
 smart2 router skipped: domains mismatch
 no more routers
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=2 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
@@ -226,8 +231,8 @@ checking domains
 y.z in "test.ex : myhost.test.ex"? no (end of list)
 y.z in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
-rda_interpret (string): :fail: unrouteable mail domain "$domain"
-expanded: :fail: unrouteable mail domain "y.z"
+rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
+expanded: ':fail: unrouteable mail domain "y.z"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "y.z"
 extract item: :fail: unrouteable mail domain "y.z"
@@ -243,36 +248,37 @@ local_part=x domain=smart.domain
 checking domains
 smart.domain in "smart.domain"? yes (matched "smart.domain")
 checking local_parts
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="smart.domain" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="smart.domain"
-file lookup required for smart.domain
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="smart.domain" opts=NULL
+ file lookup required for smart.domain
+   in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
+ lookup yielded: x : y : abc@d.e.f
 x in "x : y : abc@d.e.f"? yes (matched "x")
 checking senders
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="smart.domain" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="smart.domain"
-cached data used for lookup of smart.domain
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
-address match: subject=CALLER@myhost.test.ex pattern=x
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="smart.domain" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="smart.domain" opts=NULL
+ cached data used for lookup of smart.domain
+   in TESTSUITE/aux-fixed/0085.data
+ lookup yielded: x : y : abc@d.e.f
+address match test: subject=CALLER@myhost.test.ex pattern=x
 myhost.test.ex in "x"? no (end of list)
-address match: subject=CALLER@myhost.test.ex pattern=y
+address match test: subject=CALLER@myhost.test.ex pattern=y
 myhost.test.ex in "y"? no (end of list)
-address match: subject=CALLER@myhost.test.ex pattern=abc@d.e.f
+address match test: subject=CALLER@myhost.test.ex pattern=abc@d.e.f
 CALLER@myhost.test.ex in "x : y : abc@d.e.f"? no (end of list)
 smart1 router skipped: senders mismatch
 --------> fail_remote_domains router <--------
@@ -281,8 +287,8 @@ checking domains
 smart.domain in "test.ex : myhost.test.ex"? no (end of list)
 smart.domain in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
-rda_interpret (string): :fail: unrouteable mail domain "$domain"
-expanded: :fail: unrouteable mail domain "smart.domain"
+rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
+expanded: ':fail: unrouteable mail domain "smart.domain"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "smart.domain"
 extract item: :fail: unrouteable mail domain "smart.domain"
@@ -302,6 +308,7 @@ smart1 router skipped: domains mismatch
 local_part=x domain=test.ex
 checking domains
 test.ex in "test.ex : myhost.test.ex"? yes (matched "test.ex")
+data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
 test.ex in "! +local_domains"? no (matched "! +local_domains")
 fail_remote_domains router skipped: domains mismatch
 --------> smart2 router <--------
@@ -309,37 +316,38 @@ local_part=x domain=test.ex
 checking domains
 test.ex in "test.ex"? yes (matched "test.ex")
 checking local_parts
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="test.ex" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="test.ex"
-file lookup required for test.ex
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0085.data
+ creating new cache entry
+ lookup yielded: x : y : abc@d.e.f
 x in "x : y : abc@d.e.f"? yes (matched "x")
 checking senders
-search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
-  cached open
-search_find: file="TESTSUITE/aux-fixed/0085.data"
-  key="test.ex" partial=-1 affix=NULL starflags=0
-LRU list:
-  :TESTSUITE/aux-fixed/0085.data
-  End
-internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
-  type=lsearch key="test.ex"
-cached data used for lookup of test.ex
-  in TESTSUITE/aux-fixed/0085.data
-lookup yielded: x : y : abc@d.e.f
-address match: subject=CALLER@myhost.test.ex pattern=x
+ search_open: lsearch "TESTSUITE/aux-fixed/0085.data"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0085.data"
+   key="test.ex" partial=-1 affix=NULL starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0085.data
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0085.data"
+   type=lsearch key="test.ex" opts=NULL
+ cached data used for lookup of test.ex
+   in TESTSUITE/aux-fixed/0085.data
+ lookup yielded: x : y : abc@d.e.f
+address match test: subject=CALLER@myhost.test.ex pattern=x
 myhost.test.ex in "x"? no (end of list)
-address match: subject=CALLER@myhost.test.ex pattern=y
+address match test: subject=CALLER@myhost.test.ex pattern=y
 myhost.test.ex in "y"? no (end of list)
-address match: subject=CALLER@myhost.test.ex pattern=abc@d.e.f
+address match test: subject=CALLER@myhost.test.ex pattern=abc@d.e.f
 CALLER@myhost.test.ex in "x : y : abc@d.e.f"? no (end of list)
 smart2 router skipped: senders mismatch
 no more routers
@@ -358,6 +366,7 @@ smart1 router skipped: domains mismatch
 local_part=x domain=myhost.test.ex
 checking domains
 myhost.test.ex in "test.ex : myhost.test.ex"? yes (matched "myhost.test.ex")
+data from lookup saved for cache for +local_domains: key 'myhost.test.ex' value 'myhost.test.ex'
 myhost.test.ex in "! +local_domains"? no (matched "! +local_domains")
 fail_remote_domains router skipped: domains mismatch
 --------> smart2 router <--------
@@ -367,4 +376,4 @@ myhost.test.ex in "test.ex"? no (end of list)
 smart2 router skipped: domains mismatch
 no more routers
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=2 >>>>>>>>>>>>>>>>