diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2022-03-27 20:41:05 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2022-03-27 21:00:33 +0100 |
commit | cfe6acff2ddc7eb03b3489770219edf829abd323 (patch) | |
tree | f3c643b463a9a9226e46739c080411613f828c38 /test | |
parent | 5800e3234f2594639d82e5063d9c522c6a881d25 (diff) |
Taintcheck transport-process arguments
Diffstat (limited to 'test')
-rw-r--r-- | test/aux-var-src/0164.F | 7 | ||||
-rw-r--r-- | test/aux-var-src/0173.filter | 6 | ||||
-rw-r--r-- | test/aux-var-src/0383.F | 7 | ||||
-rw-r--r-- | test/confs/0101 | 10 | ||||
-rw-r--r-- | test/confs/0134 | 2 | ||||
-rw-r--r-- | test/confs/0194 | 2 | ||||
-rw-r--r-- | test/confs/0321 | 4 | ||||
-rw-r--r-- | test/confs/0369 | 4 | ||||
-rw-r--r-- | test/confs/0383 | 2 | ||||
-rw-r--r-- | test/confs/0594 | 26 | ||||
-rw-r--r-- | test/confs/5100 | 3 | ||||
-rw-r--r-- | test/log/0164 | 4 | ||||
-rw-r--r-- | test/log/0173 | 4 | ||||
-rw-r--r-- | test/log/0383 | 25 | ||||
-rw-r--r-- | test/log/0594 | 8 | ||||
-rw-r--r-- | test/mail/0164.CALLER | 10 | ||||
-rw-r--r-- | test/mail/0383.CALLER | 83 | ||||
-rw-r--r-- | test/msglog/0594.10HmaX-0005vi-00 | 2 | ||||
-rw-r--r-- | test/paniclog/0594 | 3 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0002 | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0383 | 3 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0594 | 9 | ||||
-rw-r--r-- | test/stderr/0393 | 4 | ||||
-rw-r--r-- | test/stderr/0594 | 3 | ||||
-rw-r--r-- | test/stdout/0002 | 4 |
25 files changed, 179 insertions, 58 deletions
diff --git a/test/aux-var-src/0164.F b/test/aux-var-src/0164.F index b6f98f384..b2d20b181 100644 --- a/test/aux-var-src/0164.F +++ b/test/aux-var-src/0164.F @@ -1,3 +1,8 @@ +# The map/match here detaints the $recipients +# if $recipients contains pipe then - pipe "DIR/aux-fixed/showenv $recipients" + pipe "DIR/aux-fixed/showenv \ + \"${map {<, $recipients} \ + {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}\"" endif + diff --git a/test/aux-var-src/0173.filter b/test/aux-var-src/0173.filter index e58120d8a..833d3e75a 100644 --- a/test/aux-var-src/0173.filter +++ b/test/aux-var-src/0173.filter @@ -3,5 +3,9 @@ if error_message then finish endif if $received_protocol is not scanned-ok then - pipe "DIR/aux-fixed/resubmit $sender_address $recipients DIR/ CALLER" + pipe "DIR/aux-fixed/resubmit \ + \"${if match_address {$sender_address}{CALLER@test.ex} {$value}}\" \ + \"${map {<, $recipients} \ + {${if match_address {$item} {userx@test.ex : usery@test.ex : userz@test.ex} { $value}}}}\" \ + DIR/ CALLER" endif diff --git a/test/aux-var-src/0383.F b/test/aux-var-src/0383.F index 78a5898a1..be69ca2c2 100644 --- a/test/aux-var-src/0383.F +++ b/test/aux-var-src/0383.F @@ -1,8 +1,13 @@ -# Exim filter (system filter for test 444) +# Exim filter (system filter for test 0383) if error_message then finish endif if foranyaddress $h_to: ($thisaddress matches "^(alice)") then + pipe "DIR/aux-fixed/showenv \"${if match_address {$thisaddress}{alice@test.ex}{$value}}\" $1" + finish +endif + +if foranyaddress $h_to: ($thisaddress matches "^(marny)") then pipe "DIR/aux-fixed/showenv $thisaddress $1" finish endif diff --git a/test/confs/0101 b/test/confs/0101 index cf89fa83a..8fd0841cb 100644 --- a/test/confs/0101 +++ b/test/confs/0101 @@ -25,11 +25,13 @@ all: mmdf_localuser: driver = accept local_part_prefix = mmdf- + local_parts = userx transport = mmdf_local_delivery filtered_localuser: driver = accept local_part_prefix = filter- + local_parts = userx transport = filtered_local_delivery bsmtp_localuser: @@ -55,7 +57,7 @@ smtp: local_delivery: driver = pipe check_string = "From " - command = /bin/sh -c 'cat >>DIR/test-mail/$local_part' + command = /bin/sh -c 'cat >>DIR/test-mail/$local_part_data' escape_string = ">From " user = CALLER current_directory = / @@ -63,7 +65,7 @@ local_delivery: bsmtp_local_delivery: driver = pipe use_bsmtp - command = /bin/sh -c 'cat >>DIR/test-mail/$local_part' + command = /bin/sh -c 'cat >>DIR/test-mail/$local_part_data' delivery_date_add envelope_to_add return_path_add @@ -72,7 +74,7 @@ bsmtp_local_delivery: filtered_local_delivery: driver = pipe - command = /bin/sh -c 'cat >>DIR/test-mail/$local_part' + command = /bin/sh -c 'cat >>DIR/test-mail/$local_part_data' delivery_date_add envelope_to_add return_path_add @@ -83,7 +85,7 @@ filtered_local_delivery: mmdf_local_delivery: driver = pipe check_string = "\1\1\1\1\n" - command = /bin/sh -c 'cat >>DIR/test-mail/$local_part' + command = /bin/sh -c 'cat >>DIR/test-mail/$local_part_data' escape_string = "\1\1\1\1 \n" message_prefix = "\1\1\1\1\n" message_suffix = "\1\1\1\1\n" diff --git a/test/confs/0134 b/test/confs/0134 index 3376f05f3..0358e12ae 100644 --- a/test/confs/0134 +++ b/test/confs/0134 @@ -88,7 +88,7 @@ directfile: pipe: driver = pipe - command = /bin/sh -c "echo $local_part $domain >DIR/test-mail/$local_part" + command = /bin/sh -c "echo $local_part_data $domain_data >DIR/test-mail/$local_part_data" user = CALLER diff --git a/test/confs/0194 b/test/confs/0194 index 4d0ac7c89..15906b996 100644 --- a/test/confs/0194 +++ b/test/confs/0194 @@ -45,7 +45,7 @@ pipe: piperet: driver = pipe batch_max = 100 - command = DIR/aux-fixed/TESTNUM.ret $h_ret: + command = DIR/aux-fixed/TESTNUM.ret "${if inlist {$h_ret:} {75:99} {$value}}" return_fail_output user = CALLER diff --git a/test/confs/0321 b/test/confs/0321 index b063cdeb1..658ad15ce 100644 --- a/test/confs/0321 +++ b/test/confs/0321 @@ -29,7 +29,9 @@ begin transports pipe: driver = pipe - command = /non/exist/command -f <$sender_address> -d $pipe_addresses + command = /non/exist/command -f \ + "<${if match_local_part {$sender_address}{CALLER@test.ex}{$value}}>" \ + -d $pipe_addresses message_prefix = message_suffix = check_string = diff --git a/test/confs/0369 b/test/confs/0369 index 511c541f6..a9eae39e5 100644 --- a/test/confs/0369 +++ b/test/confs/0369 @@ -29,13 +29,13 @@ begin transports t1: driver = pipe - command = /bin/sh -c 'exit $local_part' + command = /bin/sh -c 'exit "${if inlist {$local_part}{0:10:45}{$value}}"' user = CALLER temp_errors = 45 : 56 t2: driver = pipe - command = /bin/sh -c 'exit $local_part' + command = /bin/sh -c 'exit "${if inlist {$local_part}{0:10:45}{$value}}"' user = CALLER temp_errors = * diff --git a/test/confs/0383 b/test/confs/0383 index 44aff1cef..4c5bcfbf6 100644 --- a/test/confs/0383 +++ b/test/confs/0383 @@ -9,7 +9,7 @@ primary_hostname = myhost.test.ex qualify_domain = test.ex system_filter = DIR/aux-var/TESTNUM.F system_filter_pipe_transport = t1 - +log_selector = +received_recipients # ----- Routers ----- diff --git a/test/confs/0594 b/test/confs/0594 index 981261206..6a877e2e9 100644 --- a/test/confs/0594 +++ b/test/confs/0594 @@ -12,22 +12,40 @@ primary_hostname = myhost.test.ex begin routers -r2: +r0: driver = redirect local_part_prefix = pipe- local_part_suffix = =* caseful_local_part = true data = |${substr_1:$local_part_suffix} - pipe_transport = t2 + pipe_transport = t0 + +r1: + driver = redirect + local_parts = rtr_user + data = |echo $local_part + pipe_transport = t0 + +r2: + driver = redirect + local_parts = tpt_user + data = |unused_word + pipe_transport = t1 + errors_to = "" # ----- Transports ----- begin transports -t2: +t0: + driver = pipe + user = CALLER + +t1: driver = pipe + force_command + command = echo $local_part user = CALLER - batch_max = 10 # End diff --git a/test/confs/5100 b/test/confs/5100 index 61a371176..3cc4e8ade 100644 --- a/test/confs/5100 +++ b/test/confs/5100 @@ -25,6 +25,7 @@ bounces: smartuser: driver = accept retry_use_local_part + address_data = ${if inlist {$h_script:}{01:02:03:04:05:06:07:08:09:10} {$value}} transport = lmtp @@ -35,7 +36,7 @@ begin transports lmtp: driver = lmtp batch_max = 100 - command = DIR/bin/mtpscript DIR/aux-fixed/TESTNUM.script.$h_script: +DIR/spool/log/mainlog + command = DIR/bin/mtpscript DIR/aux-fixed/TESTNUM.script.$address_data +DIR/spool/log/mainlog timeout = 1s user = EXIMUSER ignore_quota = IGNORE_QUOTA diff --git a/test/log/0164 b/test/log/0164 index b67df8c6d..d47d17e98 100644 --- a/test/log/0164 +++ b/test/log/0164 @@ -1,13 +1,13 @@ 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss 1999-03-02 09:44:33 10HmaX-0005vi-00 original recipients ignored (system filter) -1999-03-02 09:44:33 10HmaX-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $recipients <system-filter> T=address_pipe: return message generated +1999-03-02 09:44:33 10HmaX-0005vi-00 ** |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" <system-filter> T=address_pipe: return message generated 1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss 1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER <CALLER@test.ex> R=user T=local_delivery 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss 1999-03-02 09:44:33 10HmaZ-0005vi-00 original recipients ignored (system filter) -1999-03-02 09:44:33 10HmaZ-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $recipients <system-filter> T=address_pipe: return message generated +1999-03-02 09:44:33 10HmaZ-0005vi-00 ** |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" <system-filter> T=address_pipe: return message generated 1999-03-02 09:44:33 10HmbA-0005vi-00 <= <> R=10HmaZ-0005vi-00 U=EXIMUSER P=local S=sss 1999-03-02 09:44:33 10HmbA-0005vi-00 => CALLER <CALLER@test.ex> R=user T=local_delivery 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed diff --git a/test/log/0173 b/test/log/0173 index eab1f1f0e..8d964070c 100644 --- a/test/log/0173 +++ b/test/log/0173 @@ -3,7 +3,7 @@ 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@test.ex U=CALLER P=scanned-ok S=sss id=E10HmaX-0005vi-00@the.local.host.name 1999-03-02 09:44:33 10HmaY-0005vi-00 => userx <userx@test.ex> R=all T=appendfile 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed -1999-03-02 09:44:33 10HmaX-0005vi-00 => |TESTSUITE/aux-fixed/resubmit $sender_address $recipients TESTSUITE/ CALLER <system-filter> T=pipe +1999-03-02 09:44:33 10HmaX-0005vi-00 => |TESTSUITE/aux-fixed/resubmit "${if match_address {$sender_address}{CALLER@test.ex} {$value}}" "${map {<, $recipients} {${if match_address {$item} {userx@test.ex : usery@test.ex : userz@test.ex} { $value}}}}" TESTSUITE/ CALLER <system-filter> T=pipe 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss 1999-03-02 09:44:33 10HmaZ-0005vi-00 original recipients ignored (system filter) @@ -12,5 +12,5 @@ 1999-03-02 09:44:33 10HmbA-0005vi-00 => usery <usery@test.ex> R=all T=appendfile 1999-03-02 09:44:33 10HmbA-0005vi-00 => userz <userz@test.ex> R=all T=appendfile 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed -1999-03-02 09:44:33 10HmaZ-0005vi-00 => |TESTSUITE/aux-fixed/resubmit $sender_address $recipients TESTSUITE/ CALLER <system-filter> T=pipe +1999-03-02 09:44:33 10HmaZ-0005vi-00 => |TESTSUITE/aux-fixed/resubmit "${if match_address {$sender_address}{CALLER@test.ex} {$value}}" "${map {<, $recipients} {${if match_address {$item} {userx@test.ex : usery@test.ex : userz@test.ex} { $value}}}}" TESTSUITE/ CALLER <system-filter> T=pipe 1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed diff --git a/test/log/0383 b/test/log/0383 index 4ca9dc821..7018dd54e 100644 --- a/test/log/0383 +++ b/test/log/0383 @@ -1,20 +1,27 @@ -1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss for alice 1999-03-02 09:44:33 10HmaX-0005vi-00 original recipients ignored (system filter) -1999-03-02 09:44:33 10HmaX-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $thisaddress $1 <system-filter> T=t1: return message generated -1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss +1999-03-02 09:44:33 10HmaX-0005vi-00 ** |TESTSUITE/aux-fixed/showenv "${if match_address {$thisaddress}{alice@test.ex}{$value}}" $1 <system-filter> T=t1: return message generated +1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss for CALLER@test.ex 1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER <CALLER@test.ex> R=r1 T=t2 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed -1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss for marny 1999-03-02 09:44:33 10HmaZ-0005vi-00 original recipients ignored (system filter) -1999-03-02 09:44:33 10HmaZ-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $1 <system-filter> T=t1: return message generated -1999-03-02 09:44:33 10HmbA-0005vi-00 <= <> R=10HmaZ-0005vi-00 U=EXIMUSER P=local S=sss +1999-03-02 09:44:33 10HmaZ-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $thisaddress $1 <system-filter> T=t1: Tainted arg 1 for t1 transport command: 'marny@test.ex' +1999-03-02 09:44:33 10HmbA-0005vi-00 <= <> R=10HmaZ-0005vi-00 U=EXIMUSER P=local S=sss for CALLER@test.ex 1999-03-02 09:44:33 10HmbA-0005vi-00 => CALLER <CALLER@test.ex> R=r1 T=t2 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed 1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed -1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss -1999-03-02 09:44:33 10HmbB-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $thisaddress $1 <redking@test.ex> R=r0 T=t1: return message generated -1999-03-02 09:44:33 10HmbC-0005vi-00 <= <> R=10HmbB-0005vi-00 U=EXIMUSER P=local S=sss +1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss for jabberwocky +1999-03-02 09:44:33 10HmbB-0005vi-00 original recipients ignored (system filter) +1999-03-02 09:44:33 10HmbB-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $1 <system-filter> T=t1: return message generated +1999-03-02 09:44:33 10HmbC-0005vi-00 <= <> R=10HmbB-0005vi-00 U=EXIMUSER P=local S=sss for CALLER@test.ex 1999-03-02 09:44:33 10HmbC-0005vi-00 => CALLER <CALLER@test.ex> R=r1 T=t2 1999-03-02 09:44:33 10HmbC-0005vi-00 Completed 1999-03-02 09:44:33 10HmbB-0005vi-00 Completed +1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@test.ex U=CALLER P=local S=sss for redking +1999-03-02 09:44:33 10HmbD-0005vi-00 ** |TESTSUITE/aux-fixed/showenv $thisaddress $1 <redking@test.ex> R=r0 T=t1: return message generated +1999-03-02 09:44:33 10HmbE-0005vi-00 <= <> R=10HmbD-0005vi-00 U=EXIMUSER P=local S=sss for CALLER@test.ex +1999-03-02 09:44:33 10HmbE-0005vi-00 => CALLER <CALLER@test.ex> R=r1 T=t2 +1999-03-02 09:44:33 10HmbE-0005vi-00 Completed +1999-03-02 09:44:33 10HmbD-0005vi-00 Completed diff --git a/test/log/0594 b/test/log/0594 index db6a92e39..4040fcdc7 100644 --- a/test/log/0594 +++ b/test/log/0594 @@ -1,2 +1,8 @@ 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 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r2 T=t2 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t2 transport) not permitted +1999-03-02 09:44:33 10HmaX-0005vi-00 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r0 T=t0 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t0 transport) not permitted +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaY-0005vi-00 == |echo rtr_user <rtr_user@test.ex> R=r1 T=t0 defer (0): Tainted 'echo rtr_user' (command for t0 transport) not permitted +1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaZ-0005vi-00 ** |unused_word <tpt_user@test.ex> R=r2 T=t1: Tainted arg 1 for t1 transport command: 'tpt_user' +1999-03-02 09:44:33 10HmaZ-0005vi-00 |unused_word <tpt_user@test.ex>: error ignored +1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed diff --git a/test/mail/0164.CALLER b/test/mail/0164.CALLER index 3bfb359b6..62c91e15f 100644 --- a/test/mail/0164.CALLER +++ b/test/mail/0164.CALLER @@ -22,12 +22,12 @@ This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: - pipe to |TESTSUITE/aux-fixed/showenv $recipients + pipe to |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" generated by system-filter The following text was generated during the delivery attempt: ------- pipe to |TESTSUITE/aux-fixed/showenv $recipients +------ pipe to |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" generated by system-filter ------ Test pipe script @@ -119,19 +119,19 @@ This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: - pipe to |TESTSUITE/aux-fixed/showenv $recipients + pipe to |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" generated by system-filter The following text was generated during the delivery attempt: ------- pipe to |TESTSUITE/aux-fixed/showenv $recipients +------ pipe to |TESTSUITE/aux-fixed/showenv "${map {<, $recipients} {${if match_address {$item} {pipe@test.ex : another@test.ex : a-third@test.ex} {$value}}}}" generated by system-filter ------ Test pipe script Running as: CALLER ------------------ Args: - pipe@test.ex, another@test.ex, a-third@test.ex + pipe@test.ex,another@test.ex,a-third@test.ex ----------current----------- / ----------env----------- diff --git a/test/mail/0383.CALLER b/test/mail/0383.CALLER index 2e62b0671..fb2f4f25c 100644 --- a/test/mail/0383.CALLER +++ b/test/mail/0383.CALLER @@ -22,12 +22,12 @@ This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: - pipe to |TESTSUITE/aux-fixed/showenv $thisaddress $1 + pipe to |TESTSUITE/aux-fixed/showenv "${if match_address {$thisaddress}{alice@test.ex}{$value}}" $1 generated by system-filter The following text was generated during the delivery attempt: ------- pipe to |TESTSUITE/aux-fixed/showenv $thisaddress $1 +------ pipe to |TESTSUITE/aux-fixed/showenv "${if match_address {$thisaddress}{alice@test.ex}{$value}}" $1 generated by system-filter ------ Test pipe script @@ -122,6 +122,59 @@ This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: + pipe to |TESTSUITE/aux-fixed/showenv $thisaddress $1 + generated by system-filter + +--NNNNNNNNNN-eximdsn-MMMMMMMMMM +Content-type: message/delivery-status + +Reporting-MTA: dns; myhost.test.ex + +Action: failed +Final-Recipient: rfc822;system-filter +Status: 5.0.0 + +--NNNNNNNNNN-eximdsn-MMMMMMMMMM +Content-type: message/rfc822 + +Return-path: <CALLER@test.ex> +Received: from CALLER by myhost.test.ex with local (Exim x.yz) + (envelope-from <CALLER@test.ex>) + id 10HmaZ-0005vi-00 + for marny@test.ex; + Tue, 2 Mar 1999 09:44:33 +0000 +To: marny@test.ex +Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex> +From: CALLER_NAME <CALLER@test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 + + +--NNNNNNNNNN-eximdsn-MMMMMMMMMM-- + +From MAILER-DAEMON Tue Mar 02 09:44:33 1999 +Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz) + id 10HmbC-0005vi-00 + for CALLER@test.ex; + Tue, 2 Mar 1999 09:44:33 +0000 +X-Failed-Recipients: system-filter +Auto-Submitted: auto-replied +From: Mail Delivery System <Mailer-Daemon@test.ex> +To: CALLER@test.ex +References: <E10HmbB-0005vi-00@myhost.test.ex> +Content-Type: multipart/report; report-type=delivery-status; boundary=NNNNNNNNNN-eximdsn-MMMMMMMMMM +MIME-Version: 1.0 +Subject: Mail delivery failed: returning message to sender +Message-Id: <E10HmbC-0005vi-00@myhost.test.ex> +Date: Tue, 2 Mar 1999 09:44:33 +0000 + +--NNNNNNNNNN-eximdsn-MMMMMMMMMM +Content-type: text/plain; charset=us-ascii + +This message was created automatically by mail delivery software. + +A message that you sent could not be delivered to one or more of its +recipients. This is a permanent error. The following address(es) failed: + pipe to |TESTSUITE/aux-fixed/showenv $1 generated by system-filter @@ -149,7 +202,7 @@ LOCAL_PART_PREFIX= LOCAL_PART_SUFFIX= LOGNAME=system-filter ME= -MESSAGE_ID=10HmaZ-0005vi-00 +MESSAGE_ID=10HmbB-0005vi-00 PATH=/bin:/usr/bin QUALIFY_DOMAIN=test.ex RECIPIENT=system-filter@test.ex @@ -160,11 +213,11 @@ USER=system-filter >From CALLER@test.ex Tue Mar 02 09:44:33 1999 Received: from CALLER by myhost.test.ex with local (Exim x.yz) (envelope-from <CALLER@test.ex>) - id 10HmaZ-0005vi-00 + id 10HmbB-0005vi-00 for jabberwocky@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 To: jabberwocky@test.ex -Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex> +Message-Id: <E10HmbB-0005vi-00@myhost.test.ex> From: CALLER_NAME <CALLER@test.ex> Date: Tue, 2 Mar 1999 09:44:33 +0000 @@ -186,11 +239,11 @@ Content-type: message/rfc822 Return-path: <CALLER@test.ex> Received: from CALLER by myhost.test.ex with local (Exim x.yz) (envelope-from <CALLER@test.ex>) - id 10HmaZ-0005vi-00 + id 10HmbB-0005vi-00 for jabberwocky@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 To: jabberwocky@test.ex -Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex> +Message-Id: <E10HmbB-0005vi-00@myhost.test.ex> From: CALLER_NAME <CALLER@test.ex> Date: Tue, 2 Mar 1999 09:44:33 +0000 @@ -199,18 +252,18 @@ Date: Tue, 2 Mar 1999 09:44:33 +0000 From MAILER-DAEMON Tue Mar 02 09:44:33 1999 Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz) - id 10HmbC-0005vi-00 + id 10HmbE-0005vi-00 for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 X-Failed-Recipients: redking@test.ex Auto-Submitted: auto-replied From: Mail Delivery System <Mailer-Daemon@test.ex> To: CALLER@test.ex -References: <E10HmbB-0005vi-00@myhost.test.ex> +References: <E10HmbD-0005vi-00@myhost.test.ex> Content-Type: multipart/report; report-type=delivery-status; boundary=NNNNNNNNNN-eximdsn-MMMMMMMMMM MIME-Version: 1.0 Subject: Mail delivery failed: returning message to sender -Message-Id: <E10HmbC-0005vi-00@myhost.test.ex> +Message-Id: <E10HmbE-0005vi-00@myhost.test.ex> Date: Tue, 2 Mar 1999 09:44:33 +0000 --NNNNNNNNNN-eximdsn-MMMMMMMMMM @@ -249,7 +302,7 @@ LOCAL_PART_PREFIX= LOCAL_PART_SUFFIX= LOGNAME=redking ME= -MESSAGE_ID=10HmbB-0005vi-00 +MESSAGE_ID=10HmbD-0005vi-00 PATH=/bin:/usr/bin QUALIFY_DOMAIN=test.ex RECIPIENT=redking@test.ex @@ -260,11 +313,11 @@ USER=redking >From CALLER@test.ex Tue Mar 02 09:44:33 1999 Received: from CALLER by myhost.test.ex with local (Exim x.yz) (envelope-from <CALLER@test.ex>) - id 10HmbB-0005vi-00 + id 10HmbD-0005vi-00 for redking@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 To: redking@test.ex -Message-Id: <E10HmbB-0005vi-00@myhost.test.ex> +Message-Id: <E10HmbD-0005vi-00@myhost.test.ex> From: CALLER_NAME <CALLER@test.ex> Date: Tue, 2 Mar 1999 09:44:33 +0000 @@ -286,11 +339,11 @@ Content-type: message/rfc822 Return-path: <CALLER@test.ex> Received: from CALLER by myhost.test.ex with local (Exim x.yz) (envelope-from <CALLER@test.ex>) - id 10HmbB-0005vi-00 + id 10HmbD-0005vi-00 for redking@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 To: redking@test.ex -Message-Id: <E10HmbB-0005vi-00@myhost.test.ex> +Message-Id: <E10HmbD-0005vi-00@myhost.test.ex> From: CALLER_NAME <CALLER@test.ex> Date: Tue, 2 Mar 1999 09:44:33 +0000 diff --git a/test/msglog/0594.10HmaX-0005vi-00 b/test/msglog/0594.10HmaX-0005vi-00 deleted file mode 100644 index f91a4a3e7..000000000 --- a/test/msglog/0594.10HmaX-0005vi-00 +++ /dev/null @@ -1,2 +0,0 @@ -1999-03-02 09:44:33 Received from CALLER@myhost.test.ex U=CALLER P=local S=sss -1999-03-02 09:44:33 |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r2 T=t2 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t2 transport) not permitted diff --git a/test/paniclog/0594 b/test/paniclog/0594 index dc309d8a3..1f53b724d 100644 --- a/test/paniclog/0594 +++ b/test/paniclog/0594 @@ -1 +1,2 @@ -1999-03-02 09:44:33 10HmaX-0005vi-00 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r2 T=t2 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t2 transport) not permitted +1999-03-02 09:44:33 10HmaX-0005vi-00 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r0 T=t0 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t0 transport) not permitted +1999-03-02 09:44:33 10HmaY-0005vi-00 == |echo rtr_user <rtr_user@test.ex> R=r1 T=t0 defer (0): Tainted 'echo rtr_user' (command for t0 transport) not permitted diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 463ad96e9..d169518b6 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -802,6 +802,8 @@ rc=$runrc rc=$runrc ${if eq{1}{2}{${run{/non/exist}}}{1!=2}} rc=$runrc +${run,preexpand {DIR/aux-fixed/0002.runfile 0}} +rc=$runrc # PRVS diff --git a/test/scripts/0000-Basic/0383 b/test/scripts/0000-Basic/0383 index ab2f44808..cf3325567 100644 --- a/test/scripts/0000-Basic/0383 +++ b/test/scripts/0000-Basic/0383 @@ -2,6 +2,9 @@ exim -odi alice To: alice@test.ex **** +exim -odi marny +To: marny@test.ex +**** exim -odi jabberwocky To: jabberwocky@test.ex **** diff --git a/test/scripts/0000-Basic/0594 b/test/scripts/0000-Basic/0594 index 5fbc9319c..73b565e48 100644 --- a/test/scripts/0000-Basic/0594 +++ b/test/scripts/0000-Basic/0594 @@ -2,3 +2,12 @@ exim -odi pipe-userx=DIR/bin/iefbr14@test.ex A test message. **** +# +exim -odi rtr_user@test.ex +This one has an ok executable but tainted arg, pipecmd set by router +**** +exim -odi tpt_user@test.ex +This one has an ok executable but tainted arg, pipecmd set by transport +**** +# +no_msglog_check diff --git a/test/stderr/0393 b/test/stderr/0393 index ac13db4cd..dcd490152 100644 --- a/test/stderr/0393 +++ b/test/stderr/0393 @@ -14,7 +14,7 @@ dropping to exim gid; retaining priv uid direct command: argv[0] = '/bin/cat' direct command after expansion: - argv[0] = /bin/cat + argv[0] = '/bin/cat' appendfile transport entered appendfile: mode=600 notify_comsat=0 quota=0 warning=0 file=TESTSUITE/test-mail/userx format=unix @@ -102,7 +102,7 @@ dropping to exim gid; retaining priv uid direct command: argv[0] = '${if={1}{1}{}{}}' direct command after expansion: - argv[0] = + argv[0] = '' appendfile transport entered appendfile: mode=600 notify_comsat=0 quota=0 warning=0 file=TESTSUITE/test-mail/userx format=unix diff --git a/test/stderr/0594 b/test/stderr/0594 index dc309d8a3..1f53b724d 100644 --- a/test/stderr/0594 +++ b/test/stderr/0594 @@ -1 +1,2 @@ -1999-03-02 09:44:33 10HmaX-0005vi-00 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r2 T=t2 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t2 transport) not permitted +1999-03-02 09:44:33 10HmaX-0005vi-00 == |TESTSUITE/bin/iefbr14 <pipe-userx=TESTSUITE/bin/iefbr14@test.ex> R=r0 T=t0 defer (0): Tainted 'TESTSUITE/bin/iefbr14' (command for t0 transport) not permitted +1999-03-02 09:44:33 10HmaY-0005vi-00 == |echo rtr_user <rtr_user@test.ex> R=r1 T=t0 defer (0): Tainted 'echo rtr_user' (command for t0 transport) not permitted diff --git a/test/stdout/0002 b/test/stdout/0002 index f340b9426..74219a6f3 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -775,6 +775,10 @@ xyz > rc=0 > 1!=2 > rc=0 +> abcd +1234 + +> rc=0 > > # PRVS > |