CVE-2020-28026: Line truncation and injection in spool_read_header()
[exim.git] / test / stderr / 0278
index 1cc8de5d1b302436fb74dd1f998c4086daffb304..5e9428da0f41183aba23dc907c7113051bb9371f 100644 (file)
@@ -3,6 +3,7 @@ changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
 configuration file is TESTSUITE/test-config
 admin user
   uid=uuuu gid=CALLER_GID pid=pppp
 configuration file is TESTSUITE/test-config
 admin user
+dropping to exim gid; retaining priv uid
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
@@ -20,6 +21,7 @@ checking local_parts
 CALLER in "never"? no (end of list)
 CALLER in "never1"? no (end of list)
 CALLER in "CALLER"? yes (matched "CALLER")
 CALLER in "never"? no (end of list)
 CALLER in "never1"? no (end of list)
 CALLER in "CALLER"? yes (matched "CALLER")
+data from lookup saved for cache for +local_localparts: key 'CALLER' value 'CALLER'
 CALLER in "+never_localparts : +n1_localparts : ! +local_localparts"? no (matched "! +local_localparts")
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 CALLER in "+never_localparts : +n1_localparts : ! +local_localparts"? no (matched "! +local_localparts")
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
@@ -31,14 +33,14 @@ cached no match for +n1_localparts
 cached lookup data = NULL
 CALLER in "<; never2 ; +n1_localparts"? no (end of list)
 cached yes match for +local_localparts
 cached lookup data = NULL
 CALLER in "<; never2 ; +n1_localparts"? no (end of list)
 cached yes match for +local_localparts
-cached lookup data = NULL
+cached lookup data = CALLER
 CALLER in "+never_localparts : +n2_localparts : !+local_localparts"? no (matched "!+local_localparts" - cached)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=CALLER domain=test.ex
 checking local_parts
 cached yes match for +local_localparts
 CALLER in "+never_localparts : +n2_localparts : !+local_localparts"? no (matched "!+local_localparts" - cached)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=CALLER domain=test.ex
 checking local_parts
 cached yes match for +local_localparts
-cached lookup data = NULL
+cached lookup data = CALLER
 CALLER in "+local_localparts"? yes (matched "+local_localparts" - cached)
 checking for local user
 seeking password data for user "CALLER": using cached result
 CALLER in "+local_localparts"? yes (matched "+local_localparts" - cached)
 checking for local user
 seeking password data for user "CALLER": using cached result
@@ -50,12 +52,12 @@ set transport t1
 queued for t1 transport: local_part = CALLER
 domain = test.ex
   errors_to=NULL
 queued for t1 transport: local_part = CALLER
 domain = test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=CALLER
 routed by r3 router
   envelope to: CALLER@test.ex
   transport: t1
 search_tidyup called
 routed by r3 router
   envelope to: CALLER@test.ex
   transport: t1
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
@@ -91,24 +93,22 @@ P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
        id 10HmaX-0005vi-00
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
        (envelope-from <CALLER@test.ex>)
        id 10HmaX-0005vi-00
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
-Writing spool header file: TESTSUITE/spool//input//hdr.pppp
-DSN: Write SPOOL :-dsn_envid NULL
-DSN: Write SPOOL :-dsn_ret 0
-DSN: Flags :0
-DSN: **** SPOOL_OUT - address: |CALLER@test.ex| errorsto: |NULL| orcpt: |NULL| dsn_flags: 0
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
+DSN: **** SPOOL_OUT - address: <CALLER@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-0005vi-00
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
+dropping to exim gid; retaining priv uid
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 set_process_info: pppp delivering specified messages
@@ -123,21 +123,20 @@ Empty Tree
 recipients_count=1
 **** SPOOL_IN - No additional fields
 body_linecount=0 message_linecount=7
 recipients_count=1
 **** SPOOL_IN - No additional fields
 body_linecount=0 message_linecount=7
-DSN: set orcpt:   flags: 0
+DSN: set orcpt:   flags: 0x0
 Delivery address list:
   CALLER@test.ex 
  locking TESTSUITE/spool/db/retry.lockfile
  locked  TESTSUITE/spool/db/retry.lockfile
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
 Delivery address list:
   CALLER@test.ex 
  locking TESTSUITE/spool/db/retry.lockfile
  locked  TESTSUITE/spool/db/retry.lockfile
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
- ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim
- failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory
+ failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@test.ex
 unique = CALLER@test.ex
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@test.ex
 unique = CALLER@test.ex
-no domain retry record
-no address retry record
+no   domain  retry record
+no   address retry record
 CALLER@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 routing CALLER@test.ex
 CALLER@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 routing CALLER@test.ex
@@ -147,6 +146,7 @@ checking local_parts
 CALLER in "never"? no (end of list)
 CALLER in "never1"? no (end of list)
 CALLER in "CALLER"? yes (matched "CALLER")
 CALLER in "never"? no (end of list)
 CALLER in "never1"? no (end of list)
 CALLER in "CALLER"? yes (matched "CALLER")
