From 2081aac24b67f3f3f34389aadc06354abcad0cad Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Wed, 7 Apr 2021 21:34:42 +0100 Subject: Pass proxy addresses/ports to continued trasnports. Bug 2710 --- test/confs/4020 | 11 ++++++- test/confs/4021 | 1 + test/log/4020 | 6 ++-- test/log/4021 | 9 ++++++ test/log/4027 | 9 ++++-- test/scripts/4020-socks/4021 | 68 ++++++++++++++++++++++++++++++++++++++++++++ test/stdout/4021 | 53 ++++++++++++++++++++++++++++++++++ 7 files changed, 151 insertions(+), 6 deletions(-) create mode 120000 test/confs/4021 create mode 100644 test/log/4021 create mode 100644 test/scripts/4020-socks/4021 create mode 100644 test/stdout/4021 (limited to 'test') diff --git a/test/confs/4020 b/test/confs/4020 index 05c95a571..dc0db460e 100644 --- a/test/confs/4020 +++ b/test/confs/4020 @@ -5,6 +5,7 @@ OPT = .include DIR/aux-var/std_conf_prefix primary_hostname = myhost.test.ex +queue_run_in_order # ----- Main settings ----- @@ -14,6 +15,13 @@ domainlist local_domains = test.ex : *.test.ex acl_smtp_rcpt = accept +# ----- ACL ----- + +begin acl + +logger: + accept logwrite = pla $proxy_local_address plp $proxy_local_port pea $proxy_external_address pep $proxy_external_port + # ----- Routers ----- begin routers @@ -35,9 +43,10 @@ my_smtp: driver = smtp interface = HOSTIPV4 port = PORT_S - hide socks_proxy = 127.0.0.1 port=PORT_D OPT + hide socks_proxy = HOSTIPV4 port=PORT_D OPT hosts_try_fastopen = ${if eq {$local_part}{user_tfo} {*}} debug_print = transport_name <$transport_name> + event_action = ${if eq {smtp:connect}{$event_name} {${acl {logger}}} {}} # End diff --git a/test/confs/4021 b/test/confs/4021 new file mode 120000 index 000000000..4af051ca9 --- /dev/null +++ b/test/confs/4021 @@ -0,0 +1 @@ +4020 \ No newline at end of file diff --git a/test/log/4020 b/test/log/4020 index 22eab1fd9..fd6e3972a 100644 --- a/test/log/4020 +++ b/test/log/4020 @@ -1,6 +1,8 @@ 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss -1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[127.0.0.1]:PORT_D C="250 accepted OK" +1999-03-02 09:44:33 10HmaX-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 accepted OK" 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss -1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[127.0.0.1]:PORT_D C="250 accepted OK" +1999-03-02 09:44:33 10HmaY-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 accepted OK" 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed diff --git a/test/log/4021 b/test/log/4021 new file mode 100644 index 000000000..5729b657b --- /dev/null +++ b/test/log/4021 @@ -0,0 +1,9 @@ +1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss +1999-03-02 09:44:33 Start queue run: pid=pppp -qq +1999-03-02 09:44:33 10HmaX-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 message accepted OK" +1999-03-02 09:44:33 10HmaX-0005vi-00 Completed +1999-03-02 09:44:33 10HmaY-0005vi-00 => usery@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S* PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 second message accepted OK" +1999-03-02 09:44:33 10HmaY-0005vi-00 Completed +1999-03-02 09:44:33 End queue run: pid=pppp -qq diff --git a/test/log/4027 b/test/log/4027 index 4b49cb15b..85e5899f1 100644 --- a/test/log/4027 +++ b/test/log/4027 @@ -1,9 +1,12 @@ 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss -1999-03-02 09:44:33 10HmaX-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[127.0.0.1]:PORT_D C="250 accepted OK" +1999-03-02 09:44:33 10HmaX-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaX-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 accepted OK" 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss -1999-03-02 09:44:33 10HmaY-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[127.0.0.1]:PORT_D C="250 accepted OK" +1999-03-02 09:44:33 10HmaY-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaY-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D C="250 accepted OK" 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss -1999-03-02 09:44:33 10HmaZ-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[127.0.0.1]:PORT_D TFO* C="250 accepted OK" +1999-03-02 09:44:33 10HmaZ-0005vi-00 pla ip4.ip4.ip4.ip4 plp 1225 pea 127.0.0.1 pep 48879 +1999-03-02 09:44:33 10HmaZ-0005vi-00 => user_tfo@test.ex R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1]:PORT_S PRX=[ip4.ip4.ip4.ip4]:PORT_D TFO* C="250 accepted OK" 1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed diff --git a/test/scripts/4020-socks/4021 b/test/scripts/4020-socks/4021 new file mode 100644 index 000000000..d2a4dc7ce --- /dev/null +++ b/test/scripts/4020-socks/4021 @@ -0,0 +1,68 @@ +# socks5 proxy on smtp transport, continued-connection +# +munge loopback +# +exim -odq -bs -DOPT= +ehlo test.ex +mail from:<> +rcpt to: +data +Date: Fri, 17 Dec 2004 14:35:01 +0100 +Subject: message should be queued + +Queued body +. +quit +**** +exim -odq -bs -DOPT= +ehlo test.ex +mail from:<> +rcpt to: +data +Date: Fri, 17 Dec 2004 14:35:01 +0100 +Subject: message should be queud + +via null-auth proxy +. +quit +**** +# +# +# +# auth: null +server PORT_D +<<\x05\x01\x00 +>>\x05\x00 +<<\x05\x01\x00\x01\x7f\x00\x00\x01\x04\xc8 +>>\x05\x00\x00\x01\x7f\x00\x00\x01\xbe\xef +220 Connected OK +EHLO +250-server id +250 +MAIL FROM +250 mail cmd ok +RCPT TO +250 rcpt cmd ok +DATA +354 hit me +. +250 message accepted OK +MAIL FROM +250 second mail cmd ok +RCPT TO +250 second rcpt cmd ok +DATA +354 hit me one more time +. +250 second message accepted OK +QUIT +220 bye +**** +# +# +# +exim -DOPT= -qq +**** +# +# +# Ends diff --git a/test/stdout/4021 b/test/stdout/4021 new file mode 100644 index 000000000..5e8877da4 --- /dev/null +++ b/test/stdout/4021 @@ -0,0 +1,53 @@ +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +250-myhost.test.ex Hello CALLER at test.ex +250-SIZE 52428800 +250-8BITMIME +250-PIPELINING +250 HELP +250 OK +250 Accepted +354 Enter message, ending with "." on a line by itself +250 OK id=10HmaX-0005vi-00 +221 myhost.test.ex closing connection +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +250-myhost.test.ex Hello CALLER at test.ex +250-SIZE 52428800 +250-8BITMIME +250-PIPELINING +250 HELP +250 OK +250 Accepted +354 Enter message, ending with "." on a line by itself +250 OK id=10HmaY-0005vi-00 +221 myhost.test.ex closing connection + +******** SERVER ******** +Listening on port 1225 ... +Connection request from [ip4.ip4.ip4.ip4] +<<\x05\x01\x00 +>>\x05\x00 +<<\x05\x01\x00\x01\x7f\x00\x00\x01\x04\xc8 +>>\x05\x00\x00\x01\x7f\x00\x00\x01\xbe\xef +220 Connected OK +EHLO +250-server id +250 +MAIL FROM +250 mail cmd ok +RCPT TO +250 rcpt cmd ok +DATA +354 hit me +R +250 message accepted OK +MAIL FROM +250 second mail cmd ok +RCPT TO +250 second rcpt cmd ok +DATA +354 hit me one more time +R +250 second message accepted OK +QUIT +220 bye +End of script -- cgit v1.2.3