From fd98a5c6771f3a5a686e54370b0525dcc3dca2f9 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sat, 26 Jan 2013 23:21:37 +0000 Subject: PRDR support, if compiled with EXPERIMENTAL_PRDR --- test/scripts/0000-Basic/0121 | 3 + test/scripts/2000-GnuTLS/2002 | 23 ++++ test/scripts/2100-OpenSSL/2102 | 23 ++++ test/scripts/5500-PRDR/5500 | 155 +++++++++++++++++++++++++++ test/scripts/5500-PRDR/5510 | 228 ++++++++++++++++++++++++++++++++++++++++ test/scripts/5500-PRDR/REQUIRES | 1 + 6 files changed, 433 insertions(+) create mode 100644 test/scripts/5500-PRDR/5500 create mode 100644 test/scripts/5500-PRDR/5510 create mode 100644 test/scripts/5500-PRDR/REQUIRES (limited to 'test/scripts') diff --git a/test/scripts/0000-Basic/0121 b/test/scripts/0000-Basic/0121 index 4bcb99b47..9ff68fa13 100644 --- a/test/scripts/0000-Basic/0121 +++ b/test/scripts/0000-Basic/0121 @@ -6,6 +6,9 @@ rset mail from: rcpt to: rset +mail from:<"unknown with spaces"@test.ex> +rcpt to: +rset mail from: rcpt to: data diff --git a/test/scripts/2000-GnuTLS/2002 b/test/scripts/2000-GnuTLS/2002 index 06e1a8257..06a7b31d0 100644 --- a/test/scripts/2000-GnuTLS/2002 +++ b/test/scripts/2000-GnuTLS/2002 @@ -25,6 +25,29 @@ This is a test encrypted message. quit ??? 221 **** +client-gnutls 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250- +??? 250 +starttls +??? 220 +mail from:<"name with spaces"@test.ex> +??? 250 +rcpt to: +??? 250 +DATA +??? 3 +This is a test encrypted message. +. +??? 250 +quit +??? 221 +**** client-gnutls HOSTIPV4 PORT_D ??? 220 ehlo rhu.barb diff --git a/test/scripts/2100-OpenSSL/2102 b/test/scripts/2100-OpenSSL/2102 index 7f9279acd..2e7dca0a6 100644 --- a/test/scripts/2100-OpenSSL/2102 +++ b/test/scripts/2100-OpenSSL/2102 @@ -24,6 +24,29 @@ This is a test encrypted message. quit ??? 221 **** +client-ssl 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250- +??? 250 +starttls +??? 220 +mail from:<"name with spaces"@test.ex> +??? 250 +rcpt to: +??? 250 +DATA +??? 3 +This is a test encrypted message. +. +??? 250 +quit +??? 221 +**** client-ssl HOSTIPV4 PORT_D ??? 220 ehlo rhu.barb diff --git a/test/scripts/5500-PRDR/5500 b/test/scripts/5500-PRDR/5500 new file mode 100644 index 000000000..567b00085 --- /dev/null +++ b/test/scripts/5500-PRDR/5500 @@ -0,0 +1,155 @@ +# PRDR (Per-Recipient Data Responses) server +need_ipv4 +no_msglog_check +# +# 1: userx should be accepted, y should be tmp-rejected, +# z rejected, all after data per PRDR spec +exim -DSERVER=server -bd -oX PORT_D +**** +client 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250-PRDR +??? 250 +mail from:<> PRDR +??? 250 +rcpt to: +??? 250 +rcpt to: +??? 250 +rcpt to: +??? 250 +data +??? 354 +Sender: sender@some.where +. +??? 353 +??? 250 +??? 450 +??? 550 +??? 250 +quit +??? 221 +**** +sleep 1 +# +# +# 2: traditional data acl should be called, resulting in an overall reject +client 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250-PRDR +??? 250 +mail from:<> PRDR +??? 250 +rcpt to: +??? 250 +rcpt to: +??? 250 +data +??? 354 +Sender: sender@some.where +. +??? 353 +??? 250 +??? 250 +??? 550 +quit +??? 221 +**** +sleep 1 +# +# +# 3: PRDR should be avoided for a single-recipient message +# even though the client showed support. +client 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250-PRDR +??? 250 +mail from:<> PRDR +??? 250 +rcpt to: +??? 250 +data +??? 354 +Sender: sender@some.where +. +??? 250 +quit +??? 221 +**** +sleep 1 +# +# 4: double temp-reject +client 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250-PRDR +??? 250 +mail from:<> PRDR +??? 250 +rcpt to: +??? 250 +rcpt to: +??? 250 +data +??? 354 +Sender: sender@some.where +. +??? 353 +??? 450 +??? 450 +??? 250 +quit +??? 221 +**** +sleep 1 +# +# 5: double reject +client 127.0.0.1 PORT_D +??? 220 +ehlo rhu.barb +??? 250- +??? 250- +??? 250- +??? 250- +??? 250-PRDR +??? 250 +mail from:<> PRDR +??? 250 +rcpt to: +??? 250 +rcpt to: +??? 250 +data +??? 354 +Sender: sender@some.where +. +??? 353 +??? 550 +??? 550 +??? 550 +quit +??? 221 +**** +sleep 1 +# +killdaemon +# diff --git a/test/scripts/5500-PRDR/5510 b/test/scripts/5500-PRDR/5510 new file mode 100644 index 000000000..e5063a47a --- /dev/null +++ b/test/scripts/5500-PRDR/5510 @@ -0,0 +1,228 @@ +# PRDR client +need_ipv4 +no_msglog_check +# +# 1: Two recipients, accepted by full PRDR response sequence +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM: PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 gimme yer body +. +353 prdr responses coming up +250 first rcpt was good +250 second rcpt was good +250 OK, overall +QUIT +250 OK +**** +exim -odi -f userx usery userz +Some message text. +**** +# +# +# 2: Two recipients, accepted by traditional response +# though client offered full PRDR capability +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM: PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 gimme that body +. +250 OK got that +QUIT +250 OK, bye +**** +exim -odi -f userx user2.1 user2.2 +Some message text. +**** +# +# +# 3: Two recipients, one accepted one tmp-rejected +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM: PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 gimme yer body +. +353 prdr responses coming up +250 first rcpt was good +450 cannot handle second rcpt right now +250 OK, overall +QUIT +250 OK +**** +exim -odi -f userx usery userz +Some message text. +**** +# +# +# 4: Two recipients, one accepted one rejected +# Avoid tester issues dealing with the bounce by sending +# with a null from. +# +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM:<> PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 gimme yer body +. +353 prdr responses coming up +250 first rcpt was good +550 second rcpt does not like content +250 OK, overall +QUIT +250 OK +**** +exim -odi -f "" userp userq +Some message text. +**** +# +# +# 5: Two recipients, rejected by final after PRDR accepts. +# +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM:<> PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 yeah baby +. +353 prdr responses coming up +250 first rcpt was good +250 second rcpt was good +550 oops, overall rejection +QUIT +250 OK +**** +exim -odi -f "" user5.1 user5.2 +text +**** +# +# +# 6: Two recipients, rejected traditionally though PRDR negociated. +# +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM:<> PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 yeah baby +. +550 naah mate +QUIT +250 OK +**** +exim -odi -f "" user6.1 user6.2 +text +**** +# +# +# 7: Temp-reject at final +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM:<> PRDR +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +RCPT TO +250 OK +DATA +300 go ahead +. +353 prdr responses coming up +250 first rcpt does not like you +250 second rcpt has a temporary problem +250 third rcpt is ok +450 oops, try again later please +QUIT +250 OK +**** +exim -odi -f "" user7.1 user7.2 user7.3 +text +**** +# +# +# +# 8: Client should avoid requesting PRDR for a single-recipient mail +# even though the server offers +server PORT_S +220 Server ready +EHLO +250- +250-PRDR +250 OK +MAIL FROM:<> +250 OK +RCPT TO +250 OK +DATA +300 go ahead +. +250 OK, got that +QUIT +250 OK, bye +**** +exim -odi -f "" user8.1 +text +**** +# +# diff --git a/test/scripts/5500-PRDR/REQUIRES b/test/scripts/5500-PRDR/REQUIRES new file mode 100644 index 000000000..b3c99396a --- /dev/null +++ b/test/scripts/5500-PRDR/REQUIRES @@ -0,0 +1 @@ +support Experimental_PRDR -- cgit v1.2.3