+data from lookup saved for cache for +local_localparts: key 'CALLER' value 'CALLER'
 CALLER in "+never_localparts : +n1_localparts : ! +local_localparts"? no (matched "! +local_localparts")
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 CALLER in "+never_localparts : +n1_localparts : ! +local_localparts"? no (matched "! +local_localparts")
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
@@ -158,14 +158,14 @@ cached no match for +n1_localparts
 cached lookup data = NULL
 CALLER in "<; never2 ; +n1_localparts"? no (end of list)
 cached yes match for +local_localparts
 cached lookup data = NULL
 CALLER in "<; never2 ; +n1_localparts"? no (end of list)
 cached yes match for +local_localparts
-cached lookup data = NULL
+cached lookup data = CALLER
 CALLER in "+never_localparts : +n2_localparts : !+local_localparts"? no (matched "!+local_localparts" - cached)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=CALLER domain=test.ex
 checking local_parts
 cached yes match for +local_localparts
 CALLER in "+never_localparts : +n2_localparts : !+local_localparts"? no (matched "!+local_localparts" - cached)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=CALLER domain=test.ex
 checking local_parts
 cached yes match for +local_localparts
-cached lookup data = NULL
+cached lookup data = CALLER
 CALLER in "+local_localparts"? yes (matched "+local_localparts" - cached)
 checking for local user
 seeking password data for user "CALLER": using cached result
 CALLER in "+local_localparts"? yes (matched "+local_localparts" - cached)
 checking for local user
 seeking password data for user "CALLER": using cached result
@@ -177,7 +177,7 @@ set transport t1
 queued for t1 transport: local_part = CALLER
 domain = test.ex
   errors_to=NULL
 queued for t1 transport: local_part = CALLER
 domain = test.ex
   errors_to=NULL
-  domain_data=NULL localpart_data=NULL
+  domain_data=NULL local_part_data=CALLER
 routed by r3 router
   envelope to: CALLER@test.ex
   transport: t1
 routed by r3 router
   envelope to: CALLER@test.ex
   transport: t1
@@ -229,7 +229,7 @@ end of retry processing
 DSN: processing router : r3
 DSN: processing successful delivery address: CALLER@test.ex
 DSN: Sender_address: CALLER@test.ex
 DSN: processing router : r3
 DSN: processing successful delivery address: CALLER@test.ex
 DSN: Sender_address: CALLER@test.ex
-DSN: orcpt: NULL  flags: 0
+DSN: orcpt: NULL  flags: 0x0
 DSN: envid: NULL  ret: 0
 DSN: Final recipient: CALLER@test.ex
 DSN: Remote SMTP server supports DSN: 0
 DSN: envid: NULL  ret: 0
 DSN: Final recipient: CALLER@test.ex
 DSN: Remote SMTP server supports DSN: 0
@@ -239,14 +239,15 @@ LOG: MAIN
 end delivery of 10HmaX-0005vi-00
 search_tidyup called
 search_tidyup called
 end delivery of 10HmaX-0005vi-00
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (local-accept-delivery) terminating with rc=0 >>>>>>>>>>>>>>>>
 search_tidyup called
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
 configuration file is TESTSUITE/test-config
 admin user
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=pppp
 configuration file is TESTSUITE/test-config
 admin user
+dropping to exim gid; retaining priv uid
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
 seeking password data for user "CALLER": cache not available
 getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
 originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
@@ -285,12 +286,18 @@ unknown in "+never_localparts : +n2_localparts : !+local_localparts"? yes (end o
 calling r2 router
 r2 router called for unknown@test.ex
   domain = test.ex
 calling r2 router
 r2 router called for unknown@test.ex
   domain = test.ex
+test.ex in "*"? yes (matched "*")
 DNS lookup of test.ex (MX) using fakens
 DNS lookup of test.ex (MX) gave NO_DATA
 returning DNS_NODATA
 DNS lookup of test.ex (MX) using fakens
 DNS lookup of test.ex (MX) gave NO_DATA
 returning DNS_NODATA
+faking res_search(MX) response length as 65535
+ writing neg-cache entry for test.ex-MX-xxxx, ttl 3000
+test.ex (MX resp) DNSSEC
 DNS lookup of test.ex (A) using fakens
 DNS lookup of test.ex (A) gave NO_DATA
 returning DNS_NODATA
 DNS lookup of test.ex (A) using fakens
 DNS lookup of test.ex (A) gave NO_DATA
 returning DNS_NODATA
+faking res_search(A) response length as 65535
+ writing neg-cache entry for test.ex-A-xxxx, ttl 3000
 r2 router declined for unknown@test.ex
 --------> r3 router <--------
 local_part=unknown domain=test.ex
 r2 router declined for unknown@test.ex
 --------> r3 router <--------
 local_part=unknown domain=test.ex
@@ -320,4 +327,4 @@ unknown in "+local_localparts : +expanded : +unexpanded"? no (end of list)
 r5 router skipped: local_parts mismatch
 no more routers
 search_tidyup called
 r5 router skipped: local_parts mismatch
 no more routers
 search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=2 >>>>>>>>>>>>>>>>