From 7d677328bf788066fcd90ef1c41731a28f5aa6e7 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Tue, 13 Oct 2020 12:09:21 -0400 Subject: [PATCH 01/98] testing - make automated tests easier to run in new environments This commit contains changes exposed by running it any new environment (eg need to create var dir if it doesn't exist) and then specific changes needed when testing expanded from macos only to Linux and FreeBSD update test tools to use /usr/bin/env to set interpretter etc/README.txt - explains commands and environment expectations bin/runenv - script to set environment variables to the most common value before executing bin/check-env.pl - script to evaluate environment for you bin/run-all.pl - mkdir var if it's not already present bin/run-tests.pl - add handling for missing or incorrect PAGER variable - notify when invalid option entered Update test cases to be more consistent - munge open2 failure output, debian and macos have different errors - munge tls protocols which may not be consistent between test platforms - update reference output from all tests that included --support now that we're requiring all modules be installed --- Changes | 2 + .../_exec-output-dump/out-ref/0000.stdout | 2 +- .../_exec-output-dump/out-ref/0001.stdout | 2 +- .../_exec-output-dump/out-ref/0004.stdout | 6 +- .../_exec-output-dump/out-ref/0302.stdout | 2 +- .../_exec-output-dump/out-ref/0303.stdout | 2 +- .../_exec-output-dump/out-ref/0304.stdout | 2 +- .../_exec-output-dump/out-ref/0305.stdout | 2 +- .../_exec-output-dump/out-ref/0306.stdout | 2 +- .../_exec-output-dump/out-ref/0352.stdout | 2 +- .../_exec-output-dump/out-ref/0354.stdout | 2 +- .../_exec-output-dump/out-ref/0355.stdout | 2 +- .../_exec-output-dump/out-ref/0500.stdout | 2 +- .../_exec-output-dump/out-ref/0501.stdout | 2 +- .../_exec-output-dump/out-ref/0551.stdout | 4 +- .../_exec-output-dump/out-ref/0552.stdout | 4 +- .../_exec-output-dump/out-ref/0553.stdout | 4 +- .../_exec-output-dump/out-ref/0554.stdout | 4 +- .../_options-auth/out-ref/00000.stdout | 2 +- .../_options-auth/out-ref/00010.stdout | 2 +- .../_options-auth/out-ref/00020.stdout | 2 +- .../_options-auth/out-ref/00030.stdout | 2 +- .../_options-auth/out-ref/00050.stdout | 2 +- .../_options-auth/out-ref/00060.stdout | 2 +- .../_options-auth/out-ref/00070.stdout | 2 +- .../_options-auth/out-ref/00080.stdout | 2 +- .../_options-auth/out-ref/00100.stdout | 2 +- .../_options-auth/out-ref/00110.stdout | 2 +- .../_options-auth/out-ref/00120.stdout | 2 +- .../_options-auth/out-ref/00130.stdout | 2 +- .../_options-auth/out-ref/00150.stdout | 2 +- .../_options-auth/out-ref/00160.stdout | 2 +- .../_options-auth/out-ref/00170.stdout | 2 +- .../_options-auth/out-ref/00180.stdout | 2 +- .../_options-auth/out-ref/00200.stdout | 2 +- .../_options-auth/out-ref/00210.stdout | 2 +- .../_options-auth/out-ref/00220.stdout | 2 +- .../_options-auth/out-ref/00230.stdout | 2 +- .../_options-auth/out-ref/00250.stdout | 2 +- .../_options-auth/out-ref/00260.stdout | 2 +- .../_options-auth/out-ref/00270.stdout | 2 +- .../_options-auth/out-ref/00280.stdout | 2 +- .../_options-auth/out-ref/00300.stdout | 2 +- .../_options-auth/out-ref/00301.stdout | 2 +- .../_options-auth/out-ref/00310.stdout | 2 +- .../_options-auth/out-ref/00311.stdout | 2 +- .../_options-auth/out-ref/00320.stdout | 2 +- .../_options-auth/out-ref/00321.stdout | 2 +- .../_options-auth/out-ref/00330.stdout | 2 +- .../_options-auth/out-ref/00331.stdout | 2 +- .../_options-auth/out-ref/00332.stdout | 2 +- .../_options-auth/out-ref/00350.stdout | 2 +- .../_options-auth/out-ref/00351.stdout | 2 +- .../_options-auth/out-ref/00360.stdout | 2 +- .../_options-auth/out-ref/00361.stdout | 2 +- .../_options-auth/out-ref/00370.stdout | 2 +- .../_options-auth/out-ref/00371.stdout | 2 +- .../_options-auth/out-ref/00380.stdout | 2 +- .../_options-auth/out-ref/00381.stdout | 2 +- .../_options-auth/out-ref/00382.stdout | 2 +- .../_options-auth/out-ref/00400.stdout | 2 +- .../_options-auth/out-ref/00401.stdout | 2 +- .../_options-auth/out-ref/00410.stdout | 2 +- .../_options-auth/out-ref/00411.stdout | 2 +- .../_options-auth/out-ref/00420.stdout | 2 +- .../_options-auth/out-ref/00421.stdout | 2 +- .../_options-auth/out-ref/00430.stdout | 2 +- .../_options-auth/out-ref/00431.stdout | 2 +- .../_options-auth/out-ref/00432.stdout | 2 +- .../_options-auth/out-ref/00450.stdout | 2 +- .../_options-auth/out-ref/00451.stdout | 2 +- .../_options-auth/out-ref/00460.stdout | 2 +- .../_options-auth/out-ref/00461.stdout | 2 +- .../_options-auth/out-ref/00470.stdout | 2 +- .../_options-auth/out-ref/00471.stdout | 2 +- .../_options-auth/out-ref/00480.stdout | 2 +- .../_options-auth/out-ref/00481.stdout | 2 +- .../_options-auth/out-ref/00482.stdout | 2 +- .../_options-auth/out-ref/00501.stdout | 2 +- .../_options-auth/out-ref/00503.stdout | 2 +- .../_options-auth/out-ref/00511.stdout | 2 +- .../_options-auth/out-ref/00513.stdout | 2 +- .../_options-auth/out-ref/00521.stdout | 2 +- .../_options-auth/out-ref/00523.stdout | 2 +- .../_options-auth/out-ref/00531.stdout | 2 +- .../_options-auth/out-ref/00532.stdout | 2 +- .../_options-auth/out-ref/00551.stdout | 2 +- .../_options-auth/out-ref/00553.stdout | 2 +- .../_options-auth/out-ref/00561.stdout | 2 +- .../_options-auth/out-ref/00563.stdout | 2 +- .../_options-auth/out-ref/00571.stdout | 2 +- .../_options-auth/out-ref/00573.stdout | 2 +- .../_options-auth/out-ref/00581.stdout | 2 +- .../_options-auth/out-ref/00582.stdout | 2 +- .../_options-auth/out-ref/00601.stdout | 2 +- .../_options-auth/out-ref/00603.stdout | 2 +- .../_options-auth/out-ref/00611.stdout | 2 +- .../_options-auth/out-ref/00613.stdout | 2 +- .../_options-auth/out-ref/00621.stdout | 2 +- .../_options-auth/out-ref/00623.stdout | 2 +- .../_options-auth/out-ref/00631.stdout | 2 +- .../_options-auth/out-ref/00632.stdout | 2 +- .../_options-auth/out-ref/00651.stdout | 2 +- .../_options-auth/out-ref/00653.stdout | 2 +- .../_options-auth/out-ref/00661.stdout | 2 +- .../_options-auth/out-ref/00663.stdout | 2 +- .../_options-auth/out-ref/00671.stdout | 2 +- .../_options-auth/out-ref/00673.stdout | 2 +- .../_options-auth/out-ref/00681.stdout | 2 +- .../_options-auth/out-ref/00682.stdout | 2 +- .../_options-auth/out-ref/00700.stdout | 2 +- .../_options-auth/out-ref/00703.stdout | 2 +- .../_options-auth/out-ref/00710.stdout | 2 +- .../_options-auth/out-ref/00713.stdout | 2 +- .../_options-auth/out-ref/00720.stdout | 2 +- .../_options-auth/out-ref/00723.stdout | 2 +- .../_options-auth/out-ref/00730.stdout | 2 +- .../_options-auth/out-ref/00750.stdout | 2 +- .../_options-auth/out-ref/00753.stdout | 2 +- .../_options-auth/out-ref/00760.stdout | 2 +- .../_options-auth/out-ref/00763.stdout | 2 +- .../_options-auth/out-ref/00770.stdout | 2 +- .../_options-auth/out-ref/00773.stdout | 2 +- .../_options-auth/out-ref/00780.stdout | 2 +- .../_options-auth/out-ref/00800.stdout | 2 +- .../_options-auth/out-ref/00801.stdout | 2 +- .../_options-auth/out-ref/00803.stdout | 2 +- .../_options-auth/out-ref/00810.stdout | 2 +- .../_options-auth/out-ref/00811.stdout | 2 +- .../_options-auth/out-ref/00813.stdout | 2 +- .../_options-auth/out-ref/00820.stdout | 2 +- .../_options-auth/out-ref/00821.stdout | 2 +- .../_options-auth/out-ref/00823.stdout | 2 +- .../_options-auth/out-ref/00830.stdout | 2 +- .../_options-auth/out-ref/00831.stdout | 2 +- .../_options-auth/out-ref/00832.stdout | 2 +- .../_options-auth/out-ref/00850.stdout | 2 +- .../_options-auth/out-ref/00851.stdout | 2 +- .../_options-auth/out-ref/00853.stdout | 2 +- .../_options-auth/out-ref/00860.stdout | 2 +- .../_options-auth/out-ref/00861.stdout | 2 +- .../_options-auth/out-ref/00863.stdout | 2 +- .../_options-auth/out-ref/00870.stdout | 2 +- .../_options-auth/out-ref/00871.stdout | 2 +- .../_options-auth/out-ref/00873.stdout | 2 +- .../_options-auth/out-ref/00880.stdout | 2 +- .../_options-auth/out-ref/00881.stdout | 2 +- .../_options-auth/out-ref/00882.stdout | 2 +- .../_options-auth/out-ref/05000.stderr | 3 - .../_options-auth/out-ref/05000.stdout | 2 +- .../_options-auth/out-ref/05001.stdout | 2 +- .../_options-auth/out-ref/05002.stdout | 2 +- .../_options-auth/out-ref/05003.stdout | 2 +- .../_options-data/out-ref/00100.stdout | 2 +- .../_options-data/out-ref/00101.stdout | 2 +- .../_options-data/out-ref/00110.stdout | 2 +- .../_options-data/out-ref/00111.stdout | 2 +- .../_options-data/out-ref/00120.stdout | 2 +- .../_options-data/out-ref/00121.stdout | 2 +- .../_options-data/out-ref/00130.stdout | 2 +- .../_options-data/out-ref/00131.stdout | 2 +- .../_options-data/out-ref/00132.stdout | 2 +- .../_options-data/out-ref/00150.stdout | 2 +- .../_options-data/out-ref/00151.stdout | 2 +- .../_options-data/out-ref/00160.stdout | 2 +- .../_options-data/out-ref/00161.stdout | 2 +- .../_options-data/out-ref/00170.stdout | 2 +- .../_options-data/out-ref/00171.stdout | 2 +- .../_options-data/out-ref/00180.stdout | 2 +- .../_options-data/out-ref/00181.stdout | 2 +- .../_options-data/out-ref/00182.stdout | 2 +- .../_options-data/out-ref/00200.stdout | 2 +- .../_options-data/out-ref/00203.stdout | 2 +- .../_options-data/out-ref/00210.stdout | 2 +- .../_options-data/out-ref/00213.stdout | 2 +- .../_options-data/out-ref/00220.stdout | 2 +- .../_options-data/out-ref/00223.stdout | 2 +- .../_options-data/out-ref/00230.stdout | 2 +- .../_options-data/out-ref/00250.stdout | 2 +- .../_options-data/out-ref/00253.stdout | 2 +- .../_options-data/out-ref/00260.stdout | 2 +- .../_options-data/out-ref/00263.stdout | 2 +- .../_options-data/out-ref/00270.stdout | 2 +- .../_options-data/out-ref/00273.stdout | 2 +- .../_options-data/out-ref/00280.stdout | 2 +- .../_options-output/out-ref/01200.stderr | 1 - .../_options-output/out-ref/01200.stdout | 1 + .../_options-output/out-ref/01210.stderr | 1 - .../_options-output/out-ref/01210.stdout | 1 + .../_options-output/out-ref/01220.stderr | 1 - .../_options-output/out-ref/01220.stdout | 1 + .../_options-output/out-ref/01230.stderr | 1 - .../_options-output/out-ref/01230.stdout | 1 + .../_options-output/out-ref/01350.stdout | 2 +- .../_options-output/out-ref/01360.stdout | 2 +- .../_options-output/out-ref/01370.stdout | 2 +- .../_options-output/out-ref/01380.stdout | 2 +- .../_options-protocol/out-ref/05401.stdout | 2 +- .../_options-protocol/out-ref/05402.stdout | 4 +- .../_options-protocol/out-ref/05403.stdout | 2 +- .../_options-protocol/out-ref/05405.stdout | 2 +- .../_options-protocol/out-ref/05406.stdout | 2 +- .../_options-protocol/out-ref/05407.stdout | 4 +- .../_options-protocol/out-ref/05409.stdout | 2 +- .../_options-protocol/out-ref/05410.stdout | 2 +- .../_options-protocol/out-ref/05411.stdout | 4 +- .../_options-tls/out-ref/00000.stdout | 2 +- .../_options-tls/out-ref/00010.stdout | 2 +- .../_options-tls/out-ref/00020.stdout | 2 +- .../_options-tls/out-ref/00030.stdout | 2 +- .../_options-tls/out-ref/00100.stdout | 2 +- .../_options-tls/out-ref/00110.stdout | 2 +- .../_options-tls/out-ref/00120.stdout | 2 +- .../_options-tls/out-ref/00130.stdout | 2 +- .../_options-tls/out-ref/00150.stdout | 2 +- .../_options-tls/out-ref/00160.stdout | 2 +- .../_options-tls/out-ref/00170.stdout | 2 +- .../_options-tls/out-ref/00180.stdout | 2 +- .../_options-tls/out-ref/00200.stdout | 2 +- .../_options-tls/out-ref/00210.stdout | 2 +- .../_options-tls/out-ref/00220.stdout | 2 +- .../_options-tls/out-ref/00230.stdout | 2 +- .../_options-tls/out-ref/00250.stdout | 2 +- .../_options-tls/out-ref/00260.stdout | 2 +- .../_options-tls/out-ref/00270.stdout | 2 +- .../_options-tls/out-ref/00280.stdout | 2 +- .../_options-tls/out-ref/00300.stdout | 2 +- .../_options-tls/out-ref/00310.stdout | 2 +- .../_options-tls/out-ref/00320.stdout | 2 +- .../_options-tls/out-ref/00330.stdout | 2 +- .../_options-tls/out-ref/00350.stdout | 2 +- .../_options-tls/out-ref/00360.stdout | 2 +- .../_options-tls/out-ref/00370.stdout | 2 +- .../_options-tls/out-ref/00380.stdout | 2 +- .../_options-tls/out-ref/00401.stdout | 2 +- .../_options-tls/out-ref/00403.stdout | 2 +- .../_options-tls/out-ref/00411.stdout | 2 +- .../_options-tls/out-ref/00413.stdout | 2 +- .../_options-tls/out-ref/00421.stdout | 2 +- .../_options-tls/out-ref/00423.stdout | 2 +- .../_options-tls/out-ref/00431.stdout | 2 +- .../_options-tls/out-ref/00432.stdout | 2 +- .../_options-tls/out-ref/00451.stdout | 2 +- .../_options-tls/out-ref/00453.stdout | 2 +- .../_options-tls/out-ref/00461.stdout | 2 +- .../_options-tls/out-ref/00463.stdout | 2 +- .../_options-tls/out-ref/00471.stdout | 2 +- .../_options-tls/out-ref/00473.stdout | 2 +- .../_options-tls/out-ref/00481.stdout | 2 +- .../_options-tls/out-ref/00482.stdout | 2 +- .../_options-tls/out-ref/00501.stdout | 2 +- .../_options-tls/out-ref/00503.stdout | 2 +- .../_options-tls/out-ref/00511.stdout | 2 +- .../_options-tls/out-ref/00513.stdout | 2 +- .../_options-tls/out-ref/00521.stdout | 2 +- .../_options-tls/out-ref/00523.stdout | 2 +- .../_options-tls/out-ref/00531.stdout | 2 +- .../_options-tls/out-ref/00532.stdout | 2 +- .../_options-tls/out-ref/00550.stdout | 2 +- .../_options-tls/out-ref/00553.stdout | 2 +- .../_options-tls/out-ref/00560.stdout | 2 +- .../_options-tls/out-ref/00563.stdout | 2 +- .../_options-tls/out-ref/00570.stdout | 2 +- .../_options-tls/out-ref/00573.stdout | 2 +- .../_options-tls/out-ref/00580.stdout | 2 +- .../_options-tls/out-ref/00601.stdout | 2 +- .../_options-tls/out-ref/00603.stdout | 2 +- .../_options-tls/out-ref/00611.stdout | 2 +- .../_options-tls/out-ref/00613.stdout | 2 +- .../_options-tls/out-ref/00621.stdout | 2 +- .../_options-tls/out-ref/00623.stdout | 2 +- .../_options-tls/out-ref/00631.stdout | 2 +- .../_options-tls/out-ref/00632.stdout | 2 +- .../_options-tls/out-ref/00650.stdout | 2 +- .../_options-tls/out-ref/00651.stdout | 2 +- .../_options-tls/out-ref/00653.stdout | 2 +- .../_options-tls/out-ref/00660.stdout | 2 +- .../_options-tls/out-ref/00661.stdout | 2 +- .../_options-tls/out-ref/00663.stdout | 2 +- .../_options-tls/out-ref/00670.stdout | 2 +- .../_options-tls/out-ref/00671.stdout | 2 +- .../_options-tls/out-ref/00673.stdout | 2 +- .../_options-tls/out-ref/00680.stdout | 2 +- .../_options-tls/out-ref/00681.stdout | 2 +- .../_options-tls/out-ref/00682.stdout | 2 +- .../_options-tls/out-ref/00701.stdout | 2 +- .../_options-tls/out-ref/00702.stdout | 2 +- .../_options-tls/out-ref/00711.stdout | 2 +- .../_options-tls/out-ref/00712.stdout | 2 +- .../_options-tls/out-ref/00721.stdout | 2 +- .../_options-tls/out-ref/00722.stdout | 2 +- .../_options-tls/out-ref/00731.stdout | 2 +- .../_options-tls/out-ref/00732.stdout | 2 +- .../_options-tls/out-ref/00751.stdout | 2 +- .../_options-tls/out-ref/00752.stdout | 2 +- .../_options-tls/out-ref/00761.stdout | 2 +- .../_options-tls/out-ref/00762.stdout | 2 +- .../_options-tls/out-ref/00771.stdout | 2 +- .../_options-tls/out-ref/00772.stdout | 2 +- .../_options-tls/out-ref/00781.stdout | 2 +- .../_options-tls/out-ref/00782.stdout | 2 +- .../_options-tls/out-ref/00801.stdout | 2 +- .../_options-tls/out-ref/00803.stdout | 2 +- .../_options-tls/out-ref/00811.stdout | 2 +- .../_options-tls/out-ref/00813.stdout | 2 +- .../_options-tls/out-ref/00821.stdout | 2 +- .../_options-tls/out-ref/00823.stdout | 2 +- .../_options-tls/out-ref/00831.stdout | 2 +- .../_options-tls/out-ref/00832.stdout | 2 +- testing/regressions/bin/check-env.pl | 80 +++++++++++++++++++ .../bin/find-orphaned-ref-files.pl | 2 +- testing/regressions/bin/migrate.pl | 2 +- testing/regressions/bin/run-all.pl | 9 ++- testing/regressions/bin/run-tests.pl | 45 ++++++++++- testing/regressions/bin/runenv | 9 +++ testing/regressions/etc/README.txt | 60 ++++++++++++++ .../lib/authen-ntlm-local/Authen/NTLM.pm | 6 ++ 317 files changed, 520 insertions(+), 322 deletions(-) create mode 100755 testing/regressions/bin/check-env.pl create mode 100755 testing/regressions/bin/runenv create mode 100644 testing/regressions/etc/README.txt create mode 100644 testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm diff --git a/Changes b/Changes index 657b2f72..1035ce81 100644 --- a/Changes +++ b/Changes @@ -929,3 +929,5 @@ processing overhaul in a46b929 #26 * 20201014 Add newline echo after entering password with --protect-prompt > 20201014 released 20201014.0 +* 20201016 Document and improve automated testing to make it easier for + new users to run in new environments diff --git a/testing/regressions/_exec-output-dump/out-ref/0000.stdout b/testing/regressions/_exec-output-dump/out-ref/0000.stdout index 695ba43c..daec5c47 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0000.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0000.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_exec-output-dump/out-ref/0001.stdout b/testing/regressions/_exec-output-dump/out-ref/0001.stdout index b28f03a6..5f891dc6 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0001.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0001.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_exec-output-dump/out-ref/0004.stdout b/testing/regressions/_exec-output-dump/out-ref/0004.stdout index 6caccae3..70c8db51 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0004.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0004.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported @@ -83,7 +83,7 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = Authentication Info: @@ -92,7 +92,7 @@ Authentication Info: password = 'pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0302.stdout b/testing/regressions/_exec-output-dump/out-ref/0302.stdout index 10d5e562..ada63186 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0302.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0302.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/0302.test sni string = verify server cert = TRUE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = TLSv1_1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0303.stdout b/testing/regressions/_exec-output-dump/out-ref/0303.stdout index 80c96a34..a04c3a9e 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0303.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0303.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_exec-output-dump/out-ref/0304.stdout b/testing/regressions/_exec-output-dump/out-ref/0304.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0304.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0304.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_exec-output-dump/out-ref/0305.stdout b/testing/regressions/_exec-output-dump/out-ref/0305.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0305.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0305.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_exec-output-dump/out-ref/0306.stdout b/testing/regressions/_exec-output-dump/out-ref/0306.stdout index 35107449..70134587 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0306.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0306.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_exec-output-dump/out-ref/0352.stdout b/testing/regressions/_exec-output-dump/out-ref/0352.stdout index f404023e..57858828 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0352.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0352.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'AUTHPASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0354.stdout b/testing/regressions/_exec-output-dump/out-ref/0354.stdout index 47cafb4f..ef832588 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0354.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0354.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'AUTHPASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0355.stdout b/testing/regressions/_exec-output-dump/out-ref/0355.stdout index 6b632f5f..fb8a02e3 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0355.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0355.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'AUTHPASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0500.stdout b/testing/regressions/_exec-output-dump/out-ref/0500.stdout index 460496ef..dc0a7e81 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0500.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0500.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_exec-output-dump/out-ref/0501.stdout b/testing/regressions/_exec-output-dump/out-ref/0501.stdout index 460496ef..dc0a7e81 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0501.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0501.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_exec-output-dump/out-ref/0551.stdout b/testing/regressions/_exec-output-dump/out-ref/0551.stdout index 6620a719..57230a74 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0551.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0551.stdout @@ -8,7 +8,7 @@ Authentication Info: password = 'TEST_PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 @@ -36,7 +36,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0552.stdout b/testing/regressions/_exec-output-dump/out-ref/0552.stdout index d19cd4ca..1971a541 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0552.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0552.stdout @@ -8,7 +8,7 @@ Authentication Info: password = 'TEST_PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 @@ -36,7 +36,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0553.stdout b/testing/regressions/_exec-output-dump/out-ref/0553.stdout index c1dee904..ad762a4b 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0553.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0553.stdout @@ -8,7 +8,7 @@ Authentication Info: password = 'TEST_PASS' show plaintext = FALSE hide password = CUSTOM_PASSWORD_REPLACEMENT - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 @@ -36,7 +36,7 @@ Authentication Info: password = 'CUSTOM_PASSWORD_REPLACEMENT' show plaintext = FALSE hide password = CUSTOM_PASSWORD_REPLACEMENT - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_exec-output-dump/out-ref/0554.stdout b/testing/regressions/_exec-output-dump/out-ref/0554.stdout index 1263d8ae..4c8ae403 100644 --- a/testing/regressions/_exec-output-dump/out-ref/0554.stdout +++ b/testing/regressions/_exec-output-dump/out-ref/0554.stdout @@ -8,7 +8,7 @@ Authentication Info: password = 'TEST_PASS' show plaintext = FALSE hide password = CUSTOM_PASSWORD_REPLACEMENT - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 @@ -36,7 +36,7 @@ Authentication Info: password = 'TEST_PASS' show plaintext = FALSE hide password = CUSTOM_PASSWORD_REPLACEMENT - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00000.stdout b/testing/regressions/_options-auth/out-ref/00000.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00000.stdout +++ b/testing/regressions/_options-auth/out-ref/00000.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00010.stdout b/testing/regressions/_options-auth/out-ref/00010.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00010.stdout +++ b/testing/regressions/_options-auth/out-ref/00010.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00020.stdout b/testing/regressions/_options-auth/out-ref/00020.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00020.stdout +++ b/testing/regressions/_options-auth/out-ref/00020.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00030.stdout b/testing/regressions/_options-auth/out-ref/00030.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00030.stdout +++ b/testing/regressions/_options-auth/out-ref/00030.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00050.stdout b/testing/regressions/_options-auth/out-ref/00050.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00050.stdout +++ b/testing/regressions/_options-auth/out-ref/00050.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00060.stdout b/testing/regressions/_options-auth/out-ref/00060.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00060.stdout +++ b/testing/regressions/_options-auth/out-ref/00060.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00070.stdout b/testing/regressions/_options-auth/out-ref/00070.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00070.stdout +++ b/testing/regressions/_options-auth/out-ref/00070.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00080.stdout b/testing/regressions/_options-auth/out-ref/00080.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00080.stdout +++ b/testing/regressions/_options-auth/out-ref/00080.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00100.stdout b/testing/regressions/_options-auth/out-ref/00100.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00100.stdout +++ b/testing/regressions/_options-auth/out-ref/00100.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00110.stdout b/testing/regressions/_options-auth/out-ref/00110.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00110.stdout +++ b/testing/regressions/_options-auth/out-ref/00110.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00120.stdout b/testing/regressions/_options-auth/out-ref/00120.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00120.stdout +++ b/testing/regressions/_options-auth/out-ref/00120.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00130.stdout b/testing/regressions/_options-auth/out-ref/00130.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00130.stdout +++ b/testing/regressions/_options-auth/out-ref/00130.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00150.stdout b/testing/regressions/_options-auth/out-ref/00150.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00150.stdout +++ b/testing/regressions/_options-auth/out-ref/00150.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00160.stdout b/testing/regressions/_options-auth/out-ref/00160.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00160.stdout +++ b/testing/regressions/_options-auth/out-ref/00160.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00170.stdout b/testing/regressions/_options-auth/out-ref/00170.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00170.stdout +++ b/testing/regressions/_options-auth/out-ref/00170.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00180.stdout b/testing/regressions/_options-auth/out-ref/00180.stdout index 053887d2..60947b16 100644 --- a/testing/regressions/_options-auth/out-ref/00180.stdout +++ b/testing/regressions/_options-auth/out-ref/00180.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00200.stdout b/testing/regressions/_options-auth/out-ref/00200.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00200.stdout +++ b/testing/regressions/_options-auth/out-ref/00200.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00210.stdout b/testing/regressions/_options-auth/out-ref/00210.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00210.stdout +++ b/testing/regressions/_options-auth/out-ref/00210.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00220.stdout b/testing/regressions/_options-auth/out-ref/00220.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00220.stdout +++ b/testing/regressions/_options-auth/out-ref/00220.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00230.stdout b/testing/regressions/_options-auth/out-ref/00230.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00230.stdout +++ b/testing/regressions/_options-auth/out-ref/00230.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00250.stdout b/testing/regressions/_options-auth/out-ref/00250.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00250.stdout +++ b/testing/regressions/_options-auth/out-ref/00250.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00260.stdout b/testing/regressions/_options-auth/out-ref/00260.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00260.stdout +++ b/testing/regressions/_options-auth/out-ref/00260.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00270.stdout b/testing/regressions/_options-auth/out-ref/00270.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00270.stdout +++ b/testing/regressions/_options-auth/out-ref/00270.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00280.stdout b/testing/regressions/_options-auth/out-ref/00280.stdout index c02760fa..d2fd0c1e 100644 --- a/testing/regressions/_options-auth/out-ref/00280.stdout +++ b/testing/regressions/_options-auth/out-ref/00280.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00300.stdout b/testing/regressions/_options-auth/out-ref/00300.stdout index b2620f67..40976bd3 100644 --- a/testing/regressions/_options-auth/out-ref/00300.stdout +++ b/testing/regressions/_options-auth/out-ref/00300.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00301.stdout b/testing/regressions/_options-auth/out-ref/00301.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00301.stdout +++ b/testing/regressions/_options-auth/out-ref/00301.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00310.stdout b/testing/regressions/_options-auth/out-ref/00310.stdout index 8b6e750a..c454f958 100644 --- a/testing/regressions/_options-auth/out-ref/00310.stdout +++ b/testing/regressions/_options-auth/out-ref/00310.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00311.stdout b/testing/regressions/_options-auth/out-ref/00311.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00311.stdout +++ b/testing/regressions/_options-auth/out-ref/00311.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00320.stdout b/testing/regressions/_options-auth/out-ref/00320.stdout index d2022883..95b7413f 100644 --- a/testing/regressions/_options-auth/out-ref/00320.stdout +++ b/testing/regressions/_options-auth/out-ref/00320.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00321.stdout b/testing/regressions/_options-auth/out-ref/00321.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00321.stdout +++ b/testing/regressions/_options-auth/out-ref/00321.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00330.stdout b/testing/regressions/_options-auth/out-ref/00330.stdout index 46d6f490..d36918dd 100644 --- a/testing/regressions/_options-auth/out-ref/00330.stdout +++ b/testing/regressions/_options-auth/out-ref/00330.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00331.stdout b/testing/regressions/_options-auth/out-ref/00331.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00331.stdout +++ b/testing/regressions/_options-auth/out-ref/00331.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00332.stdout b/testing/regressions/_options-auth/out-ref/00332.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00332.stdout +++ b/testing/regressions/_options-auth/out-ref/00332.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00350.stdout b/testing/regressions/_options-auth/out-ref/00350.stdout index bd6ca526..f8b1e284 100644 --- a/testing/regressions/_options-auth/out-ref/00350.stdout +++ b/testing/regressions/_options-auth/out-ref/00350.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00351.stdout b/testing/regressions/_options-auth/out-ref/00351.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00351.stdout +++ b/testing/regressions/_options-auth/out-ref/00351.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00360.stdout b/testing/regressions/_options-auth/out-ref/00360.stdout index b55b0c12..e23fbdf7 100644 --- a/testing/regressions/_options-auth/out-ref/00360.stdout +++ b/testing/regressions/_options-auth/out-ref/00360.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00361.stdout b/testing/regressions/_options-auth/out-ref/00361.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00361.stdout +++ b/testing/regressions/_options-auth/out-ref/00361.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00370.stdout b/testing/regressions/_options-auth/out-ref/00370.stdout index d2022883..95b7413f 100644 --- a/testing/regressions/_options-auth/out-ref/00370.stdout +++ b/testing/regressions/_options-auth/out-ref/00370.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00371.stdout b/testing/regressions/_options-auth/out-ref/00371.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00371.stdout +++ b/testing/regressions/_options-auth/out-ref/00371.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00380.stdout b/testing/regressions/_options-auth/out-ref/00380.stdout index 1de329ff..0c4ad2c3 100644 --- a/testing/regressions/_options-auth/out-ref/00380.stdout +++ b/testing/regressions/_options-auth/out-ref/00380.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00381.stdout b/testing/regressions/_options-auth/out-ref/00381.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00381.stdout +++ b/testing/regressions/_options-auth/out-ref/00381.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00382.stdout b/testing/regressions/_options-auth/out-ref/00382.stdout index 8da40f17..6bd98502 100644 --- a/testing/regressions/_options-auth/out-ref/00382.stdout +++ b/testing/regressions/_options-auth/out-ref/00382.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00400.stdout b/testing/regressions/_options-auth/out-ref/00400.stdout index 8ae85c97..2cdd95d9 100644 --- a/testing/regressions/_options-auth/out-ref/00400.stdout +++ b/testing/regressions/_options-auth/out-ref/00400.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00401.stdout b/testing/regressions/_options-auth/out-ref/00401.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00401.stdout +++ b/testing/regressions/_options-auth/out-ref/00401.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00410.stdout b/testing/regressions/_options-auth/out-ref/00410.stdout index d14d2a03..405e415d 100644 --- a/testing/regressions/_options-auth/out-ref/00410.stdout +++ b/testing/regressions/_options-auth/out-ref/00410.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00411.stdout b/testing/regressions/_options-auth/out-ref/00411.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00411.stdout +++ b/testing/regressions/_options-auth/out-ref/00411.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00420.stdout b/testing/regressions/_options-auth/out-ref/00420.stdout index cf4a9012..b472bf4b 100644 --- a/testing/regressions/_options-auth/out-ref/00420.stdout +++ b/testing/regressions/_options-auth/out-ref/00420.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00421.stdout b/testing/regressions/_options-auth/out-ref/00421.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00421.stdout +++ b/testing/regressions/_options-auth/out-ref/00421.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00430.stdout b/testing/regressions/_options-auth/out-ref/00430.stdout index e09b181b..3551e3f9 100644 --- a/testing/regressions/_options-auth/out-ref/00430.stdout +++ b/testing/regressions/_options-auth/out-ref/00430.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00431.stdout b/testing/regressions/_options-auth/out-ref/00431.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00431.stdout +++ b/testing/regressions/_options-auth/out-ref/00431.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00432.stdout b/testing/regressions/_options-auth/out-ref/00432.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00432.stdout +++ b/testing/regressions/_options-auth/out-ref/00432.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00450.stdout b/testing/regressions/_options-auth/out-ref/00450.stdout index d9cc61a0..5ed0eae0 100644 --- a/testing/regressions/_options-auth/out-ref/00450.stdout +++ b/testing/regressions/_options-auth/out-ref/00450.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00451.stdout b/testing/regressions/_options-auth/out-ref/00451.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00451.stdout +++ b/testing/regressions/_options-auth/out-ref/00451.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00460.stdout b/testing/regressions/_options-auth/out-ref/00460.stdout index f66c9a05..b72b61a9 100644 --- a/testing/regressions/_options-auth/out-ref/00460.stdout +++ b/testing/regressions/_options-auth/out-ref/00460.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00461.stdout b/testing/regressions/_options-auth/out-ref/00461.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00461.stdout +++ b/testing/regressions/_options-auth/out-ref/00461.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00470.stdout b/testing/regressions/_options-auth/out-ref/00470.stdout index cf4a9012..b472bf4b 100644 --- a/testing/regressions/_options-auth/out-ref/00470.stdout +++ b/testing/regressions/_options-auth/out-ref/00470.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00471.stdout b/testing/regressions/_options-auth/out-ref/00471.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00471.stdout +++ b/testing/regressions/_options-auth/out-ref/00471.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00480.stdout b/testing/regressions/_options-auth/out-ref/00480.stdout index 959bb82c..4b6a5627 100644 --- a/testing/regressions/_options-auth/out-ref/00480.stdout +++ b/testing/regressions/_options-auth/out-ref/00480.stdout @@ -6,7 +6,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00481.stdout b/testing/regressions/_options-auth/out-ref/00481.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00481.stdout +++ b/testing/regressions/_options-auth/out-ref/00481.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00482.stdout b/testing/regressions/_options-auth/out-ref/00482.stdout index 450ca9bf..c7fa465d 100644 --- a/testing/regressions/_options-auth/out-ref/00482.stdout +++ b/testing/regressions/_options-auth/out-ref/00482.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00501.stdout b/testing/regressions/_options-auth/out-ref/00501.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00501.stdout +++ b/testing/regressions/_options-auth/out-ref/00501.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00503.stdout b/testing/regressions/_options-auth/out-ref/00503.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00503.stdout +++ b/testing/regressions/_options-auth/out-ref/00503.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00511.stdout b/testing/regressions/_options-auth/out-ref/00511.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00511.stdout +++ b/testing/regressions/_options-auth/out-ref/00511.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00513.stdout b/testing/regressions/_options-auth/out-ref/00513.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00513.stdout +++ b/testing/regressions/_options-auth/out-ref/00513.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00521.stdout b/testing/regressions/_options-auth/out-ref/00521.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00521.stdout +++ b/testing/regressions/_options-auth/out-ref/00521.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00523.stdout b/testing/regressions/_options-auth/out-ref/00523.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00523.stdout +++ b/testing/regressions/_options-auth/out-ref/00523.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00531.stdout b/testing/regressions/_options-auth/out-ref/00531.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00531.stdout +++ b/testing/regressions/_options-auth/out-ref/00531.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00532.stdout b/testing/regressions/_options-auth/out-ref/00532.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00532.stdout +++ b/testing/regressions/_options-auth/out-ref/00532.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00551.stdout b/testing/regressions/_options-auth/out-ref/00551.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00551.stdout +++ b/testing/regressions/_options-auth/out-ref/00551.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00553.stdout b/testing/regressions/_options-auth/out-ref/00553.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00553.stdout +++ b/testing/regressions/_options-auth/out-ref/00553.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00561.stdout b/testing/regressions/_options-auth/out-ref/00561.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00561.stdout +++ b/testing/regressions/_options-auth/out-ref/00561.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00563.stdout b/testing/regressions/_options-auth/out-ref/00563.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00563.stdout +++ b/testing/regressions/_options-auth/out-ref/00563.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00571.stdout b/testing/regressions/_options-auth/out-ref/00571.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00571.stdout +++ b/testing/regressions/_options-auth/out-ref/00571.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00573.stdout b/testing/regressions/_options-auth/out-ref/00573.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00573.stdout +++ b/testing/regressions/_options-auth/out-ref/00573.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00581.stdout b/testing/regressions/_options-auth/out-ref/00581.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00581.stdout +++ b/testing/regressions/_options-auth/out-ref/00581.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00582.stdout b/testing/regressions/_options-auth/out-ref/00582.stdout index f713ae8f..0ce8f102 100644 --- a/testing/regressions/_options-auth/out-ref/00582.stdout +++ b/testing/regressions/_options-auth/out-ref/00582.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DMD5-HOST=foo.bar.com, REALM=foo.com type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00601.stdout b/testing/regressions/_options-auth/out-ref/00601.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00601.stdout +++ b/testing/regressions/_options-auth/out-ref/00601.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00603.stdout b/testing/regressions/_options-auth/out-ref/00603.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00603.stdout +++ b/testing/regressions/_options-auth/out-ref/00603.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00611.stdout b/testing/regressions/_options-auth/out-ref/00611.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00611.stdout +++ b/testing/regressions/_options-auth/out-ref/00611.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00613.stdout b/testing/regressions/_options-auth/out-ref/00613.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00613.stdout +++ b/testing/regressions/_options-auth/out-ref/00613.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00621.stdout b/testing/regressions/_options-auth/out-ref/00621.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00621.stdout +++ b/testing/regressions/_options-auth/out-ref/00621.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00623.stdout b/testing/regressions/_options-auth/out-ref/00623.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00623.stdout +++ b/testing/regressions/_options-auth/out-ref/00623.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00631.stdout b/testing/regressions/_options-auth/out-ref/00631.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00631.stdout +++ b/testing/regressions/_options-auth/out-ref/00631.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00632.stdout b/testing/regressions/_options-auth/out-ref/00632.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00632.stdout +++ b/testing/regressions/_options-auth/out-ref/00632.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00651.stdout b/testing/regressions/_options-auth/out-ref/00651.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00651.stdout +++ b/testing/regressions/_options-auth/out-ref/00651.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00653.stdout b/testing/regressions/_options-auth/out-ref/00653.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00653.stdout +++ b/testing/regressions/_options-auth/out-ref/00653.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00661.stdout b/testing/regressions/_options-auth/out-ref/00661.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00661.stdout +++ b/testing/regressions/_options-auth/out-ref/00661.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00663.stdout b/testing/regressions/_options-auth/out-ref/00663.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00663.stdout +++ b/testing/regressions/_options-auth/out-ref/00663.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00671.stdout b/testing/regressions/_options-auth/out-ref/00671.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00671.stdout +++ b/testing/regressions/_options-auth/out-ref/00671.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00673.stdout b/testing/regressions/_options-auth/out-ref/00673.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00673.stdout +++ b/testing/regressions/_options-auth/out-ref/00673.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00681.stdout b/testing/regressions/_options-auth/out-ref/00681.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00681.stdout +++ b/testing/regressions/_options-auth/out-ref/00681.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00682.stdout b/testing/regressions/_options-auth/out-ref/00682.stdout index 0c294776..522b7f49 100644 --- a/testing/regressions/_options-auth/out-ref/00682.stdout +++ b/testing/regressions/_options-auth/out-ref/00682.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, FOO, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = BAR = FOO CRAM-MD5 = CRAM-MD5 diff --git a/testing/regressions/_options-auth/out-ref/00700.stdout b/testing/regressions/_options-auth/out-ref/00700.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00700.stdout +++ b/testing/regressions/_options-auth/out-ref/00700.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00703.stdout b/testing/regressions/_options-auth/out-ref/00703.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00703.stdout +++ b/testing/regressions/_options-auth/out-ref/00703.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00710.stdout b/testing/regressions/_options-auth/out-ref/00710.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00710.stdout +++ b/testing/regressions/_options-auth/out-ref/00710.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00713.stdout b/testing/regressions/_options-auth/out-ref/00713.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00713.stdout +++ b/testing/regressions/_options-auth/out-ref/00713.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00720.stdout b/testing/regressions/_options-auth/out-ref/00720.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00720.stdout +++ b/testing/regressions/_options-auth/out-ref/00720.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00723.stdout b/testing/regressions/_options-auth/out-ref/00723.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00723.stdout +++ b/testing/regressions/_options-auth/out-ref/00723.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00730.stdout b/testing/regressions/_options-auth/out-ref/00730.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00730.stdout +++ b/testing/regressions/_options-auth/out-ref/00730.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00750.stdout b/testing/regressions/_options-auth/out-ref/00750.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00750.stdout +++ b/testing/regressions/_options-auth/out-ref/00750.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00753.stdout b/testing/regressions/_options-auth/out-ref/00753.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00753.stdout +++ b/testing/regressions/_options-auth/out-ref/00753.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00760.stdout b/testing/regressions/_options-auth/out-ref/00760.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00760.stdout +++ b/testing/regressions/_options-auth/out-ref/00760.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00763.stdout b/testing/regressions/_options-auth/out-ref/00763.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00763.stdout +++ b/testing/regressions/_options-auth/out-ref/00763.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00770.stdout b/testing/regressions/_options-auth/out-ref/00770.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00770.stdout +++ b/testing/regressions/_options-auth/out-ref/00770.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00773.stdout b/testing/regressions/_options-auth/out-ref/00773.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00773.stdout +++ b/testing/regressions/_options-auth/out-ref/00773.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00780.stdout b/testing/regressions/_options-auth/out-ref/00780.stdout index 16f78dea..ca0dbb52 100644 --- a/testing/regressions/_options-auth/out-ref/00780.stdout +++ b/testing/regressions/_options-auth/out-ref/00780.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = TRUE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00800.stdout b/testing/regressions/_options-auth/out-ref/00800.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00800.stdout +++ b/testing/regressions/_options-auth/out-ref/00800.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00801.stdout b/testing/regressions/_options-auth/out-ref/00801.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00801.stdout +++ b/testing/regressions/_options-auth/out-ref/00801.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00803.stdout b/testing/regressions/_options-auth/out-ref/00803.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00803.stdout +++ b/testing/regressions/_options-auth/out-ref/00803.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00810.stdout b/testing/regressions/_options-auth/out-ref/00810.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00810.stdout +++ b/testing/regressions/_options-auth/out-ref/00810.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00811.stdout b/testing/regressions/_options-auth/out-ref/00811.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00811.stdout +++ b/testing/regressions/_options-auth/out-ref/00811.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00813.stdout b/testing/regressions/_options-auth/out-ref/00813.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00813.stdout +++ b/testing/regressions/_options-auth/out-ref/00813.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00820.stdout b/testing/regressions/_options-auth/out-ref/00820.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00820.stdout +++ b/testing/regressions/_options-auth/out-ref/00820.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00821.stdout b/testing/regressions/_options-auth/out-ref/00821.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00821.stdout +++ b/testing/regressions/_options-auth/out-ref/00821.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00823.stdout b/testing/regressions/_options-auth/out-ref/00823.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00823.stdout +++ b/testing/regressions/_options-auth/out-ref/00823.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00830.stdout b/testing/regressions/_options-auth/out-ref/00830.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00830.stdout +++ b/testing/regressions/_options-auth/out-ref/00830.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00831.stdout b/testing/regressions/_options-auth/out-ref/00831.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00831.stdout +++ b/testing/regressions/_options-auth/out-ref/00831.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00832.stdout b/testing/regressions/_options-auth/out-ref/00832.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00832.stdout +++ b/testing/regressions/_options-auth/out-ref/00832.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00850.stdout b/testing/regressions/_options-auth/out-ref/00850.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00850.stdout +++ b/testing/regressions/_options-auth/out-ref/00850.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00851.stdout b/testing/regressions/_options-auth/out-ref/00851.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00851.stdout +++ b/testing/regressions/_options-auth/out-ref/00851.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00853.stdout b/testing/regressions/_options-auth/out-ref/00853.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00853.stdout +++ b/testing/regressions/_options-auth/out-ref/00853.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00860.stdout b/testing/regressions/_options-auth/out-ref/00860.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00860.stdout +++ b/testing/regressions/_options-auth/out-ref/00860.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00861.stdout b/testing/regressions/_options-auth/out-ref/00861.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00861.stdout +++ b/testing/regressions/_options-auth/out-ref/00861.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00863.stdout b/testing/regressions/_options-auth/out-ref/00863.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00863.stdout +++ b/testing/regressions/_options-auth/out-ref/00863.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00870.stdout b/testing/regressions/_options-auth/out-ref/00870.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00870.stdout +++ b/testing/regressions/_options-auth/out-ref/00870.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00871.stdout b/testing/regressions/_options-auth/out-ref/00871.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00871.stdout +++ b/testing/regressions/_options-auth/out-ref/00871.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00873.stdout b/testing/regressions/_options-auth/out-ref/00873.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/00873.stdout +++ b/testing/regressions/_options-auth/out-ref/00873.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00880.stdout b/testing/regressions/_options-auth/out-ref/00880.stdout index 9299f642..a25ed838 100644 --- a/testing/regressions/_options-auth/out-ref/00880.stdout +++ b/testing/regressions/_options-auth/out-ref/00880.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = PROVIDED_BUT_REMOVED - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00881.stdout b/testing/regressions/_options-auth/out-ref/00881.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00881.stdout +++ b/testing/regressions/_options-auth/out-ref/00881.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/00882.stdout b/testing/regressions/_options-auth/out-ref/00882.stdout index 7ee66504..8a3dac4f 100644 --- a/testing/regressions/_options-auth/out-ref/00882.stdout +++ b/testing/regressions/_options-auth/out-ref/00882.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = CUSTOM_STRING - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05000.stderr b/testing/regressions/_options-auth/out-ref/05000.stderr index 379334b5..e69de29b 100644 --- a/testing/regressions/_options-auth/out-ref/05000.stderr +++ b/testing/regressions/_options-auth/out-ref/05000.stderr @@ -1,3 +0,0 @@ -*** AUTH NTLM not available: requires Authen::NTLM -*** AUTH NTLM not available: requires Authen::NTLM -*** AUTH NTLM not available: requires Authen::NTLM diff --git a/testing/regressions/_options-auth/out-ref/05000.stdout b/testing/regressions/_options-auth/out-ref/05000.stdout index b7cb7aad..7946bfca 100644 --- a/testing/regressions/_options-auth/out-ref/05000.stdout +++ b/testing/regressions/_options-auth/out-ref/05000.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = LOGIN, PLAIN, CRAM-MD5, DIGEST-MD5, CRAM-SHA1 + allowed types = LOGIN, PLAIN, CRAM-MD5, DIGEST-MD5, CRAM-SHA1, NTLM, SPA, MSN extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05001.stdout b/testing/regressions/_options-auth/out-ref/05001.stdout index 762fc36a..988e3832 100644 --- a/testing/regressions/_options-auth/out-ref/05001.stdout +++ b/testing/regressions/_options-auth/out-ref/05001.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05002.stdout b/testing/regressions/_options-auth/out-ref/05002.stdout index 629950ec..5f468dc2 100644 --- a/testing/regressions/_options-auth/out-ref/05002.stdout +++ b/testing/regressions/_options-auth/out-ref/05002.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DOMAIN=foo.nodns.test.swaks.net, REALM=foo.nodns.test.swaks.net type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05003.stdout b/testing/regressions/_options-auth/out-ref/05003.stdout index 629950ec..5f468dc2 100644 --- a/testing/regressions/_options-auth/out-ref/05003.stdout +++ b/testing/regressions/_options-auth/out-ref/05003.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'PASS' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = DOMAIN=foo.nodns.test.swaks.net, REALM=foo.nodns.test.swaks.net type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00100.stdout b/testing/regressions/_options-data/out-ref/00100.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00100.stdout +++ b/testing/regressions/_options-data/out-ref/00100.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00101.stdout b/testing/regressions/_options-data/out-ref/00101.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00101.stdout +++ b/testing/regressions/_options-data/out-ref/00101.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00110.stdout b/testing/regressions/_options-data/out-ref/00110.stdout index 26fbf417..a8ce7543 100644 --- a/testing/regressions/_options-data/out-ref/00110.stdout +++ b/testing/regressions/_options-data/out-ref/00110.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00111.stdout b/testing/regressions/_options-data/out-ref/00111.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00111.stdout +++ b/testing/regressions/_options-data/out-ref/00111.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00120.stdout b/testing/regressions/_options-data/out-ref/00120.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00120.stdout +++ b/testing/regressions/_options-data/out-ref/00120.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00121.stdout b/testing/regressions/_options-data/out-ref/00121.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00121.stdout +++ b/testing/regressions/_options-data/out-ref/00121.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00130.stdout b/testing/regressions/_options-data/out-ref/00130.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00130.stdout +++ b/testing/regressions/_options-data/out-ref/00130.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00131.stdout b/testing/regressions/_options-data/out-ref/00131.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00131.stdout +++ b/testing/regressions/_options-data/out-ref/00131.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00132.stdout b/testing/regressions/_options-data/out-ref/00132.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00132.stdout +++ b/testing/regressions/_options-data/out-ref/00132.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00150.stdout b/testing/regressions/_options-data/out-ref/00150.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00150.stdout +++ b/testing/regressions/_options-data/out-ref/00150.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00151.stdout b/testing/regressions/_options-data/out-ref/00151.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00151.stdout +++ b/testing/regressions/_options-data/out-ref/00151.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00160.stdout b/testing/regressions/_options-data/out-ref/00160.stdout index ea4b7d54..141fc895 100644 --- a/testing/regressions/_options-data/out-ref/00160.stdout +++ b/testing/regressions/_options-data/out-ref/00160.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00161.stdout b/testing/regressions/_options-data/out-ref/00161.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00161.stdout +++ b/testing/regressions/_options-data/out-ref/00161.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00170.stdout b/testing/regressions/_options-data/out-ref/00170.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00170.stdout +++ b/testing/regressions/_options-data/out-ref/00170.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00171.stdout b/testing/regressions/_options-data/out-ref/00171.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00171.stdout +++ b/testing/regressions/_options-data/out-ref/00171.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00180.stdout b/testing/regressions/_options-data/out-ref/00180.stdout index 7d977925..e24217b0 100644 --- a/testing/regressions/_options-data/out-ref/00180.stdout +++ b/testing/regressions/_options-data/out-ref/00180.stdout @@ -66,7 +66,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00181.stdout b/testing/regressions/_options-data/out-ref/00181.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00181.stdout +++ b/testing/regressions/_options-data/out-ref/00181.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00182.stdout b/testing/regressions/_options-data/out-ref/00182.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00182.stdout +++ b/testing/regressions/_options-data/out-ref/00182.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00200.stdout b/testing/regressions/_options-data/out-ref/00200.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00200.stdout +++ b/testing/regressions/_options-data/out-ref/00200.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00203.stdout b/testing/regressions/_options-data/out-ref/00203.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00203.stdout +++ b/testing/regressions/_options-data/out-ref/00203.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00210.stdout b/testing/regressions/_options-data/out-ref/00210.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00210.stdout +++ b/testing/regressions/_options-data/out-ref/00210.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00213.stdout b/testing/regressions/_options-data/out-ref/00213.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00213.stdout +++ b/testing/regressions/_options-data/out-ref/00213.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00220.stdout b/testing/regressions/_options-data/out-ref/00220.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00220.stdout +++ b/testing/regressions/_options-data/out-ref/00220.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00223.stdout b/testing/regressions/_options-data/out-ref/00223.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00223.stdout +++ b/testing/regressions/_options-data/out-ref/00223.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00230.stdout b/testing/regressions/_options-data/out-ref/00230.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00230.stdout +++ b/testing/regressions/_options-data/out-ref/00230.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00250.stdout b/testing/regressions/_options-data/out-ref/00250.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00250.stdout +++ b/testing/regressions/_options-data/out-ref/00250.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00253.stdout b/testing/regressions/_options-data/out-ref/00253.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00253.stdout +++ b/testing/regressions/_options-data/out-ref/00253.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00260.stdout b/testing/regressions/_options-data/out-ref/00260.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00260.stdout +++ b/testing/regressions/_options-data/out-ref/00260.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00263.stdout b/testing/regressions/_options-data/out-ref/00263.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00263.stdout +++ b/testing/regressions/_options-data/out-ref/00263.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00270.stdout b/testing/regressions/_options-data/out-ref/00270.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00270.stdout +++ b/testing/regressions/_options-data/out-ref/00270.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00273.stdout b/testing/regressions/_options-data/out-ref/00273.stdout index a6cf1971..cf2124da 100644 --- a/testing/regressions/_options-data/out-ref/00273.stdout +++ b/testing/regressions/_options-data/out-ref/00273.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'PROVIDED_BUT_REMOVED' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-data/out-ref/00280.stdout b/testing/regressions/_options-data/out-ref/00280.stdout index 886959d4..62b89a89 100644 --- a/testing/regressions/_options-data/out-ref/00280.stdout +++ b/testing/regressions/_options-data/out-ref/00280.stdout @@ -13,7 +13,7 @@ Authentication Info: password = 'auth_pass' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-output/out-ref/01200.stderr b/testing/regressions/_options-output/out-ref/01200.stderr index 161b8d9a..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01200.stderr +++ b/testing/regressions/_options-output/out-ref/01200.stderr @@ -1 +0,0 @@ -*** AUTH NTLM not available: requires Authen::NTLM diff --git a/testing/regressions/_options-output/out-ref/01200.stdout b/testing/regressions/_options-output/out-ref/01200.stdout index 8b2cb418..dc0a7e81 100644 --- a/testing/regressions/_options-output/out-ref/01200.stdout +++ b/testing/regressions/_options-output/out-ref/01200.stdout @@ -1,6 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01210.stderr b/testing/regressions/_options-output/out-ref/01210.stderr index 161b8d9a..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01210.stderr +++ b/testing/regressions/_options-output/out-ref/01210.stderr @@ -1 +0,0 @@ -*** AUTH NTLM not available: requires Authen::NTLM diff --git a/testing/regressions/_options-output/out-ref/01210.stdout b/testing/regressions/_options-output/out-ref/01210.stdout index 8b2cb418..dc0a7e81 100644 --- a/testing/regressions/_options-output/out-ref/01210.stdout +++ b/testing/regressions/_options-output/out-ref/01210.stdout @@ -1,6 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01220.stderr b/testing/regressions/_options-output/out-ref/01220.stderr index 161b8d9a..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01220.stderr +++ b/testing/regressions/_options-output/out-ref/01220.stderr @@ -1 +0,0 @@ -*** AUTH NTLM not available: requires Authen::NTLM diff --git a/testing/regressions/_options-output/out-ref/01220.stdout b/testing/regressions/_options-output/out-ref/01220.stdout index 8b2cb418..dc0a7e81 100644 --- a/testing/regressions/_options-output/out-ref/01220.stdout +++ b/testing/regressions/_options-output/out-ref/01220.stdout @@ -1,6 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01230.stderr b/testing/regressions/_options-output/out-ref/01230.stderr index 161b8d9a..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01230.stderr +++ b/testing/regressions/_options-output/out-ref/01230.stderr @@ -1 +0,0 @@ -*** AUTH NTLM not available: requires Authen::NTLM diff --git a/testing/regressions/_options-output/out-ref/01230.stdout b/testing/regressions/_options-output/out-ref/01230.stdout index 8b2cb418..dc0a7e81 100644 --- a/testing/regressions/_options-output/out-ref/01230.stdout +++ b/testing/regressions/_options-output/out-ref/01230.stdout @@ -1,6 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01350.stdout b/testing/regressions/_options-output/out-ref/01350.stdout index b24cf258..e3119643 100644 --- a/testing/regressions/_options-output/out-ref/01350.stdout +++ b/testing/regressions/_options-output/out-ref/01350.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01360.stdout b/testing/regressions/_options-output/out-ref/01360.stdout index 0c7eae01..fbbf64eb 100644 --- a/testing/regressions/_options-output/out-ref/01360.stdout +++ b/testing/regressions/_options-output/out-ref/01360.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01370.stdout b/testing/regressions/_options-output/out-ref/01370.stdout index b24cf258..e3119643 100644 --- a/testing/regressions/_options-output/out-ref/01370.stdout +++ b/testing/regressions/_options-output/out-ref/01370.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-output/out-ref/01380.stdout b/testing/regressions/_options-output/out-ref/01380.stdout index b24cf258..e3119643 100644 --- a/testing/regressions/_options-output/out-ref/01380.stdout +++ b/testing/regressions/_options-output/out-ref/01380.stdout @@ -1,7 +1,7 @@ === AUTH CRAM-MD5 supported === AUTH CRAM-SHA1 supported === AUTH DIGEST-MD5 supported -*** AUTH NTLM not available: requires Authen::NTLM +=== AUTH NTLM supported === Basic AUTH supported === Date Manipulation supported === High Resolution Timing supported diff --git a/testing/regressions/_options-protocol/out-ref/05401.stdout b/testing/regressions/_options-protocol/out-ref/05401.stdout index 41dce152..a8cf330e 100644 --- a/testing/regressions/_options-protocol/out-ref/05401.stdout +++ b/testing/regressions/_options-protocol/out-ref/05401.stdout @@ -30,5 +30,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-protocol/out-ref/05402.stdout b/testing/regressions/_options-protocol/out-ref/05402.stdout index 47da7146..e50bf3f6 100644 --- a/testing/regressions/_options-protocol/out-ref/05402.stdout +++ b/testing/regressions/_options-protocol/out-ref/05402.stdout @@ -33,7 +33,7 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = Authentication Info: @@ -42,7 +42,7 @@ Authentication Info: password = 'test-password' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-protocol/out-ref/05403.stdout b/testing/regressions/_options-protocol/out-ref/05403.stdout index 76e4d928..098519bd 100644 --- a/testing/regressions/_options-protocol/out-ref/05403.stdout +++ b/testing/regressions/_options-protocol/out-ref/05403.stdout @@ -30,5 +30,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-protocol/out-ref/05405.stdout b/testing/regressions/_options-protocol/out-ref/05405.stdout index 8e72fd69..46df1844 100644 --- a/testing/regressions/_options-protocol/out-ref/05405.stdout +++ b/testing/regressions/_options-protocol/out-ref/05405.stdout @@ -33,7 +33,7 @@ Authentication Info: password = 'test-password' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-protocol/out-ref/05406.stdout b/testing/regressions/_options-protocol/out-ref/05406.stdout index b90deb0c..61a47571 100644 --- a/testing/regressions/_options-protocol/out-ref/05406.stdout +++ b/testing/regressions/_options-protocol/out-ref/05406.stdout @@ -30,5 +30,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-protocol/out-ref/05407.stdout b/testing/regressions/_options-protocol/out-ref/05407.stdout index 9e34c20f..56f391ee 100644 --- a/testing/regressions/_options-protocol/out-ref/05407.stdout +++ b/testing/regressions/_options-protocol/out-ref/05407.stdout @@ -33,7 +33,7 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = Authentication Info: @@ -42,7 +42,7 @@ Authentication Info: password = 'test-password' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-protocol/out-ref/05409.stdout b/testing/regressions/_options-protocol/out-ref/05409.stdout index 03086658..524a6df4 100644 --- a/testing/regressions/_options-protocol/out-ref/05409.stdout +++ b/testing/regressions/_options-protocol/out-ref/05409.stdout @@ -33,7 +33,7 @@ Authentication Info: password = 'test-password' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-protocol/out-ref/05410.stdout b/testing/regressions/_options-protocol/out-ref/05410.stdout index f95b0123..424f5bfe 100644 --- a/testing/regressions/_options-protocol/out-ref/05410.stdout +++ b/testing/regressions/_options-protocol/out-ref/05410.stdout @@ -30,5 +30,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-protocol/out-ref/05411.stdout b/testing/regressions/_options-protocol/out-ref/05411.stdout index ea7d809b..a36067db 100644 --- a/testing/regressions/_options-protocol/out-ref/05411.stdout +++ b/testing/regressions/_options-protocol/out-ref/05411.stdout @@ -33,7 +33,7 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = Authentication Info: @@ -42,7 +42,7 @@ Authentication Info: password = 'test-password' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-tls/out-ref/00000.stdout b/testing/regressions/_options-tls/out-ref/00000.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00000.stdout +++ b/testing/regressions/_options-tls/out-ref/00000.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00010.stdout b/testing/regressions/_options-tls/out-ref/00010.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00010.stdout +++ b/testing/regressions/_options-tls/out-ref/00010.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00020.stdout b/testing/regressions/_options-tls/out-ref/00020.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00020.stdout +++ b/testing/regressions/_options-tls/out-ref/00020.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00030.stdout b/testing/regressions/_options-tls/out-ref/00030.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00030.stdout +++ b/testing/regressions/_options-tls/out-ref/00030.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00100.stdout b/testing/regressions/_options-tls/out-ref/00100.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00100.stdout +++ b/testing/regressions/_options-tls/out-ref/00100.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00110.stdout b/testing/regressions/_options-tls/out-ref/00110.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00110.stdout +++ b/testing/regressions/_options-tls/out-ref/00110.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00120.stdout b/testing/regressions/_options-tls/out-ref/00120.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00120.stdout +++ b/testing/regressions/_options-tls/out-ref/00120.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00130.stdout b/testing/regressions/_options-tls/out-ref/00130.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00130.stdout +++ b/testing/regressions/_options-tls/out-ref/00130.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00150.stdout b/testing/regressions/_options-tls/out-ref/00150.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00150.stdout +++ b/testing/regressions/_options-tls/out-ref/00150.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00160.stdout b/testing/regressions/_options-tls/out-ref/00160.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00160.stdout +++ b/testing/regressions/_options-tls/out-ref/00160.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00170.stdout b/testing/regressions/_options-tls/out-ref/00170.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00170.stdout +++ b/testing/regressions/_options-tls/out-ref/00170.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00180.stdout b/testing/regressions/_options-tls/out-ref/00180.stdout index 76769c23..b2072c8e 100644 --- a/testing/regressions/_options-tls/out-ref/00180.stdout +++ b/testing/regressions/_options-tls/out-ref/00180.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00200.stdout b/testing/regressions/_options-tls/out-ref/00200.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00200.stdout +++ b/testing/regressions/_options-tls/out-ref/00200.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00210.stdout b/testing/regressions/_options-tls/out-ref/00210.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00210.stdout +++ b/testing/regressions/_options-tls/out-ref/00210.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00220.stdout b/testing/regressions/_options-tls/out-ref/00220.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00220.stdout +++ b/testing/regressions/_options-tls/out-ref/00220.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00230.stdout b/testing/regressions/_options-tls/out-ref/00230.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00230.stdout +++ b/testing/regressions/_options-tls/out-ref/00230.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00250.stdout b/testing/regressions/_options-tls/out-ref/00250.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00250.stdout +++ b/testing/regressions/_options-tls/out-ref/00250.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00260.stdout b/testing/regressions/_options-tls/out-ref/00260.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00260.stdout +++ b/testing/regressions/_options-tls/out-ref/00260.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00270.stdout b/testing/regressions/_options-tls/out-ref/00270.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00270.stdout +++ b/testing/regressions/_options-tls/out-ref/00270.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00280.stdout b/testing/regressions/_options-tls/out-ref/00280.stdout index 9e4dd3fd..35e1c5d0 100644 --- a/testing/regressions/_options-tls/out-ref/00280.stdout +++ b/testing/regressions/_options-tls/out-ref/00280.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00300.stdout b/testing/regressions/_options-tls/out-ref/00300.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00300.stdout +++ b/testing/regressions/_options-tls/out-ref/00300.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00310.stdout b/testing/regressions/_options-tls/out-ref/00310.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00310.stdout +++ b/testing/regressions/_options-tls/out-ref/00310.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00320.stdout b/testing/regressions/_options-tls/out-ref/00320.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00320.stdout +++ b/testing/regressions/_options-tls/out-ref/00320.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00330.stdout b/testing/regressions/_options-tls/out-ref/00330.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00330.stdout +++ b/testing/regressions/_options-tls/out-ref/00330.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00350.stdout b/testing/regressions/_options-tls/out-ref/00350.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00350.stdout +++ b/testing/regressions/_options-tls/out-ref/00350.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00360.stdout b/testing/regressions/_options-tls/out-ref/00360.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00360.stdout +++ b/testing/regressions/_options-tls/out-ref/00360.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00370.stdout b/testing/regressions/_options-tls/out-ref/00370.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00370.stdout +++ b/testing/regressions/_options-tls/out-ref/00370.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00380.stdout b/testing/regressions/_options-tls/out-ref/00380.stdout index 35107449..70134587 100644 --- a/testing/regressions/_options-tls/out-ref/00380.stdout +++ b/testing/regressions/_options-tls/out-ref/00380.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00401.stdout b/testing/regressions/_options-tls/out-ref/00401.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00401.stdout +++ b/testing/regressions/_options-tls/out-ref/00401.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00403.stdout b/testing/regressions/_options-tls/out-ref/00403.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00403.stdout +++ b/testing/regressions/_options-tls/out-ref/00403.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00411.stdout b/testing/regressions/_options-tls/out-ref/00411.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00411.stdout +++ b/testing/regressions/_options-tls/out-ref/00411.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00413.stdout b/testing/regressions/_options-tls/out-ref/00413.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00413.stdout +++ b/testing/regressions/_options-tls/out-ref/00413.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00421.stdout b/testing/regressions/_options-tls/out-ref/00421.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00421.stdout +++ b/testing/regressions/_options-tls/out-ref/00421.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00423.stdout b/testing/regressions/_options-tls/out-ref/00423.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00423.stdout +++ b/testing/regressions/_options-tls/out-ref/00423.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00431.stdout b/testing/regressions/_options-tls/out-ref/00431.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00431.stdout +++ b/testing/regressions/_options-tls/out-ref/00431.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00432.stdout b/testing/regressions/_options-tls/out-ref/00432.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00432.stdout +++ b/testing/regressions/_options-tls/out-ref/00432.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00451.stdout b/testing/regressions/_options-tls/out-ref/00451.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00451.stdout +++ b/testing/regressions/_options-tls/out-ref/00451.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00453.stdout b/testing/regressions/_options-tls/out-ref/00453.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00453.stdout +++ b/testing/regressions/_options-tls/out-ref/00453.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00461.stdout b/testing/regressions/_options-tls/out-ref/00461.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00461.stdout +++ b/testing/regressions/_options-tls/out-ref/00461.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00463.stdout b/testing/regressions/_options-tls/out-ref/00463.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00463.stdout +++ b/testing/regressions/_options-tls/out-ref/00463.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00471.stdout b/testing/regressions/_options-tls/out-ref/00471.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00471.stdout +++ b/testing/regressions/_options-tls/out-ref/00471.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00473.stdout b/testing/regressions/_options-tls/out-ref/00473.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00473.stdout +++ b/testing/regressions/_options-tls/out-ref/00473.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00481.stdout b/testing/regressions/_options-tls/out-ref/00481.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00481.stdout +++ b/testing/regressions/_options-tls/out-ref/00481.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00482.stdout b/testing/regressions/_options-tls/out-ref/00482.stdout index 7c4f0eeb..73b14acf 100644 --- a/testing/regressions/_options-tls/out-ref/00482.stdout +++ b/testing/regressions/_options-tls/out-ref/00482.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = tlsv1_1, tlsv1_2 diff --git a/testing/regressions/_options-tls/out-ref/00501.stdout b/testing/regressions/_options-tls/out-ref/00501.stdout index c0eebd6a..a7fdb414 100644 --- a/testing/regressions/_options-tls/out-ref/00501.stdout +++ b/testing/regressions/_options-tls/out-ref/00501.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00503.stdout b/testing/regressions/_options-tls/out-ref/00503.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00503.stdout +++ b/testing/regressions/_options-tls/out-ref/00503.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00511.stdout b/testing/regressions/_options-tls/out-ref/00511.stdout index c0eebd6a..a7fdb414 100644 --- a/testing/regressions/_options-tls/out-ref/00511.stdout +++ b/testing/regressions/_options-tls/out-ref/00511.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00513.stdout b/testing/regressions/_options-tls/out-ref/00513.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00513.stdout +++ b/testing/regressions/_options-tls/out-ref/00513.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00521.stdout b/testing/regressions/_options-tls/out-ref/00521.stdout index c0eebd6a..a7fdb414 100644 --- a/testing/regressions/_options-tls/out-ref/00521.stdout +++ b/testing/regressions/_options-tls/out-ref/00521.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00523.stdout b/testing/regressions/_options-tls/out-ref/00523.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00523.stdout +++ b/testing/regressions/_options-tls/out-ref/00523.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00531.stdout b/testing/regressions/_options-tls/out-ref/00531.stdout index c0eebd6a..a7fdb414 100644 --- a/testing/regressions/_options-tls/out-ref/00531.stdout +++ b/testing/regressions/_options-tls/out-ref/00531.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00532.stdout b/testing/regressions/_options-tls/out-ref/00532.stdout index c0eebd6a..a7fdb414 100644 --- a/testing/regressions/_options-tls/out-ref/00532.stdout +++ b/testing/regressions/_options-tls/out-ref/00532.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00550.stdout b/testing/regressions/_options-tls/out-ref/00550.stdout index 7a24d050..3216684e 100644 --- a/testing/regressions/_options-tls/out-ref/00550.stdout +++ b/testing/regressions/_options-tls/out-ref/00550.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = TRUE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00553.stdout b/testing/regressions/_options-tls/out-ref/00553.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00553.stdout +++ b/testing/regressions/_options-tls/out-ref/00553.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00560.stdout b/testing/regressions/_options-tls/out-ref/00560.stdout index 7a24d050..3216684e 100644 --- a/testing/regressions/_options-tls/out-ref/00560.stdout +++ b/testing/regressions/_options-tls/out-ref/00560.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = TRUE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00563.stdout b/testing/regressions/_options-tls/out-ref/00563.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00563.stdout +++ b/testing/regressions/_options-tls/out-ref/00563.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00570.stdout b/testing/regressions/_options-tls/out-ref/00570.stdout index 7a24d050..3216684e 100644 --- a/testing/regressions/_options-tls/out-ref/00570.stdout +++ b/testing/regressions/_options-tls/out-ref/00570.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = TRUE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00573.stdout b/testing/regressions/_options-tls/out-ref/00573.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00573.stdout +++ b/testing/regressions/_options-tls/out-ref/00573.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00580.stdout b/testing/regressions/_options-tls/out-ref/00580.stdout index 7a24d050..3216684e 100644 --- a/testing/regressions/_options-tls/out-ref/00580.stdout +++ b/testing/regressions/_options-tls/out-ref/00580.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = TRUE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00601.stdout b/testing/regressions/_options-tls/out-ref/00601.stdout index 5d02a243..d9848d05 100644 --- a/testing/regressions/_options-tls/out-ref/00601.stdout +++ b/testing/regressions/_options-tls/out-ref/00601.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/00601.test sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00603.stdout b/testing/regressions/_options-tls/out-ref/00603.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00603.stdout +++ b/testing/regressions/_options-tls/out-ref/00603.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00611.stdout b/testing/regressions/_options-tls/out-ref/00611.stdout index a5351296..85aa0753 100644 --- a/testing/regressions/_options-tls/out-ref/00611.stdout +++ b/testing/regressions/_options-tls/out-ref/00611.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/00611.test sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00613.stdout b/testing/regressions/_options-tls/out-ref/00613.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00613.stdout +++ b/testing/regressions/_options-tls/out-ref/00613.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00621.stdout b/testing/regressions/_options-tls/out-ref/00621.stdout index 52079f6c..0bab4ba4 100644 --- a/testing/regressions/_options-tls/out-ref/00621.stdout +++ b/testing/regressions/_options-tls/out-ref/00621.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/00621.test sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00623.stdout b/testing/regressions/_options-tls/out-ref/00623.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00623.stdout +++ b/testing/regressions/_options-tls/out-ref/00623.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00631.stdout b/testing/regressions/_options-tls/out-ref/00631.stdout index 970aab7a..918d870f 100644 --- a/testing/regressions/_options-tls/out-ref/00631.stdout +++ b/testing/regressions/_options-tls/out-ref/00631.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/00631.test sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00632.stdout b/testing/regressions/_options-tls/out-ref/00632.stdout index c23ec3c2..7d8ed97e 100644 --- a/testing/regressions/_options-tls/out-ref/00632.stdout +++ b/testing/regressions/_options-tls/out-ref/00632.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = /path/to/TESTDIR/00632.test sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00650.stdout b/testing/regressions/_options-tls/out-ref/00650.stdout index 80c96a34..a04c3a9e 100644 --- a/testing/regressions/_options-tls/out-ref/00650.stdout +++ b/testing/regressions/_options-tls/out-ref/00650.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00651.stdout b/testing/regressions/_options-tls/out-ref/00651.stdout index 33236e51..63fb509f 100644 --- a/testing/regressions/_options-tls/out-ref/00651.stdout +++ b/testing/regressions/_options-tls/out-ref/00651.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00653.stdout b/testing/regressions/_options-tls/out-ref/00653.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00653.stdout +++ b/testing/regressions/_options-tls/out-ref/00653.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00660.stdout b/testing/regressions/_options-tls/out-ref/00660.stdout index 80c96a34..a04c3a9e 100644 --- a/testing/regressions/_options-tls/out-ref/00660.stdout +++ b/testing/regressions/_options-tls/out-ref/00660.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00661.stdout b/testing/regressions/_options-tls/out-ref/00661.stdout index 33236e51..63fb509f 100644 --- a/testing/regressions/_options-tls/out-ref/00661.stdout +++ b/testing/regressions/_options-tls/out-ref/00661.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00663.stdout b/testing/regressions/_options-tls/out-ref/00663.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00663.stdout +++ b/testing/regressions/_options-tls/out-ref/00663.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00670.stdout b/testing/regressions/_options-tls/out-ref/00670.stdout index 80c96a34..a04c3a9e 100644 --- a/testing/regressions/_options-tls/out-ref/00670.stdout +++ b/testing/regressions/_options-tls/out-ref/00670.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00671.stdout b/testing/regressions/_options-tls/out-ref/00671.stdout index 33236e51..63fb509f 100644 --- a/testing/regressions/_options-tls/out-ref/00671.stdout +++ b/testing/regressions/_options-tls/out-ref/00671.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00673.stdout b/testing/regressions/_options-tls/out-ref/00673.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00673.stdout +++ b/testing/regressions/_options-tls/out-ref/00673.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00680.stdout b/testing/regressions/_options-tls/out-ref/00680.stdout index 80c96a34..a04c3a9e 100644 --- a/testing/regressions/_options-tls/out-ref/00680.stdout +++ b/testing/regressions/_options-tls/out-ref/00680.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00681.stdout b/testing/regressions/_options-tls/out-ref/00681.stdout index 33236e51..63fb509f 100644 --- a/testing/regressions/_options-tls/out-ref/00681.stdout +++ b/testing/regressions/_options-tls/out-ref/00681.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00682.stdout b/testing/regressions/_options-tls/out-ref/00682.stdout index 33236e51..63fb509f 100644 --- a/testing/regressions/_options-tls/out-ref/00682.stdout +++ b/testing/regressions/_options-tls/out-ref/00682.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00701.stdout b/testing/regressions/_options-tls/out-ref/00701.stdout index eec842ea..b5bb02cb 100644 --- a/testing/regressions/_options-tls/out-ref/00701.stdout +++ b/testing/regressions/_options-tls/out-ref/00701.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00702.stdout b/testing/regressions/_options-tls/out-ref/00702.stdout index caab3d27..7e89acbe 100644 --- a/testing/regressions/_options-tls/out-ref/00702.stdout +++ b/testing/regressions/_options-tls/out-ref/00702.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00711.stdout b/testing/regressions/_options-tls/out-ref/00711.stdout index a3fe3a74..7cd452f0 100644 --- a/testing/regressions/_options-tls/out-ref/00711.stdout +++ b/testing/regressions/_options-tls/out-ref/00711.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00712.stdout b/testing/regressions/_options-tls/out-ref/00712.stdout index f9d7202f..74cbff4f 100644 --- a/testing/regressions/_options-tls/out-ref/00712.stdout +++ b/testing/regressions/_options-tls/out-ref/00712.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00721.stdout b/testing/regressions/_options-tls/out-ref/00721.stdout index e9b24c92..16e36484 100644 --- a/testing/regressions/_options-tls/out-ref/00721.stdout +++ b/testing/regressions/_options-tls/out-ref/00721.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00722.stdout b/testing/regressions/_options-tls/out-ref/00722.stdout index 0aa3c304..99761acd 100644 --- a/testing/regressions/_options-tls/out-ref/00722.stdout +++ b/testing/regressions/_options-tls/out-ref/00722.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00731.stdout b/testing/regressions/_options-tls/out-ref/00731.stdout index 929dd124..f147cbf2 100644 --- a/testing/regressions/_options-tls/out-ref/00731.stdout +++ b/testing/regressions/_options-tls/out-ref/00731.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00732.stdout b/testing/regressions/_options-tls/out-ref/00732.stdout index d4f99aeb..5af4a2cf 100644 --- a/testing/regressions/_options-tls/out-ref/00732.stdout +++ b/testing/regressions/_options-tls/out-ref/00732.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00751.stdout b/testing/regressions/_options-tls/out-ref/00751.stdout index 6d1ee17b..04e8c707 100644 --- a/testing/regressions/_options-tls/out-ref/00751.stdout +++ b/testing/regressions/_options-tls/out-ref/00751.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00752.stdout b/testing/regressions/_options-tls/out-ref/00752.stdout index 8aac89cc..8f103dfb 100644 --- a/testing/regressions/_options-tls/out-ref/00752.stdout +++ b/testing/regressions/_options-tls/out-ref/00752.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00761.stdout b/testing/regressions/_options-tls/out-ref/00761.stdout index 6ed8a8b7..792501e6 100644 --- a/testing/regressions/_options-tls/out-ref/00761.stdout +++ b/testing/regressions/_options-tls/out-ref/00761.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00762.stdout b/testing/regressions/_options-tls/out-ref/00762.stdout index 5831c68a..5dbe3f96 100644 --- a/testing/regressions/_options-tls/out-ref/00762.stdout +++ b/testing/regressions/_options-tls/out-ref/00762.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00771.stdout b/testing/regressions/_options-tls/out-ref/00771.stdout index 8cb4248a..596bd7b1 100644 --- a/testing/regressions/_options-tls/out-ref/00771.stdout +++ b/testing/regressions/_options-tls/out-ref/00771.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00772.stdout b/testing/regressions/_options-tls/out-ref/00772.stdout index 2324de03..3d137725 100644 --- a/testing/regressions/_options-tls/out-ref/00772.stdout +++ b/testing/regressions/_options-tls/out-ref/00772.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00781.stdout b/testing/regressions/_options-tls/out-ref/00781.stdout index 21943625..5310b771 100644 --- a/testing/regressions/_options-tls/out-ref/00781.stdout +++ b/testing/regressions/_options-tls/out-ref/00781.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00782.stdout b/testing/regressions/_options-tls/out-ref/00782.stdout index 8050973e..fd805d74 100644 --- a/testing/regressions/_options-tls/out-ref/00782.stdout +++ b/testing/regressions/_options-tls/out-ref/00782.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00801.stdout b/testing/regressions/_options-tls/out-ref/00801.stdout index 38f8eab1..4a6d3e2e 100644 --- a/testing/regressions/_options-tls/out-ref/00801.stdout +++ b/testing/regressions/_options-tls/out-ref/00801.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = TLS_SNI_STRING verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00803.stdout b/testing/regressions/_options-tls/out-ref/00803.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00803.stdout +++ b/testing/regressions/_options-tls/out-ref/00803.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00811.stdout b/testing/regressions/_options-tls/out-ref/00811.stdout index 38f8eab1..4a6d3e2e 100644 --- a/testing/regressions/_options-tls/out-ref/00811.stdout +++ b/testing/regressions/_options-tls/out-ref/00811.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = TLS_SNI_STRING verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00813.stdout b/testing/regressions/_options-tls/out-ref/00813.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00813.stdout +++ b/testing/regressions/_options-tls/out-ref/00813.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00821.stdout b/testing/regressions/_options-tls/out-ref/00821.stdout index 38f8eab1..4a6d3e2e 100644 --- a/testing/regressions/_options-tls/out-ref/00821.stdout +++ b/testing/regressions/_options-tls/out-ref/00821.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = TLS_SNI_STRING verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00823.stdout b/testing/regressions/_options-tls/out-ref/00823.stdout index 511cc13c..05b9eb08 100644 --- a/testing/regressions/_options-tls/out-ref/00823.stdout +++ b/testing/regressions/_options-tls/out-ref/00823.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00831.stdout b/testing/regressions/_options-tls/out-ref/00831.stdout index 38f8eab1..4a6d3e2e 100644 --- a/testing/regressions/_options-tls/out-ref/00831.stdout +++ b/testing/regressions/_options-tls/out-ref/00831.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = TLS_SNI_STRING verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/_options-tls/out-ref/00832.stdout b/testing/regressions/_options-tls/out-ref/00832.stdout index 38f8eab1..4a6d3e2e 100644 --- a/testing/regressions/_options-tls/out-ref/00832.stdout +++ b/testing/regressions/_options-tls/out-ref/00832.stdout @@ -7,5 +7,5 @@ TLS / Encryption Info: ca path = sni string = TLS_SNI_STRING verify server cert = FALSE - available protocols = SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 + available protocols = TLS_PROTOCOL_LIST requested protocols = diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl new file mode 100755 index 00000000..14882dac --- /dev/null +++ b/testing/regressions/bin/check-env.pl @@ -0,0 +1,80 @@ +#!/usr/bin/env perl + +if (length($ENV{'PAGER'}) && findpath($ENV{'PAGER'})) { + print "ok PAGER ($ENV{'PAGER'})\n"; +} +else { + print "NOK Your PAGER environment variable is empty or doesn't point to a valid command. Setting it to a valid pager is not required but can make viewing diffs much easier\n"; +} + +if (my $perl = findpath('perl')) { + print "ok perl ($perl)\n"; +} +else { + print "NOK perl must be installed and in your path\n"; +} + +my $swaksScript; +if (length($ENV{'TEST_SWAKS'})) { + if (my $swaks = findpath($ENV{'TEST_SWAKS'})) { + print "ok swaks (TEST_SWAKS -> $swaks)\n"; + $swaksScript = $swaks; + } + else { + print "NOK Tests will use $ENV{'TEST_SWAKS'} from TEST_SWAKS, but that is not valid\n"; + } +} +elsif (my $swaks = findpath('swaks')) { + print "ok swaks (PATH -> $swaks) (NOTE: this is found via PATH, consider setting TEST_SWAKS to be more explicit for testing\n"; + $swaksScript = $swaks; +} +else { + print "NOK swaks not found in either TEST_SWAKS or PATH\n"; +} + +if (my $expect = findpath('expect')) { + print "ok expect ($expect)\n"; +} +else { + print "NOK expect must be installed and in your path\n"; +} + +if (my $perldoc = findpath('perldoc')) { + print "ok perldoc ($perldoc)\n"; +} +else { + print "NOK perldoc must be installed and in your path\n"; +} + +if ($swaksScript) { + my $support = `$swaksScript --support 2>&1`; + if ($support =~ /not available/) { + print "NOK swaks must have all optional modules installed to run test script (see $swaksScript --support)\n"; + if ($support =~ /requires Authen::NTLM/) { + print " (note that Authen::NTLM support can be faked by setting PERL5LIB to lib/authen-ntlm-local)\n"; + } + } + else { + print "ok swaks optional modules\n"; + } +} +else { + print "NOK Can't check swaks --support since no valid swaks was found\n"; +} + + + +exit; + +sub findpath { + my $find = shift; + return $find if ($find =~ m|/| && -f $find && -x _); + + foreach my $dir ((split(':', $ENV{PATH}))) { + $dir =~ s|/$||g; + return "$dir/$find" if (-f "$dir/$find" && -x _); + } + + return ''; +} + diff --git a/testing/regressions/bin/find-orphaned-ref-files.pl b/testing/regressions/bin/find-orphaned-ref-files.pl index 4031fd84..51b88a9b 100755 --- a/testing/regressions/bin/find-orphaned-ref-files.pl +++ b/testing/regressions/bin/find-orphaned-ref-files.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl foreach my $dir (@ARGV) { opendir(D, $dir) || die "couldn't opendir $dir: $!\n"; diff --git a/testing/regressions/bin/migrate.pl b/testing/regressions/bin/migrate.pl index a33b2151..d39e7485 100755 --- a/testing/regressions/bin/migrate.pl +++ b/testing/regressions/bin/migrate.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # migrate.pl _options-data _options-data-new 0003 05000 diff --git a/testing/regressions/bin/run-all.pl b/testing/regressions/bin/run-all.pl index d6f5f725..ab8b954c 100755 --- a/testing/regressions/bin/run-all.pl +++ b/testing/regressions/bin/run-all.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # run all defined tests in headless mode @@ -23,7 +23,12 @@ my @tests = grep /^_/, readdir(D); closedir(D); -my $file = "$home/var/results." . time(); +my $vard = "$home/var"; +if (!-d $vard) { + mkdir($vard) || die "Couldn't make $vard: $!\n"; +} + +my $file = "$vard/results." . time(); if ($opts->{errors}) { opendir(DIR, "$home/var") || die "Couldn't opendir $home/var\n"; diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index 69e93a59..5f30430d 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # - example usage (run every test under _options-data): # - TEST_SWAKS=../../swaks bin/run-tests.pl _options-data @@ -214,8 +214,23 @@ sub runResult { last INTERACT; } elsif ($input eq 'd') { - debug('exec', "$ENV{'PAGER'} $diffFile"); - system($ENV{'PAGER'}, $diffFile); + my @cmds = ('cat'); + if (length($ENV{'PAGER'})) { + unshift(@cmds, $ENV{'PAGER'}); + } + else { + print "WARNING: consider setting PAGER environment variable\n"; + } + + CMD: + foreach my $cmd (@cmds) { + debug('exec', "$cmd $diffFile"); + if (system($cmd, $diffFile) == -1) { + print "ERROR: unable to execute '$cmd $diffFile': $!\n"; + next CMD; + } + last CMD; + } next INTERACT; } elsif ($input eq 'e') { @@ -240,6 +255,9 @@ sub runResult { elsif ($input eq 'q') { exit; } + else { + print "ERROR: unknown option '$input'\n"; + } } } @@ -672,6 +690,25 @@ sub munge_copyright { 'Copyright (c) 2003-2008,2010-YEAR John Jetmore '); } +sub munge_tls_available_protocols { + my $lines = shift; + my $consider = shift || '.?'; + + # make sure we have at least one TLSv1 family protocol, and if we do, replace with a generic string. + # if we don't replace it, it won't match and will cause investigation, which is good since why aren't there any + # tls protocols? + munge_general($lines, $consider, 'available protocols = .*TLSv1.*', 'available protocols = TLS_PROTOCOL_LIST'); +} + +sub munge_open2_failure { + my $lines = shift; + + # macOS and Debian's open2 have different error formats, munge them to be the same + # macOS: open2: exec of /foo/bar failed at %SWAKS_COMMAND% line 165. + # Debian: open2: exec of /foo/bar failed: No such file or directory at %SWAKS_COMMAND% line 165. + munge_general($lines, 'open2: exec of', 'failed: No such file or directory at', 'failed at'); +} + # this is just a convenience so I can add new munges without having to manually apply them to all test files sub munge_standard { my $lines = shift; @@ -685,4 +722,6 @@ sub munge_standard { munge_paths($lines); munge_local_hostname($lines); munge_copyright($lines); + munge_tls_available_protocols($lines); + munge_open2_failure($lines); } diff --git a/testing/regressions/bin/runenv b/testing/regressions/bin/runenv new file mode 100755 index 00000000..91a6a047 --- /dev/null +++ b/testing/regressions/bin/runenv @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +export TEST_SWAKS=../../swaks +export PERL5LIB=lib/authen-ntlm-local + +# this can be really convenient when you have a ton of small changes to accept. Don't have to (q)uit out of less +#export PAGER=cat + +exec $* diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt new file mode 100644 index 00000000..e61bb069 --- /dev/null +++ b/testing/regressions/etc/README.txt @@ -0,0 +1,60 @@ + +run-tests.pl - run a suite of tests +run-all.pl - run all tests from all suites (or, with --errors, only errors from previous run) +check-env.pl - make sure the environment is suitable for executing the tests (see environment/tooling below for requirements) +runenv - convenience script which sets TEST_SWAKS and PERL5LIB before executing the actual test script. The version + checked in to version control has the most-common values. It can be edited locally to test different values, but + different values should not be committed. + +-- + + + +environment/tooling: + PAGER environment variable should be set to make displaying of diffs most usefull (can just set it to 'less') + swaks must be in your path. If TEST_SWAKS environment variable is set, it will be used instead of looking in PATH + perl must be in your path. + expect is needed in the current PATH (apt-get install expect, brew install expect, etc) + perldoc needs to be in the path and usable (apt-get install perl-doc) + all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) + + + +-- + +Authen::NTLM + +I'm not even sure this module is distributed anymore. There are no tests for it, but I wanted to make a mandate that all modules need to be installed. +If you do not actually have Authen::NTLM installed, you can fake it for the purposes of testing by making sure that lib/authen-ntlm-local is in your +PERL5LIB: + +export PERL5LIB=lib/authen-ntlm-local + +This will load a fake version of the module that will make swaks happy for the purposes of testing + +-- + +examples: + +# make sure the local environment is suitable for running the test script +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/check-env.pl + +# run entire _options-auth suite +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-tests.pl _options-auth + +# run just one test from _options-auth suite +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-tests.pl _options-auth 00300 + +# run every test unattended, leaving a record of results +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-all.pl + +# run only failed tests from the previous run-all.pl run +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-all.pl --errors + +# all the same examples as above, but using runenv to set the environment: + +bin/runenv bin/check-env.pl +bin/runenv bin/run-tests.pl _options-auth +bin/runenv bin/run-tests.pl _options-auth 00300 +bin/runenv bin/run-all.pl +bin/runenv bin/run-all.pl --errors diff --git a/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm b/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm new file mode 100644 index 00000000..d47c473a --- /dev/null +++ b/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm @@ -0,0 +1,6 @@ + +# fake package just to make the test suite think it has NTLM support + +package NTLM; + +return 1; From 97b5874e831fb5fe0aa3b20b8becb74af881033e Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sun, 18 Oct 2020 11:49:49 -0400 Subject: [PATCH 02/98] testing - add --winnow option to run-all.pl --- Changes | 5 +++-- testing/regressions/bin/run-all.pl | 18 +++++++++++------- testing/regressions/etc/README.txt | 8 ++++++++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Changes b/Changes index 1035ce81..0b2b7ebf 100644 --- a/Changes +++ b/Changes @@ -929,5 +929,6 @@ processing overhaul in a46b929 #26 * 20201014 Add newline echo after entering password with --protect-prompt > 20201014 released 20201014.0 -* 20201016 Document and improve automated testing to make it easier for - new users to run in new environments +* 20201016 Testing: Document and improve automated testing to make it easier + for new users to run in new environments +* 20201018 Testing: Add --winnow to run-all.pl diff --git a/testing/regressions/bin/run-all.pl b/testing/regressions/bin/run-all.pl index ab8b954c..976da769 100755 --- a/testing/regressions/bin/run-all.pl +++ b/testing/regressions/bin/run-all.pl @@ -14,7 +14,7 @@ use Getopt::Long; my $opts = {}; -GetOptions($opts, 'errors|e!') || die "Couldn't understand options\n"; +GetOptions($opts, 'errors|e!', 'winnow|w!') || die "Couldn't understand options\n"; my $home = "$Bin/.."; my $runTests = "$home/bin/run-tests.pl"; @@ -28,15 +28,16 @@ mkdir($vard) || die "Couldn't make $vard: $!\n"; } -my $file = "$vard/results." . time(); +my $nextfile = "$vard/results." . time(); +my $prevfile; -if ($opts->{errors}) { +if ($opts->{errors} || $opts->{winnow}) { opendir(DIR, "$home/var") || die "Couldn't opendir $home/var\n"; - $file = (sort(grep(/^results./, readdir(DIR))))[-1]; # get the newest file + my $file = (sort(grep(/^results./, readdir(DIR))))[-1]; # get the newest file closedir(DIR); if ($file) { - $file = "$home/var/$file"; + $prevfile = "$home/var/$file"; } else { die "Unable to find a var/results.* file to use for previous errors\n"; @@ -45,9 +46,12 @@ foreach my $test (sort @tests) { if ($opts->{errors}) { - system($runTests, '--errors', '--infile', $file, $test); + system($runTests, '--errors', '--infile', $prevfile, $test); + } + elsif ($opts->{winnow}) { + system($runTests, '--errors', '--infile', $prevfile, '--outfile', $nextfile, '--headless', $test); } else { - system($runTests, '--headless', '--outfile', $file, $test); + system($runTests, '--headless', '--outfile', $nextfile, $test); } } diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index e61bb069..cf89c242 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -39,18 +39,25 @@ examples: # make sure the local environment is suitable for running the test script TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/check-env.pl + + # run entire _options-auth suite TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-tests.pl _options-auth # run just one test from _options-auth suite TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-tests.pl _options-auth 00300 + + # run every test unattended, leaving a record of results TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-all.pl # run only failed tests from the previous run-all.pl run TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-all.pl --errors +# do another headless run - run headless and record results again, but only run tests that failed in previous tests (like --errors in headless mode) +TEST_SWAKS=../../swaks PERL5LIB=lib/authen-ntlm-local bin/run-all.pl --winnow + # all the same examples as above, but using runenv to set the environment: bin/runenv bin/check-env.pl @@ -58,3 +65,4 @@ bin/runenv bin/run-tests.pl _options-auth bin/runenv bin/run-tests.pl _options-auth 00300 bin/runenv bin/run-all.pl bin/runenv bin/run-all.pl --errors +bin/runenv bin/run-all.pl --winnow From 05581df97436ff392f3ca1c6887cf983d9750ec5 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Mon, 19 Oct 2020 21:22:43 +0000 Subject: [PATCH 03/98] testing - extensive rework to support Windows cmd.exe Changes specifically for Windows: - General user experience improvements - add runenv.bat, Windows exceptions in check-env.pl, Windows specific notes in README.txt, etc - rework entire capture system, didn't work at all on Windows - turn off stdout buffering so the run-tests.pl prompts will show in cmd.exe - remove reliance on unix tools (cat, diff, cp, diff) - tons of work to handle paths in a platform agnostic way - replace %DATE% in some tests, that's a valid var in Windows (oops - need to address this more broadly in future) - require that swaks end in .pl on Windows when testing. If test swaks doesn't have .pl extension, runenv.bat will make a copy of it at var/swaks.pl and use that for testing - Don't chmod on Windows - Add a swaks.pl wrapper to version control that just calls swaks. Not really testing specific, but makes Windows development a little easier - There's no current obvious solution for expect on Windows. For now, just skip and test with an INTERACT verb in it on Windows Changes that can be used on any platform but the need for them was exposed by Windows work: - Allow individual test lines to be conditional based on current platform (IFOS) - add %QUOTE_DOUBLE% and %QUOTE_SINGLE% tokens which are replaced in test case lines after shellwords parsing and before execution. There were some complex quoting issues on Windows I couldn't otherwise resolve - run-all.pl will print a warning if an entire test-suite dies - run-tests.pl will always turn the test swaks into an absolute path. Windows did this anyway - forcing it everywhere made some things easier. - Allow custom tokens to be defined by and then used by test cases. The feature is not platform specific but it was needed to allow us to create a per-platform name for a custom swaks (so that it can end in .pl on Windows) without having to make a ton of lines platform specific. - Munge automatically-generated usernames in test results. - run-all.pl - print a summary of test results at the end of a run. --- Changes | 2 + swaks.pl | 15 + .../regressions/_exec-output-dump/0002.test | 4 +- testing/regressions/_exec-output/0060.test | 4 +- testing/regressions/_options-data/00001.test | 2 +- testing/regressions/_options-data/00031.test | 2 +- testing/regressions/_options-data/00032.test | 2 +- testing/regressions/_options-data/00051.test | 2 +- testing/regressions/_options-data/00081.test | 2 +- testing/regressions/_options-data/00082.test | 2 +- testing/regressions/_options-data/01023.test | 2 + testing/regressions/_options-data/01073.test | 2 + testing/regressions/_options-data/01123.test | 2 + testing/regressions/_options-data/01173.test | 2 + .../_options-data/out-ref/00001.stdout | 2 +- .../_options-data/out-ref/00031.stdout | 2 +- .../_options-data/out-ref/00032.stdout | 2 +- .../_options-data/out-ref/00051.stdout | 2 +- .../_options-data/out-ref/00081.stdout | 2 +- .../_options-data/out-ref/00082.stdout | 2 +- .../regressions/_options-output/01353.test | 2 +- .../regressions/_options-output/01363.test | 2 +- .../regressions/_options-output/01373.test | 2 +- .../_options-output/out-ref/01353.stderr | 3 - .../_options-output/out-ref/01353.stdout | 11 +- .../_options-output/out-ref/01363.stderr | 3 - .../_options-output/out-ref/01363.stdout | 11 +- .../_options-output/out-ref/01373.stderr | 3 - .../_options-output/out-ref/01373.stdout | 11 +- .../regressions/_options-processing/0005.test | 7 +- .../regressions/_options-processing/0011.test | 7 +- .../regressions/_options-processing/0012.test | 7 +- .../regressions/_options-processing/0013.test | 7 +- .../regressions/_options-processing/0014.test | 7 +- .../regressions/_options-processing/0015.test | 7 +- .../regressions/_options-processing/0016.test | 7 +- .../regressions/_options-processing/0018.test | 7 +- .../regressions/_options-processing/0019.test | 7 +- .../regressions/_options-processing/0020.test | 7 +- .../regressions/_options-processing/0157.test | 2 + .../regressions/_options-processing/0257.test | 2 + .../regressions/_options-processing/0302.test | 7 +- .../regressions/_options-processing/0303.test | 7 +- .../regressions/_options-protocol/05000.test | 5 +- .../_options-protocol/out-ref/00103.stdout | 2 +- .../_options-protocol/out-ref/00113.stdout | 2 +- .../_options-protocol/out-ref/00123.stdout | 2 +- .../_options-protocol/out-ref/00153.stdout | 2 +- .../_options-protocol/out-ref/00163.stdout | 2 +- .../_options-protocol/out-ref/00173.stdout | 2 +- .../_options-protocol/out-ref/05701.stdout | 2 +- testing/regressions/bin/check-env.pl | 75 ++++- testing/regressions/bin/run-all.pl | 40 ++- testing/regressions/bin/run-tests.pl | 261 ++++++++++++------ testing/regressions/bin/runenv.bat | 12 + testing/regressions/etc/README.txt | 40 ++- testing/regressions/etc/format.txt | 38 ++- 57 files changed, 491 insertions(+), 187 deletions(-) create mode 100755 swaks.pl create mode 100644 testing/regressions/bin/runenv.bat diff --git a/Changes b/Changes index 0b2b7ebf..496f59ed 100644 --- a/Changes +++ b/Changes @@ -932,3 +932,5 @@ * 20201016 Testing: Document and improve automated testing to make it easier for new users to run in new environments * 20201018 Testing: Add --winnow to run-all.pl +* 20201106 Testing: Extensive changes to allow test tools to run on Windows + cmd.exe diff --git a/swaks.pl b/swaks.pl new file mode 100755 index 00000000..17186f35 --- /dev/null +++ b/swaks.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl + +my $canary = '## STUB CANARY ##'; + +use FindBin qw($Bin); + +open(I, "<$Bin/swaks") || die "Can't open $Bin/swaks: $!\n"; +my $swaks = join('', ); +close(I); + +if ($swaks =~ /$canary/) { + die "Aborting out of apparent recursive situation\n"; +} + +eval $swaks; diff --git a/testing/regressions/_exec-output-dump/0002.test b/testing/regressions/_exec-output-dump/0002.test index b98aa44a..d6d1f826 100644 --- a/testing/regressions/_exec-output-dump/0002.test +++ b/testing/regressions/_exec-output-dump/0002.test @@ -4,8 +4,8 @@ test action: CMD_CAPTURE %SWAKS% --dump support,app,output,transport,protocol,xc pre action: REMOVE_FILE %OUTDIR%/%TESTID%.stdout.2 %OUTDIR%/%TESTID%.stderr.2 test action: CMD_CAPTURE:2 %SWAKS% --dump all --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net -test action: MUNGE file:%OUTDIR%/%TESTID%.stdout "munge_general,'Cmd Line',\"--dump '[^']+'\",'DUMP_OPT_REMOVED'" -test action: MUNGE file:%OUTDIR%/%TESTID%.stdout.2 "munge_general,'Cmd Line',\"--dump '[^']+'\",'DUMP_OPT_REMOVED'" +test action: MUNGE file:%OUTDIR%/%TESTID%.stdout "munge_general,'Cmd Line',%QUOTE_DOUBLE%--dump '[^']+'%QUOTE_DOUBLE%,'DUMP_OPT_REMOVED'" +test action: MUNGE file:%OUTDIR%/%TESTID%.stdout.2 "munge_general,'Cmd Line',%QUOTE_DOUBLE%--dump '[^']+'%QUOTE_DOUBLE%,'DUMP_OPT_REMOVED'" test action: MUNGE file:%OUTDIR%/%TESTID%.stdout munge_standard test action: MUNGE file:%OUTDIR%/%TESTID%.stdout.2 munge_standard diff --git a/testing/regressions/_exec-output/0060.test b/testing/regressions/_exec-output/0060.test index 90e97583..a55e36cd 100644 --- a/testing/regressions/_exec-output/0060.test +++ b/testing/regressions/_exec-output/0060.test @@ -3,5 +3,7 @@ title: non-english-locale emails generate english date strings # this looks like a standard test, but the date munging won't work if we generated it with czech day/month names -pre action: SET_ENV LC_ALL cs_CZ.UTF-8 +pre action: IFOS=MSWin32 SET_ENV LC_ALL Czech +pre action: IFOS!=MSWin32 SET_ENV LC_ALL cs_CZ.UTF-8 + test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" diff --git a/testing/regressions/_options-data/00001.test b/testing/regressions/_options-data/00001.test index 1cdcaf66..4c47f6ba 100644 --- a/testing/regressions/_options-data/00001.test +++ b/testing/regressions/_options-data/00001.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --d 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + --d 'Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00031.test b/testing/regressions/_options-data/00031.test index d70ad7d5..d6f5ae11 100644 --- a/testing/regressions/_options-data/00031.test +++ b/testing/regressions/_options-data/00031.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg (-option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - -d='Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + -d='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00032.test b/testing/regressions/_options-data/00032.test index a3ed574e..7acde7f0 100644 --- a/testing/regressions/_options-data/00032.test +++ b/testing/regressions/_options-data/00032.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg (--option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --d='Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + --d='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00051.test b/testing/regressions/_options-data/00051.test index 30ff8c25..9dfb88ca 100644 --- a/testing/regressions/_options-data/00051.test +++ b/testing/regressions/_options-data/00051.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --data 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + --data 'Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00081.test b/testing/regressions/_options-data/00081.test index e35c9aef..022864ef 100644 --- a/testing/regressions/_options-data/00081.test +++ b/testing/regressions/_options-data/00081.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg (-option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - -data='Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + -data='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00082.test b/testing/regressions/_options-data/00082.test index d52d6fcf..76ffd0a6 100644 --- a/testing/regressions/_options-data/00082.test +++ b/testing/regressions/_options-data/00082.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg (--option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --data='Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' + --data='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/01023.test b/testing/regressions/_options-data/01023.test index 06a9c656..49c0763d 100644 --- a/testing/regressions/_options-data/01023.test +++ b/testing/regressions/_options-data/01023.test @@ -6,3 +6,5 @@ title: h-From, env var, no-option pre action: SET_ENV SWAKS_OPT_h_From 'added-by--header' test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --no-h-From + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01073.test b/testing/regressions/_options-data/01073.test index 4e011719..283ffcab 100644 --- a/testing/regressions/_options-data/01073.test +++ b/testing/regressions/_options-data/01073.test @@ -6,3 +6,5 @@ title: h-From:, env var, no-option pre action: SET_ENV SWAKS_OPT_h_From: 'added-by--header' test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --no-h-From: + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01123.test b/testing/regressions/_options-data/01123.test index 22eee86b..a46ae09b 100644 --- a/testing/regressions/_options-data/01123.test +++ b/testing/regressions/_options-data/01123.test @@ -6,3 +6,5 @@ title: header-From, env var, no-option pre action: SET_ENV SWAKS_OPT_header_From 'added-by--header' test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --no-header-From + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01173.test b/testing/regressions/_options-data/01173.test index 2176b1fc..ef2932a4 100644 --- a/testing/regressions/_options-data/01173.test +++ b/testing/regressions/_options-data/01173.test @@ -6,3 +6,5 @@ title: header-From:, env var, no-option pre action: SET_ENV SWAKS_OPT_header_From: 'added-by--header' test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --no-header-From: + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/out-ref/00001.stdout b/testing/regressions/_options-data/out-ref/00001.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00001.stdout +++ b/testing/regressions/_options-data/out-ref/00001.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00031.stdout b/testing/regressions/_options-data/out-ref/00031.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00031.stdout +++ b/testing/regressions/_options-data/out-ref/00031.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00032.stdout b/testing/regressions/_options-data/out-ref/00032.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00032.stdout +++ b/testing/regressions/_options-data/out-ref/00032.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00051.stdout b/testing/regressions/_options-data/out-ref/00051.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00051.stdout +++ b/testing/regressions/_options-data/out-ref/00051.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00081.stdout b/testing/regressions/_options-data/out-ref/00081.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00081.stdout +++ b/testing/regressions/_options-data/out-ref/00081.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00082.stdout b/testing/regressions/_options-data/out-ref/00082.stdout index f17e80ca..e8e60e2c 100644 --- a/testing/regressions/_options-data/out-ref/00082.stdout +++ b/testing/regressions/_options-data/out-ref/00082.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 +Message-Id: C<19991103112429.047942@localhost> CThis is a test mailing diff --git a/testing/regressions/_options-output/01353.test b/testing/regressions/_options-output/01353.test index ec44bf3c..9189aa40 100644 --- a/testing/regressions/_options-output/01353.test +++ b/testing/regressions/_options-output/01353.test @@ -4,5 +4,5 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: dump, command line, no-option -test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --pipe /foo/bar \ +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --dump-mail \ --dump OUTPUT --no-dump diff --git a/testing/regressions/_options-output/01363.test b/testing/regressions/_options-output/01363.test index b8715d83..dc41ac8e 100644 --- a/testing/regressions/_options-output/01363.test +++ b/testing/regressions/_options-output/01363.test @@ -5,5 +5,5 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: dump, config, no-option pre action: MERGE %OUTDIR%/swaksrc-%TESTID% string:'dump OUTPUT\nno-dump' -test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --pipe /foo/bar \ +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --dump-mail \ --config %OUTDIR%/swaksrc-%TESTID% diff --git a/testing/regressions/_options-output/01373.test b/testing/regressions/_options-output/01373.test index 3eb8ccbd..23ed88e6 100644 --- a/testing/regressions/_options-output/01373.test +++ b/testing/regressions/_options-output/01373.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: dump, env var, no-option pre action: SET_ENV SWAKS_OPT_dump OUTPUT -test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --pipe /foo/bar --no-dump +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --dump-mail --no-dump diff --git a/testing/regressions/_options-output/out-ref/01353.stderr b/testing/regressions/_options-output/out-ref/01353.stderr index 52f1d623..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01353.stderr +++ b/testing/regressions/_options-output/out-ref/01353.stderr @@ -1,3 +0,0 @@ -*** Error connecting to /foo/bar: -*** open2: exec of /foo/bar failed at %SWAKS_COMMAND% line 165. -*** diff --git a/testing/regressions/_options-output/out-ref/01353.stdout b/testing/regressions/_options-output/out-ref/01353.stdout index 63e90241..7bfe2542 100644 --- a/testing/regressions/_options-output/out-ref/01353.stdout +++ b/testing/regressions/_options-output/out-ref/01353.stdout @@ -1 +1,10 @@ -=== Trying pipe to /foo/bar... +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + \ No newline at end of file diff --git a/testing/regressions/_options-output/out-ref/01363.stderr b/testing/regressions/_options-output/out-ref/01363.stderr index 52f1d623..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01363.stderr +++ b/testing/regressions/_options-output/out-ref/01363.stderr @@ -1,3 +0,0 @@ -*** Error connecting to /foo/bar: -*** open2: exec of /foo/bar failed at %SWAKS_COMMAND% line 165. -*** diff --git a/testing/regressions/_options-output/out-ref/01363.stdout b/testing/regressions/_options-output/out-ref/01363.stdout index 63e90241..7bfe2542 100644 --- a/testing/regressions/_options-output/out-ref/01363.stdout +++ b/testing/regressions/_options-output/out-ref/01363.stdout @@ -1 +1,10 @@ -=== Trying pipe to /foo/bar... +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + \ No newline at end of file diff --git a/testing/regressions/_options-output/out-ref/01373.stderr b/testing/regressions/_options-output/out-ref/01373.stderr index 52f1d623..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01373.stderr +++ b/testing/regressions/_options-output/out-ref/01373.stderr @@ -1,3 +0,0 @@ -*** Error connecting to /foo/bar: -*** open2: exec of /foo/bar failed at %SWAKS_COMMAND% line 165. -*** diff --git a/testing/regressions/_options-output/out-ref/01373.stdout b/testing/regressions/_options-output/out-ref/01373.stdout index 63e90241..7bfe2542 100644 --- a/testing/regressions/_options-output/out-ref/01373.stdout +++ b/testing/regressions/_options-output/out-ref/01373.stdout @@ -1 +1,10 @@ -=== Trying pipe to /foo/bar... +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + \ No newline at end of file diff --git a/testing/regressions/_options-processing/0005.test b/testing/regressions/_options-processing/0005.test index 979b6d9a..459eea79 100644 --- a/testing/regressions/_options-processing/0005.test +++ b/testing/regressions/_options-processing/0005.test @@ -1,6 +1,7 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver diff --git a/testing/regressions/_options-processing/0011.test b/testing/regressions/_options-processing/0011.test index 33888c00..09f67007 100644 --- a/testing/regressions/_options-processing/0011.test +++ b/testing/regressions/_options-processing/0011.test @@ -1,6 +1,7 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config diff --git a/testing/regressions/_options-processing/0012.test b/testing/regressions/_options-processing/0012.test index f10929de..8234dc7b 100644 --- a/testing/regressions/_options-processing/0012.test +++ b/testing/regressions/_options-processing/0012.test @@ -1,6 +1,7 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config --tls +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config --tls diff --git a/testing/regressions/_options-processing/0013.test b/testing/regressions/_options-processing/0013.test index b24c159e..d8a12192 100644 --- a/testing/regressions/_options-processing/0013.test +++ b/testing/regressions/_options-processing/0013.test @@ -1,7 +1,8 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_HOME %TESTDIR%/SWAKS_HOME -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 --config +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 --config diff --git a/testing/regressions/_options-processing/0014.test b/testing/regressions/_options-processing/0014.test index e211605c..e9b61bf0 100644 --- a/testing/regressions/_options-processing/0014.test +++ b/testing/regressions/_options-processing/0014.test @@ -1,7 +1,8 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_HOME %TESTDIR%/SWAKS_HOME -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config --config %TESTDIR%/swaksrc-config-1 +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config --config %TESTDIR%/swaksrc-config-1 diff --git a/testing/regressions/_options-processing/0015.test b/testing/regressions/_options-processing/0015.test index d26b08e6..20527b97 100644 --- a/testing/regressions/_options-processing/0015.test +++ b/testing/regressions/_options-processing/0015.test @@ -1,7 +1,8 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_HOME %TESTDIR%/SWAKS_HOME -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver diff --git a/testing/regressions/_options-processing/0016.test b/testing/regressions/_options-processing/0016.test index 5b065fdb..673fc0dd 100644 --- a/testing/regressions/_options-processing/0016.test +++ b/testing/regressions/_options-processing/0016.test @@ -1,6 +1,7 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 diff --git a/testing/regressions/_options-processing/0018.test b/testing/regressions/_options-processing/0018.test index e0f56fdc..5e2ebb6b 100644 --- a/testing/regressions/_options-processing/0018.test +++ b/testing/regressions/_options-processing/0018.test @@ -1,9 +1,10 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_HOME --UNSET-- pre action: SET_ENV HOME --UNSET-- pre action: SET_ENV LOGDIR --UNSET-- -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver diff --git a/testing/regressions/_options-processing/0019.test b/testing/regressions/_options-processing/0019.test index db7d6f3a..fafc37ee 100644 --- a/testing/regressions/_options-processing/0019.test +++ b/testing/regressions/_options-processing/0019.test @@ -1,9 +1,10 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_HOME --UNSET-- pre action: SET_ENV HOME --UNSET-- pre action: SET_ENV LOGDIR --UNSET-- -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser.ver --config %TESTDIR%/swaksrc-config-1 diff --git a/testing/regressions/_options-processing/0020.test b/testing/regressions/_options-processing/0020.test index 28bac5b3..fca4e18a 100644 --- a/testing/regressions/_options-processing/0020.test +++ b/testing/regressions/_options-processing/0020.test @@ -1,5 +1,6 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr @@ -10,5 +11,5 @@ pre action: MERGE %OUTDIR%/swaksrc-%TESTID%-1 \ pre action: MERGE %OUTDIR%/swaksrc-%TESTID%-2 \ string:'from CONFIG-2-from@host2.nodns.test.swaks.net\n' -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver \ +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver \ --config %OUTDIR%/swaksrc-%TESTID%-1 diff --git a/testing/regressions/_options-processing/0157.test b/testing/regressions/_options-processing/0157.test index 422a785f..e615dd48 100644 --- a/testing/regressions/_options-processing/0157.test +++ b/testing/regressions/_options-processing/0157.test @@ -2,3 +2,5 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_OPT_h_From '"User Example" ' test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable \ No newline at end of file diff --git a/testing/regressions/_options-processing/0257.test b/testing/regressions/_options-processing/0257.test index c2a1ccc4..0efe0d13 100644 --- a/testing/regressions/_options-processing/0257.test +++ b/testing/regressions/_options-processing/0257.test @@ -2,3 +2,5 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver \ --header-From: '"Fred Example" ' + +skip: IFOS=MSWin32 This test does not currently work on Windows diff --git a/testing/regressions/_options-processing/0302.test b/testing/regressions/_options-processing/0302.test index 94ba803d..53b4fd49 100644 --- a/testing/regressions/_options-processing/0302.test +++ b/testing/regressions/_options-processing/0302.test @@ -1,7 +1,8 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net --server ser.ver \ +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net --server ser.ver \ --config %TESTDIR%/swaksrc-config-2 diff --git a/testing/regressions/_options-processing/0303.test b/testing/regressions/_options-processing/0303.test index 88296acc..d80a3dbf 100644 --- a/testing/regressions/_options-processing/0303.test +++ b/testing/regressions/_options-processing/0303.test @@ -1,7 +1,8 @@ -once action: MERGE %OUTDIR%/swaks file:%SWAKS% file:%TESTDIR%/swaksrc-data -once action: CMD chmod 00755 %OUTDIR%/swaks +once action: IFOS!=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks +once action: IFOS=MSWin32 DEFINE %OUTPUT_SWAKS% %OUTDIR%/swaks.pl +once action: MERGE %OUTPUT_SWAKS% file:%SWAKS% file:%TESTDIR%/swaksrc-data mode:00755 auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr pre action: SET_ENV SWAKS_OPT_config %TESTDIR%/swaksrc-config-1 -test action: CMD_CAPTURE %OUTDIR%/swaks --dump DATA --to user@host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net --server ser.ver +test action: CMD_CAPTURE %OUTPUT_SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net --server ser.ver diff --git a/testing/regressions/_options-protocol/05000.test b/testing/regressions/_options-protocol/05000.test index 6bfd709d..5d14f003 100644 --- a/testing/regressions/_options-protocol/05000.test +++ b/testing/regressions/_options-protocol/05000.test @@ -1,4 +1,7 @@ +once action: IFOS!=MSWin32 DEFINE %EMPTY% <> +once action: IFOS=MSWin32 DEFINE %EMPTY% ^<^> + auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr test action: CMD_CAPTURE %SWAKS% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --server ser.ver \ - --from '<>' + --from '%EMPTY%' diff --git a/testing/regressions/_options-protocol/out-ref/00103.stdout b/testing/regressions/_options-protocol/out-ref/00103.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00103.stdout +++ b/testing/regressions/_options-protocol/out-ref/00103.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/00113.stdout b/testing/regressions/_options-protocol/out-ref/00113.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00113.stdout +++ b/testing/regressions/_options-protocol/out-ref/00113.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/00123.stdout b/testing/regressions/_options-protocol/out-ref/00123.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00123.stdout +++ b/testing/regressions/_options-protocol/out-ref/00123.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/00153.stdout b/testing/regressions/_options-protocol/out-ref/00153.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00153.stdout +++ b/testing/regressions/_options-protocol/out-ref/00153.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/00163.stdout b/testing/regressions/_options-protocol/out-ref/00163.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00163.stdout +++ b/testing/regressions/_options-protocol/out-ref/00163.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/00173.stdout b/testing/regressions/_options-protocol/out-ref/00173.stdout index 5290f20f..5aff4462 100644 --- a/testing/regressions/_options-protocol/out-ref/00173.stdout +++ b/testing/regressions/_options-protocol/out-ref/00173.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = LOCAL_HOST_NAME - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = sender@host1.nodns.test.swaks.net force getpwuid = FALSE quit after = diff --git a/testing/regressions/_options-protocol/out-ref/05701.stdout b/testing/regressions/_options-protocol/out-ref/05701.stdout index e25e7a92..c25a2b7a 100644 --- a/testing/regressions/_options-protocol/out-ref/05701.stdout +++ b/testing/regressions/_options-protocol/out-ref/05701.stdout @@ -1,7 +1,7 @@ Protocol Info: protocol = esmtp helo = helo-string - from = jetmore@LOCAL_HOST_NAME + from = LOCAL_USER_NAME@LOCAL_HOST_NAME to = recip@host1.nodns.test.swaks.net force getpwuid = TRUE quit after = diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl index 14882dac..518a8f45 100755 --- a/testing/regressions/bin/check-env.pl +++ b/testing/regressions/bin/check-env.pl @@ -1,10 +1,28 @@ #!/usr/bin/env perl -if (length($ENV{'PAGER'}) && findpath($ENV{'PAGER'})) { - print "ok PAGER ($ENV{'PAGER'})\n"; +use strict; + +my @paths = (); +my $pathVarDelim = ':'; +my $filePathDelim = '/'; +my $filePathDelimRe = quotemeta($filePathDelim); +if ($ENV{PATH} =~ /^[A-Z]:\\/) { + $pathVarDelim = ';'; + $filePathDelim = '\\'; + $filePathDelimRe = quotemeta($filePathDelim); } -else { - print "NOK Your PAGER environment variable is empty or doesn't point to a valid command. Setting it to a valid pager is not required but can make viewing diffs much easier\n"; +foreach my $dir ((split(/$pathVarDelim/, $ENV{PATH}))) { + $dir =~ s|$filePathDelimRe$||g; + push(@paths, $dir); +} + +if ($^O ne 'MSWin32') { + if (length($ENV{'PAGER'}) && findpath($ENV{'PAGER'})) { + print "ok PAGER ($ENV{'PAGER'})\n"; + } + else { + print "NOK Your PAGER environment variable is empty or doesn't point to a valid command. Setting it to a valid pager is not required but can make viewing diffs much easier\n"; + } } if (my $perl = findpath('perl')) { @@ -14,6 +32,13 @@ print "NOK perl must be installed and in your path\n"; } +if (checkmod('Capture::Tiny')) { + print "ok Capture::Tiny\n"; +} +else { + print "NOK Capture::Tiny perl module must be installed\n"; +} + my $swaksScript; if (length($ENV{'TEST_SWAKS'})) { if (my $swaks = findpath($ENV{'TEST_SWAKS'})) { @@ -32,11 +57,13 @@ print "NOK swaks not found in either TEST_SWAKS or PATH\n"; } -if (my $expect = findpath('expect')) { - print "ok expect ($expect)\n"; -} -else { - print "NOK expect must be installed and in your path\n"; +if ($^O ne 'MSWin32') { + if (my $expect = findpath('expect')) { + print "ok expect ($expect)\n"; + } + else { + print "NOK expect must be installed and in your path\n"; + } } if (my $perldoc = findpath('perldoc')) { @@ -62,19 +89,37 @@ print "NOK Can't check swaks --support since no valid swaks was found\n"; } - - exit; sub findpath { my $find = shift; - return $find if ($find =~ m|/| && -f $find && -x _); - foreach my $dir ((split(':', $ENV{PATH}))) { - $dir =~ s|/$||g; - return "$dir/$find" if (-f "$dir/$find" && -x _); + foreach my $dir (@paths) { + foreach my $suff ('', '.pl', '.exe', '.bat') { + if ($find =~ '/' && $filePathDelim ne '/') { + $find =~ s|/|$filePathDelim|g; + } + + my $candidate = $find . $suff; + return $candidate if ($candidate =~ m|$filePathDelimRe| && -f $candidate); + + $candidate = $dir . $filePathDelim . $candidate; + return "$candidate" if (-f $candidate && -x _); + } } return ''; } +sub checkmod { + my $module = shift; + + open(P, "|perl") || die "checkmod can't open pipe to perl: $!\n"; + print P "eval(\"use $module;\");\n"; + print P 'if ($@) { exit 1; } else { exit 0; }', "\n"; + if (!close(P)) { + return(0); + } + + return(1); +} diff --git a/testing/regressions/bin/run-all.pl b/testing/regressions/bin/run-all.pl index 976da769..4f11feef 100755 --- a/testing/regressions/bin/run-all.pl +++ b/testing/regressions/bin/run-all.pl @@ -44,14 +44,48 @@ } } +my %runResults = (); foreach my $test (sort @tests) { + my @testCmd = (); if ($opts->{errors}) { - system($runTests, '--errors', '--infile', $prevfile, $test); + @testCmd = ('--errors', '--infile', $prevfile); } elsif ($opts->{winnow}) { - system($runTests, '--errors', '--infile', $prevfile, '--outfile', $nextfile, '--headless', $test); + @testCmd = ('--errors', '--infile', $prevfile, '--headless', '--outfile', $nextfile); } else { - system($runTests, '--headless', '--outfile', $nextfile, $test); + @testCmd = ( '--headless', '--outfile', $nextfile); } + @testCmd = ($runTests, @testCmd, $test); + system(@testCmd); + $runResults{$test} = $? >> 8; } + +if (!$opts->{errors}) { + my $testCount = 0; + my $results = {}; + + open(I, "<$nextfile") || die "Couldn't read $nextfile: $!\n"; + while (my $line = ) { + $testCount++; + if ($line =~ /^\S+: ([A-Za-z]+)/) { + $results->{$1}++; + } + else { + print "no match: $line"; + } + } + + print "\n"; + print "===============\n"; + my $testSuiteFailures = join(', ', grep { $runResults{$_} != 0; } (keys(%runResults))); + if ($testSuiteFailures) { + print "TEST SUITE FAILURES (likely not recorded below): $testSuiteFailures\n"; + print "===============\n"; + } + foreach my $type (sort keys %$results) { + printf "%5s: %d\n", $type, $results->{$type}; + } + print "Total: $testCount\n"; +} + diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index 5f30430d..0c6a8d39 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -10,10 +10,18 @@ # - TEST_SWAKS=../../swaks bin/run-tests.pl --errors --infile var/results.1570707905 _options-data use strict; +use Capture::Tiny; +use File::Copy qw(); +use File::Spec::Functions qw(:ALL); +use FindBin qw($Bin); use Getopt::Long; +# use IPC::Open3; use Sys::Hostname; use Term::ReadKey; use Text::ParseWords; +use Text::Diff qw(); + +$| = 1; # --headless - don't prompt the user, just run and display the results # --outfile - save the results in a way that can be read by infile @@ -24,28 +32,37 @@ GetOptions($opts, 'headless|h!', 'outfile|o=s', 'infile|i=s', 'errors|e!', 'skip-only') || die "Couldn't understand options\n"; my $testDir = shift || die "Please provide the path to the test directory\n"; -$testDir =~ s|/+$||; +$testDir =~ canonpath($testDir); # remove trailing slashes my $testRe = shift || '.'; # pattern to match test IDs against. Allows to run subset of tests by specifying, eg, '005.' -my $outDir = "$testDir/out-dyn"; -my $refDir = "$testDir/out-ref"; +my $outDir = catfile($testDir, "out-dyn"); +my $refDir = catfile($testDir, "out-ref"); -my $tokens = { +my $customTokens = {}; +my $tokens = { 'global' => { - '%SWAKS%' => 'swaks', + '%SWAKS%' => $^O eq 'MSWin32' ? 'swaks.pl' : 'swaks', '%TESTDIR%' => $testDir, '%OUTDIR%' => $outDir, '%REFDIR%' => $refDir, '%HOSTNAME%' => get_hostname(), + '%USERNAME%' => get_username(), }, 'local' => {}, }; if ($ENV{TEST_SWAKS}) { + if ($ENV{TEST_SWAKS} =~ m|[/\\]|) { + $ENV{TEST_SWAKS} = rel2abs($ENV{TEST_SWAKS}); + } $tokens->{'global'}{'%SWAKS%'} = $ENV{TEST_SWAKS}; } +if (!-d $testDir) { + die "invalid test suite (not a directory): $testDir\n"; +} if (!-d $outDir) { mkdir($outDir) || die "Can't mkdir($outDir): $!\n"; - open(O, ">$outDir/.gitignore") || die "Can't open $outDir/.gitignore for writing: $!\n"; + my $gitignore = catfile($outDir, ".gitignore"); + open(O, ">$gitignore") || die "Can't open $gitignore for writing: $!\n"; print O "*\n"; close(O); } @@ -75,7 +92,7 @@ foreach my $testFile (sort @testDefs) { restoreEnv(); - my $testObj = readTestFile("$testDir/$testFile"); + my $testObj = readTestFile(catfile($testDir, $testFile)); next if ($testObj->{id} !~ /$testRe/); my $result = runTest($testDir, $outDir, $testObj); @@ -174,20 +191,15 @@ sub runResult { foreach my $test (@$tests) { debug('result', $test); - my($verb, @args) = shellwords(replaceTokens($tokens, $test)); + my($verb, @args) = mshellwords(replaceTokens($tokens, $test)); if ($verb eq 'COMPARE_FILE') { debug('COMPARE_FILE', join('; ', @args)); if (-f $args[0] && -f $args[1]) { - my($diffFile) = $args[0] =~ m|([^/]+)$|; - $diffFile = $tokens->{'%OUTDIR%'} . '/' . $diffFile . '.diff'; + my $diffFile = catfile($tokens->{'%OUTDIR%'}, (splitpath($args[0]))[2] . '.diff'); unlink($diffFile); - debug('exec', "diff -u $args[0] $args[1]"); - open(P, "diff -u $args[0] $args[1] |") || die "Can't run diff: $!\n"; - my $diff = join('',

); - close(P); - + my $diff = Text::Diff::diff($args[0], $args[1], { STYLE => 'Unified' }); if ($diff) { # my $diffFile = $tokens->{'%OUTDIR%'} . '/' . $tokens->{'%TESTID%'} . '.diff'; open(O, ">$diffFile") || die "Can't write to $diffFile: $!\n"; @@ -197,7 +209,7 @@ sub runResult { if (!$opts->{'headless'}) { INTERACT: while (1) { - print "Test $tokens->{'%TESTDIR%'}/$tokens->{'%TESTID%'} is about to fail.\n", + print "Test ", catfile($tokens->{'%TESTDIR%'}, $tokens->{'%TESTID%'}), " is about to fail.\n", "DIFF: $args[0], $args[1]\n", ($testObj->{title} ? "TITLE: $testObj->{title}\n" : ''), "ACTION: ", $testObj->{'test action'}[0], "\n", @@ -214,7 +226,7 @@ sub runResult { last INTERACT; } elsif ($input eq 'd') { - my @cmds = ('cat'); + my @cmds = ('intcat'); if (length($ENV{'PAGER'})) { unshift(@cmds, $ENV{'PAGER'}); } @@ -224,19 +236,29 @@ sub runResult { CMD: foreach my $cmd (@cmds) { - debug('exec', "$cmd $diffFile"); - if (system($cmd, $diffFile) == -1) { - print "ERROR: unable to execute '$cmd $diffFile': $!\n"; - next CMD; + if ($cmd eq 'intcat') { + open(I, $diffFile) || print "ERROR: unable to open $diffFile: $!\n"; + while () { + print; + } + close(I); + } + else { + debug('exec', "$cmd $diffFile"); + if (system($cmd, $diffFile) == -1) { + print "ERROR: unable to execute '$cmd $diffFile': $!\n"; + next CMD; + } + last CMD; } - last CMD; } next INTERACT; } elsif ($input eq 'e') { my $editor = $ENV{'SWAKS_EDITOR'} || $ENV{'VISUAL'} || $ENV{'EDITOR'}; - debug('exec', "$editor $tokens->{'%TESTDIR%'}/$tokens->{'%TESTID%'}.test"); - system($editor, "$tokens->{'%TESTDIR%'}/$tokens->{'%TESTID%'}.test"); + my $file = catfile($tokens->{'%TESTDIR%'}, "$tokens->{'%TESTID%'}.test"); + debug('exec', "$editor $file"); + system($editor, $file); redo TEST_EXECUTION; } elsif ($input eq 'r') { @@ -248,8 +270,7 @@ sub runResult { last FILE; } elsif ($input eq 'a') { - debug('exec', "/bin/cp $args[1] $args[0]"); - system("/bin/cp", $args[1], $args[0]); + File::Copy::copy($args[1], $args[0]); redo TEST_EXECUTION; } elsif ($input eq 'q') { @@ -293,28 +314,39 @@ sub runAction { debug('action', $action); - my($verb, @args) = shellwords(replaceTokens($tokens, $action)); + my($verb, @args) = mshellwords(replaceTokens($tokens, $action)); + + # print "\$verb = $verb\n"; + # for (my $i = 0; $i < scalar(@args); $i++) { + # print "ARG $i) $args[$i]\n"; + # } if ($verb eq 'REMOVE_FILE') { debug('REMOVE_FILE', join('; ', @args)); unlink(@args); } elsif ($verb eq 'CMD') { + $args[0] =~ s|/|\\|g if ($^O eq 'MSWin32'); debug('CMD', join('; ', @args)); debug('exec', join(' ', map { "'$_'" } @args)); system(@args); } elsif ($verb =~ /^CMD_CAPTURE(?::(\S+))?$/) { - debug('CMD_CAPTURE', join('; ', @args)); my $suffix = $1 ? ".$1" : ''; - my $stdoutFile = $tokens->{'%OUTDIR%'} . '/' . $tokens->{'%TESTID%'} . '.stdout' . $suffix; - my $stderrFile = $tokens->{'%OUTDIR%'} . '/' . $tokens->{'%TESTID%'} . '.stderr' . $suffix; + $args[0] =~ s|/|\\|g if ($^O eq 'MSWin32'); + debug('CMD_CAPTURE', join('; ', @args)); + my $stdoutFile = catfile($tokens->{'%OUTDIR%'}, $tokens->{'%TESTID%'} . '.stdout' . $suffix); + my $stderrFile = catfile($tokens->{'%OUTDIR%'}, $tokens->{'%TESTID%'} . '.stderr' . $suffix); my $stdinFile = (grep(/^STDIN:/, @args))[0]; @args = grep(!/^STDIN:/, @args); $stdinFile =~ s/^STDIN://g; captureOutput(\@args, $stdoutFile, $stderrFile, $stdinFile); } + elsif ($verb eq 'DEFINE') { + debug('DEFINE', join('; ', @args)); + $customTokens->{$args[0]} = $args[1]; + } elsif ($verb eq 'CREATE_FILE') { debug('CREATE_FILE', join('; ', @args)); if (!-e $args[0]) { @@ -370,14 +402,16 @@ sub runAction { } close(O); - if (length($post{mode})) { - chmod(oct($post{mode}), $outFile); - } - elsif (length($post{owner})) { - chown($post{owner}, -1, $outFile); - } - elsif (length($post{group})) { - chown(-1, $post{group}, $outFile); + if ($^O ne 'MSWin32') { + if (length($post{mode})) { + chmod(oct($post{mode}), $outFile); + } + elsif (length($post{owner})) { + chown($post{owner}, -1, $outFile); + } + elsif (length($post{group})) { + chown(-1, $post{group}, $outFile); + } } } elsif ($verb eq 'MUNGE') { @@ -400,7 +434,7 @@ sub runAction { die "Couldn't run $munge: $@\n"; } } - munge_general(\@lines, '.?', $tokens->{'%SWAKS%'}, '%SWAKS_COMMAND%'); + munge_general(\@lines, '.?', quotemeta($tokens->{'%SWAKS%'}), '%SWAKS_COMMAND%'); open(O, ">$file") || die "Couldn't write to $file: $!\n"; print O join('', @lines); @@ -422,8 +456,11 @@ sub replaceTokens { my $tokens = shift; my $action = shift; - foreach my $token (keys %$tokens) { - $action =~ s/$token/$tokens->{$token}/g + foreach my $source ($tokens, $customTokens) { + foreach my $token (keys %$source) { + $action =~ s/$token/$source->{$token}/g; + debug('token', "REPLACE $token -> $source->{$token}, $action\n"); + } } return($action); @@ -448,6 +485,23 @@ sub readTestFile { $fullLine .= $line; } + # handle specific platforms + if ($fullLine =~ s/IFOS(!)?=(\S+) //) { + my $negate = $1; + my $testOs = $2; + my $realOs = $^O; + + # pre action: IFOS=MSWin32 SET_ENV LC_ALL Czech + # pre action: IFOS!=MSWin32 SET_ENV LC_ALL cs_CZ.UTF-8 + # Windows: IFOS=MSWin32 = (1 && 0) || (0 && 1), IFOS!=MSWin32 = (1 && 1) || (0 && 0) + # Linux: IFOS=MSWin32 = (0 && 0) || (1 && 1), IFOS!=MSWin32 = (0 && 1) || (1 && 0) + if (($testOs eq $realOs && $negate) || ($testOs ne $realOs && !$negate)) { + $fullLine = ''; + next LINE; + } + } + + if ($fullLine =~ /^(\w[^:]+):\s+(.*)$/) { my $testKey = $1; my $testArg = $2; @@ -471,7 +525,8 @@ sub readTestFile { $fullLine = ''; } - if ($file =~ m%([^/]+)\.[^/]+$%) { + my $idFile = (splitpath($file))[2]; + if ($idFile =~ m%^(.+)\.[^.]+$%) { $obj->{id} = $1; } else { @@ -483,26 +538,29 @@ sub readTestFile { if (exists($obj->{'auto'}) && ref($obj->{'auto'}) eq 'ARRAY') { foreach my $auto (@{$obj->{'auto'}}) { # my($types, @files) = split(' ', $auto); - my($types, @files) = shellwords($auto); + my($types, @files) = mshellwords($auto); foreach my $type (split(/,/, $types)) { if ($type eq 'REMOVE_FILE') { - map { push(@{$obj->{'pre action'}}, "REMOVE_FILE %OUTDIR%/$_"); } (@files); + map { push(@{$obj->{'pre action'}}, "REMOVE_FILE " . catfile('%OUTDIR%', $_)); } (@files); } elsif ($type eq 'CREATE_FILE') { map { push(@{$obj->{'pre action'}}, "CREATE_FILE %REFDIR%/$_"); } (@files); } elsif ($type eq 'MUNGE') { - map { push(@{$obj->{'test action'}}, "MUNGE file:%OUTDIR%/$_ munge_standard"); } (@files); + map { push(@{$obj->{'test action'}}, "MUNGE file:" . catfile('%OUTDIR%', $_) . " munge_standard"); } (@files); } elsif ($type eq 'COMPARE_FILE') { # if we're comparing stdout and stderr, manipulate the list to compare stderr first. It turns # out that seeing errors first is much more useful, but I don't want to modify all the existing tests my @filesSorted = grep(/\.stderr/, @files); push(@filesSorted, grep(/\.stdout/, @files), grep(!/\.(stdout|stderr)/, @files)); - map { push(@{$obj->{'test result'}}, "COMPARE_FILE %REFDIR%/$_ %OUTDIR%/$_"); } (@filesSorted); + map { push(@{$obj->{'test result'}}, "COMPARE_FILE " . catfile('%REFDIR%', $_) .' ' . catfile('%OUTDIR%', $_)); } (@filesSorted); } elsif ($type eq 'INTERACT') { - my $file = '%OUTDIR%/%TESTID%.expect'; + if ($^O eq 'MSWin32') { + $obj->{'skip'} ||= "INTERACTive testing not currently supported on windows"; + } + my $file = catfile('%OUTDIR%', '%TESTID%.expect'); push(@{$obj->{'pre action'}}, "REMOVE_FILE $file"); my $cmd = shift(@files); @@ -527,6 +585,16 @@ sub readTestFile { return($obj); } +sub cmdquote { + # start at 1 - never quote the actual command + for (my $i = 1; $i < scalar(@_); $i++) { + next if ($_[$i] !~ / /); + # $_[$i] =~ s%%'\\''%g; + $_[$i] = '"' . $_[$i] .'"'; + } + return join(' ', @_); +} + sub captureOutput { my $args = shift; my $outFile = shift; @@ -537,42 +605,32 @@ sub captureOutput { debug('exec', $debug); - FORK: { - if (my $pid = fork) { - # parent - - #### wait here - wait(); - return; - } - elsif (defined $pid) { # $PID is zero here if defined - # child. reopen STDOUT and STDERR into the files we want to capture into - - open(NEWSTDOUT, ">$outFile") || die "Can't open new stdout file $outFile to write: $!\n"; - open(NEWSTDERR, ">$errFile") || die "Can't open new stderr file $errFile to write: $!\n"; - close(STDOUT); - open(STDOUT, ">&NEWSTDOUT") || die "Couldn't redirect STDOUT to new file: $!\n"; - close(STDERR); - open(STDERR, ">&NEWSTDERR") || die "Couldn't redirect STDERR to new file: $!\n"; - - if ($inFile) { - open(NEWSTDIN, "<$inFile") || die "Can't open new stdin file $inFile to read: $!\n"; - close(STDIN); - open(STDIN, "<&NEWSTDIN") || die "Couldn't redirect STDIN to read from new file: $!\n"; - } + my $stdin = ''; + if ($inFile) { + open(I, "<$inFile") || die "Can't open inFile $inFile for reading: $!\n"; + $stdin = join('', ); + close(I); + } - exec(@$args); - exit; - } - elsif ($! =~ /No more process/) { - # EAGAIN, in parent, supposedly recoverable fork error - sleep 5; - redo FORK; + my($stdout, $stderr, @rest) = Capture::Tiny::capture { + if ($inFile) { + my $command = cmdquote(@$args); + open(P, "|-", join(' ', $command)) || die "Couldn't open pipe to $command: $!\n"; + print P $stdin; + close(P); } else { - die "Can't fork: $!\n"; + system(@$args); } - } + }; + + open(FILESTDOUT, ">$outFile") || die "Can't open new stdout file $outFile to write: $!\n"; + print FILESTDOUT $stdout; + close(FILESTDOUT); + + open(FILESTDERR, ">$errFile") || die "Can't open new stderr file $errFile to write: $!\n"; + print FILESTDERR $stderr; + close(FILESTDERR); } sub get_hostname { @@ -587,6 +645,14 @@ sub get_hostname { return($G::hostname); } +sub get_username { + if ($^O eq 'MSWin32') { + require Win32; + return Win32::LoginName(); + } + return $ENV{LOGNAME} || (getpwuid($<))[0]; +} + sub debug { my $type = shift; my $string = shift; @@ -601,6 +667,27 @@ sub debug { } } +# yuck. Just yuck +sub mshellwords { + my $line = shift; + my @return = (); + + if ($^O eq 'MSWin32') { + $line =~ s/\\/::BACKSLASH::/g; + foreach my $part (shellwords($line)) { + $part =~ s/::BACKSLASH::/\\/g; + push(@return, $part); + } + } + else { + @return = shellwords($line); + } + + map { s/\%QUOTE_DOUBLE\%/"/g; s/\%QUOTE_SINGLE\%/'/g; } (@return); + + return @return; +} + sub munge_general { my $lines = shift; my $consider = shift; @@ -669,9 +756,9 @@ sub munge_paths { my $lines = shift; my $consider = shift || '.?'; - munge_general($lines, $consider, $tokens->{'global'}{'%OUTDIR%'}, '/path/to/OUTDIR'); - munge_general($lines, $consider, $tokens->{'global'}{'%REFDIR%'}, '/path/to/REFDIR'); - munge_general($lines, $consider, $tokens->{'global'}{'%TESTDIR%'}, '/path/to/TESTDIR'); + munge_general($lines, $consider, quotemeta($tokens->{'global'}{'%OUTDIR%'}), '/path/to/OUTDIR'); + munge_general($lines, $consider, quotemeta($tokens->{'global'}{'%REFDIR%'}), '/path/to/REFDIR'); + munge_general($lines, $consider, quotemeta($tokens->{'global'}{'%TESTDIR%'}), '/path/to/TESTDIR'); } sub munge_local_hostname { @@ -682,6 +769,14 @@ sub munge_local_hostname { munge_general($lines, $consider, $tokens->{'global'}{'%HOSTNAME%'}, 'LOCAL_HOST_NAME'); } +sub munge_local_username { + my $lines = shift; + my $consider = shift || '.?'; + + return if (!$tokens->{'global'}{'%USERNAME%'}); + munge_general($lines, $consider, $tokens->{'global'}{'%USERNAME%'} . '@', 'LOCAL_USER_NAME@'); +} + sub munge_copyright { my $lines = shift; my $consider = shift || '.?'; @@ -707,6 +802,7 @@ sub munge_open2_failure { # macOS: open2: exec of /foo/bar failed at %SWAKS_COMMAND% line 165. # Debian: open2: exec of /foo/bar failed: No such file or directory at %SWAKS_COMMAND% line 165. munge_general($lines, 'open2: exec of', 'failed: No such file or directory at', 'failed at'); + munge_general($lines, 'open2: exec of', 'line \d+', 'line ###'); } # this is just a convenience so I can add new munges without having to manually apply them to all test files @@ -721,6 +817,7 @@ sub munge_standard { munge_mime_boundaries($lines); munge_paths($lines); munge_local_hostname($lines); + munge_local_username($lines); munge_copyright($lines); munge_tls_available_protocols($lines); munge_open2_failure($lines); diff --git a/testing/regressions/bin/runenv.bat b/testing/regressions/bin/runenv.bat new file mode 100644 index 00000000..239b86a8 --- /dev/null +++ b/testing/regressions/bin/runenv.bat @@ -0,0 +1,12 @@ + +@echo off + +set PATH=C:\Strawberry\perl\bin;%PATH% +copy ..\..\swaks var\swaks.pl >NUL +set TEST_SWAKS=var\swaks.pl +set PERL5LIB=lib\authen-ntlm-local +rem set PAGER=more +rem this can be really convenient when you have a ton of small changes to accept so you don't have to quit out of the pager +rem set PAGER=cat + +call %* diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index cf89c242..581329e0 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -1,20 +1,25 @@ run-tests.pl - run a suite of tests -run-all.pl - run all tests from all suites (or, with --errors, only errors from previous run) +run-all.pl - run all tests from all suites (or, with --errors, only errors from previous run) check-env.pl - make sure the environment is suitable for executing the tests (see environment/tooling below for requirements) -runenv - convenience script which sets TEST_SWAKS and PERL5LIB before executing the actual test script. The version - checked in to version control has the most-common values. It can be edited locally to test different values, but - different values should not be committed. +runenv - convenience script which sets TEST_SWAKS and PERL5LIB before executing the actual test script. The version + checked in to version control has the most-common values. It can be edited locally to test different values, but + different values should not be committed. +runenv.bat - same as runenv, but specific to Windows. -- environment/tooling: - PAGER environment variable should be set to make displaying of diffs most usefull (can just set it to 'less') + PAGER environment variable should be set to make displaying of diffs most useful (can just set it to 'less') + - except on Windows, see below swaks must be in your path. If TEST_SWAKS environment variable is set, it will be used instead of looking in PATH + - on Windows, swaks _must_ be named swaks.pl perl must be in your path. + the Capture::Tiny perl module needs to be installed expect is needed in the current PATH (apt-get install expect, brew install expect, etc) + - except on Windows, see below perldoc needs to be in the path and usable (apt-get install perl-doc) all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) @@ -34,6 +39,23 @@ This will load a fake version of the module that will make swaks happy for the p -- +Windows + +At the moment, no interactive tests are run. They currently require expect which seems to be a bear to install on +Windows. All tests with INTERACTIVE in them are set to skip by run-tests.pl + +PAGER can be set if there's a useable pager, but because it's not obvious which pager to use (more and type are both CMD.exe builtins), +check-env.pl won't complain if it's not set on Windows + +Swaks must end in .pl + +I ran the following getting my test environment set up. It's unclear if it's actually needed + assoc .pl=PerlScript + ftype PerlScript=C:\Strawberry\perl\bin\perl.exe "%1" %* + setx PATHEXT %PATHEXT%;.pl + +-- + examples: # make sure the local environment is suitable for running the test script @@ -66,3 +88,11 @@ bin/runenv bin/run-tests.pl _options-auth 00300 bin/runenv bin/run-all.pl bin/runenv bin/run-all.pl --errors bin/runenv bin/run-all.pl --winnow + +# all the same examples, but on windows: +bin\runenv bin\check-env.pl +bin\runenv bin\run-tests.pl _options-auth +bin\runenv bin\run-tests.pl _options-auth 00300 +bin\runenv bin\run-all.pl +bin\runenv bin\run-all.pl --errors +bin\runenv bin\run-all.pl --winnow diff --git a/testing/regressions/etc/format.txt b/testing/regressions/etc/format.txt index 435dc18e..20507c93 100644 --- a/testing/regressions/etc/format.txt +++ b/testing/regressions/etc/format.txt @@ -2,14 +2,18 @@ blank lines and commented (w/ #) lines are skipped continuation lines work (lines that end in '\' are combined with the following line Tokens: - %SWAKS% - will be replaced with the path to swaks. If $TEST_SWAKS is defined it will be used for %SWAKS% - %TESTID% - The current test ID. This is defined as the filename, minus the .test extension. Almost always (and preferably) numeric, - it is possible to use alpha chars if there's some reason. - %TESTDIR% - the path to the base of the currently running test suite - %OUTDIR% - the path to dynamic files (output of swaks from the test run, dynamically-generated configs, etc). By convention, this - directory will not be versioned. defined as %TESTDIR%/out-dyn - %REFDIR% - the path to static reference files. These are the "blessed" output of the command, used as a reference to make sure a given - execution is producing the correct results. Contents will be versioned. defined as %TESTDIR%/out-ref + %SWAKS% - will be replaced with the path to swaks. If $TEST_SWAKS is defined it will be used for %SWAKS% + %TESTID% - The current test ID. This is defined as the filename, minus the .test extension. Almost always (and preferably) numeric, + it is possible to use alpha chars if there's some reason. + %TESTDIR% - the path to the base of the currently running test suite + %OUTDIR% - the path to dynamic files (output of swaks from the test run, dynamically-generated configs, etc). By convention, this + directory will not be versioned. defined as %TESTDIR%/out-dyn + %REFDIR% - the path to static reference files. These are the "blessed" output of the command, used as a reference to make sure a given + execution is producing the correct results. Contents will be versioned. defined as %TESTDIR%/out-ref + %QUOTE_SINGLE% - will be replaced with a single-quote (') after the line is split into its component parts but before the line + is considered for evaluation. This is a way to avoid using backslashes for quoting complex lines, which is + especially useful on Windows, where the backslash is also used for paths. + %QUOTE_DOUBLE% - equivalent to %QUOTE_SINGLE%, but will be replaced with a double-quote ("). Line definition: type: ARGUMENTS @@ -47,6 +51,21 @@ Test execution order: (note that though it's designed to process multiple, it only works for one right now) +Conditional execution: + Any line can have a string matching IFOS=[OSSTRING] or IFOS!=[OSSTRING]. [OSSTRING] is in the format returned + by $^O by perl. If the line matches the pattern but not the condition, the line will be discarded entirely. + If the line matches the pattern and the condition, the matching pattern is removed and the line is processed normally. + This can be used to perform platform specific tests. For instance, locale strings are different between Linux + and Windows, which can be accounted for like so: + + pre action: IFOS=MSWin32 SET_ENV LC_ALL Czech + pre action: IFOS!=MSWin32 SET_ENV LC_ALL cs_CZ.UTF-8 + + The entire test can be skipped in the same way using the skip command: + + skip: IFOS=MSWin32 Test is not applicable for Windows + skip: IFOS!=MSWin32 Test is only applicable for Windows + auto actions REMOVE_FILE @@ -97,6 +116,9 @@ Action verbs: touch a file (but only if FILE does not already exist). mostly useful for making sure test files exist even if there's an execution error that prevents them from being created (prevents diff from barfing) + DEFINE TOKEN VALUE + defines a value for TOKEN than can be used in other commands + SET_ENV VAR CONTENTS SET_ENV VAR "--UNSET--" set an environment variable. Useful for testing enviroment variables affecting the test command. After each test case is executed, From 6416f7bba2d1e3734cc2962a565c2bc20e0afaa9 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sun, 18 Oct 2020 15:39:40 +0000 Subject: [PATCH 04/98] Improve swaks support for Windows - Allow LOGNAME to be used on Windows. It's not a concept native to Windows, but there's no reason not to allow the default sender to be overridden by an environment variable - Fix date generation on Windows. Windows supports strftime, but not the %z format token we were using. Dates will be GMT on Windows and any other platform that doesn't support %z. - Fix how the app name is found - was broken both by the change in file system delimiters and the .pl extension - use binmode on STDIN and STDOUT to prevent perl helping with line ending translations - change the #! line to use /usr/bin/env for portability (this might have been for FreeBSD actually) - Fix setting environment variables on windows --- since env vars are caseless on Windows, force all options to lower case (Note that this breaks -S. Document and try to avoid case collisions in options in the future). --- Since Windows doesn't allow empty environment variables, allow variable values of '<>' to mean "set but empty" --- Explicitly revoke support for header names embedded in the --header option when set via environment variable on Windows (because Windows vars are caseless) --- Changes | 15 ++++++++ doc/base.pod | 14 +++---- swaks | 37 ++++++++++++++----- testing/regressions/_options-data/01020.test | 4 +- testing/regressions/_options-data/01021.test | 4 +- testing/regressions/_options-data/01070.test | 4 +- testing/regressions/_options-data/01071.test | 4 +- testing/regressions/_options-data/01120.test | 4 +- testing/regressions/_options-data/01121.test | 4 +- testing/regressions/_options-data/01170.test | 4 +- testing/regressions/_options-data/01171.test | 4 +- testing/regressions/_options-data/05218.test | 6 +++ .../_options-data/out-ref/05218.stderr | 1 + .../_options-data/out-ref/05218.stdout | 0 testing/regressions/_options-data/test.txt | 1 + .../regressions/_options-output/01170.test | 2 + .../regressions/_options-output/01171.test | 2 + .../regressions/_options-output/01172.test | 2 + .../regressions/_options-processing/0181.test | 7 ++++ .../_options-processing/out-ref/0181.stderr | 1 + .../_options-processing/out-ref/0181.stdout | 0 .../regressions/_options-processing/test.txt | 4 +- testing/regressions/bin/run-tests.pl | 5 ++- 23 files changed, 101 insertions(+), 28 deletions(-) create mode 100644 testing/regressions/_options-data/05218.test create mode 100644 testing/regressions/_options-data/out-ref/05218.stderr create mode 100644 testing/regressions/_options-data/out-ref/05218.stdout create mode 100644 testing/regressions/_options-processing/0181.test create mode 100644 testing/regressions/_options-processing/out-ref/0181.stderr create mode 100644 testing/regressions/_options-processing/out-ref/0181.stdout diff --git a/Changes b/Changes index 496f59ed..97c153d9 100644 --- a/Changes +++ b/Changes @@ -931,6 +931,21 @@ > 20201014 released 20201014.0 * 20201016 Testing: Document and improve automated testing to make it easier for new users to run in new environments +* 20201018 Change script interpreter line to use /usr/bin/env for portability * 20201018 Testing: Add --winnow to run-all.pl +* 20201030 Fix date generation by confirming environment's strftime supports + %z format token. Windows supports strftime but not %z. +* 20201030 Windows: use binmode on STDERR/STDOUT to prevent line ending + translation. +* 20201031 Windows: Fix setting options via environment variable (this fix + now means that -S is not supported on Windows) +* 20201031 Windows: Explicitly revoke support for providing header names + embedded in environment variable names (%SWAKS_OPT_header_From% + will result in an error) +* 20201031 Allow a value of '<>' in an environment variable to mean empty + string. Usable everywhere, but needed on Windows since it doesn't + support set-but-empty environment variables. +* 20201101 Windows: Allow LOGNAME environment variable to override default + email sender * 20201106 Testing: Extensive changes to allow test tools to run on Windows cmd.exe diff --git a/doc/base.pod b/doc/base.pod index 1f5b0140..e5d792f6 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -209,7 +209,7 @@ Options can be supplied via environment variables. The variables are in the for $ SWAKS_OPT_from='fred@example.com' $ SWAKS_OPT_h_From='"Fred Example" ' -Setting a variable to an empty value is the same as specifying it on the command line with no argument. For instance, setting would cause Swaks to prompt the user for the server to which to connect at each invocation. +Setting a variable to an empty value is the same as specifying it on the command line with no argument. For instance, setting would cause Swaks to prompt the user for the server to which to connect at each invocation. On Windows, it is not possible to set empty environment variables. The behavior can be simulated by setting the environment variable to C<< <> >> instead. Additionally, embedding the header name in the header option via environment variable is not allowed on Windows (eg C will result in an error, but C will work.) Because there is no inherent order in options provided by setting environment variables, the options are sorted before being processed. This is not a great solution, but it at least defines the behavior, which would be otherwise undefined. As an example, if both C<$SWAKS_OPT_from> and C<$SWAKS_OPT_f> were set, the value from C<$SWAKS_OPT_from> would be used, because it sorts after C<$SWAKS_OPT_f>. Also as a result of not having an inherent order in environment processing, unsetting options with the C prefix is unreliable. It works if the option being turned off sorts before C, but fails if it sorts after. Because C is primarily meant to operate between config types (for instance, unsetting from the command line an option that was set in a config file), this is not likely to be a problem. @@ -309,7 +309,7 @@ There is no default value for this option. If no recipients are provided via an =item -f, --from [] -Use argument as envelope-sender for email, or prompt user if no argument specified. The string C<< <> >> can be supplied to mean the null sender. If user does not specify a sender address a default value is used. The domain-part of the default sender is a best guess at the fully-qualified domain name of the local host. The method of determining the local-part varies. On Windows, C is used. On UNIX-ish platforms, the C<$LOGNAME> environment variable is used if it is set. Otherwise L is used. See also C<--force-getpwuid>. If Swaks cannot determine a local hostname and the sender address is needed for the transaction, Swaks will error and exit. In this case, a valid string must be provided via this option. (Arg-Required, From-Prompt) +Use argument as envelope-sender for email, or prompt user if no argument specified. The string C<< <> >> can be supplied to mean the null sender. If user does not specify a sender address a default value is used. The domain-part of the default sender is a best guess at the fully-qualified domain name of the local host. The method of determining the local-part varies. If the C<$LOGNAME> environment variable is set, it will be used as the local-part. Otherwise the value from C will be used on Windows and L on UNIX-ish platforms. See also C<--force-getpwuid>. If Swaks cannot determine a local hostname and the sender address is needed for the transaction, Swaks will error and exit. In this case, a valid string must be provided via this option. (Arg-Required, From-Prompt) =item --ehlo, --lhlo, -h, --helo [] @@ -445,7 +445,7 @@ If the server supports it, attempt Per-Recipient Data Response (PRDR) (L first. (Arg-None) +Tell Swaks to use the system-default method of determining the current user's username for the default sender local-part instead of trying C<$LOGNAME> first. Despite the UNIX-ish-specific option name, this option also works on Windows. (Arg-None) =back @@ -769,7 +769,7 @@ Replaced with the envelope-recipient(s). =item %DATE% -Replaced with the current time in a format suitable for inclusion in the Date: header. Note this attempts to use the standard module L for timezone calculations. If this module is unavailable the date string will be in GMT. +Replaced with the current time in a format suitable for inclusion in the Date: header. Note this attempts to use the standard module L for timezone calculations. If this module is unavailable or the current environment doesn't support the %z strftime format token (as on Windows) the date string will be in GMT. =item %MESSAGEID% @@ -837,7 +837,7 @@ The option can either be specified multiple times or a single time with multiple =item --header , --h-

-These options allow a way to change headers that already exist in the DATA. C<--header 'Subject: foo'> and C<--h-Subject foo> are equivalent. If the header does not already exist in the data then this argument behaves identically to C<--add-header>. However, if the header already exists it is replaced with the one specified. Negating the version of this option with the header name in the option (eg C<--no-header-Subject>) will remove all previously processed C<--header> options, not just the ones used for 'Subject'. (Arg-Required) +These options allow a way to change headers that already exist in the DATA. C<--header 'Subject: foo'> and C<--h-Subject foo> are equivalent. If the header does not already exist in the data then this argument behaves identically to C<--add-header>. However, if the header already exists it is replaced with the one specified. Negating the version of this option with the header name in the option (eg C<--no-header-Subject>) will remove all previously processed C<--header> options, not just the ones used for 'Subject'. Embedding the header name in the option via environment variable is not supported on Windows and will result in an error. (Arg-Required) =item -g @@ -969,7 +969,7 @@ Do not display any content to the terminal. (Arg-None) =item -S, --silent [ 1 | 2 | 3 ] -Cause Swaks to be silent. If no argument is given or if an argument of "1" is given, print no output unless/until an error occurs, after which all output is shown. If an argument of "2" is given, only print errors. If "3" is given, show no output ever. C<--silent> affects most output but not all. For instance, C<--help>, C<--version>, C<--dump>, and C<--dump-mail> are not affected. (Arg-Optional) +Cause Swaks to be silent. If no argument is given or if an argument of "1" is given, print no output unless/until an error occurs, after which all output is shown. If an argument of "2" is given, only print errors. If "3" is given, show no output ever. C<--silent> affects most output but not all. For instance, C<--help>, C<--version>, C<--dump>, and C<--dump-mail> are not affected. For historical reasons, -S is not settable via environment variable on Windows, use SWAKS_OPT_silent instead. (Arg-Optional) =item --support @@ -1021,7 +1021,7 @@ The C<--data>, C<--body>, C<--attach>, and C<--attach-body> options currently wi This program was primarily intended for use on UNIX-like operating systems, and it should work on any reasonable version thereof. It has been developed and tested on Solaris, Linux, and Mac OS X and is feature complete on all of these. -This program is known to demonstrate basic functionality on Windows using ActiveState's Perl. It has not been fully tested. Known to work are basic SMTP functionality and the LOGIN, PLAIN, and CRAM-MD5 auth types. Unknown is any TLS functionality and the NTLM/SPA and DIGEST-MD5 auth types. +This program is known to demonstrate basic functionality on Windows using Strawberry Perl. In all documentation, unless otherwise noted, "Windows" refers to running Swaks via CMD.exe, not WSL or cygwin. It has not been fully tested, but known to work are basic SMTP functionality and the LOGIN, PLAIN, and CRAM-MD5 auth types. Unknown is any TLS functionality and the NTLM/SPA and DIGEST-MD5 auth types. Some functionality is known to be limited on Windows, including inability to embed header name in environment variables (see L and C<--header>), inability to generate a local-timezone date string (see C<%DATE%> token under C<--data>), inability to use C<-S> option as an environment variable (see C<--silent>), and inability to have a "set but empty" value in an environment variable (see L for workaround). Because this program should work anywhere Perl works, I would appreciate knowing about any new operating systems you've thoroughly used Swaks on as well as any problems encountered on a new OS. diff --git a/swaks b/swaks index 0a4a7f5b..584366a3 100755 --- a/swaks +++ b/swaks @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # use 'swaks --help' to view documentation for this program # @@ -10,9 +10,13 @@ # Twitter: http://www.twitter.com/SwaksSMTP use strict; +use File::Spec::Functions qw(splitdir); + +binmode(STDOUT); +binmode(STDERR); $| = 1; -my($p_name) = $0 =~ m|/?([^/]+)$|; +my($p_name) = (splitdir($0))[-1] =~ m|^(.+?)(\.pl)?$|; my $p_version = build_version("DEVRELEASE", '$Id$'); my $p_usage = "Usage: $p_name [--help|--version] (see --help for details)"; my $p_cp = <<'EOM'; @@ -2236,9 +2240,19 @@ sub load_args { @fakeARGV = (); foreach my $v (sort keys %ENV) { if ($v =~ m|^SWAKS_OPT_(.*)$|) { - my $tv = $1; $tv =~ s|_|-|g; + my $tv = $1; + my $ta = $ENV{$v}; + $tv =~ s|_|-|g; + $tv = lc($tv) if ($^O eq 'MSWin32'); + $ta = '' if ($ta eq '<>'); + + if ($^O eq 'MSWin32' && $tv =~ /^(no-)?h(?:eader)?-/) { + ptrans(12, 'Embedding header names in environment variable names is not supported on Windows. Exiting'); + exit(1); + } + push(@fakeARGV, '--' . $tv); - push(@fakeARGV, $ENV{$v}) if (length($ENV{$v})); + push(@fakeARGV, $ta) if (length($ta)); } } fetch_args(\%ARGS, $option_list, \@fakeARGV) if (scalar(@fakeARGV)); @@ -3733,14 +3747,18 @@ sub get_running_state { sub get_username { my $force_getpwuid = shift; + my $fallback = ''; if ($^O eq 'MSWin32') { require Win32; - return Win32::LoginName(); + $fallback = Win32::LoginName(); + } + else { + $fallback = (getpwuid($<))[0]; } if ($force_getpwuid) { - return (getpwuid($<))[0]; + return $fallback; } - return $ENV{LOGNAME} || (getpwuid($<))[0]; + return $ENV{LOGNAME} || $fallback; } sub get_date_string { @@ -3750,8 +3768,9 @@ sub get_date_string { my @month_names = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); my @day_names = qw(Sun Mon Tue Wed Thu Fri Sat); - if (!avail("date_manip")) { - ptrans(12, avail_str("date_manip").". Date strings will be in GMT"); + # Windows has POSIX::strftime but not %z. Consider adding POSIX::strftime::GNU as an alternate option for date_manip in future + # but for now just force to UTC if %z doesn't appear to work + if (!avail("date_manip") || POSIX::strftime("%z", localtime($et)) !~ /\d\d\d\d$/) { my @l = gmtime($et); $G::date_string = sprintf("%s, %02d %s %d %02d:%02d:%02d %+05d", $day_names[$l[6]], diff --git a/testing/regressions/_options-data/01020.test b/testing/regressions/_options-data/01020.test index 2d2c3d26..682113b4 100644 --- a/testing/regressions/_options-data/01020.test +++ b/testing/regressions/_options-data/01020.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: h-From, env var, no arg pre action: SET_ENV SWAKS_OPT_h_From -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01021.test b/testing/regressions/_options-data/01021.test index ad8cd22a..03becae0 100644 --- a/testing/regressions/_options-data/01021.test +++ b/testing/regressions/_options-data/01021.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: h-From, env var, valid arg pre action: SET_ENV SWAKS_OPT_h_From 'added-by--header' -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01070.test b/testing/regressions/_options-data/01070.test index 6eecd277..076c9d08 100644 --- a/testing/regressions/_options-data/01070.test +++ b/testing/regressions/_options-data/01070.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: h-From:, env var, no arg pre action: SET_ENV SWAKS_OPT_h_From: -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01071.test b/testing/regressions/_options-data/01071.test index 896fbfb2..b35d4fe1 100644 --- a/testing/regressions/_options-data/01071.test +++ b/testing/regressions/_options-data/01071.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: h-From:, env var, valid arg pre action: SET_ENV SWAKS_OPT_h_From: 'added-by--header' -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01120.test b/testing/regressions/_options-data/01120.test index 3f81790e..53eddc79 100644 --- a/testing/regressions/_options-data/01120.test +++ b/testing/regressions/_options-data/01120.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: header-From, env var, no arg pre action: SET_ENV SWAKS_OPT_header_From -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01121.test b/testing/regressions/_options-data/01121.test index 7dac29ff..d8c3ec41 100644 --- a/testing/regressions/_options-data/01121.test +++ b/testing/regressions/_options-data/01121.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: header-From, env var, valid arg pre action: SET_ENV SWAKS_OPT_header_From 'added-by--header' -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01170.test b/testing/regressions/_options-data/01170.test index 6d79f9d4..14e91aec 100644 --- a/testing/regressions/_options-data/01170.test +++ b/testing/regressions/_options-data/01170.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: header-From:, env var, no arg pre action: SET_ENV SWAKS_OPT_header_From: -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/01171.test b/testing/regressions/_options-data/01171.test index 0b16bb66..ed2bcdd1 100644 --- a/testing/regressions/_options-data/01171.test +++ b/testing/regressions/_options-data/01171.test @@ -5,4 +5,6 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: header-From:, env var, valid arg pre action: SET_ENV SWAKS_OPT_header_From: 'added-by--header' -test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" + +skip: IFOS=MSWin32 Windows does not support embedding the header name in the header option via environment variable diff --git a/testing/regressions/_options-data/05218.test b/testing/regressions/_options-data/05218.test new file mode 100644 index 00000000..7189f222 --- /dev/null +++ b/testing/regressions/_options-data/05218.test @@ -0,0 +1,6 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: IFOS!=MSWin32 This test is for the Windows platform only + +pre action: SET_ENV SWAKS_OPT_header_From 'joe@example.com' +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net diff --git a/testing/regressions/_options-data/out-ref/05218.stderr b/testing/regressions/_options-data/out-ref/05218.stderr new file mode 100644 index 00000000..a6d69d71 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05218.stderr @@ -0,0 +1 @@ +*** Embedding header names in environment variable names is not supported on Windows. Exiting diff --git a/testing/regressions/_options-data/out-ref/05218.stdout b/testing/regressions/_options-data/out-ref/05218.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/test.txt b/testing/regressions/_options-data/test.txt index 89ffc8c9..112e7555 100644 --- a/testing/regressions/_options-data/test.txt +++ b/testing/regressions/_options-data/test.txt @@ -412,6 +412,7 @@ 15 - --header works with spaces in header name (dupe) 16 - no colon in header line 17 - first line of data looks like a continuation header + 18 - embedding header name in environment variable results in error on Windows 05250 - regression tests for multi-line headers 251 header replacement SINGLE-LINE, SINGLE-HEADER FIRST 252 header replacement SINGLE-LINE, SINGLE-HEADER MIDDLE diff --git a/testing/regressions/_options-output/01170.test b/testing/regressions/_options-output/01170.test index 36d1a378..1bf57ff0 100644 --- a/testing/regressions/_options-output/01170.test +++ b/testing/regressions/_options-output/01170.test @@ -6,3 +6,5 @@ title: S, env var, no arg pre action: SET_ENV SWAKS_OPT_S test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" + +skip: IFOS=MSWin32 Windows does not support the -S option when set via environment variable diff --git a/testing/regressions/_options-output/01171.test b/testing/regressions/_options-output/01171.test index cd17b534..42112737 100644 --- a/testing/regressions/_options-output/01171.test +++ b/testing/regressions/_options-output/01171.test @@ -6,3 +6,5 @@ title: S, env var, valid arg pre action: SET_ENV SWAKS_OPT_S 2 test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" + +skip: IFOS=MSWin32 Windows does not support the -S option when set via environment variable diff --git a/testing/regressions/_options-output/01172.test b/testing/regressions/_options-output/01172.test index 11ea1518..be571514 100644 --- a/testing/regressions/_options-output/01172.test +++ b/testing/regressions/_options-output/01172.test @@ -6,3 +6,5 @@ title: S, env var, invalid arg pre action: SET_ENV SWAKS_OPT_S asdf test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" + +skip: IFOS=MSWin32 Windows does not support the -S option when set via environment variable diff --git a/testing/regressions/_options-processing/0181.test b/testing/regressions/_options-processing/0181.test new file mode 100644 index 00000000..99762b19 --- /dev/null +++ b/testing/regressions/_options-processing/0181.test @@ -0,0 +1,7 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +# confirm that <> means "set but empty" for environment variables +# --copy-routing is meaningless, just a convenient function that errors if specified without an argument + +pre action: SET_ENV SWAKS_OPT_copy_routing '<>' +test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --server ser.ver diff --git a/testing/regressions/_options-processing/out-ref/0181.stderr b/testing/regressions/_options-processing/out-ref/0181.stderr new file mode 100644 index 00000000..1206a223 --- /dev/null +++ b/testing/regressions/_options-processing/out-ref/0181.stderr @@ -0,0 +1 @@ +*** Option processing error: option copy-routing specified with no argument diff --git a/testing/regressions/_options-processing/out-ref/0181.stdout b/testing/regressions/_options-processing/out-ref/0181.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-processing/test.txt b/testing/regressions/_options-processing/test.txt index 92837a58..072ba763 100644 --- a/testing/regressions/_options-processing/test.txt +++ b/testing/regressions/_options-processing/test.txt @@ -1,4 +1,4 @@ -This suite is designed to test the actual setting of options. It's not designed to fles the options themselves, just that they +This suite is designed to test the actual setting of options. It's not designed to flex the options themselves, just that they are being passed into the script in a consistent way. I expect this to be a very big test suite (config file options) + (env var options) + (command line options) @@ -91,7 +91,7 @@ testing #78 - non-opt/arg data is error (mid options) (not relevant with environment variables) #79 - non-opt/arg data is error (end of options) (not relevant with environment variables) #80 - non-opt/arg data that looks like an argument to an option that doesn't take one is an error (not relevant with environment variables) - + 81 - Make sure that "<>" in an environment variable is treated as "set but empty" 0200 - test command line processing 52 - test "-from" diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index 0c6a8d39..b2411fc7 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -370,8 +370,9 @@ sub runAction { delete($ENV{$args[0]}); } else { - # print STDERR "SET_ENV $args[0] - setting ENV{$args[0]} to $args[1]\n"; - $ENV{$args[0]} = $args[1]; + my $tv = ($^O eq 'MSWin32' && !$args[1]) ? '<>' : $args[1]; + # print STDERR "SET_ENV $args[0] - setting ENV{$args[0]} to $tv\n"; + $ENV{$args[0]} = $tv; } } elsif ($verb eq 'MERGE') { From a039472ca1d3f8a69eccf95f410a2c83be5a9128 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sat, 7 Nov 2020 10:22:57 -0500 Subject: [PATCH 05/98] move help generation to Pod::Usage from manual call to perldoc --- Changes | 2 ++ swaks | 21 ++++++++----------- .../_options-output/out-ref/01250.stderr | 1 - .../_options-output/out-ref/01250.stdout | 3 +++ .../_options-output/out-ref/01260.stderr | 1 - .../_options-output/out-ref/01260.stdout | 3 +++ .../_options-output/out-ref/01270.stderr | 1 - .../_options-output/out-ref/01270.stdout | 3 +++ .../_options-output/out-ref/01280.stderr | 1 - .../_options-output/out-ref/01280.stdout | 3 +++ testing/regressions/bin/check-env.pl | 13 ++++++------ testing/regressions/etc/README.txt | 1 - util/gen-release.pl | 1 + 13 files changed, 31 insertions(+), 23 deletions(-) diff --git a/Changes b/Changes index 97c153d9..d89295a0 100644 --- a/Changes +++ b/Changes @@ -947,5 +947,7 @@ support set-but-empty environment variables. * 20201101 Windows: Allow LOGNAME environment variable to override default email sender +* 20201101 Change the generation of help text from a manual perldoc call to + Pod::Usage * 20201106 Testing: Extensive changes to allow test tools to run on Windows cmd.exe diff --git a/swaks b/swaks index 584366a3..39d84ed8 100755 --- a/swaks +++ b/swaks @@ -10,6 +10,7 @@ # Twitter: http://www.twitter.com/SwaksSMTP use strict; +use Pod::Usage; use File::Spec::Functions qw(splitdir); binmode(STDOUT); @@ -42,8 +43,7 @@ my %O = %{ load_args() }; # before we do anything else, check for --help and --version if (get_arg('help', \%O)) { - ext_usage(); - exit; + pod2usage(-verbose => 2, -exit => 0); } if (get_arg('version', \%O)) { print "$p_name version $p_version\n\n$p_cp\n"; @@ -3844,15 +3844,12 @@ sub build_version { } } -sub ext_usage { - require Config; - $ENV{PATH} .= ":" unless $ENV{PATH} eq ""; - $ENV{PATH} = $ENV{PATH} . $Config::Config{'installscript'}; - $< = $> = 1 if ($> == 0 || $< == 0); - exec("perldoc", $0) || exit(1); - # make parser happy - %Config::Config = (); +### This is the end of released code - exit(0); -} +=pod + +=head1 DESCRIPTION + +This is a version of swaks from version control +=cut diff --git a/testing/regressions/_options-output/out-ref/01250.stderr b/testing/regressions/_options-output/out-ref/01250.stderr index 4e775184..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01250.stderr +++ b/testing/regressions/_options-output/out-ref/01250.stderr @@ -1 +0,0 @@ -No documentation found for "%SWAKS_COMMAND%". diff --git a/testing/regressions/_options-output/out-ref/01250.stdout b/testing/regressions/_options-output/out-ref/01250.stdout index e69de29b..b490d9fd 100644 --- a/testing/regressions/_options-output/out-ref/01250.stdout +++ b/testing/regressions/_options-output/out-ref/01250.stdout @@ -0,0 +1,3 @@ +DESCRIPTION + This is a version of swaks from version control + diff --git a/testing/regressions/_options-output/out-ref/01260.stderr b/testing/regressions/_options-output/out-ref/01260.stderr index 4e775184..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01260.stderr +++ b/testing/regressions/_options-output/out-ref/01260.stderr @@ -1 +0,0 @@ -No documentation found for "%SWAKS_COMMAND%". diff --git a/testing/regressions/_options-output/out-ref/01260.stdout b/testing/regressions/_options-output/out-ref/01260.stdout index e69de29b..b490d9fd 100644 --- a/testing/regressions/_options-output/out-ref/01260.stdout +++ b/testing/regressions/_options-output/out-ref/01260.stdout @@ -0,0 +1,3 @@ +DESCRIPTION + This is a version of swaks from version control + diff --git a/testing/regressions/_options-output/out-ref/01270.stderr b/testing/regressions/_options-output/out-ref/01270.stderr index 4e775184..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01270.stderr +++ b/testing/regressions/_options-output/out-ref/01270.stderr @@ -1 +0,0 @@ -No documentation found for "%SWAKS_COMMAND%". diff --git a/testing/regressions/_options-output/out-ref/01270.stdout b/testing/regressions/_options-output/out-ref/01270.stdout index e69de29b..b490d9fd 100644 --- a/testing/regressions/_options-output/out-ref/01270.stdout +++ b/testing/regressions/_options-output/out-ref/01270.stdout @@ -0,0 +1,3 @@ +DESCRIPTION + This is a version of swaks from version control + diff --git a/testing/regressions/_options-output/out-ref/01280.stderr b/testing/regressions/_options-output/out-ref/01280.stderr index 4e775184..e69de29b 100644 --- a/testing/regressions/_options-output/out-ref/01280.stderr +++ b/testing/regressions/_options-output/out-ref/01280.stderr @@ -1 +0,0 @@ -No documentation found for "%SWAKS_COMMAND%". diff --git a/testing/regressions/_options-output/out-ref/01280.stdout b/testing/regressions/_options-output/out-ref/01280.stdout index e69de29b..b490d9fd 100644 --- a/testing/regressions/_options-output/out-ref/01280.stdout +++ b/testing/regressions/_options-output/out-ref/01280.stdout @@ -0,0 +1,3 @@ +DESCRIPTION + This is a version of swaks from version control + diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl index 518a8f45..673bb248 100755 --- a/testing/regressions/bin/check-env.pl +++ b/testing/regressions/bin/check-env.pl @@ -66,12 +66,13 @@ } } -if (my $perldoc = findpath('perldoc')) { - print "ok perldoc ($perldoc)\n"; -} -else { - print "NOK perldoc must be installed and in your path\n"; -} +# I believe this is no longer needed after switch to Pod::Usage +# if (my $perldoc = findpath('perldoc')) { +# print "ok perldoc ($perldoc)\n"; +# } +# else { +# print "NOK perldoc must be installed and in your path\n"; +# } if ($swaksScript) { my $support = `$swaksScript --support 2>&1`; diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index 581329e0..60a23eb3 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -20,7 +20,6 @@ environment/tooling: the Capture::Tiny perl module needs to be installed expect is needed in the current PATH (apt-get install expect, brew install expect, etc) - except on Windows, see below - perldoc needs to be in the path and usable (apt-get install perl-doc) all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) diff --git a/util/gen-release.pl b/util/gen-release.pl index 043c1840..1e37ee14 100755 --- a/util/gen-release.pl +++ b/util/gen-release.pl @@ -30,6 +30,7 @@ while () { # build_version("DEVRELEASE" s|build_version\("DEVRELEASE"|build_version("$release"|g; + last if (/^### This is the end of released code/); print O; } close(I); From 4cf27a6cacc185b359e1c56e3c4b62b36bc6a9e3 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sat, 7 Nov 2020 17:54:16 -0500 Subject: [PATCH 06/98] Add alternate token form ..TOKEN.. --- Changes | 2 ++ doc/base.pod | 16 +++++----- swaks | 32 +++++++++++++------ testing/regressions/_options-data/05600.test | 3 ++ testing/regressions/_options-data/05601.test | 8 +++++ testing/regressions/_options-data/05602.test | 8 +++++ testing/regressions/_options-data/05603.test | 7 ++++ testing/regressions/_options-data/05604.test | 6 ++++ testing/regressions/_options-data/05605.test | 8 +++++ testing/regressions/_options-data/05606.test | 7 ++++ .../_options-data/out-ref/05600.stderr | 0 .../_options-data/out-ref/05600.stdout | 13 ++++++++ .../_options-data/out-ref/05601.stderr | 0 .../_options-data/out-ref/05601.stdout | 14 ++++++++ .../_options-data/out-ref/05602.stderr | 0 .../_options-data/out-ref/05602.stdout | 14 ++++++++ .../_options-data/out-ref/05603.stderr | 0 .../_options-data/out-ref/05603.stdout | 14 ++++++++ .../_options-data/out-ref/05604.stderr | 0 .../_options-data/out-ref/05604.stdout | 14 ++++++++ .../_options-data/out-ref/05605.stderr | 0 .../_options-data/out-ref/05605.stdout | 14 ++++++++ .../_options-data/out-ref/05606.stderr | 0 .../_options-data/out-ref/05606.stdout | 14 ++++++++ testing/regressions/_options-data/test.txt | 8 +++++ 25 files changed, 184 insertions(+), 18 deletions(-) create mode 100644 testing/regressions/_options-data/05600.test create mode 100644 testing/regressions/_options-data/05601.test create mode 100644 testing/regressions/_options-data/05602.test create mode 100644 testing/regressions/_options-data/05603.test create mode 100644 testing/regressions/_options-data/05604.test create mode 100644 testing/regressions/_options-data/05605.test create mode 100644 testing/regressions/_options-data/05606.test create mode 100644 testing/regressions/_options-data/out-ref/05600.stderr create mode 100644 testing/regressions/_options-data/out-ref/05600.stdout create mode 100644 testing/regressions/_options-data/out-ref/05601.stderr create mode 100644 testing/regressions/_options-data/out-ref/05601.stdout create mode 100644 testing/regressions/_options-data/out-ref/05602.stderr create mode 100644 testing/regressions/_options-data/out-ref/05602.stdout create mode 100644 testing/regressions/_options-data/out-ref/05603.stderr create mode 100644 testing/regressions/_options-data/out-ref/05603.stdout create mode 100644 testing/regressions/_options-data/out-ref/05604.stderr create mode 100644 testing/regressions/_options-data/out-ref/05604.stdout create mode 100644 testing/regressions/_options-data/out-ref/05605.stderr create mode 100644 testing/regressions/_options-data/out-ref/05605.stdout create mode 100644 testing/regressions/_options-data/out-ref/05606.stderr create mode 100644 testing/regressions/_options-data/out-ref/05606.stdout diff --git a/Changes b/Changes index d89295a0..ff5613f6 100644 --- a/Changes +++ b/Changes @@ -951,3 +951,5 @@ Pod::Usage * 20201106 Testing: Extensive changes to allow test tools to run on Windows cmd.exe +* 20201107 Add ..TOKEN.. form of tokens to more-easily allow tokens to be + specified from Windows command line. diff --git a/doc/base.pod b/doc/base.pod index e5d792f6..7bf074ec 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -759,35 +759,35 @@ Very basic token parsing is performed on the DATA portion. The following table =over 4 -=item %FROM_ADDRESS% +=item %FROM_ADDRESS%, ..FROM_ADDRESS.. Replaced with the envelope-sender. -=item %TO_ADDRESS% +=item %TO_ADDRESS%, ..TO_ADDRESS.. Replaced with the envelope-recipient(s). -=item %DATE% +=item %DATE%, ..DATE.. Replaced with the current time in a format suitable for inclusion in the Date: header. Note this attempts to use the standard module L for timezone calculations. If this module is unavailable or the current environment doesn't support the %z strftime format token (as on Windows) the date string will be in GMT. -=item %MESSAGEID% +=item %MESSAGEID%, ..MESSAGEID.. Replaced with a message ID string suitable for use in a Message-Id header. The value for this token will remain consistent for the life of the process. -=item %SWAKS_VERSION% +=item %SWAKS_VERSION%, ..SWAKS_VERSION.. Replaced with the version of the currently-running Swaks process. -=item %NEW_HEADERS% +=item %NEW_HEADERS%, ..NEW_HEADERS.. Replaced with the contents of the C<--add-header> option. If C<--add-header> is not specified this token is simply removed. -=item %BODY% +=item %BODY%, ..BODY.. Replaced with the value specified by the C<--body> option. See C<--body> for default. -=item %NEWLINE% +=item %NEWLINE%, ..BODY.. Replaced with carriage return, newline (0x0d, 0x0a). This is identical to using C<\n> (0x5c, 0x6e), but doesn't have the escaping concerns that the backslash can cause on the newline. diff --git a/swaks b/swaks index 39d84ed8..e74cb232 100755 --- a/swaks +++ b/swaks @@ -2596,7 +2596,7 @@ sub get_arg { # the old rule for --data was that anything that didn't have a newline in it would be treated # as a file, and we would error if we couldn't open it. That would prevent us from sending # typoed filenames as the data of messages - if ($return !~ m/\\n|\n|%NEWLINE%/) { + if ($return !~ m/\\n|\n|$G::tokens->{NEWLINE}{regexp}/) { deprecate('Inferring a filename from the argument to --' . $argExt->{opt} . ' will be removed in the future. Prefix filenames with \'@\' instead.'); if (!open(F, "<$return")) { @@ -2659,6 +2659,17 @@ sub process_args { my %n = (); # This is the hash we will return w/ the fixed-up args my $a = get_option_struct(); # defining information for all options + $G::tokens = { + NEWLINE => { regexp => '(%|\.\.)NEWLINE\1', literal => '%NEWLINE%', }, + FROM_ADDRESS => { regexp => '(%|\.\.)FROM_ADDRESS\1', literal => '%FROM_ADDRESS%', }, + TO_ADDRESS => { regexp => '(%|\.\.)TO_ADDRESS\1', literal => '%TO_ADDRESS%', }, + MESSAGEID => { regexp => '(%|\.\.)MESSAGEID\1', literal => '%MESSAGEID%', }, + SWAKS_VERSION => { regexp => '(%|\.\.)SWAKS_VERSION\1', literal => '%SWAKS_VERSION%', }, + DATE => { regexp => '(%|\.\.)DATE\1', literal => '%DATE%', }, + BODY => { regexp => '(%|\.\.)BODY\1', literal => '%BODY%', }, + NEW_HEADERS => { regexp => '(%|\.\.)NEW_HEADERS\1', literal => '%NEW_HEADERS%', }, + }; + # handle the output file handles early so they can be used for errors # we don't need to keep track of the actual files but it will make debugging # easier later @@ -3061,7 +3072,8 @@ sub process_args { '\n' . '%BODY%\n'; if (!get_arg('no_data_fixup', $o)) { - $n{data} =~ s/%BODY%/$body/g; + # $n{data} =~ s/%BODY%/$body/g; + $n{data} =~ s/$G::tokens->{BODY}{regexp}/$body/g; $n{data} =~ s/\\n/\r\n/g; my $addHeader_accum = get_accum('add_header', $o); my $addHeaderOpt = []; @@ -3138,9 +3150,9 @@ sub process_args { } # if there are new headers, add them as appropriate - if ($newHeader =~ /%NEW_HEADERS%/) { + if ($newHeader =~ /$G::tokens->{NEW_HEADERS}{regexp}/) { $n{add_header} = join("\r\n", @{$addHeaderOpt}) . "\r\n" if (@{$addHeaderOpt}); - $newHeader =~ s/%NEW_HEADERS%/$n{add_header}/g; + $newHeader =~ s/$G::tokens->{NEW_HEADERS}{regexp}/$n{add_header}/g; } elsif (scalar(@{$addHeaderOpt})) { foreach my $line (@{$addHeaderOpt}) { $newHeader .= $line . "\r\n"; @@ -3150,12 +3162,12 @@ sub process_args { # Now re-assemble our data by adding the headers back on to the front $n{data} = $newHeader . "\r\n" . $n{data}; - $n{data} =~ s/\\n|%NEWLINE%/\r\n/g; - $n{data} =~ s/%FROM_ADDRESS%/$n{from}/g; - $n{data} =~ s/%TO_ADDRESS%/$n{to}/g; - $n{data} =~ s/%MESSAGEID%/get_messageid()/ge; - $n{data} =~ s/%SWAKS_VERSION%/$p_version/g; - $n{data} =~ s/%DATE%/get_date_string()/ge; + $n{data} =~ s/\\n|$G::tokens->{NEWLINE}{regexp}/\r\n/g; + $n{data} =~ s/$G::tokens->{FROM_ADDRESS}{regexp}/$n{from}/g; + $n{data} =~ s/$G::tokens->{TO_ADDRESS}{regexp}/$n{to}/g; + $n{data} =~ s/$G::tokens->{MESSAGEID}{regexp}/get_messageid()/ge; + $n{data} =~ s/$G::tokens->{SWAKS_VERSION}{regexp}/$p_version/g; + $n{data} =~ s/$G::tokens->{DATE}{regexp}/get_date_string()/ge; $n{data} =~ s/^From [^\n]*\n// if (!get_arg('no_strip_from', $o)); $n{data} =~ s/\r?\n\.\r?\n?$//s; # If there was a trailing dot, remove it $n{data} =~ s/\n\./\n../g; # quote any other leading dots diff --git a/testing/regressions/_options-data/05600.test b/testing/regressions/_options-data/05600.test new file mode 100644 index 00000000..0a03b8dc --- /dev/null +++ b/testing/regressions/_options-data/05600.test @@ -0,0 +1,3 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net diff --git a/testing/regressions/_options-data/05601.test b/testing/regressions/_options-data/05601.test new file mode 100644 index 00000000..b9c347f4 --- /dev/null +++ b/testing/regressions/_options-data/05601.test @@ -0,0 +1,8 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net \ +--body "custom body" \ +--add-header "Custom-Header: custom header" \ +--data "from - %FROM_ADDRESS%%NEWLINE%to - %TO_ADDRESS%%NEWLINE%Message-Id: <%MESSAGEID%>%NEWLINE%swaks_version - %SWAKS_VERSION%%NEWLINE%new headers - %NEW_HEADERS%%NEWLINE%Date: %DATE%%NEWLINE%body - %BODY%%NEWLINE%" + +skip: IFOS=MSWin32 Invalid on Windows, %TOKEN% tokens not consistently available on Windows diff --git a/testing/regressions/_options-data/05602.test b/testing/regressions/_options-data/05602.test new file mode 100644 index 00000000..2e07a68f --- /dev/null +++ b/testing/regressions/_options-data/05602.test @@ -0,0 +1,8 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +pre action: SET_ENV SWAKS_OPT_data "from - %FROM_ADDRESS%%NEWLINE%to - %TO_ADDRESS%%NEWLINE%Message-Id: <%MESSAGEID%>%NEWLINE%swaks_version - %SWAKS_VERSION%%NEWLINE%new headers - %NEW_HEADERS%%NEWLINE%Date: %DATE%%NEWLINE%body - %BODY%%NEWLINE%" +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net \ +--body "custom body" \ +--add-header "Custom-Header: custom header" + +#skip: IFOS=MSWin32 Invalid on Windows, %TOKEN% tokens not consistently available on Windows diff --git a/testing/regressions/_options-data/05603.test b/testing/regressions/_options-data/05603.test new file mode 100644 index 00000000..7183993e --- /dev/null +++ b/testing/regressions/_options-data/05603.test @@ -0,0 +1,7 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +pre action: MERGE %OUTDIR%/swaksrc-%TESTID% string:'data %FROM_ADDRESS%%NEWLINE%to - %TO_ADDRESS%%NEWLINE%Message-Id: <%MESSAGEID%>%NEWLINE%swaks_version - %SWAKS_VERSION%%NEWLINE%new headers - %NEW_HEADERS%%NEWLINE%Date: %DATE%%NEWLINE%body - %BODY%%NEWLINE%' +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID% \ +--body "custom body" \ +--add-header "Custom-Header: custom header" + diff --git a/testing/regressions/_options-data/05604.test b/testing/regressions/_options-data/05604.test new file mode 100644 index 00000000..ed71d8a9 --- /dev/null +++ b/testing/regressions/_options-data/05604.test @@ -0,0 +1,6 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net \ +--body "custom body" \ +--add-header "Custom-Header: custom header" \ +--data "from - ..FROM_ADDRESS....NEWLINE..to - ..TO_ADDRESS....NEWLINE..Message-Id: <..MESSAGEID..>..NEWLINE..swaks_version - ..SWAKS_VERSION....NEWLINE..new headers - ..NEW_HEADERS....NEWLINE..Date: ..DATE....NEWLINE..body - ..BODY....NEWLINE.." diff --git a/testing/regressions/_options-data/05605.test b/testing/regressions/_options-data/05605.test new file mode 100644 index 00000000..5d66e950 --- /dev/null +++ b/testing/regressions/_options-data/05605.test @@ -0,0 +1,8 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +pre action: SET_ENV SWAKS_OPT_data "from - ..FROM_ADDRESS....NEWLINE..to - ..TO_ADDRESS....NEWLINE..Message-Id: <..MESSAGEID..>..NEWLINE..swaks_version - ..SWAKS_VERSION....NEWLINE..new headers - ..NEW_HEADERS....NEWLINE..Date: ..DATE....NEWLINE..body - ..BODY....NEWLINE.." +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --server ser.ver --helo host1.nodns.test.swaks.net --from from@host1.nodns.test.swaks.net \ +--body "custom body" \ +--add-header "Custom-Header: custom header" + +#skip: IFOS=MSWin32 Invalid on Windows, %TOKEN% tokens not consistently available on Windows diff --git a/testing/regressions/_options-data/05606.test b/testing/regressions/_options-data/05606.test new file mode 100644 index 00000000..d4e0c2ba --- /dev/null +++ b/testing/regressions/_options-data/05606.test @@ -0,0 +1,7 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +pre action: MERGE %OUTDIR%/swaksrc-%TESTID% string:'data ..FROM_ADDRESS....NEWLINE..to - ..TO_ADDRESS....NEWLINE..Message-Id: <..MESSAGEID..>..NEWLINE..swaks_version - ..SWAKS_VERSION....NEWLINE..new headers - ..NEW_HEADERS....NEWLINE..Date: ..DATE....NEWLINE..body - ..BODY....NEWLINE..' +test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID% \ +--body "custom body" \ +--add-header "Custom-Header: custom header" + diff --git a/testing/regressions/_options-data/out-ref/05600.stderr b/testing/regressions/_options-data/out-ref/05600.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05600.stdout b/testing/regressions/_options-data/out-ref/05600.stdout new file mode 100644 index 00000000..ab81e408 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05600.stdout @@ -0,0 +1,13 @@ +DATA Info: + data = <<. +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: from@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/05601.stderr b/testing/regressions/_options-data/out-ref/05601.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05601.stdout b/testing/regressions/_options-data/out-ref/05601.stdout new file mode 100644 index 00000000..e9c16954 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05601.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +from - from@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/out-ref/05602.stderr b/testing/regressions/_options-data/out-ref/05602.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05602.stdout b/testing/regressions/_options-data/out-ref/05602.stdout new file mode 100644 index 00000000..e9c16954 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05602.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +from - from@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/out-ref/05603.stderr b/testing/regressions/_options-data/out-ref/05603.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05603.stdout b/testing/regressions/_options-data/out-ref/05603.stdout new file mode 100644 index 00000000..9be79af9 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05603.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +recip@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/out-ref/05604.stderr b/testing/regressions/_options-data/out-ref/05604.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05604.stdout b/testing/regressions/_options-data/out-ref/05604.stdout new file mode 100644 index 00000000..e9c16954 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05604.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +from - from@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/out-ref/05605.stderr b/testing/regressions/_options-data/out-ref/05605.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05605.stdout b/testing/regressions/_options-data/out-ref/05605.stdout new file mode 100644 index 00000000..e9c16954 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05605.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +from - from@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/out-ref/05606.stderr b/testing/regressions/_options-data/out-ref/05606.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-data/out-ref/05606.stdout b/testing/regressions/_options-data/out-ref/05606.stdout new file mode 100644 index 00000000..9be79af9 --- /dev/null +++ b/testing/regressions/_options-data/out-ref/05606.stdout @@ -0,0 +1,14 @@ +DATA Info: + data = <<. +recip@host1.nodns.test.swaks.net +to - user@host1.nodns.test.swaks.net +Message-Id: <19991103112429.047942@localhost> +swaks_version - DEVRELEASE +new headers - Custom-Header: custom header + +Date: Wed, 03 Nov 1999 11:24:29 -0500 +body - custom body + + + +. diff --git a/testing/regressions/_options-data/test.txt b/testing/regressions/_options-data/test.txt index 112e7555..ab65e764 100644 --- a/testing/regressions/_options-data/test.txt +++ b/testing/regressions/_options-data/test.txt @@ -487,6 +487,14 @@ 24 - multiple bodies forces msg:multipart/alternative (--attach-type text/plain --attach-body body.txt --attach-type text/html --attach-body body.html) 25 - single body, multiple attachments = msg:mp/mixed, 26 - mult bodies, mult attach = msg:mp/mixed, body:mp/alt, att:whatever +05600 - data replacement tokens + 0 - ensure the standard body is replaced + 1 - all tokens, %TOKEN%, command line + 2 - all tokens, %TOKEN%, environment variable + 3 - all tokens, %TOKEN%, config file + 4 - all tokens, ..TOKEN.., command line + 5 - all tokens, ..TOKEN.., environment variable + 6 - all tokens, ..TOKEN.., config file From 6afd2dc6d2b0497c621cd904a5a59f71a404b0e8 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sat, 7 Nov 2020 21:25:56 -0500 Subject: [PATCH 07/98] Add notes that Text::Diff is required for testing --- testing/regressions/bin/check-env.pl | 7 +++++++ testing/regressions/etc/README.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl index 673bb248..4170e63e 100755 --- a/testing/regressions/bin/check-env.pl +++ b/testing/regressions/bin/check-env.pl @@ -39,6 +39,13 @@ print "NOK Capture::Tiny perl module must be installed\n"; } +if (checkmod('Text::Diff')) { + print "ok Text::Diff\n"; +} +else { + print "NOK Text::Diff perl module must be installed\n"; +} + my $swaksScript; if (length($ENV{'TEST_SWAKS'})) { if (my $swaks = findpath($ENV{'TEST_SWAKS'})) { diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index 60a23eb3..af94312b 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -18,6 +18,7 @@ environment/tooling: - on Windows, swaks _must_ be named swaks.pl perl must be in your path. the Capture::Tiny perl module needs to be installed + the Text::Diff perl module needs to be installed expect is needed in the current PATH (apt-get install expect, brew install expect, etc) - except on Windows, see below all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) From 8e4d2f1b429c357641df104b5041c51ec29351a9 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sun, 15 Nov 2020 11:51:05 -0500 Subject: [PATCH 08/98] Fix tests related to %DATE% 1) Now that we have ..DATE.. available, change the ones I changed to MESSAGE_ID back to ..DATE.. 2) Because I wasn't running them on windows, I never changed the INTERACT tests. Change them to ..DATE.. also --- Changes | 3 +++ testing/regressions/_options-data/00000.test | 2 +- testing/regressions/_options-data/00001.test | 2 +- testing/regressions/_options-data/00003.test | 2 +- testing/regressions/_options-data/00010.test | 2 +- testing/regressions/_options-data/00020.test | 2 +- testing/regressions/_options-data/00030.test | 2 +- testing/regressions/_options-data/00031.test | 2 +- testing/regressions/_options-data/00032.test | 2 +- testing/regressions/_options-data/00050.test | 2 +- testing/regressions/_options-data/00051.test | 2 +- testing/regressions/_options-data/00053.test | 2 +- testing/regressions/_options-data/00060.test | 2 +- testing/regressions/_options-data/00070.test | 2 +- testing/regressions/_options-data/00080.test | 2 +- testing/regressions/_options-data/00081.test | 2 +- testing/regressions/_options-data/00082.test | 2 +- testing/regressions/_options-data/out-ref/00001.stdout | 2 +- testing/regressions/_options-data/out-ref/00031.stdout | 2 +- testing/regressions/_options-data/out-ref/00032.stdout | 2 +- testing/regressions/_options-data/out-ref/00051.stdout | 2 +- testing/regressions/_options-data/out-ref/00081.stdout | 2 +- testing/regressions/_options-data/out-ref/00082.stdout | 2 +- 23 files changed, 25 insertions(+), 22 deletions(-) diff --git a/Changes b/Changes index ff5613f6..508ae105 100644 --- a/Changes +++ b/Changes @@ -953,3 +953,6 @@ cmd.exe * 20201107 Add ..TOKEN.. form of tokens to more-easily allow tokens to be specified from Windows command line. +* 20201116 Previously changed %DATE% to %MESSAGE_ID% in some tests to protect + against accidental expansion on Windows. Change back to ..DATE.. + now that it's an option. diff --git a/testing/regressions/_options-data/00000.test b/testing/regressions/_options-data/00000.test index df2e3802..b996c22a 100644 --- a/testing/regressions/_options-data/00000.test +++ b/testing/regressions/_options-data/00000.test @@ -4,4 +4,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, no arg -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --d' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --d' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00001.test b/testing/regressions/_options-data/00001.test index 4c47f6ba..430b1440 100644 --- a/testing/regressions/_options-data/00001.test +++ b/testing/regressions/_options-data/00001.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --d 'Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + --d 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00003.test b/testing/regressions/_options-data/00003.test index 1c7e412a..fffb218c 100644 --- a/testing/regressions/_options-data/00003.test +++ b/testing/regressions/_options-data/00003.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, no-option test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --d 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' --no-d + --d 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' --no-d diff --git a/testing/regressions/_options-data/00010.test b/testing/regressions/_options-data/00010.test index edbc98e8..2a31f492 100644 --- a/testing/regressions/_options-data/00010.test +++ b/testing/regressions/_options-data/00010.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, config, no arg pre action: MERGE %OUTDIR%/swaksrc-%TESTID% string:'d' -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID%' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID%' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00020.test b/testing/regressions/_options-data/00020.test index 8fec2adc..0f3d54da 100644 --- a/testing/regressions/_options-data/00020.test +++ b/testing/regressions/_options-data/00020.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, env var, no arg pre action: SET_ENV SWAKS_OPT_d -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver"' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver"' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00030.test b/testing/regressions/_options-data/00030.test index 92066eca..c89e4c1f 100644 --- a/testing/regressions/_options-data/00030.test +++ b/testing/regressions/_options-data/00030.test @@ -4,4 +4,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d command line, no arg (-option) -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" -d' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" -d' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00031.test b/testing/regressions/_options-data/00031.test index d6f5ae11..d7ef4b90 100644 --- a/testing/regressions/_options-data/00031.test +++ b/testing/regressions/_options-data/00031.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg (-option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - -d='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + -d='Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00032.test b/testing/regressions/_options-data/00032.test index 7acde7f0..94f4188b 100644 --- a/testing/regressions/_options-data/00032.test +++ b/testing/regressions/_options-data/00032.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: d, command line, valid arg (--option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --d='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + --d='Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00050.test b/testing/regressions/_options-data/00050.test index cf6b8ca9..2f5bcc10 100644 --- a/testing/regressions/_options-data/00050.test +++ b/testing/regressions/_options-data/00050.test @@ -4,4 +4,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, no arg -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --data' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --data' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00051.test b/testing/regressions/_options-data/00051.test index 9dfb88ca..55861fce 100644 --- a/testing/regressions/_options-data/00051.test +++ b/testing/regressions/_options-data/00051.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --data 'Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + --data 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00053.test b/testing/regressions/_options-data/00053.test index aac6bf7b..3699c380 100644 --- a/testing/regressions/_options-data/00053.test +++ b/testing/regressions/_options-data/00053.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, no-option test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --data 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' --no-data + --data 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' --no-data diff --git a/testing/regressions/_options-data/00060.test b/testing/regressions/_options-data/00060.test index 3fbd2d1e..b18c0d1a 100644 --- a/testing/regressions/_options-data/00060.test +++ b/testing/regressions/_options-data/00060.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, config, no arg pre action: MERGE %OUTDIR%/swaksrc-%TESTID% string:'data' -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID%' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" --config %OUTDIR%/swaksrc-%TESTID%' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00070.test b/testing/regressions/_options-data/00070.test index 028e3bf7..44fd9da7 100644 --- a/testing/regressions/_options-data/00070.test +++ b/testing/regressions/_options-data/00070.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, env var, no arg pre action: SET_ENV SWAKS_OPT_data -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver"' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver"' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00080.test b/testing/regressions/_options-data/00080.test index 1489c08e..67ca5b8e 100644 --- a/testing/regressions/_options-data/00080.test +++ b/testing/regressions/_options-data/00080.test @@ -4,4 +4,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data command line, no arg (-option) -auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" -data' 'Data:' 'Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY%' +auto: INTERACT '%SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" -data' 'Data:' 'Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00081.test b/testing/regressions/_options-data/00081.test index 022864ef..d45b82da 100644 --- a/testing/regressions/_options-data/00081.test +++ b/testing/regressions/_options-data/00081.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg (-option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - -data='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + -data='Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/00082.test b/testing/regressions/_options-data/00082.test index 76ffd0a6..a0bd9b00 100644 --- a/testing/regressions/_options-data/00082.test +++ b/testing/regressions/_options-data/00082.test @@ -5,4 +5,4 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr title: data, command line, valid arg (--option=) test action: CMD_CAPTURE %SWAKS% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server "ser.ver" \ - --data='Message-Id: C<%MESSAGEID%>%NEWLINE%%NEWLINE%C%BODY%' + --data='Date: C..DATE..%NEWLINE%%NEWLINE%C%BODY%' diff --git a/testing/regressions/_options-data/out-ref/00001.stdout b/testing/regressions/_options-data/out-ref/00001.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00001.stdout +++ b/testing/regressions/_options-data/out-ref/00001.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00031.stdout b/testing/regressions/_options-data/out-ref/00031.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00031.stdout +++ b/testing/regressions/_options-data/out-ref/00031.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00032.stdout b/testing/regressions/_options-data/out-ref/00032.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00032.stdout +++ b/testing/regressions/_options-data/out-ref/00032.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00051.stdout b/testing/regressions/_options-data/out-ref/00051.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00051.stdout +++ b/testing/regressions/_options-data/out-ref/00051.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00081.stdout b/testing/regressions/_options-data/out-ref/00081.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00081.stdout +++ b/testing/regressions/_options-data/out-ref/00081.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing diff --git a/testing/regressions/_options-data/out-ref/00082.stdout b/testing/regressions/_options-data/out-ref/00082.stdout index e8e60e2c..f17e80ca 100644 --- a/testing/regressions/_options-data/out-ref/00082.stdout +++ b/testing/regressions/_options-data/out-ref/00082.stdout @@ -1,6 +1,6 @@ DATA Info: data = <<. -Message-Id: C<19991103112429.047942@localhost> +Date: CWed, 03 Nov 1999 11:24:29 -0500 CThis is a test mailing From 2d89b37906fdfd8b5dd17201dca396d4c4754e8e Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sun, 15 Nov 2020 11:29:51 -0500 Subject: [PATCH 09/98] Improvements to testing tools related to line endings 1) add sle.pl and slediff.pl utilities for a way to evaluate line ending diffs that's easier than looking at xxd output 2) Add new diff options to run-tests.pl. - (w) - show the diff with \r and \n characters made visible (useful for understanding why a regular diff shows changes but looks unchanged - (o) - before diffing files, normalize all line endings to "\n". This is useful for evaluating changes when there is a misture of line ending and non-line-ending changes --- Changes | 1 + testing/regressions/bin/run-tests.pl | 65 ++++++++++++++++++++++------ testing/regressions/bin/sle.pl | 9 ++++ testing/regressions/bin/slediff.pl | 41 ++++++++++++++++++ 4 files changed, 103 insertions(+), 13 deletions(-) create mode 100755 testing/regressions/bin/sle.pl create mode 100755 testing/regressions/bin/slediff.pl diff --git a/Changes b/Changes index 508ae105..b7e26f44 100644 --- a/Changes +++ b/Changes @@ -956,3 +956,4 @@ * 20201116 Previously changed %DATE% to %MESSAGE_ID% in some tests to protect against accidental expansion on Windows. Change back to ..DATE.. now that it's an option. +* 20201126 Add tools for visualizing errors caused by line ending issues diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index b2411fc7..ac111b59 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -179,6 +179,46 @@ sub saveResult { } } +sub genDiffs { + my $baseDiffFile = shift; + my $refFile = shift; + my $dynFile = shift; + my $leDiffFile = $baseDiffFile . '.showle'; + my $noleDiffFile = $baseDiffFile . '.nole'; + + unlink($baseDiffFile, $leDiffFile, $noleDiffFile); + + my $diff = Text::Diff::diff($refFile, $dynFile, { STYLE => 'Unified' }); + + if (!$diff) { + return; + } + + open(O, ">$baseDiffFile") || die "Can't write to $baseDiffFile: $!\n"; + print O $diff; + close(O); + + $diff =~ s|\r|\\r|g; + $diff =~ s|\n|\\n\n|g; + open(O, ">$leDiffFile") || die "Can't write to $leDiffFile: $!\n"; + print O $diff; + close(O); + + open(I, "<$refFile"); + my $refData = join('', ); + close(I); + open(I, "<$dynFile"); + my $dynData = join('', ); + close(I); + + $refData =~ s|\r||g; + $dynData =~ s|\r||g; + + open(O, ">$noleDiffFile") || die "Can't write to $noleDiffFile: $!\n"; + print O Text::Diff::diff(\$refData, \$dynData, { STYLE => 'Unified' }); + close(O); +} + sub runResult { my $testObj = shift; @@ -198,14 +238,9 @@ sub runResult { if (-f $args[0] && -f $args[1]) { my $diffFile = catfile($tokens->{'%OUTDIR%'}, (splitpath($args[0]))[2] . '.diff'); unlink($diffFile); + genDiffs($diffFile, $args[0], $args[1]); - my $diff = Text::Diff::diff($args[0], $args[1], { STYLE => 'Unified' }); - if ($diff) { - # my $diffFile = $tokens->{'%OUTDIR%'} . '/' . $tokens->{'%TESTID%'} . '.diff'; - open(O, ">$diffFile") || die "Can't write to $diffFile: $!\n"; - print O $diff; - close(O); - + if (-e $diffFile) { if (!$opts->{'headless'}) { INTERACT: while (1) { @@ -213,7 +248,7 @@ sub runResult { "DIFF: $args[0], $args[1]\n", ($testObj->{title} ? "TITLE: $testObj->{title}\n" : ''), "ACTION: ", $testObj->{'test action'}[0], "\n", - "(i)gnore, review (d)iff, (e)dit test, (r)erun test, (s)kip test, (a)ccept new results, (q)uit: "; + "(i)gnore file, review (d)iff ((w)ith or with(o)ut line endings), (e)dit test, (r)erun test, (s)kip test, (a)ccept new results, (q)uit: "; # read a single character w/o requiring user to hit enter ReadMode 'cbreak'; @@ -225,7 +260,11 @@ sub runResult { # ignore is to ignore this specific file failure last INTERACT; } - elsif ($input eq 'd') { + elsif ($input eq 'd' || $input eq 'w' || $input eq 'o') { + my $showFile = $diffFile; + $showFile = "$diffFile.showle" if ($input eq 'w'); + $showFile = "$diffFile.nole" if ($input eq 'o'); + my @cmds = ('intcat'); if (length($ENV{'PAGER'})) { unshift(@cmds, $ENV{'PAGER'}); @@ -237,16 +276,16 @@ sub runResult { CMD: foreach my $cmd (@cmds) { if ($cmd eq 'intcat') { - open(I, $diffFile) || print "ERROR: unable to open $diffFile: $!\n"; + open(I, $showFile) || print "ERROR: unable to open $showFile: $!\n"; while () { print; } close(I); } else { - debug('exec', "$cmd $diffFile"); - if (system($cmd, $diffFile) == -1) { - print "ERROR: unable to execute '$cmd $diffFile': $!\n"; + debug('exec', "$cmd $showFile"); + if (system($cmd, $showFile) == -1) { + print "ERROR: unable to execute '$cmd $showFile': $!\n"; next CMD; } last CMD; diff --git a/testing/regressions/bin/sle.pl b/testing/regressions/bin/sle.pl new file mode 100755 index 00000000..5fde1fa5 --- /dev/null +++ b/testing/regressions/bin/sle.pl @@ -0,0 +1,9 @@ +#!/usr/bin/env perl + +use strict; + +while (<>) { + s|\r|\\r|g; + s|\n|\\n\n|g; + print; +} diff --git a/testing/regressions/bin/slediff.pl b/testing/regressions/bin/slediff.pl new file mode 100755 index 00000000..65e9cd0e --- /dev/null +++ b/testing/regressions/bin/slediff.pl @@ -0,0 +1,41 @@ +#!/usr/bin/env perl + +use strict; + +use File::Spec::Functions qw(:ALL); +use Text::Diff qw(); + +# two ways to call this - the first is with two files and the second is with a dir and a testid. Do our best to tell which is which +# +# slediff.pl _options-auth 00300.stdout +# slediff.pl _options-auth/out-ref/00300.stdout _options-auth/out-dyn/00300.stdout + +my $testDir = shift; +my $testFile = shift; +my $file1 = catfile($testDir, "out-ref", $testFile); +my $file2 = catfile($testDir, "out-dyn", $testFile); + +if (-f $testDir && -f $testFile) { + $file1 = $testDir; + $file2 = $testFile; +} +elsif (!-f $file1 || !-f $file2) { + die "Couldn't figure out what files to diff from the options\n"; +} + +open(I, "<$file1") || die "Couldn't open $file1: $!\n"; +my $file1Contents = join('', ); +close(I); + +open(I, "<$file2") || die "Couldn't open $file2: $!\n"; +my $file2Contents = join('', ); +close(I); + +$file1Contents =~ s|\r|\\r|g; +$file1Contents =~ s|\n|\\n\n|g; + +$file2Contents =~ s|\r|\\r|g; +$file2Contents =~ s|\n|\\n\n|g; + +my $diff = Text::Diff::diff(\$file1Contents, \$file2Contents, { STYLE => 'Unified' }); +print $diff; From 6463e398da410bd828cecb72443160ca3bbdc42e Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Thu, 26 Nov 2020 10:08:48 -0500 Subject: [PATCH 10/98] Remove reliance on external tool for interactive tests Just use the already-existing ability to capture output from and write input to an external script. Allows us to enable interactive tests on windows Pros: totally cross-platform, including addressing line ending issues we were experiencing on Windows Cons: we're not actually responding directly to prompts. This is slightly more fragile, but I think it's fine for a set of test tools. --- Changes | 1 + .../_options-auth/out-ref/00300.stdout | 30 +++--- .../_options-auth/out-ref/00310.stdout | 30 +++--- .../_options-auth/out-ref/00320.stdout | 30 +++--- .../_options-auth/out-ref/00330.stdout | 30 +++--- .../_options-auth/out-ref/00350.stdout | 30 +++--- .../_options-auth/out-ref/00360.stdout | 30 +++--- .../_options-auth/out-ref/00370.stdout | 30 +++--- .../_options-auth/out-ref/00380.stdout | 30 +++--- .../_options-auth/out-ref/00400.stdout | 30 +++--- .../_options-auth/out-ref/00410.stdout | 30 +++--- .../_options-auth/out-ref/00420.stdout | 30 +++--- .../_options-auth/out-ref/00430.stdout | 30 +++--- .../_options-auth/out-ref/00450.stdout | 30 +++--- .../_options-auth/out-ref/00460.stdout | 30 +++--- .../_options-auth/out-ref/00470.stdout | 30 +++--- .../_options-auth/out-ref/00480.stdout | 30 +++--- .../_options-auth/out-ref/05008.stdout | 31 +++--- .../_options-auth/out-ref/05009.stdout | 30 +++--- .../_options-data/out-ref/00000.stdout | 18 ++-- .../_options-data/out-ref/00010.stdout | 18 ++-- .../_options-data/out-ref/00020.stdout | 18 ++-- .../_options-data/out-ref/00030.stdout | 18 ++-- .../_options-data/out-ref/00050.stdout | 18 ++-- .../_options-data/out-ref/00060.stdout | 18 ++-- .../_options-data/out-ref/00070.stdout | 18 ++-- .../_options-data/out-ref/00080.stdout | 18 ++-- .../_options-data/out-ref/00300.stdout | 28 +++--- .../_options-data/out-ref/00310.stdout | 28 +++--- .../_options-data/out-ref/00320.stdout | 28 +++--- .../_options-data/out-ref/00330.stdout | 28 +++--- .../_options-protocol/out-ref/00000.stdout | 28 +++--- .../_options-protocol/out-ref/00010.stdout | 28 +++--- .../_options-protocol/out-ref/00020.stdout | 28 +++--- .../_options-protocol/out-ref/00030.stdout | 28 +++--- .../_options-protocol/out-ref/00050.stdout | 28 +++--- .../_options-protocol/out-ref/00060.stdout | 28 +++--- .../_options-protocol/out-ref/00070.stdout | 28 +++--- .../_options-protocol/out-ref/00080.stdout | 28 +++--- .../_options-protocol/out-ref/00100.stdout | 28 +++--- .../_options-protocol/out-ref/00110.stdout | 28 +++--- .../_options-protocol/out-ref/00120.stdout | 28 +++--- .../_options-protocol/out-ref/00130.stdout | 28 +++--- .../_options-protocol/out-ref/00150.stdout | 28 +++--- .../_options-protocol/out-ref/00160.stdout | 28 +++--- .../_options-protocol/out-ref/00170.stdout | 28 +++--- .../_options-protocol/out-ref/00180.stdout | 28 +++--- .../_options-protocol/out-ref/00200.stdout | 28 +++--- .../_options-protocol/out-ref/00210.stdout | 28 +++--- .../_options-protocol/out-ref/00220.stdout | 28 +++--- .../_options-protocol/out-ref/00230.stdout | 28 +++--- .../_options-protocol/out-ref/00250.stdout | 28 +++--- .../_options-protocol/out-ref/00260.stdout | 28 +++--- .../_options-protocol/out-ref/00270.stdout | 28 +++--- .../_options-protocol/out-ref/00280.stdout | 28 +++--- .../_options-protocol/out-ref/00300.stdout | 28 +++--- .../_options-protocol/out-ref/00310.stdout | 28 +++--- .../_options-protocol/out-ref/00320.stdout | 28 +++--- .../_options-protocol/out-ref/00330.stdout | 28 +++--- .../_options-protocol/out-ref/00350.stdout | 28 +++--- .../_options-protocol/out-ref/00360.stdout | 28 +++--- .../_options-protocol/out-ref/00370.stdout | 28 +++--- .../_options-protocol/out-ref/00380.stdout | 28 +++--- .../_options-protocol/out-ref/00550.stdout | 28 +++--- .../_options-protocol/out-ref/00560.stdout | 28 +++--- .../_options-protocol/out-ref/00570.stdout | 28 +++--- .../_options-protocol/out-ref/00580.stdout | 28 +++--- .../_options-protocol/out-ref/05127.stdout | 28 +++--- .../_options-protocol/out-ref/05402.stdout | 99 +++++++++---------- .../_options-protocol/out-ref/05405.stdout | 83 ++++++++-------- .../_options-protocol/out-ref/05407.stdout | 99 +++++++++---------- .../_options-protocol/out-ref/05409.stdout | 83 ++++++++-------- .../_options-protocol/out-ref/05411.stdout | 99 +++++++++---------- .../_options-proxy/out-ref/00000.stdout | 10 +- .../_options-proxy/out-ref/00010.stdout | 10 +- .../_options-proxy/out-ref/00020.stdout | 10 +- .../_options-proxy/out-ref/00030.stdout | 10 +- .../_options-proxy/out-ref/00050.stdout | 10 +- .../_options-proxy/out-ref/00060.stdout | 10 +- .../_options-proxy/out-ref/00070.stdout | 10 +- .../_options-proxy/out-ref/00080.stdout | 10 +- .../_options-proxy/out-ref/00100.stdout | 22 ++--- .../_options-proxy/out-ref/00110.stdout | 22 ++--- .../_options-proxy/out-ref/00120.stdout | 22 ++--- .../_options-proxy/out-ref/00130.stdout | 22 ++--- .../_options-proxy/out-ref/00150.stdout | 22 ++--- .../_options-proxy/out-ref/00160.stdout | 22 ++--- .../_options-proxy/out-ref/00170.stdout | 22 ++--- .../_options-proxy/out-ref/00180.stdout | 22 ++--- .../_options-proxy/out-ref/00200.stdout | 22 ++--- .../_options-proxy/out-ref/00210.stdout | 22 ++--- .../_options-proxy/out-ref/00220.stdout | 22 ++--- .../_options-proxy/out-ref/00230.stdout | 22 ++--- .../_options-proxy/out-ref/00250.stdout | 22 ++--- .../_options-proxy/out-ref/00260.stdout | 22 ++--- .../_options-proxy/out-ref/00270.stdout | 22 ++--- .../_options-proxy/out-ref/00280.stdout | 22 ++--- .../_options-proxy/out-ref/00300.stdout | 22 ++--- .../_options-proxy/out-ref/00310.stdout | 22 ++--- .../_options-proxy/out-ref/00320.stdout | 22 ++--- .../_options-proxy/out-ref/00330.stdout | 22 ++--- .../_options-proxy/out-ref/00350.stdout | 22 ++--- .../_options-proxy/out-ref/00360.stdout | 22 ++--- .../_options-proxy/out-ref/00370.stdout | 22 ++--- .../_options-proxy/out-ref/00380.stdout | 22 ++--- .../_options-proxy/out-ref/00400.stdout | 22 ++--- .../_options-proxy/out-ref/00410.stdout | 22 ++--- .../_options-proxy/out-ref/00420.stdout | 22 ++--- .../_options-proxy/out-ref/00430.stdout | 22 ++--- .../_options-transport/out-ref/00000.stdout | 18 ++-- .../_options-transport/out-ref/00010.stdout | 18 ++-- .../_options-transport/out-ref/00020.stdout | 18 ++-- .../_options-transport/out-ref/00030.stdout | 18 ++-- .../_options-transport/out-ref/00050.stdout | 18 ++-- .../_options-transport/out-ref/00060.stdout | 18 ++-- .../_options-transport/out-ref/00070.stdout | 18 ++-- .../_options-transport/out-ref/00080.stdout | 18 ++-- .../_options-transport/out-ref/00100.stdout | 18 ++-- .../_options-transport/out-ref/00110.stdout | 18 ++-- .../_options-transport/out-ref/00120.stdout | 18 ++-- .../_options-transport/out-ref/00130.stdout | 18 ++-- .../_options-transport/out-ref/00150.stdout | 18 ++-- .../_options-transport/out-ref/00160.stdout | 18 ++-- .../_options-transport/out-ref/00170.stdout | 18 ++-- .../_options-transport/out-ref/00180.stdout | 18 ++-- .../_options-transport/out-ref/00200.stdout | 18 ++-- .../_options-transport/out-ref/00210.stdout | 18 ++-- .../_options-transport/out-ref/00220.stdout | 18 ++-- .../_options-transport/out-ref/00230.stdout | 18 ++-- .../_options-transport/out-ref/00250.stdout | 18 ++-- .../_options-transport/out-ref/00260.stdout | 18 ++-- .../_options-transport/out-ref/00270.stdout | 18 ++-- .../_options-transport/out-ref/00280.stdout | 18 ++-- .../_options-transport/out-ref/00300.stdout | 18 ++-- .../_options-transport/out-ref/00310.stdout | 18 ++-- .../_options-transport/out-ref/00320.stdout | 18 ++-- .../_options-transport/out-ref/00330.stdout | 18 ++-- .../_options-transport/out-ref/00350.stdout | 18 ++-- .../_options-transport/out-ref/00360.stdout | 18 ++-- .../_options-transport/out-ref/00370.stdout | 18 ++-- .../_options-transport/out-ref/00380.stdout | 18 ++-- .../_options-transport/out-ref/00400.stdout | 18 ++-- .../_options-transport/out-ref/00410.stdout | 18 ++-- .../_options-transport/out-ref/00420.stdout | 18 ++-- .../_options-transport/out-ref/00430.stdout | 18 ++-- .../_options-transport/out-ref/00600.stdout | 8 +- .../_options-transport/out-ref/00610.stdout | 8 +- .../_options-transport/out-ref/00620.stdout | 8 +- .../_options-transport/out-ref/00630.stdout | 8 +- .../_options-transport/out-ref/00650.stdout | 8 +- .../_options-transport/out-ref/00660.stdout | 8 +- .../_options-transport/out-ref/00670.stdout | 8 +- .../_options-transport/out-ref/00680.stdout | 8 +- .../_options-xclient/out-ref/00000.stdout | 12 +-- .../_options-xclient/out-ref/00010.stdout | 12 +-- .../_options-xclient/out-ref/00020.stdout | 12 +-- .../_options-xclient/out-ref/00030.stdout | 12 +-- .../_options-xclient/out-ref/00050.stdout | 12 +-- .../_options-xclient/out-ref/00060.stdout | 12 +-- .../_options-xclient/out-ref/00070.stdout | 12 +-- .../_options-xclient/out-ref/00080.stdout | 12 +-- .../_options-xclient/out-ref/00100.stdout | 12 +-- .../_options-xclient/out-ref/00110.stdout | 12 +-- .../_options-xclient/out-ref/00120.stdout | 12 +-- .../_options-xclient/out-ref/00130.stdout | 12 +-- .../_options-xclient/out-ref/00150.stdout | 12 +-- .../_options-xclient/out-ref/00160.stdout | 12 +-- .../_options-xclient/out-ref/00170.stdout | 12 +-- .../_options-xclient/out-ref/00180.stdout | 12 +-- .../_options-xclient/out-ref/00200.stdout | 12 +-- .../_options-xclient/out-ref/00210.stdout | 12 +-- .../_options-xclient/out-ref/00220.stdout | 12 +-- .../_options-xclient/out-ref/00230.stdout | 12 +-- .../_options-xclient/out-ref/00250.stdout | 12 +-- .../_options-xclient/out-ref/00260.stdout | 12 +-- .../_options-xclient/out-ref/00270.stdout | 12 +-- .../_options-xclient/out-ref/00280.stdout | 12 +-- .../_options-xclient/out-ref/00300.stdout | 12 +-- .../_options-xclient/out-ref/00310.stdout | 12 +-- .../_options-xclient/out-ref/00320.stdout | 12 +-- .../_options-xclient/out-ref/00330.stdout | 12 +-- .../_options-xclient/out-ref/00350.stdout | 12 +-- .../_options-xclient/out-ref/00360.stdout | 12 +-- .../_options-xclient/out-ref/00370.stdout | 12 +-- .../_options-xclient/out-ref/00380.stdout | 12 +-- .../_options-xclient/out-ref/00400.stdout | 12 +-- .../_options-xclient/out-ref/00410.stdout | 12 +-- .../_options-xclient/out-ref/00420.stdout | 12 +-- .../_options-xclient/out-ref/00430.stdout | 12 +-- .../_options-xclient/out-ref/00450.stdout | 12 +-- .../_options-xclient/out-ref/00460.stdout | 12 +-- .../_options-xclient/out-ref/00470.stdout | 12 +-- .../_options-xclient/out-ref/00480.stdout | 12 +-- testing/regressions/bin/check-env.pl | 28 ++---- testing/regressions/bin/run-tests.pl | 52 ++++++---- testing/regressions/etc/README.txt | 7 -- testing/regressions/etc/format.txt | 3 +- 197 files changed, 1942 insertions(+), 2333 deletions(-) diff --git a/Changes b/Changes index b7e26f44..dca33999 100644 --- a/Changes +++ b/Changes @@ -957,3 +957,4 @@ against accidental expansion on Windows. Change back to ..DATE.. now that it's an option. * 20201126 Add tools for visualizing errors caused by line ending issues +* 20201126 Rework interactive tests and enable on Windows diff --git a/testing/regressions/_options-auth/out-ref/00300.stdout b/testing/regressions/_options-auth/out-ref/00300.stdout index 40976bd3..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00300.stdout +++ b/testing/regressions/_options-auth/out-ref/00300.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS --au -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00310.stdout b/testing/regressions/_options-auth/out-ref/00310.stdout index c454f958..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00310.stdout +++ b/testing/regressions/_options-auth/out-ref/00310.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS --config /path/to/OUTDIR/swaksrc-00310 -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00320.stdout b/testing/regressions/_options-auth/out-ref/00320.stdout index 95b7413f..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00320.stdout +++ b/testing/regressions/_options-auth/out-ref/00320.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00330.stdout b/testing/regressions/_options-auth/out-ref/00330.stdout index d36918dd..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00330.stdout +++ b/testing/regressions/_options-auth/out-ref/00330.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS -au -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00350.stdout b/testing/regressions/_options-auth/out-ref/00350.stdout index f8b1e284..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00350.stdout +++ b/testing/regressions/_options-auth/out-ref/00350.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS --auth-user -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00360.stdout b/testing/regressions/_options-auth/out-ref/00360.stdout index e23fbdf7..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00360.stdout +++ b/testing/regressions/_options-auth/out-ref/00360.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS --config /path/to/OUTDIR/swaksrc-00360 -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00370.stdout b/testing/regressions/_options-auth/out-ref/00370.stdout index 95b7413f..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00370.stdout +++ b/testing/regressions/_options-auth/out-ref/00370.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00380.stdout b/testing/regressions/_options-auth/out-ref/00380.stdout index 0c4ad2c3..2256b7d4 100644 --- a/testing/regressions/_options-auth/out-ref/00380.stdout +++ b/testing/regressions/_options-auth/out-ref/00380.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --ap PASS -auth-user -Username: LOGIN -Authentication Info: - auth = required - username = 'LOGIN' - password = 'PASS' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Authentication Info: + auth = required + username = 'LOGIN' + password = 'PASS' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00400.stdout b/testing/regressions/_options-auth/out-ref/00400.stdout index 2cdd95d9..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00400.stdout +++ b/testing/regressions/_options-auth/out-ref/00400.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER --ap -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00410.stdout b/testing/regressions/_options-auth/out-ref/00410.stdout index 405e415d..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00410.stdout +++ b/testing/regressions/_options-auth/out-ref/00410.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER --config /path/to/OUTDIR/swaksrc-00410 -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00420.stdout b/testing/regressions/_options-auth/out-ref/00420.stdout index b472bf4b..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00420.stdout +++ b/testing/regressions/_options-auth/out-ref/00420.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00430.stdout b/testing/regressions/_options-auth/out-ref/00430.stdout index 3551e3f9..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00430.stdout +++ b/testing/regressions/_options-auth/out-ref/00430.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER -ap -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00450.stdout b/testing/regressions/_options-auth/out-ref/00450.stdout index 5ed0eae0..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00450.stdout +++ b/testing/regressions/_options-auth/out-ref/00450.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER --auth-password -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00460.stdout b/testing/regressions/_options-auth/out-ref/00460.stdout index b72b61a9..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00460.stdout +++ b/testing/regressions/_options-auth/out-ref/00460.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER --config /path/to/OUTDIR/swaksrc-00460 -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00470.stdout b/testing/regressions/_options-auth/out-ref/00470.stdout index b472bf4b..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00470.stdout +++ b/testing/regressions/_options-auth/out-ref/00470.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/00480.stdout b/testing/regressions/_options-auth/out-ref/00480.stdout index 4b6a5627..a83ff70e 100644 --- a/testing/regressions/_options-auth/out-ref/00480.stdout +++ b/testing/regressions/_options-auth/out-ref/00480.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --au USER -auth-password -Password: PASSWORD -Authentication Info: - auth = required - username = 'USER' - password = 'PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'USER' + password = 'PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/05008.stdout b/testing/regressions/_options-auth/out-ref/05008.stdout index c02d7687..1f77e4e0 100644 --- a/testing/regressions/_options-auth/out-ref/05008.stdout +++ b/testing/regressions/_options-auth/out-ref/05008.stdout @@ -1,17 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server host2.nodns.test.swaks.net --auth -Username: PROMPT-LOGIN -Password: PROMPT-PASSWORD -Authentication Info: - auth = required - username = 'PROMPT-LOGIN' - password = 'PROMPT-PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Password: Authentication Info: + auth = required + username = 'PROMPT-LOGIN' + password = 'PROMPT-PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-auth/out-ref/05009.stdout b/testing/regressions/_options-auth/out-ref/05009.stdout index a79754a0..78107391 100644 --- a/testing/regressions/_options-auth/out-ref/05009.stdout +++ b/testing/regressions/_options-auth/out-ref/05009.stdout @@ -1,16 +1,14 @@ -spawn %SWAKS_COMMAND% --dump AUTH --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server host1.nodns.test.swaks.net --auth --auth-user CMDLINE-USER -Password: PROMPT-PASSWORD -Authentication Info: - auth = required - username = 'CMDLINE-USER' - password = 'PROMPT-PASSWORD' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Password: Authentication Info: + auth = required + username = 'CMDLINE-USER' + password = 'PROMPT-PASSWORD' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-data/out-ref/00000.stdout b/testing/regressions/_options-data/out-ref/00000.stdout index 6eaf85db..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00000.stdout +++ b/testing/regressions/_options-data/out-ref/00000.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --d -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00010.stdout b/testing/regressions/_options-data/out-ref/00010.stdout index e7a51fb3..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00010.stdout +++ b/testing/regressions/_options-data/out-ref/00010.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00010 -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00020.stdout b/testing/regressions/_options-data/out-ref/00020.stdout index b7efe9d1..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00020.stdout +++ b/testing/regressions/_options-data/out-ref/00020.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00030.stdout b/testing/regressions/_options-data/out-ref/00030.stdout index 9272f2de..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00030.stdout +++ b/testing/regressions/_options-data/out-ref/00030.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -d -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00050.stdout b/testing/regressions/_options-data/out-ref/00050.stdout index 05548ce5..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00050.stdout +++ b/testing/regressions/_options-data/out-ref/00050.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --data -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00060.stdout b/testing/regressions/_options-data/out-ref/00060.stdout index cb307cff..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00060.stdout +++ b/testing/regressions/_options-data/out-ref/00060.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00060 -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00070.stdout b/testing/regressions/_options-data/out-ref/00070.stdout index b7efe9d1..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00070.stdout +++ b/testing/regressions/_options-data/out-ref/00070.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00080.stdout b/testing/regressions/_options-data/out-ref/00080.stdout index 77fc2628..b4d47e77 100644 --- a/testing/regressions/_options-data/out-ref/00080.stdout +++ b/testing/regressions/_options-data/out-ref/00080.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -data -Data: Date: C%DATE%%NEWLINE%%NEWLINE%C%BODY% -DATA Info: - data = <<. -Date: CWed, 03 Nov 1999 11:24:29 -0500 - -CThis is a test mailing - - -. +Data: DATA Info: + data = <<. +Date: CWed, 03 Nov 1999 11:24:29 -0500 + +CThis is a test mailing + + +. diff --git a/testing/regressions/_options-data/out-ref/00300.stdout b/testing/regressions/_options-data/out-ref/00300.stdout index 486aa699..7a7d854b 100644 --- a/testing/regressions/_options-data/out-ref/00300.stdout +++ b/testing/regressions/_options-data/out-ref/00300.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --body -Body: CUSTOM BODY -DATA Info: - data = <<. -Date: Wed, 03 Nov 1999 11:24:29 -0500 -To: user@host1.nodns.test.swaks.net -From: recip@host1.nodns.test.swaks.net -Subject: test Wed, 03 Nov 1999 11:24:29 -0500 -Message-Id: <19991103112429.047942@localhost> -X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ - -CUSTOM BODY - - -. +Body: DATA Info: + data = <<. +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +CUSTOM BODY + + +. diff --git a/testing/regressions/_options-data/out-ref/00310.stdout b/testing/regressions/_options-data/out-ref/00310.stdout index f99b20f9..7a7d854b 100644 --- a/testing/regressions/_options-data/out-ref/00310.stdout +++ b/testing/regressions/_options-data/out-ref/00310.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00310 -Body: CUSTOM BODY -DATA Info: - data = <<. -Date: Wed, 03 Nov 1999 11:24:29 -0500 -To: user@host1.nodns.test.swaks.net -From: recip@host1.nodns.test.swaks.net -Subject: test Wed, 03 Nov 1999 11:24:29 -0500 -Message-Id: <19991103112429.047942@localhost> -X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ - -CUSTOM BODY - - -. +Body: DATA Info: + data = <<. +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +CUSTOM BODY + + +. diff --git a/testing/regressions/_options-data/out-ref/00320.stdout b/testing/regressions/_options-data/out-ref/00320.stdout index 35b1d7bb..7a7d854b 100644 --- a/testing/regressions/_options-data/out-ref/00320.stdout +++ b/testing/regressions/_options-data/out-ref/00320.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -Body: CUSTOM BODY -DATA Info: - data = <<. -Date: Wed, 03 Nov 1999 11:24:29 -0500 -To: user@host1.nodns.test.swaks.net -From: recip@host1.nodns.test.swaks.net -Subject: test Wed, 03 Nov 1999 11:24:29 -0500 -Message-Id: <19991103112429.047942@localhost> -X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ - -CUSTOM BODY - - -. +Body: DATA Info: + data = <<. +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +CUSTOM BODY + + +. diff --git a/testing/regressions/_options-data/out-ref/00330.stdout b/testing/regressions/_options-data/out-ref/00330.stdout index a689a209..7a7d854b 100644 --- a/testing/regressions/_options-data/out-ref/00330.stdout +++ b/testing/regressions/_options-data/out-ref/00330.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump DATA --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -body -Body: CUSTOM BODY -DATA Info: - data = <<. -Date: Wed, 03 Nov 1999 11:24:29 -0500 -To: user@host1.nodns.test.swaks.net -From: recip@host1.nodns.test.swaks.net -Subject: test Wed, 03 Nov 1999 11:24:29 -0500 -Message-Id: <19991103112429.047942@localhost> -X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ - -CUSTOM BODY - - -. +Body: DATA Info: + data = <<. +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +CUSTOM BODY + + +. diff --git a/testing/regressions/_options-protocol/out-ref/00000.stdout b/testing/regressions/_options-protocol/out-ref/00000.stdout index 55755770..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00000.stdout +++ b/testing/regressions/_options-protocol/out-ref/00000.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver --to -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00010.stdout b/testing/regressions/_options-protocol/out-ref/00010.stdout index 27757374..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00010.stdout +++ b/testing/regressions/_options-protocol/out-ref/00010.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00010 -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00020.stdout b/testing/regressions/_options-protocol/out-ref/00020.stdout index 96c8280b..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00020.stdout +++ b/testing/regressions/_options-protocol/out-ref/00020.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00030.stdout b/testing/regressions/_options-protocol/out-ref/00030.stdout index 151ae493..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00030.stdout +++ b/testing/regressions/_options-protocol/out-ref/00030.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver -to -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00050.stdout b/testing/regressions/_options-protocol/out-ref/00050.stdout index 61ebee15..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00050.stdout +++ b/testing/regressions/_options-protocol/out-ref/00050.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver --t -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00060.stdout b/testing/regressions/_options-protocol/out-ref/00060.stdout index 9e205da7..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00060.stdout +++ b/testing/regressions/_options-protocol/out-ref/00060.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00060 -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00070.stdout b/testing/regressions/_options-protocol/out-ref/00070.stdout index 96c8280b..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00070.stdout +++ b/testing/regressions/_options-protocol/out-ref/00070.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00080.stdout b/testing/regressions/_options-protocol/out-ref/00080.stdout index 36d111cf..8b6ff1a1 100644 --- a/testing/regressions/_options-protocol/out-ref/00080.stdout +++ b/testing/regressions/_options-protocol/out-ref/00080.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from recip@host1.nodns.test.swaks.net --server ser.ver -t -To: foo@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = recip@host1.nodns.test.swaks.net - to = foo@bar.com - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = recip@host1.nodns.test.swaks.net + to = foo@bar.com + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00100.stdout b/testing/regressions/_options-protocol/out-ref/00100.stdout index 8e7c4be7..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00100.stdout +++ b/testing/regressions/_options-protocol/out-ref/00100.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver --from -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00110.stdout b/testing/regressions/_options-protocol/out-ref/00110.stdout index 272c5e66..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00110.stdout +++ b/testing/regressions/_options-protocol/out-ref/00110.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00110 -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00120.stdout b/testing/regressions/_options-protocol/out-ref/00120.stdout index eda994cd..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00120.stdout +++ b/testing/regressions/_options-protocol/out-ref/00120.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00130.stdout b/testing/regressions/_options-protocol/out-ref/00130.stdout index 3e405b80..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00130.stdout +++ b/testing/regressions/_options-protocol/out-ref/00130.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver -from -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00150.stdout b/testing/regressions/_options-protocol/out-ref/00150.stdout index 5364aa72..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00150.stdout +++ b/testing/regressions/_options-protocol/out-ref/00150.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver --f -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00160.stdout b/testing/regressions/_options-protocol/out-ref/00160.stdout index 5e8581ae..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00160.stdout +++ b/testing/regressions/_options-protocol/out-ref/00160.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00160 -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00170.stdout b/testing/regressions/_options-protocol/out-ref/00170.stdout index eda994cd..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00170.stdout +++ b/testing/regressions/_options-protocol/out-ref/00170.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00180.stdout b/testing/regressions/_options-protocol/out-ref/00180.stdout index 31defb8c..da2f2d6e 100644 --- a/testing/regressions/_options-protocol/out-ref/00180.stdout +++ b/testing/regressions/_options-protocol/out-ref/00180.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to sender@host1.nodns.test.swaks.net --server ser.ver -f -From: from@bar.com -Protocol Info: - protocol = esmtp - helo = LOCAL_HOST_NAME - from = from@bar.com - to = sender@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +From: Protocol Info: + protocol = esmtp + helo = LOCAL_HOST_NAME + from = from@bar.com + to = sender@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00200.stdout b/testing/regressions/_options-protocol/out-ref/00200.stdout index 6f670939..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00200.stdout +++ b/testing/regressions/_options-protocol/out-ref/00200.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --helo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00210.stdout b/testing/regressions/_options-protocol/out-ref/00210.stdout index baa25808..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00210.stdout +++ b/testing/regressions/_options-protocol/out-ref/00210.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00210 -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00220.stdout b/testing/regressions/_options-protocol/out-ref/00220.stdout index 429438f8..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00220.stdout +++ b/testing/regressions/_options-protocol/out-ref/00220.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00230.stdout b/testing/regressions/_options-protocol/out-ref/00230.stdout index 2db24324..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00230.stdout +++ b/testing/regressions/_options-protocol/out-ref/00230.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -helo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00250.stdout b/testing/regressions/_options-protocol/out-ref/00250.stdout index 633aaccc..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00250.stdout +++ b/testing/regressions/_options-protocol/out-ref/00250.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --ehlo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00260.stdout b/testing/regressions/_options-protocol/out-ref/00260.stdout index 625b8697..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00260.stdout +++ b/testing/regressions/_options-protocol/out-ref/00260.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00260 -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00270.stdout b/testing/regressions/_options-protocol/out-ref/00270.stdout index 429438f8..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00270.stdout +++ b/testing/regressions/_options-protocol/out-ref/00270.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00280.stdout b/testing/regressions/_options-protocol/out-ref/00280.stdout index 5fe314ce..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00280.stdout +++ b/testing/regressions/_options-protocol/out-ref/00280.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -ehlo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00300.stdout b/testing/regressions/_options-protocol/out-ref/00300.stdout index b9eedc71..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00300.stdout +++ b/testing/regressions/_options-protocol/out-ref/00300.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --lhlo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00310.stdout b/testing/regressions/_options-protocol/out-ref/00310.stdout index 9f2f29d1..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00310.stdout +++ b/testing/regressions/_options-protocol/out-ref/00310.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00310 -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00320.stdout b/testing/regressions/_options-protocol/out-ref/00320.stdout index 429438f8..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00320.stdout +++ b/testing/regressions/_options-protocol/out-ref/00320.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00330.stdout b/testing/regressions/_options-protocol/out-ref/00330.stdout index aa2904e7..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00330.stdout +++ b/testing/regressions/_options-protocol/out-ref/00330.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -lhlo -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00350.stdout b/testing/regressions/_options-protocol/out-ref/00350.stdout index cf5ba604..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00350.stdout +++ b/testing/regressions/_options-protocol/out-ref/00350.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --h -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00360.stdout b/testing/regressions/_options-protocol/out-ref/00360.stdout index 4c18993f..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00360.stdout +++ b/testing/regressions/_options-protocol/out-ref/00360.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver --config /path/to/OUTDIR/swaksrc-00360 -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00370.stdout b/testing/regressions/_options-protocol/out-ref/00370.stdout index 429438f8..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00370.stdout +++ b/testing/regressions/_options-protocol/out-ref/00370.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00380.stdout b/testing/regressions/_options-protocol/out-ref/00380.stdout index 54d04efd..72a0bf99 100644 --- a/testing/regressions/_options-protocol/out-ref/00380.stdout +++ b/testing/regressions/_options-protocol/out-ref/00380.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --server ser.ver -h -Helo: test-helo-string -Protocol Info: - protocol = esmtp - helo = test-helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +Helo: Protocol Info: + protocol = esmtp + helo = test-helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00550.stdout b/testing/regressions/_options-protocol/out-ref/00550.stdout index ba8adeb1..c826616b 100644 --- a/testing/regressions/_options-protocol/out-ref/00550.stdout +++ b/testing/regressions/_options-protocol/out-ref/00550.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo helo-string --server ser.ver --timeout -Timeout: 444 -Protocol Info: - protocol = esmtp - helo = helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 444 - pipeline = FALSE - prdr = FALSE +Timeout: Protocol Info: + protocol = esmtp + helo = helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 444 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00560.stdout b/testing/regressions/_options-protocol/out-ref/00560.stdout index 4835318e..c826616b 100644 --- a/testing/regressions/_options-protocol/out-ref/00560.stdout +++ b/testing/regressions/_options-protocol/out-ref/00560.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo helo-string --server ser.ver --config /path/to/OUTDIR/swaksrc-00560 -Timeout: 444 -Protocol Info: - protocol = esmtp - helo = helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 444 - pipeline = FALSE - prdr = FALSE +Timeout: Protocol Info: + protocol = esmtp + helo = helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 444 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00570.stdout b/testing/regressions/_options-protocol/out-ref/00570.stdout index cd2ac066..c826616b 100644 --- a/testing/regressions/_options-protocol/out-ref/00570.stdout +++ b/testing/regressions/_options-protocol/out-ref/00570.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo helo-string --server ser.ver -Timeout: 444 -Protocol Info: - protocol = esmtp - helo = helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 444 - pipeline = FALSE - prdr = FALSE +Timeout: Protocol Info: + protocol = esmtp + helo = helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 444 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/00580.stdout b/testing/regressions/_options-protocol/out-ref/00580.stdout index 30793202..c826616b 100644 --- a/testing/regressions/_options-protocol/out-ref/00580.stdout +++ b/testing/regressions/_options-protocol/out-ref/00580.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo helo-string --server ser.ver -timeout -Timeout: 444 -Protocol Info: - protocol = esmtp - helo = helo-string - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 444 - pipeline = FALSE - prdr = FALSE +Timeout: Protocol Info: + protocol = esmtp + helo = helo-string + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 444 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/05127.stdout b/testing/regressions/_options-protocol/out-ref/05127.stdout index bb2fa083..f42097bb 100644 --- a/testing/regressions/_options-protocol/out-ref/05127.stdout +++ b/testing/regressions/_options-protocol/out-ref/05127.stdout @@ -1,15 +1,13 @@ -spawn %SWAKS_COMMAND% --dump PROTOCOL --from sender@host2.nodns.test.swaks.net --server ser.ver --helo hstring --quit-after RCPT -To: test-recip -Protocol Info: - protocol = esmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = test-recip - force getpwuid = FALSE - quit after = rcpt - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE +To: Protocol Info: + protocol = esmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = test-recip + force getpwuid = FALSE + quit after = rcpt + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE diff --git a/testing/regressions/_options-protocol/out-ref/05402.stdout b/testing/regressions/_options-protocol/out-ref/05402.stdout index e50bf3f6..725f065e 100644 --- a/testing/regressions/_options-protocol/out-ref/05402.stdout +++ b/testing/regressions/_options-protocol/out-ref/05402.stdout @@ -1,52 +1,49 @@ -spawn %SWAKS_COMMAND% --dump AUTH,TLS,TRANSPORT,PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo hstring --server ser.ver --protocol ssmtpa -Username: test-username -Password: test-password -Transport Info: - type = socket-inet - inet protocol = any - server = ser.ver - port = 465 - local interface = - local port = - copy routing = FALSE - -Protocol Info: - protocol = esmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE - -TLS / Encryption Info: - tls = starttls on connect (required) - peer cert = - local cert = - local key = - local cipher list = - ca path = - sni string = - verify server cert = FALSE +Username: Password: Transport Info: + type = socket-inet + inet protocol = any + server = ser.ver + port = 465 + local interface = + local port = + copy routing = FALSE + +Protocol Info: + protocol = esmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE + +TLS / Encryption Info: + tls = starttls on connect (required) + peer cert = + local cert = + local key = + local cipher list = + ca path = + sni string = + verify server cert = FALSE available protocols = TLS_PROTOCOL_LIST - requested protocols = - -Authentication Info: - auth = required - username = 'test-username' - password = 'test-password' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN + requested protocols = + +Authentication Info: + auth = required + username = 'test-username' + password = 'test-password' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-protocol/out-ref/05405.stdout b/testing/regressions/_options-protocol/out-ref/05405.stdout index 46df1844..bb4ea1b5 100644 --- a/testing/regressions/_options-protocol/out-ref/05405.stdout +++ b/testing/regressions/_options-protocol/out-ref/05405.stdout @@ -1,43 +1,40 @@ -spawn %SWAKS_COMMAND% --dump AUTH,TLS,TRANSPORT,PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo hstring --server ser.ver --protocol esmtpa -Username: test-username -Password: test-password -Transport Info: - type = socket-inet - inet protocol = any - server = ser.ver - port = 25 - local interface = - local port = - copy routing = FALSE - -Protocol Info: - protocol = esmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE - -TLS / Encryption Info: - tls = no - -Authentication Info: - auth = required - username = 'test-username' - password = 'test-password' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Password: Transport Info: + type = socket-inet + inet protocol = any + server = ser.ver + port = 25 + local interface = + local port = + copy routing = FALSE + +Protocol Info: + protocol = esmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE + +TLS / Encryption Info: + tls = no + +Authentication Info: + auth = required + username = 'test-username' + password = 'test-password' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-protocol/out-ref/05407.stdout b/testing/regressions/_options-protocol/out-ref/05407.stdout index 56f391ee..70c69f56 100644 --- a/testing/regressions/_options-protocol/out-ref/05407.stdout +++ b/testing/regressions/_options-protocol/out-ref/05407.stdout @@ -1,52 +1,49 @@ -spawn %SWAKS_COMMAND% --dump AUTH,TLS,TRANSPORT,PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo hstring --server ser.ver --protocol esmtpsa -Username: test-username -Password: test-password -Transport Info: - type = socket-inet - inet protocol = any - server = ser.ver - port = 25 - local interface = - local port = - copy routing = FALSE - -Protocol Info: - protocol = esmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE - -TLS / Encryption Info: - tls = starttls (required) - peer cert = - local cert = - local key = - local cipher list = - ca path = - sni string = - verify server cert = FALSE +Username: Password: Transport Info: + type = socket-inet + inet protocol = any + server = ser.ver + port = 25 + local interface = + local port = + copy routing = FALSE + +Protocol Info: + protocol = esmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE + +TLS / Encryption Info: + tls = starttls (required) + peer cert = + local cert = + local key = + local cipher list = + ca path = + sni string = + verify server cert = FALSE available protocols = TLS_PROTOCOL_LIST - requested protocols = - -Authentication Info: - auth = required - username = 'test-username' - password = 'test-password' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN + requested protocols = + +Authentication Info: + auth = required + username = 'test-username' + password = 'test-password' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-protocol/out-ref/05409.stdout b/testing/regressions/_options-protocol/out-ref/05409.stdout index 524a6df4..11e07739 100644 --- a/testing/regressions/_options-protocol/out-ref/05409.stdout +++ b/testing/regressions/_options-protocol/out-ref/05409.stdout @@ -1,43 +1,40 @@ -spawn %SWAKS_COMMAND% --dump AUTH,TLS,TRANSPORT,PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo hstring --server ser.ver --protocol lmtpa -Username: test-username -Password: test-password -Transport Info: - type = socket-inet - inet protocol = any - server = ser.ver - port = 24 - local interface = - local port = - copy routing = FALSE - -Protocol Info: - protocol = lmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE - -TLS / Encryption Info: - tls = no - -Authentication Info: - auth = required - username = 'test-username' - password = 'test-password' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN +Username: Password: Transport Info: + type = socket-inet + inet protocol = any + server = ser.ver + port = 24 + local interface = + local port = + copy routing = FALSE + +Protocol Info: + protocol = lmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE + +TLS / Encryption Info: + tls = no + +Authentication Info: + auth = required + username = 'test-username' + password = 'test-password' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-protocol/out-ref/05411.stdout b/testing/regressions/_options-protocol/out-ref/05411.stdout index a36067db..19e70d8f 100644 --- a/testing/regressions/_options-protocol/out-ref/05411.stdout +++ b/testing/regressions/_options-protocol/out-ref/05411.stdout @@ -1,52 +1,49 @@ -spawn %SWAKS_COMMAND% --dump AUTH,TLS,TRANSPORT,PROTOCOL --to recip@host1.nodns.test.swaks.net --from sender@host2.nodns.test.swaks.net --helo hstring --server ser.ver --protocol lmtpsa -Username: test-username -Password: test-password -Transport Info: - type = socket-inet - inet protocol = any - server = ser.ver - port = 24 - local interface = - local port = - copy routing = FALSE - -Protocol Info: - protocol = lmtp - helo = hstring - from = sender@host2.nodns.test.swaks.net - to = recip@host1.nodns.test.swaks.net - force getpwuid = FALSE - quit after = - drop after = - drop after send = - server_only = FALSE - timeout = 30 - pipeline = FALSE - prdr = FALSE - -TLS / Encryption Info: - tls = starttls (required) - peer cert = - local cert = - local key = - local cipher list = - ca path = - sni string = - verify server cert = FALSE +Username: Password: Transport Info: + type = socket-inet + inet protocol = any + server = ser.ver + port = 24 + local interface = + local port = + copy routing = FALSE + +Protocol Info: + protocol = lmtp + helo = hstring + from = sender@host2.nodns.test.swaks.net + to = recip@host1.nodns.test.swaks.net + force getpwuid = FALSE + quit after = + drop after = + drop after send = + server_only = FALSE + timeout = 30 + pipeline = FALSE + prdr = FALSE + +TLS / Encryption Info: + tls = starttls (required) + peer cert = + local cert = + local key = + local cipher list = + ca path = + sni string = + verify server cert = FALSE available protocols = TLS_PROTOCOL_LIST - requested protocols = - -Authentication Info: - auth = required - username = 'test-username' - password = 'test-password' - show plaintext = FALSE - hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA - extras = - type map = CRAM-MD5 = CRAM-MD5 - CRAM-SHA1 = CRAM-SHA1 - DIGEST-MD5 = DIGEST-MD5 - LOGIN = LOGIN - NTLM = NTLM, SPA, MSN - PLAIN = PLAIN + requested protocols = + +Authentication Info: + auth = required + username = 'test-username' + password = 'test-password' + show plaintext = FALSE + hide password = FALSE + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA + extras = + type map = CRAM-MD5 = CRAM-MD5 + CRAM-SHA1 = CRAM-SHA1 + DIGEST-MD5 = DIGEST-MD5 + LOGIN = LOGIN + NTLM = NTLM, SPA, MSN + PLAIN = PLAIN diff --git a/testing/regressions/_options-proxy/out-ref/00000.stdout b/testing/regressions/_options-proxy/out-ref/00000.stdout index d71e4fdf..ef360673 100644 --- a/testing/regressions/_options-proxy/out-ref/00000.stdout +++ b/testing/regressions/_options-proxy/out-ref/00000.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy -PROXY string: PROXY_STRING -PROXY Info: - proxy = yes - version = 1 - raw string = PROXY_STRING +PROXY string: PROXY Info: + proxy = yes + version = 1 + raw string = PROXY_STRING diff --git a/testing/regressions/_options-proxy/out-ref/00010.stdout b/testing/regressions/_options-proxy/out-ref/00010.stdout index 24df870e..ef360673 100644 --- a/testing/regressions/_options-proxy/out-ref/00010.stdout +++ b/testing/regressions/_options-proxy/out-ref/00010.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00010 -PROXY string: PROXY_STRING -PROXY Info: - proxy = yes - version = 1 - raw string = PROXY_STRING +PROXY string: PROXY Info: + proxy = yes + version = 1 + raw string = PROXY_STRING diff --git a/testing/regressions/_options-proxy/out-ref/00020.stdout b/testing/regressions/_options-proxy/out-ref/00020.stdout index 74d59f12..ef360673 100644 --- a/testing/regressions/_options-proxy/out-ref/00020.stdout +++ b/testing/regressions/_options-proxy/out-ref/00020.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -PROXY string: PROXY_STRING -PROXY Info: - proxy = yes - version = 1 - raw string = PROXY_STRING +PROXY string: PROXY Info: + proxy = yes + version = 1 + raw string = PROXY_STRING diff --git a/testing/regressions/_options-proxy/out-ref/00030.stdout b/testing/regressions/_options-proxy/out-ref/00030.stdout index 28849c3a..ef360673 100644 --- a/testing/regressions/_options-proxy/out-ref/00030.stdout +++ b/testing/regressions/_options-proxy/out-ref/00030.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -proxy -PROXY string: PROXY_STRING -PROXY Info: - proxy = yes - version = 1 - raw string = PROXY_STRING +PROXY string: PROXY Info: + proxy = yes + version = 1 + raw string = PROXY_STRING diff --git a/testing/regressions/_options-proxy/out-ref/00050.stdout b/testing/regressions/_options-proxy/out-ref/00050.stdout index ec9dea5c..ea6e7fc7 100644 --- a/testing/regressions/_options-proxy/out-ref/00050.stdout +++ b/testing/regressions/_options-proxy/out-ref/00050.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy FORCEPROXY --proxy-version -PROXY version: 2 -PROXY Info: - proxy = yes - version = 2 - raw string = FORCEPROXY +PROXY version: PROXY Info: + proxy = yes + version = 2 + raw string = FORCEPROXY diff --git a/testing/regressions/_options-proxy/out-ref/00060.stdout b/testing/regressions/_options-proxy/out-ref/00060.stdout index bb91f292..ea6e7fc7 100644 --- a/testing/regressions/_options-proxy/out-ref/00060.stdout +++ b/testing/regressions/_options-proxy/out-ref/00060.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy FORCEPROXY --config /path/to/OUTDIR/swaksrc-00060 -PROXY version: 2 -PROXY Info: - proxy = yes - version = 2 - raw string = FORCEPROXY +PROXY version: PROXY Info: + proxy = yes + version = 2 + raw string = FORCEPROXY diff --git a/testing/regressions/_options-proxy/out-ref/00070.stdout b/testing/regressions/_options-proxy/out-ref/00070.stdout index 5acb2fc7..ea6e7fc7 100644 --- a/testing/regressions/_options-proxy/out-ref/00070.stdout +++ b/testing/regressions/_options-proxy/out-ref/00070.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy FORCEPROXY -PROXY version: 2 -PROXY Info: - proxy = yes - version = 2 - raw string = FORCEPROXY +PROXY version: PROXY Info: + proxy = yes + version = 2 + raw string = FORCEPROXY diff --git a/testing/regressions/_options-proxy/out-ref/00080.stdout b/testing/regressions/_options-proxy/out-ref/00080.stdout index fb91187f..ea6e7fc7 100644 --- a/testing/regressions/_options-proxy/out-ref/00080.stdout +++ b/testing/regressions/_options-proxy/out-ref/00080.stdout @@ -1,6 +1,4 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy FORCEPROXY -proxy-version -PROXY version: 2 -PROXY Info: - proxy = yes - version = 2 - raw string = FORCEPROXY +PROXY version: PROXY Info: + proxy = yes + version = 2 + raw string = FORCEPROXY diff --git a/testing/regressions/_options-proxy/out-ref/00100.stdout b/testing/regressions/_options-proxy/out-ref/00100.stdout index e40b336c..e3bab764 100644 --- a/testing/regressions/_options-proxy/out-ref/00100.stdout +++ b/testing/regressions/_options-proxy/out-ref/00100.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family -PROXY family: TCP4 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY family: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00110.stdout b/testing/regressions/_options-proxy/out-ref/00110.stdout index 3c073e86..e3bab764 100644 --- a/testing/regressions/_options-proxy/out-ref/00110.stdout +++ b/testing/regressions/_options-proxy/out-ref/00110.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --config /path/to/OUTDIR/swaksrc-00110 -PROXY family: TCP4 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY family: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00120.stdout b/testing/regressions/_options-proxy/out-ref/00120.stdout index 9677f527..e3bab764 100644 --- a/testing/regressions/_options-proxy/out-ref/00120.stdout +++ b/testing/regressions/_options-proxy/out-ref/00120.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 -PROXY family: TCP4 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY family: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00130.stdout b/testing/regressions/_options-proxy/out-ref/00130.stdout index 776c1bc7..e3bab764 100644 --- a/testing/regressions/_options-proxy/out-ref/00130.stdout +++ b/testing/regressions/_options-proxy/out-ref/00130.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 -proxy-family -PROXY family: TCP4 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY family: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00150.stdout b/testing/regressions/_options-proxy/out-ref/00150.stdout index 69c22efc..4bd026de 100644 --- a/testing/regressions/_options-proxy/out-ref/00150.stdout +++ b/testing/regressions/_options-proxy/out-ref/00150.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source -PROXY source: 1.1.1.1 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 1.1.1.1 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 1.1.1.1 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00160.stdout b/testing/regressions/_options-proxy/out-ref/00160.stdout index bb993a28..4bd026de 100644 --- a/testing/regressions/_options-proxy/out-ref/00160.stdout +++ b/testing/regressions/_options-proxy/out-ref/00160.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --config /path/to/OUTDIR/swaksrc-00160 -PROXY source: 1.1.1.1 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 1.1.1.1 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 1.1.1.1 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00170.stdout b/testing/regressions/_options-proxy/out-ref/00170.stdout index 770aa3e5..4bd026de 100644 --- a/testing/regressions/_options-proxy/out-ref/00170.stdout +++ b/testing/regressions/_options-proxy/out-ref/00170.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 -PROXY source: 1.1.1.1 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 1.1.1.1 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 1.1.1.1 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00180.stdout b/testing/regressions/_options-proxy/out-ref/00180.stdout index 33778ba1..4bd026de 100644 --- a/testing/regressions/_options-proxy/out-ref/00180.stdout +++ b/testing/regressions/_options-proxy/out-ref/00180.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 -proxy-source -PROXY source: 1.1.1.1 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 1.1.1.1 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 1.1.1.1 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00200.stdout b/testing/regressions/_options-proxy/out-ref/00200.stdout index d829f395..43acd02d 100644 --- a/testing/regressions/_options-proxy/out-ref/00200.stdout +++ b/testing/regressions/_options-proxy/out-ref/00200.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port -PROXY source_port: 1111 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 1111 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 1111 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00210.stdout b/testing/regressions/_options-proxy/out-ref/00210.stdout index d82e4086..43acd02d 100644 --- a/testing/regressions/_options-proxy/out-ref/00210.stdout +++ b/testing/regressions/_options-proxy/out-ref/00210.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --config /path/to/OUTDIR/swaksrc-00210 -PROXY source_port: 1111 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 1111 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 1111 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00220.stdout b/testing/regressions/_options-proxy/out-ref/00220.stdout index 1fe6d5f1..43acd02d 100644 --- a/testing/regressions/_options-proxy/out-ref/00220.stdout +++ b/testing/regressions/_options-proxy/out-ref/00220.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 -PROXY source_port: 1111 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 1111 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 1111 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00230.stdout b/testing/regressions/_options-proxy/out-ref/00230.stdout index 7646cf85..43acd02d 100644 --- a/testing/regressions/_options-proxy/out-ref/00230.stdout +++ b/testing/regressions/_options-proxy/out-ref/00230.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 -proxy-source-port -PROXY source_port: 1111 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 1111 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY source_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 1111 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00250.stdout b/testing/regressions/_options-proxy/out-ref/00250.stdout index 7ee10914..379af042 100644 --- a/testing/regressions/_options-proxy/out-ref/00250.stdout +++ b/testing/regressions/_options-proxy/out-ref/00250.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest -PROXY dest: 2.2.2.2 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 2.2.2.2 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY dest: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 2.2.2.2 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00260.stdout b/testing/regressions/_options-proxy/out-ref/00260.stdout index de3565f8..379af042 100644 --- a/testing/regressions/_options-proxy/out-ref/00260.stdout +++ b/testing/regressions/_options-proxy/out-ref/00260.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --config /path/to/OUTDIR/swaksrc-00260 -PROXY dest: 2.2.2.2 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 2.2.2.2 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY dest: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 2.2.2.2 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00270.stdout b/testing/regressions/_options-proxy/out-ref/00270.stdout index a8571046..379af042 100644 --- a/testing/regressions/_options-proxy/out-ref/00270.stdout +++ b/testing/regressions/_options-proxy/out-ref/00270.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 -PROXY dest: 2.2.2.2 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 2.2.2.2 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY dest: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 2.2.2.2 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00280.stdout b/testing/regressions/_options-proxy/out-ref/00280.stdout index ee4a6616..379af042 100644 --- a/testing/regressions/_options-proxy/out-ref/00280.stdout +++ b/testing/regressions/_options-proxy/out-ref/00280.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-dest-port 8888 --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 -proxy-dest -PROXY dest: 2.2.2.2 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 2.2.2.2 - dest port = 8888 - protocol = STREAM - command = PROXY +PROXY dest: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 2.2.2.2 + dest port = 8888 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00300.stdout b/testing/regressions/_options-proxy/out-ref/00300.stdout index 26ca6028..4c6b33e8 100644 --- a/testing/regressions/_options-proxy/out-ref/00300.stdout +++ b/testing/regressions/_options-proxy/out-ref/00300.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port -PROXY dest_port: 2222 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 2222 - protocol = STREAM - command = PROXY +PROXY dest_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 2222 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00310.stdout b/testing/regressions/_options-proxy/out-ref/00310.stdout index 5a68bb8f..4c6b33e8 100644 --- a/testing/regressions/_options-proxy/out-ref/00310.stdout +++ b/testing/regressions/_options-proxy/out-ref/00310.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --config /path/to/OUTDIR/swaksrc-00310 -PROXY dest_port: 2222 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 2222 - protocol = STREAM - command = PROXY +PROXY dest_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 2222 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00320.stdout b/testing/regressions/_options-proxy/out-ref/00320.stdout index ee927206..4c6b33e8 100644 --- a/testing/regressions/_options-proxy/out-ref/00320.stdout +++ b/testing/regressions/_options-proxy/out-ref/00320.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 -PROXY dest_port: 2222 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 2222 - protocol = STREAM - command = PROXY +PROXY dest_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 2222 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00330.stdout b/testing/regressions/_options-proxy/out-ref/00330.stdout index 37594392..4c6b33e8 100644 --- a/testing/regressions/_options-proxy/out-ref/00330.stdout +++ b/testing/regressions/_options-proxy/out-ref/00330.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family TCP4 --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 -proxy-dest-port -PROXY dest_port: 2222 -PROXY Info: - proxy = yes - version = 1 - family = TCP4 - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 2222 - protocol = STREAM - command = PROXY +PROXY dest_port: PROXY Info: + proxy = yes + version = 1 + family = TCP4 + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 2222 + protocol = STREAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00350.stdout b/testing/regressions/_options-proxy/out-ref/00350.stdout index 89ef5121..c9e5a136 100644 --- a/testing/regressions/_options-proxy/out-ref/00350.stdout +++ b/testing/regressions/_options-proxy/out-ref/00350.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 --proxy-protocol -PROXY protocol: DGRAM -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = DGRAM - command = PROXY +PROXY protocol: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = DGRAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00360.stdout b/testing/regressions/_options-proxy/out-ref/00360.stdout index 0d1c55b1..c9e5a136 100644 --- a/testing/regressions/_options-proxy/out-ref/00360.stdout +++ b/testing/regressions/_options-proxy/out-ref/00360.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 --config /path/to/OUTDIR/swaksrc-00360 -PROXY protocol: DGRAM -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = DGRAM - command = PROXY +PROXY protocol: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = DGRAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00370.stdout b/testing/regressions/_options-proxy/out-ref/00370.stdout index 4a473f19..c9e5a136 100644 --- a/testing/regressions/_options-proxy/out-ref/00370.stdout +++ b/testing/regressions/_options-proxy/out-ref/00370.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 -PROXY protocol: DGRAM -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = DGRAM - command = PROXY +PROXY protocol: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = DGRAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00380.stdout b/testing/regressions/_options-proxy/out-ref/00380.stdout index cc2a3b12..c9e5a136 100644 --- a/testing/regressions/_options-proxy/out-ref/00380.stdout +++ b/testing/regressions/_options-proxy/out-ref/00380.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 -proxy-protocol -PROXY protocol: DGRAM -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = DGRAM - command = PROXY +PROXY protocol: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = DGRAM + command = PROXY diff --git a/testing/regressions/_options-proxy/out-ref/00400.stdout b/testing/regressions/_options-proxy/out-ref/00400.stdout index 88ffa213..d7452755 100644 --- a/testing/regressions/_options-proxy/out-ref/00400.stdout +++ b/testing/regressions/_options-proxy/out-ref/00400.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 --proxy-command -PROXY command: LOCAL -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = LOCAL +PROXY command: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = LOCAL diff --git a/testing/regressions/_options-proxy/out-ref/00410.stdout b/testing/regressions/_options-proxy/out-ref/00410.stdout index bf07dfd5..d7452755 100644 --- a/testing/regressions/_options-proxy/out-ref/00410.stdout +++ b/testing/regressions/_options-proxy/out-ref/00410.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 --config /path/to/OUTDIR/swaksrc-00410 -PROXY command: LOCAL -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = LOCAL +PROXY command: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = LOCAL diff --git a/testing/regressions/_options-proxy/out-ref/00420.stdout b/testing/regressions/_options-proxy/out-ref/00420.stdout index b7ff45ca..d7452755 100644 --- a/testing/regressions/_options-proxy/out-ref/00420.stdout +++ b/testing/regressions/_options-proxy/out-ref/00420.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 -PROXY command: LOCAL -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = LOCAL +PROXY command: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = LOCAL diff --git a/testing/regressions/_options-proxy/out-ref/00430.stdout b/testing/regressions/_options-proxy/out-ref/00430.stdout index 18eda211..d7452755 100644 --- a/testing/regressions/_options-proxy/out-ref/00430.stdout +++ b/testing/regressions/_options-proxy/out-ref/00430.stdout @@ -1,12 +1,10 @@ -spawn %SWAKS_COMMAND% --dump PROXY --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --proxy-family AF_UNIX --proxy-source 9.9.9.9 --proxy-source-port 9999 --proxy-dest 8.8.8.8 --proxy-dest-port 8888 --proxy-version 2 -proxy-command -PROXY command: LOCAL -PROXY Info: - proxy = yes - version = 2 - family = AF_UNIX - source = 9.9.9.9 - source port = 9999 - dest = 8.8.8.8 - dest port = 8888 - protocol = STREAM - command = LOCAL +PROXY command: PROXY Info: + proxy = yes + version = 2 + family = AF_UNIX + source = 9.9.9.9 + source port = 9999 + dest = 8.8.8.8 + dest port = 8888 + protocol = STREAM + command = LOCAL diff --git a/testing/regressions/_options-transport/out-ref/00000.stdout b/testing/regressions/_options-transport/out-ref/00000.stdout index 63cea1fc..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00000.stdout +++ b/testing/regressions/_options-transport/out-ref/00000.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00010.stdout b/testing/regressions/_options-transport/out-ref/00010.stdout index dbc7ce4d..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00010.stdout +++ b/testing/regressions/_options-transport/out-ref/00010.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --config /path/to/OUTDIR/swaksrc-00010 -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00020.stdout b/testing/regressions/_options-transport/out-ref/00020.stdout index 1d9f4744..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00020.stdout +++ b/testing/regressions/_options-transport/out-ref/00020.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00030.stdout b/testing/regressions/_options-transport/out-ref/00030.stdout index 9fefe1df..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00030.stdout +++ b/testing/regressions/_options-transport/out-ref/00030.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -server -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00050.stdout b/testing/regressions/_options-transport/out-ref/00050.stdout index 31a5d6e8..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00050.stdout +++ b/testing/regressions/_options-transport/out-ref/00050.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --s -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00060.stdout b/testing/regressions/_options-transport/out-ref/00060.stdout index 6561e001..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00060.stdout +++ b/testing/regressions/_options-transport/out-ref/00060.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --config /path/to/OUTDIR/swaksrc-00060 -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00070.stdout b/testing/regressions/_options-transport/out-ref/00070.stdout index 1d9f4744..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00070.stdout +++ b/testing/regressions/_options-transport/out-ref/00070.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00080.stdout b/testing/regressions/_options-transport/out-ref/00080.stdout index 0dd18cd0..1d08cd99 100644 --- a/testing/regressions/_options-transport/out-ref/00080.stdout +++ b/testing/regressions/_options-transport/out-ref/00080.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -s -Server: TESTSERVER -Transport Info: - type = socket-inet - inet protocol = any - server = TESTSERVER - port = 25 - local interface = - local port = - copy routing = FALSE +Server: Transport Info: + type = socket-inet + inet protocol = any + server = TESTSERVER + port = 25 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00100.stdout b/testing/regressions/_options-transport/out-ref/00100.stdout index cd2ebab0..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00100.stdout +++ b/testing/regressions/_options-transport/out-ref/00100.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --port -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00110.stdout b/testing/regressions/_options-transport/out-ref/00110.stdout index b70328b7..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00110.stdout +++ b/testing/regressions/_options-transport/out-ref/00110.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00110 -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00120.stdout b/testing/regressions/_options-transport/out-ref/00120.stdout index d1c7a849..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00120.stdout +++ b/testing/regressions/_options-transport/out-ref/00120.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00130.stdout b/testing/regressions/_options-transport/out-ref/00130.stdout index b63b727a..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00130.stdout +++ b/testing/regressions/_options-transport/out-ref/00130.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -port -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00150.stdout b/testing/regressions/_options-transport/out-ref/00150.stdout index 1e1d2fb3..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00150.stdout +++ b/testing/regressions/_options-transport/out-ref/00150.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --p -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00160.stdout b/testing/regressions/_options-transport/out-ref/00160.stdout index 270cf489..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00160.stdout +++ b/testing/regressions/_options-transport/out-ref/00160.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00160 -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00170.stdout b/testing/regressions/_options-transport/out-ref/00170.stdout index d1c7a849..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00170.stdout +++ b/testing/regressions/_options-transport/out-ref/00170.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00180.stdout b/testing/regressions/_options-transport/out-ref/00180.stdout index 5b162975..7c447434 100644 --- a/testing/regressions/_options-transport/out-ref/00180.stdout +++ b/testing/regressions/_options-transport/out-ref/00180.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -p -Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 9999 - local interface = - local port = - copy routing = FALSE +Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 9999 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00200.stdout b/testing/regressions/_options-transport/out-ref/00200.stdout index 63a47fbe..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00200.stdout +++ b/testing/regressions/_options-transport/out-ref/00200.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --local-interface -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00210.stdout b/testing/regressions/_options-transport/out-ref/00210.stdout index 5c3e6fc3..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00210.stdout +++ b/testing/regressions/_options-transport/out-ref/00210.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00210 -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00220.stdout b/testing/regressions/_options-transport/out-ref/00220.stdout index c7a24d10..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00220.stdout +++ b/testing/regressions/_options-transport/out-ref/00220.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00230.stdout b/testing/regressions/_options-transport/out-ref/00230.stdout index b06bb2af..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00230.stdout +++ b/testing/regressions/_options-transport/out-ref/00230.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -local-interface -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00250.stdout b/testing/regressions/_options-transport/out-ref/00250.stdout index 63a47fbe..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00250.stdout +++ b/testing/regressions/_options-transport/out-ref/00250.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --local-interface -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00260.stdout b/testing/regressions/_options-transport/out-ref/00260.stdout index 45f22283..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00260.stdout +++ b/testing/regressions/_options-transport/out-ref/00260.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00260 -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00270.stdout b/testing/regressions/_options-transport/out-ref/00270.stdout index c7a24d10..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00270.stdout +++ b/testing/regressions/_options-transport/out-ref/00270.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00280.stdout b/testing/regressions/_options-transport/out-ref/00280.stdout index b06bb2af..8ff3bedd 100644 --- a/testing/regressions/_options-transport/out-ref/00280.stdout +++ b/testing/regressions/_options-transport/out-ref/00280.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -local-interface -Interface: 9.9.9.9 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = 9.9.9.9 - local port = - copy routing = FALSE +Interface: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = 9.9.9.9 + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00300.stdout b/testing/regressions/_options-transport/out-ref/00300.stdout index 8994265b..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00300.stdout +++ b/testing/regressions/_options-transport/out-ref/00300.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --local-port -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00310.stdout b/testing/regressions/_options-transport/out-ref/00310.stdout index 0d214c8b..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00310.stdout +++ b/testing/regressions/_options-transport/out-ref/00310.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00310 -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00320.stdout b/testing/regressions/_options-transport/out-ref/00320.stdout index a8021ba2..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00320.stdout +++ b/testing/regressions/_options-transport/out-ref/00320.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00330.stdout b/testing/regressions/_options-transport/out-ref/00330.stdout index 457e548f..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00330.stdout +++ b/testing/regressions/_options-transport/out-ref/00330.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -local-port -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00350.stdout b/testing/regressions/_options-transport/out-ref/00350.stdout index 67ff419e..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00350.stdout +++ b/testing/regressions/_options-transport/out-ref/00350.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --lport -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00360.stdout b/testing/regressions/_options-transport/out-ref/00360.stdout index 410cbf29..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00360.stdout +++ b/testing/regressions/_options-transport/out-ref/00360.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00360 -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00370.stdout b/testing/regressions/_options-transport/out-ref/00370.stdout index a8021ba2..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00370.stdout +++ b/testing/regressions/_options-transport/out-ref/00370.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00380.stdout b/testing/regressions/_options-transport/out-ref/00380.stdout index ded544d2..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00380.stdout +++ b/testing/regressions/_options-transport/out-ref/00380.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -lport -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00400.stdout b/testing/regressions/_options-transport/out-ref/00400.stdout index 4ba6a46a..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00400.stdout +++ b/testing/regressions/_options-transport/out-ref/00400.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --lp -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00410.stdout b/testing/regressions/_options-transport/out-ref/00410.stdout index 50f1b169..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00410.stdout +++ b/testing/regressions/_options-transport/out-ref/00410.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver --config /path/to/OUTDIR/swaksrc-00410 -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00420.stdout b/testing/regressions/_options-transport/out-ref/00420.stdout index a8021ba2..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00420.stdout +++ b/testing/regressions/_options-transport/out-ref/00420.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00430.stdout b/testing/regressions/_options-transport/out-ref/00430.stdout index 045711b7..884021a1 100644 --- a/testing/regressions/_options-transport/out-ref/00430.stdout +++ b/testing/regressions/_options-transport/out-ref/00430.stdout @@ -1,10 +1,8 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server ser ver -lp -Local Port: 9999 -Transport Info: - type = socket-inet - inet protocol = any - server = ser ver - port = 25 - local interface = - local port = 9999 - copy routing = FALSE +Local Port: Transport Info: + type = socket-inet + inet protocol = any + server = ser ver + port = 25 + local interface = + local port = 9999 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/00600.stdout b/testing/regressions/_options-transport/out-ref/00600.stdout index 604ab305..e9ca5e9e 100644 --- a/testing/regressions/_options-transport/out-ref/00600.stdout +++ b/testing/regressions/_options-transport/out-ref/00600.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --socket -Socket File: /path/to/file -Transport Info: - type = socket-unix - sockfile = /path/to/file +Socket File: Transport Info: + type = socket-unix + sockfile = /path/to/file diff --git a/testing/regressions/_options-transport/out-ref/00610.stdout b/testing/regressions/_options-transport/out-ref/00610.stdout index f4a83ebf..e9ca5e9e 100644 --- a/testing/regressions/_options-transport/out-ref/00610.stdout +++ b/testing/regressions/_options-transport/out-ref/00610.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --config /path/to/OUTDIR/swaksrc-00610 -Socket File: /path/to/file -Transport Info: - type = socket-unix - sockfile = /path/to/file +Socket File: Transport Info: + type = socket-unix + sockfile = /path/to/file diff --git a/testing/regressions/_options-transport/out-ref/00620.stdout b/testing/regressions/_options-transport/out-ref/00620.stdout index 84557549..e9ca5e9e 100644 --- a/testing/regressions/_options-transport/out-ref/00620.stdout +++ b/testing/regressions/_options-transport/out-ref/00620.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -Socket File: /path/to/file -Transport Info: - type = socket-unix - sockfile = /path/to/file +Socket File: Transport Info: + type = socket-unix + sockfile = /path/to/file diff --git a/testing/regressions/_options-transport/out-ref/00630.stdout b/testing/regressions/_options-transport/out-ref/00630.stdout index d97e324b..e9ca5e9e 100644 --- a/testing/regressions/_options-transport/out-ref/00630.stdout +++ b/testing/regressions/_options-transport/out-ref/00630.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -socket -Socket File: /path/to/file -Transport Info: - type = socket-unix - sockfile = /path/to/file +Socket File: Transport Info: + type = socket-unix + sockfile = /path/to/file diff --git a/testing/regressions/_options-transport/out-ref/00650.stdout b/testing/regressions/_options-transport/out-ref/00650.stdout index 20079a3d..077975fa 100644 --- a/testing/regressions/_options-transport/out-ref/00650.stdout +++ b/testing/regressions/_options-transport/out-ref/00650.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --pipe -Pipe: /path/to/command -Transport Info: - type = pipe - process = /path/to/command +Pipe: Transport Info: + type = pipe + process = /path/to/command diff --git a/testing/regressions/_options-transport/out-ref/00660.stdout b/testing/regressions/_options-transport/out-ref/00660.stdout index add63f3b..077975fa 100644 --- a/testing/regressions/_options-transport/out-ref/00660.stdout +++ b/testing/regressions/_options-transport/out-ref/00660.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --config /path/to/OUTDIR/swaksrc-00660 -Pipe: /path/to/command -Transport Info: - type = pipe - process = /path/to/command +Pipe: Transport Info: + type = pipe + process = /path/to/command diff --git a/testing/regressions/_options-transport/out-ref/00670.stdout b/testing/regressions/_options-transport/out-ref/00670.stdout index 942eab7e..077975fa 100644 --- a/testing/regressions/_options-transport/out-ref/00670.stdout +++ b/testing/regressions/_options-transport/out-ref/00670.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -Pipe: /path/to/command -Transport Info: - type = pipe - process = /path/to/command +Pipe: Transport Info: + type = pipe + process = /path/to/command diff --git a/testing/regressions/_options-transport/out-ref/00680.stdout b/testing/regressions/_options-transport/out-ref/00680.stdout index 7d1498db..077975fa 100644 --- a/testing/regressions/_options-transport/out-ref/00680.stdout +++ b/testing/regressions/_options-transport/out-ref/00680.stdout @@ -1,5 +1,3 @@ -spawn %SWAKS_COMMAND% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net -pipe -Pipe: /path/to/command -Transport Info: - type = pipe - process = /path/to/command +Pipe: Transport Info: + type = pipe + process = /path/to/command diff --git a/testing/regressions/_options-xclient/out-ref/00000.stdout b/testing/regressions/_options-xclient/out-ref/00000.stdout index f5ede670..b13aa221 100644 --- a/testing/regressions/_options-xclient/out-ref/00000.stdout +++ b/testing/regressions/_options-xclient/out-ref/00000.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-addr -XCLIENT addr: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT ADDR=1.1.1.1 +XCLIENT addr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT ADDR=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00010.stdout b/testing/regressions/_options-xclient/out-ref/00010.stdout index 275ed5c3..b13aa221 100644 --- a/testing/regressions/_options-xclient/out-ref/00010.stdout +++ b/testing/regressions/_options-xclient/out-ref/00010.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00010 -XCLIENT addr: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT ADDR=1.1.1.1 +XCLIENT addr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT ADDR=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00020.stdout b/testing/regressions/_options-xclient/out-ref/00020.stdout index d03efdc0..b13aa221 100644 --- a/testing/regressions/_options-xclient/out-ref/00020.stdout +++ b/testing/regressions/_options-xclient/out-ref/00020.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT addr: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT ADDR=1.1.1.1 +XCLIENT addr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT ADDR=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00030.stdout b/testing/regressions/_options-xclient/out-ref/00030.stdout index 749f4f94..b13aa221 100644 --- a/testing/regressions/_options-xclient/out-ref/00030.stdout +++ b/testing/regressions/_options-xclient/out-ref/00030.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-addr -XCLIENT addr: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT ADDR=1.1.1.1 +XCLIENT addr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT ADDR=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00050.stdout b/testing/regressions/_options-xclient/out-ref/00050.stdout index 12f922e1..cd1dcb91 100644 --- a/testing/regressions/_options-xclient/out-ref/00050.stdout +++ b/testing/regressions/_options-xclient/out-ref/00050.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-name -XCLIENT name: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT NAME=1.1.1.1 +XCLIENT name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT NAME=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00060.stdout b/testing/regressions/_options-xclient/out-ref/00060.stdout index 2b7711de..cd1dcb91 100644 --- a/testing/regressions/_options-xclient/out-ref/00060.stdout +++ b/testing/regressions/_options-xclient/out-ref/00060.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00060 -XCLIENT name: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT NAME=1.1.1.1 +XCLIENT name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT NAME=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00070.stdout b/testing/regressions/_options-xclient/out-ref/00070.stdout index 478ef557..cd1dcb91 100644 --- a/testing/regressions/_options-xclient/out-ref/00070.stdout +++ b/testing/regressions/_options-xclient/out-ref/00070.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT name: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT NAME=1.1.1.1 +XCLIENT name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT NAME=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00080.stdout b/testing/regressions/_options-xclient/out-ref/00080.stdout index be0358ee..cd1dcb91 100644 --- a/testing/regressions/_options-xclient/out-ref/00080.stdout +++ b/testing/regressions/_options-xclient/out-ref/00080.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-name -XCLIENT name: 1.1.1.1 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT NAME=1.1.1.1 +XCLIENT name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT NAME=1.1.1.1 diff --git a/testing/regressions/_options-xclient/out-ref/00100.stdout b/testing/regressions/_options-xclient/out-ref/00100.stdout index b0898689..251b2f7f 100644 --- a/testing/regressions/_options-xclient/out-ref/00100.stdout +++ b/testing/regressions/_options-xclient/out-ref/00100.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-port -XCLIENT port: 25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PORT=25 +XCLIENT port: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00110.stdout b/testing/regressions/_options-xclient/out-ref/00110.stdout index 36eecad7..251b2f7f 100644 --- a/testing/regressions/_options-xclient/out-ref/00110.stdout +++ b/testing/regressions/_options-xclient/out-ref/00110.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00110 -XCLIENT port: 25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PORT=25 +XCLIENT port: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00120.stdout b/testing/regressions/_options-xclient/out-ref/00120.stdout index c0510bc8..251b2f7f 100644 --- a/testing/regressions/_options-xclient/out-ref/00120.stdout +++ b/testing/regressions/_options-xclient/out-ref/00120.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT port: 25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PORT=25 +XCLIENT port: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00130.stdout b/testing/regressions/_options-xclient/out-ref/00130.stdout index b92de0db..251b2f7f 100644 --- a/testing/regressions/_options-xclient/out-ref/00130.stdout +++ b/testing/regressions/_options-xclient/out-ref/00130.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-port -XCLIENT port: 25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PORT=25 +XCLIENT port: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00150.stdout b/testing/regressions/_options-xclient/out-ref/00150.stdout index 20976d19..9be9cdec 100644 --- a/testing/regressions/_options-xclient/out-ref/00150.stdout +++ b/testing/regressions/_options-xclient/out-ref/00150.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-proto -XCLIENT proto: ESMTP -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PROTO=ESMTP +XCLIENT proto: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PROTO=ESMTP diff --git a/testing/regressions/_options-xclient/out-ref/00160.stdout b/testing/regressions/_options-xclient/out-ref/00160.stdout index 3788348e..9be9cdec 100644 --- a/testing/regressions/_options-xclient/out-ref/00160.stdout +++ b/testing/regressions/_options-xclient/out-ref/00160.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00160 -XCLIENT proto: ESMTP -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PROTO=ESMTP +XCLIENT proto: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PROTO=ESMTP diff --git a/testing/regressions/_options-xclient/out-ref/00170.stdout b/testing/regressions/_options-xclient/out-ref/00170.stdout index 74aff024..9be9cdec 100644 --- a/testing/regressions/_options-xclient/out-ref/00170.stdout +++ b/testing/regressions/_options-xclient/out-ref/00170.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT proto: ESMTP -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PROTO=ESMTP +XCLIENT proto: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PROTO=ESMTP diff --git a/testing/regressions/_options-xclient/out-ref/00180.stdout b/testing/regressions/_options-xclient/out-ref/00180.stdout index 66a80478..9be9cdec 100644 --- a/testing/regressions/_options-xclient/out-ref/00180.stdout +++ b/testing/regressions/_options-xclient/out-ref/00180.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-proto -XCLIENT proto: ESMTP -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT PROTO=ESMTP +XCLIENT proto: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT PROTO=ESMTP diff --git a/testing/regressions/_options-xclient/out-ref/00200.stdout b/testing/regressions/_options-xclient/out-ref/00200.stdout index 3a030872..b44fe060 100644 --- a/testing/regressions/_options-xclient/out-ref/00200.stdout +++ b/testing/regressions/_options-xclient/out-ref/00200.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-destaddr -XCLIENT destaddr: 2.2.2.2 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTADDR=2.2.2.2 +XCLIENT destaddr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTADDR=2.2.2.2 diff --git a/testing/regressions/_options-xclient/out-ref/00210.stdout b/testing/regressions/_options-xclient/out-ref/00210.stdout index 08e51d1c..b44fe060 100644 --- a/testing/regressions/_options-xclient/out-ref/00210.stdout +++ b/testing/regressions/_options-xclient/out-ref/00210.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00210 -XCLIENT destaddr: 2.2.2.2 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTADDR=2.2.2.2 +XCLIENT destaddr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTADDR=2.2.2.2 diff --git a/testing/regressions/_options-xclient/out-ref/00220.stdout b/testing/regressions/_options-xclient/out-ref/00220.stdout index f958d217..b44fe060 100644 --- a/testing/regressions/_options-xclient/out-ref/00220.stdout +++ b/testing/regressions/_options-xclient/out-ref/00220.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT destaddr: 2.2.2.2 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTADDR=2.2.2.2 +XCLIENT destaddr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTADDR=2.2.2.2 diff --git a/testing/regressions/_options-xclient/out-ref/00230.stdout b/testing/regressions/_options-xclient/out-ref/00230.stdout index a9b78b78..b44fe060 100644 --- a/testing/regressions/_options-xclient/out-ref/00230.stdout +++ b/testing/regressions/_options-xclient/out-ref/00230.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-destaddr -XCLIENT destaddr: 2.2.2.2 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTADDR=2.2.2.2 +XCLIENT destaddr: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTADDR=2.2.2.2 diff --git a/testing/regressions/_options-xclient/out-ref/00250.stdout b/testing/regressions/_options-xclient/out-ref/00250.stdout index 10382b3f..215dced4 100644 --- a/testing/regressions/_options-xclient/out-ref/00250.stdout +++ b/testing/regressions/_options-xclient/out-ref/00250.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-destport -XCLIENT destport: 26 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTPORT=26 +XCLIENT destport: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTPORT=26 diff --git a/testing/regressions/_options-xclient/out-ref/00260.stdout b/testing/regressions/_options-xclient/out-ref/00260.stdout index be0ec644..215dced4 100644 --- a/testing/regressions/_options-xclient/out-ref/00260.stdout +++ b/testing/regressions/_options-xclient/out-ref/00260.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00260 -XCLIENT destport: 26 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTPORT=26 +XCLIENT destport: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTPORT=26 diff --git a/testing/regressions/_options-xclient/out-ref/00270.stdout b/testing/regressions/_options-xclient/out-ref/00270.stdout index ff6280e3..215dced4 100644 --- a/testing/regressions/_options-xclient/out-ref/00270.stdout +++ b/testing/regressions/_options-xclient/out-ref/00270.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT destport: 26 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTPORT=26 +XCLIENT destport: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTPORT=26 diff --git a/testing/regressions/_options-xclient/out-ref/00280.stdout b/testing/regressions/_options-xclient/out-ref/00280.stdout index 21e20592..215dced4 100644 --- a/testing/regressions/_options-xclient/out-ref/00280.stdout +++ b/testing/regressions/_options-xclient/out-ref/00280.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-destport -XCLIENT destport: 26 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT DESTPORT=26 +XCLIENT destport: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT DESTPORT=26 diff --git a/testing/regressions/_options-xclient/out-ref/00300.stdout b/testing/regressions/_options-xclient/out-ref/00300.stdout index da393354..68147c59 100644 --- a/testing/regressions/_options-xclient/out-ref/00300.stdout +++ b/testing/regressions/_options-xclient/out-ref/00300.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-helo -XCLIENT helo: HELOSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT HELO=HELOSTR +XCLIENT helo: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT HELO=HELOSTR diff --git a/testing/regressions/_options-xclient/out-ref/00310.stdout b/testing/regressions/_options-xclient/out-ref/00310.stdout index d620ca0c..68147c59 100644 --- a/testing/regressions/_options-xclient/out-ref/00310.stdout +++ b/testing/regressions/_options-xclient/out-ref/00310.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00310 -XCLIENT helo: HELOSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT HELO=HELOSTR +XCLIENT helo: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT HELO=HELOSTR diff --git a/testing/regressions/_options-xclient/out-ref/00320.stdout b/testing/regressions/_options-xclient/out-ref/00320.stdout index e9565a39..68147c59 100644 --- a/testing/regressions/_options-xclient/out-ref/00320.stdout +++ b/testing/regressions/_options-xclient/out-ref/00320.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT helo: HELOSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT HELO=HELOSTR +XCLIENT helo: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT HELO=HELOSTR diff --git a/testing/regressions/_options-xclient/out-ref/00330.stdout b/testing/regressions/_options-xclient/out-ref/00330.stdout index 9c99c994..68147c59 100644 --- a/testing/regressions/_options-xclient/out-ref/00330.stdout +++ b/testing/regressions/_options-xclient/out-ref/00330.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-helo -XCLIENT helo: HELOSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT HELO=HELOSTR +XCLIENT helo: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT HELO=HELOSTR diff --git a/testing/regressions/_options-xclient/out-ref/00350.stdout b/testing/regressions/_options-xclient/out-ref/00350.stdout index 5fa970c4..1289e25e 100644 --- a/testing/regressions/_options-xclient/out-ref/00350.stdout +++ b/testing/regressions/_options-xclient/out-ref/00350.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-login -XCLIENT login: LOGINSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT LOGIN=LOGINSTR +XCLIENT login: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT LOGIN=LOGINSTR diff --git a/testing/regressions/_options-xclient/out-ref/00360.stdout b/testing/regressions/_options-xclient/out-ref/00360.stdout index 7f7fcb7c..1289e25e 100644 --- a/testing/regressions/_options-xclient/out-ref/00360.stdout +++ b/testing/regressions/_options-xclient/out-ref/00360.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00360 -XCLIENT login: LOGINSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT LOGIN=LOGINSTR +XCLIENT login: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT LOGIN=LOGINSTR diff --git a/testing/regressions/_options-xclient/out-ref/00370.stdout b/testing/regressions/_options-xclient/out-ref/00370.stdout index 87192167..1289e25e 100644 --- a/testing/regressions/_options-xclient/out-ref/00370.stdout +++ b/testing/regressions/_options-xclient/out-ref/00370.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT login: LOGINSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT LOGIN=LOGINSTR +XCLIENT login: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT LOGIN=LOGINSTR diff --git a/testing/regressions/_options-xclient/out-ref/00380.stdout b/testing/regressions/_options-xclient/out-ref/00380.stdout index b22b4edc..1289e25e 100644 --- a/testing/regressions/_options-xclient/out-ref/00380.stdout +++ b/testing/regressions/_options-xclient/out-ref/00380.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-login -XCLIENT login: LOGINSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT LOGIN=LOGINSTR +XCLIENT login: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT LOGIN=LOGINSTR diff --git a/testing/regressions/_options-xclient/out-ref/00400.stdout b/testing/regressions/_options-xclient/out-ref/00400.stdout index 177b3633..e8a8307a 100644 --- a/testing/regressions/_options-xclient/out-ref/00400.stdout +++ b/testing/regressions/_options-xclient/out-ref/00400.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient-reverse-name -XCLIENT reverse_name: REVSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=REVSTR +XCLIENT reverse_name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=REVSTR diff --git a/testing/regressions/_options-xclient/out-ref/00410.stdout b/testing/regressions/_options-xclient/out-ref/00410.stdout index aba2f08e..e8a8307a 100644 --- a/testing/regressions/_options-xclient/out-ref/00410.stdout +++ b/testing/regressions/_options-xclient/out-ref/00410.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00410 -XCLIENT reverse_name: REVSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=REVSTR +XCLIENT reverse_name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=REVSTR diff --git a/testing/regressions/_options-xclient/out-ref/00420.stdout b/testing/regressions/_options-xclient/out-ref/00420.stdout index 04286674..e8a8307a 100644 --- a/testing/regressions/_options-xclient/out-ref/00420.stdout +++ b/testing/regressions/_options-xclient/out-ref/00420.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT reverse_name: REVSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=REVSTR +XCLIENT reverse_name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=REVSTR diff --git a/testing/regressions/_options-xclient/out-ref/00430.stdout b/testing/regressions/_options-xclient/out-ref/00430.stdout index dcc89cc8..e8a8307a 100644 --- a/testing/regressions/_options-xclient/out-ref/00430.stdout +++ b/testing/regressions/_options-xclient/out-ref/00430.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient-reverse-name -XCLIENT reverse_name: REVSTR -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=REVSTR +XCLIENT reverse_name: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=REVSTR diff --git a/testing/regressions/_options-xclient/out-ref/00450.stdout b/testing/regressions/_options-xclient/out-ref/00450.stdout index 56acad49..1261803c 100644 --- a/testing/regressions/_options-xclient/out-ref/00450.stdout +++ b/testing/regressions/_options-xclient/out-ref/00450.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --xclient -XCLIENT string: REVERSE_NAME=testname PORT=25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=testname PORT=25 +XCLIENT string: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=testname PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00460.stdout b/testing/regressions/_options-xclient/out-ref/00460.stdout index 96a9abb2..1261803c 100644 --- a/testing/regressions/_options-xclient/out-ref/00460.stdout +++ b/testing/regressions/_options-xclient/out-ref/00460.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver --config /path/to/OUTDIR/swaksrc-00460 -XCLIENT string: REVERSE_NAME=testname PORT=25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=testname PORT=25 +XCLIENT string: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=testname PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00470.stdout b/testing/regressions/_options-xclient/out-ref/00470.stdout index 31912225..1261803c 100644 --- a/testing/regressions/_options-xclient/out-ref/00470.stdout +++ b/testing/regressions/_options-xclient/out-ref/00470.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -XCLIENT string: REVERSE_NAME=testname PORT=25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=testname PORT=25 +XCLIENT string: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=testname PORT=25 diff --git a/testing/regressions/_options-xclient/out-ref/00480.stdout b/testing/regressions/_options-xclient/out-ref/00480.stdout index a842c3a2..1261803c 100644 --- a/testing/regressions/_options-xclient/out-ref/00480.stdout +++ b/testing/regressions/_options-xclient/out-ref/00480.stdout @@ -1,7 +1,5 @@ -spawn %SWAKS_COMMAND% --dump XCLIENT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --server ser.ver -xclient -XCLIENT string: REVERSE_NAME=testname PORT=25 -XCLIENT Info: - xclient = required - no_verify = FALSE - before starttls = FALSE - strings = XCLIENT REVERSE_NAME=testname PORT=25 +XCLIENT string: XCLIENT Info: + xclient = required + no_verify = FALSE + before starttls = FALSE + strings = XCLIENT REVERSE_NAME=testname PORT=25 diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl index 4170e63e..b3f44fe2 100755 --- a/testing/regressions/bin/check-env.pl +++ b/testing/regressions/bin/check-env.pl @@ -32,18 +32,13 @@ print "NOK perl must be installed and in your path\n"; } -if (checkmod('Capture::Tiny')) { - print "ok Capture::Tiny\n"; -} -else { - print "NOK Capture::Tiny perl module must be installed\n"; -} - -if (checkmod('Text::Diff')) { - print "ok Text::Diff\n"; -} -else { - print "NOK Text::Diff perl module must be installed\n"; +foreach my $module ('Capture::Tiny', 'Text::Diff') { + if (checkmod($module)) { + print "ok $module\n"; + } + else { + print "NOK $module perl module must be installed\n"; + } } my $swaksScript; @@ -64,15 +59,6 @@ print "NOK swaks not found in either TEST_SWAKS or PATH\n"; } -if ($^O ne 'MSWin32') { - if (my $expect = findpath('expect')) { - print "ok expect ($expect)\n"; - } - else { - print "NOK expect must be installed and in your path\n"; - } -} - # I believe this is no longer needed after switch to Pod::Usage # if (my $perldoc = findpath('perldoc')) { # print "ok perldoc ($perldoc)\n"; diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index ac111b59..c26e6142 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -379,7 +379,7 @@ sub runAction { my $stdinFile = (grep(/^STDIN:/, @args))[0]; @args = grep(!/^STDIN:/, @args); - $stdinFile =~ s/^STDIN://g; + $stdinFile =~ s/^STDIN://; captureOutput(\@args, $stdoutFile, $stderrFile, $stdinFile); } elsif ($verb eq 'DEFINE') { @@ -597,23 +597,35 @@ sub readTestFile { map { push(@{$obj->{'test result'}}, "COMPARE_FILE " . catfile('%REFDIR%', $_) .' ' . catfile('%OUTDIR%', $_)); } (@filesSorted); } elsif ($type eq 'INTERACT') { - if ($^O eq 'MSWin32') { - $obj->{'skip'} ||= "INTERACTive testing not currently supported on windows"; - } - my $file = catfile('%OUTDIR%', '%TESTID%.expect'); - push(@{$obj->{'pre action'}}, "REMOVE_FILE $file"); - - my $cmd = shift(@files); - my $expectStr = "MERGE $file string:'spawn $cmd\\n' "; + # my $infile = catfile('%OUTDIR%', '%TESTID%.stdin'); + # push(@{$obj->{'pre action'}}, "REMOVE_FILE $infile"); + my $stdin = "STDIN:LITERAL:"; + my $cmd = shift(@files); while (scalar(@files)) { my $expect = shift(@files); my $response = shift(@files); - $expectStr .= "string:'expect \"$expect\"\\n' string:'send -- \"$response\\r\"\\n' "; + $stdin .= "$response\\n"; } - $expectStr .= "string:'interact\\n'"; - - push(@{$obj->{'pre action'}}, $expectStr); - unshift(@{$obj->{'test action'}}, "CMD_CAPTURE expect $file"); + unshift(@{$obj->{'test action'}}, "CMD_CAPTURE $cmd '$stdin'"); + + + # if ($^O eq 'MSWin32') { + # $obj->{'skip'} ||= "INTERACTive testing not currently supported on windows"; + # } + # my $file = catfile('%OUTDIR%', '%TESTID%.expect'); + # push(@{$obj->{'pre action'}}, "REMOVE_FILE $file"); + + # my $cmd = shift(@files); + # my $expectStr = "MERGE $file string:'spawn $cmd\\n' "; + # while (scalar(@files)) { + # my $expect = shift(@files); + # my $response = shift(@files); + # $expectStr .= "string:'expect \"$expect\"\\n' string:'send -- \"$response\\r\"\\n' "; + # } + # $expectStr .= "string:'interact\\n'"; + + # push(@{$obj->{'pre action'}}, $expectStr); + # unshift(@{$obj->{'test action'}}, "CMD_CAPTURE expect $file"); } else { die "unknown 'auto' type $type\n"; @@ -647,9 +659,15 @@ sub captureOutput { my $stdin = ''; if ($inFile) { - open(I, "<$inFile") || die "Can't open inFile $inFile for reading: $!\n"; - $stdin = join('', ); - close(I); + if ($inFile =~ s/^LITERAL://) { + $stdin = $inFile; + $stdin =~ s/\\n/\n/g; + } + else { + open(I, "<$inFile") || die "Can't open inFile $inFile for reading: $!\n"; + $stdin = join('', ); + close(I); + } } my($stdout, $stderr, @rest) = Capture::Tiny::capture { diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index af94312b..07e1ecc2 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -19,12 +19,8 @@ environment/tooling: perl must be in your path. the Capture::Tiny perl module needs to be installed the Text::Diff perl module needs to be installed - expect is needed in the current PATH (apt-get install expect, brew install expect, etc) - - except on Windows, see below all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) - - -- Authen::NTLM @@ -41,9 +37,6 @@ This will load a fake version of the module that will make swaks happy for the p Windows -At the moment, no interactive tests are run. They currently require expect which seems to be a bear to install on -Windows. All tests with INTERACTIVE in them are set to skip by run-tests.pl - PAGER can be set if there's a useable pager, but because it's not obvious which pager to use (more and type are both CMD.exe builtins), check-env.pl won't complain if it's not set on Windows diff --git a/testing/regressions/etc/format.txt b/testing/regressions/etc/format.txt index 20507c93..f06517ab 100644 --- a/testing/regressions/etc/format.txt +++ b/testing/regressions/etc/format.txt @@ -110,7 +110,8 @@ Action verbs: same as CMD but stdout and stderr will be automatically captured to %OUTDIR%/%TESTID%.stdout and .stderr. Because these file paths are static, this is really only usable once per test run. Room for improvement there... Note that if the execute string contains a component that looks like STDIN:/path/to/file.txt, the executed command will - have its STDIN attached to /path/to/file.txt + have its STDIN attached to /path/to/file.txt. Similarly, "STDIN:LITERAL:some\ntext\n" will send "some\ntext\n" to + the executed command's STDIN, with the '\'+'n' characters replaces with real newlines. CREATE_FILE FILE touch a file (but only if FILE does not already exist). mostly useful for making sure test files exist even if there's From faff55e475937790f513c2f3204a1ba14d2e9e81 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Thu, 26 Nov 2020 13:26:13 -0500 Subject: [PATCH 11/98] Update release process notes to include details for creating a github release closes #13 --- Changes | 1 + util/release-process.txt | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index dca33999..9e530114 100644 --- a/Changes +++ b/Changes @@ -958,3 +958,4 @@ now that it's an option. * 20201126 Add tools for visualizing errors caused by line ending issues * 20201126 Rework interactive tests and enable on Windows +* 20201126 Turn releases back on and add release for v20201024.0 (#13) diff --git a/util/release-process.txt b/util/release-process.txt index d3284886..deea0124 100644 --- a/util/release-process.txt +++ b/util/release-process.txt @@ -135,11 +135,20 @@ git push ### # To this point we're published but we haven't told anyone yet. Start sending actual announcements: -# publish the draft blog post +## publish the draft blog post -# send twitter notification +## send twitter notification # Swaks release 20201014.0 available :: https://www.jetmore.org/john/blog/2020/10/swaks-release-20201014-0-available/ :: Share and Enjoy! +## publish github release +- click "Releases" in side bar +- click "Draft new release" +- click "Tags" +- choose correct tag (latest - hit elipse on far right, choose "Create release") + - Title: v20201014.0 + - Description - the summary description from the releae readme and the versions page (change to MD - bold the headers, make sure preview looks ok) + - attach the main swaks tar.gz and the cpan tar.gz +- click "Publish relrease" # send email to those who have requested it g3: egrep -v '^#' ~/Documents/programming/swaks/NOTIFY | egrep -v '^$' From 96e68892fda33a63de014e8ff3368f0b85b42bc3 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Thu, 26 Nov 2020 13:47:06 -0500 Subject: [PATCH 12/98] output-file family of options should truncate file if it exists closes #24 --- Changes | 2 ++ swaks | 4 ++-- testing/regressions/_options-output/05001.test | 9 +++++++++ testing/regressions/_options-output/05002.test | 9 +++++++++ testing/regressions/_options-output/05003.test | 9 +++++++++ .../_options-output/out-ref/05001.out | 16 ++++++++++++++++ .../_options-output/out-ref/05001.stderr | 0 .../_options-output/out-ref/05001.stdout | 0 .../_options-output/out-ref/05002.out | 16 ++++++++++++++++ .../_options-output/out-ref/05002.stderr | 0 .../_options-output/out-ref/05002.stdout | 0 .../_options-output/out-ref/05003.out | 0 .../_options-output/out-ref/05003.stderr | 0 .../_options-output/out-ref/05003.stdout | 16 ++++++++++++++++ testing/regressions/_options-output/test.txt | 5 +++++ 15 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 testing/regressions/_options-output/05001.test create mode 100644 testing/regressions/_options-output/05002.test create mode 100644 testing/regressions/_options-output/05003.test create mode 100644 testing/regressions/_options-output/out-ref/05001.out create mode 100644 testing/regressions/_options-output/out-ref/05001.stderr create mode 100644 testing/regressions/_options-output/out-ref/05001.stdout create mode 100644 testing/regressions/_options-output/out-ref/05002.out create mode 100644 testing/regressions/_options-output/out-ref/05002.stderr create mode 100644 testing/regressions/_options-output/out-ref/05002.stdout create mode 100644 testing/regressions/_options-output/out-ref/05003.out create mode 100644 testing/regressions/_options-output/out-ref/05003.stderr create mode 100644 testing/regressions/_options-output/out-ref/05003.stdout diff --git a/Changes b/Changes index 9e530114..220b2167 100644 --- a/Changes +++ b/Changes @@ -959,3 +959,5 @@ * 20201126 Add tools for visualizing errors caused by line ending issues * 20201126 Rework interactive tests and enable on Windows * 20201126 Turn releases back on and add release for v20201024.0 (#13) +* 20201126 --output-file (and -stdout and -stderr) now truncate the output + file if it already existed. diff --git a/swaks b/swaks index e74cb232..d714a4d2 100755 --- a/swaks +++ b/swaks @@ -2681,7 +2681,7 @@ sub process_args { my $output_file_stderr = get_arg('output_file_stderr', $o) || $output_file; my $output_file_stdout = get_arg('output_file_stdout', $o) || $output_file; if ($output_file_stderr) { - if (!open(OUTEFH, '>>'.$output_file_stderr)) { + if (!open(OUTEFH, '>'.$output_file_stderr)) { ptrans(12, 'Unable to open ' . $output_file_stderr . ' for writing'); exit(1); } @@ -2693,7 +2693,7 @@ sub process_args { $G::trans_fh_of = $G::trans_fh_ef; } elsif ($output_file_stdout) { - if (!open(OUTOFH, '>>'.$output_file_stdout)) { + if (!open(OUTOFH, '>'.$output_file_stdout)) { ptrans(12, 'Unable to open ' . $output_file_stdout . ' for writing'); exit(1); } diff --git a/testing/regressions/_options-output/05001.test b/testing/regressions/_options-output/05001.test new file mode 100644 index 00000000..68257e0d --- /dev/null +++ b/testing/regressions/_options-output/05001.test @@ -0,0 +1,9 @@ +# Generated Mon Dec 10 21:59:43 2018 by ./gen-tests.pl '.' '1550' 'output-file' '%OUTDIR%/%TESTID%.out' '/foo/bar/baz.t' + +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr %TESTID%.out + +title: output-file truncates existing file + +test action: MERGE %OUTDIR%/%TESTID%.out string:'This is some already existing text\n' +test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" \ + --output-file %OUTDIR%/%TESTID%.out diff --git a/testing/regressions/_options-output/05002.test b/testing/regressions/_options-output/05002.test new file mode 100644 index 00000000..5255faf5 --- /dev/null +++ b/testing/regressions/_options-output/05002.test @@ -0,0 +1,9 @@ +# Generated Mon Dec 10 21:59:43 2018 by ./gen-tests.pl '.' '1550' 'output-file' '%OUTDIR%/%TESTID%.out' '/foo/bar/baz.t' + +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr %TESTID%.out + +title: output-file-stdout truncates existing file + +test action: MERGE %OUTDIR%/%TESTID%.out string:'This is some already existing text\n' +test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" \ + --output-file-stdout %OUTDIR%/%TESTID%.out diff --git a/testing/regressions/_options-output/05003.test b/testing/regressions/_options-output/05003.test new file mode 100644 index 00000000..e31b2cc1 --- /dev/null +++ b/testing/regressions/_options-output/05003.test @@ -0,0 +1,9 @@ +# Generated Mon Dec 10 21:59:43 2018 by ./gen-tests.pl '.' '1550' 'output-file' '%OUTDIR%/%TESTID%.out' '/foo/bar/baz.t' + +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr %TESTID%.out + +title: output-file-stderr truncates existing file + +test action: MERGE %OUTDIR%/%TESTID%.out string:'This is some already existing text\n' +test action: CMD_CAPTURE %SWAKS% --dump OUTPUT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --server "ser ver" \ + --output-file-stderr %OUTDIR%/%TESTID%.out diff --git a/testing/regressions/_options-output/out-ref/05001.out b/testing/regressions/_options-output/out-ref/05001.out new file mode 100644 index 00000000..5ee958d0 --- /dev/null +++ b/testing/regressions/_options-output/out-ref/05001.out @@ -0,0 +1,16 @@ +Output Info: + show_time_lapse = FALSE + show_raw_text = FALSE + suppress_data = FALSE + protect_prompt = FALSE + no_hints_send = FALSE + no_hints_recv = FALSE + no_hints_info = FALSE + silent = 0 + dump_mail = FALSE + hide_send = FALSE + hide_receive = FALSE + hide_informational = FALSE + hide_all = FALSE + trans_fh_of = /path/to/OUTDIR/05001.out (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) + trans_fh_ef = /path/to/OUTDIR/05001.out (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) diff --git a/testing/regressions/_options-output/out-ref/05001.stderr b/testing/regressions/_options-output/out-ref/05001.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05001.stdout b/testing/regressions/_options-output/out-ref/05001.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05002.out b/testing/regressions/_options-output/out-ref/05002.out new file mode 100644 index 00000000..ace59f29 --- /dev/null +++ b/testing/regressions/_options-output/out-ref/05002.out @@ -0,0 +1,16 @@ +Output Info: + show_time_lapse = FALSE + show_raw_text = FALSE + suppress_data = FALSE + protect_prompt = FALSE + no_hints_send = FALSE + no_hints_recv = FALSE + no_hints_info = FALSE + silent = 0 + dump_mail = FALSE + hide_send = FALSE + hide_receive = FALSE + hide_informational = FALSE + hide_all = FALSE + trans_fh_of = /path/to/OUTDIR/05002.out (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) + trans_fh_ef = STDERR (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) diff --git a/testing/regressions/_options-output/out-ref/05002.stderr b/testing/regressions/_options-output/out-ref/05002.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05002.stdout b/testing/regressions/_options-output/out-ref/05002.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05003.out b/testing/regressions/_options-output/out-ref/05003.out new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05003.stderr b/testing/regressions/_options-output/out-ref/05003.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-output/out-ref/05003.stdout b/testing/regressions/_options-output/out-ref/05003.stdout new file mode 100644 index 00000000..f882b07d --- /dev/null +++ b/testing/regressions/_options-output/out-ref/05003.stdout @@ -0,0 +1,16 @@ +Output Info: + show_time_lapse = FALSE + show_raw_text = FALSE + suppress_data = FALSE + protect_prompt = FALSE + no_hints_send = FALSE + no_hints_recv = FALSE + no_hints_info = FALSE + silent = 0 + dump_mail = FALSE + hide_send = FALSE + hide_receive = FALSE + hide_informational = FALSE + hide_all = FALSE + trans_fh_of = STDOUT (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) + trans_fh_ef = /path/to/OUTDIR/05003.out (GLOB(0xdeadbeef),GLOB(0xdeadbeef)) diff --git a/testing/regressions/_options-output/test.txt b/testing/regressions/_options-output/test.txt index 948724dd..290bfa08 100644 --- a/testing/regressions/_options-output/test.txt +++ b/testing/regressions/_options-output/test.txt @@ -527,6 +527,11 @@ thoroughly flex all of the OUTPUT options. The options-* tests are designed to 1682 output-file-stderr, command line, valid arg (--option=) +05000 trigger-decrecation triggers a deprecation warning +05001 output-file truncates existing file +05002 output-file-stdout truncates existing file +05003 output-file-stderr truncates existing file + From 3d9daf135527c696eb3e6deb32ec5efe2f42dbd7 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Thu, 26 Nov 2020 19:13:11 -0500 Subject: [PATCH 13/98] --port and --local-port options should override ports set via --server and --local-interface options --- Changes | 2 ++ doc/base.pod | 4 ++-- swaks | 19 ++++++++++++------- .../regressions/_options-transport/05050.test | 4 ++++ .../regressions/_options-transport/05051.test | 4 ++++ .../_options-transport/out-ref/05050.stderr | 0 .../_options-transport/out-ref/05050.stdout | 8 ++++++++ .../_options-transport/out-ref/05051.stderr | 0 .../_options-transport/out-ref/05051.stdout | 8 ++++++++ .../regressions/_options-transport/test.txt | 4 +++- 10 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 testing/regressions/_options-transport/05050.test create mode 100644 testing/regressions/_options-transport/05051.test create mode 100644 testing/regressions/_options-transport/out-ref/05050.stderr create mode 100644 testing/regressions/_options-transport/out-ref/05050.stdout create mode 100644 testing/regressions/_options-transport/out-ref/05051.stderr create mode 100644 testing/regressions/_options-transport/out-ref/05051.stdout diff --git a/Changes b/Changes index 220b2167..1edfad6c 100644 --- a/Changes +++ b/Changes @@ -961,3 +961,5 @@ * 20201126 Turn releases back on and add release for v20201024.0 (#13) * 20201126 --output-file (and -stdout and -stderr) now truncate the output file if it already existed. +* 20201126 --port and --local-port should override a port set in --server or + --local-port. diff --git a/doc/base.pod b/doc/base.pod index 7bf074ec..bede92f0 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -243,7 +243,7 @@ IPv6 is supported when the L module is present. =item -s, --server [[:]] -Explicitly tell Swaks to use network sockets and specify the hostname or IP address to which to connect, or prompt if no argument is given. If this option is not given and no other transport option is given, the target mail server is determined from the appropriate DNS records for the domain of the recipient email address using the L module. If L is not available Swaks will attempt to connect to localhost to deliver. The target port can optionally be set here. Supported formats for this include SERVER:PORT (supporting names and IPv4 addresses); [SERVER]:PORT and SERVER/PORT (supporting names, IPv4 and IPv6 addresses). See also C<--copy-routing>. (Arg-Required, From-Prompt) +Explicitly tell Swaks to use network sockets and specify the hostname or IP address to which to connect, or prompt if no argument is given. If this option is not given and no other transport option is given, the target mail server is determined from the appropriate DNS records for the domain of the recipient email address using the L module. If L is not available Swaks will attempt to connect to localhost to deliver. The target port can optionally be set here. Supported formats for this include SERVER:PORT (supporting names and IPv4 addresses); [SERVER]:PORT and SERVER/PORT (supporting names, IPv4 and IPv6 addresses). A port set via this option will only be used if the C<--port> option is not used. See also C<--copy-routing>. (Arg-Required, From-Prompt) =item -p, --port [] @@ -251,7 +251,7 @@ Specify which TCP port on the target is to be used, or prompt if no argument is =item -li, --local-interface [[:]] -Use argument as the local interface for the outgoing SMTP connection, or prompt user if no argument given. Argument can be an IP address or a hostname. Default action is to let the operating system choose the local interface. See C<--server> for additional comments on : format. (Arg-Required, From-Prompt) +Use argument as the local interface for the outgoing SMTP connection, or prompt user if no argument given. Argument can be an IP address or a hostname. Default action is to let the operating system choose the local interface. See C<--server> for additional comments on : format. A port set via this option will only be used if the C<--port> option is not used. (Arg-Required, From-Prompt) =item -lp, --local-port, --lport [] diff --git a/swaks b/swaks index d714a4d2..43e37035 100755 --- a/swaks +++ b/swaks @@ -3543,30 +3543,35 @@ sub encode_mime_part { } sub parse_server { - my $server = shift; - my $port = shift; + my $server = shift; + my $port = shift; + my $returnServer = $server; + my $returnPort = $port; if ($server =~ m|^\[([^\]]+)\]:(.*)$|) { # [1.2.3.4]:25 # [hostname]:25 # [1:2::3]:25 - return($1, $2); + $returnServer = $1; + $returnPort = $2; } elsif ($server =~ m|^([^:]+):([^:]+)$|) { # 1.2.3.4:25 # hostname:25 - return($1, $2); + $returnServer = $1; + $returnPort = $2; } elsif ($server =~ m|^\[?([^/\]]*)\]?/(\w+)$|) { # 1.2.3.4/25 [1.2.3.4]/25 # hostname/25 [hostname]/25 # 1:2::3/25 [1:2::3]/25 - return($1, $2); + $returnServer = $1; + $returnPort = $2; } elsif ($server =~ m|^\[([^\]]+)\]$|) { # [1.2.3.4] # [hostname] # [1:2::3] - return($1, $port); + $returnServer = $1; } - return($server, $port); + return($returnServer, length($port) ? $port : $returnPort); } sub get_running_state { diff --git a/testing/regressions/_options-transport/05050.test b/testing/regressions/_options-transport/05050.test new file mode 100644 index 00000000..b20667fb --- /dev/null +++ b/testing/regressions/_options-transport/05050.test @@ -0,0 +1,4 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net \ + --server foo:1111 --port 2222 diff --git a/testing/regressions/_options-transport/05051.test b/testing/regressions/_options-transport/05051.test new file mode 100644 index 00000000..36336d3a --- /dev/null +++ b/testing/regressions/_options-transport/05051.test @@ -0,0 +1,4 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --dump TRANSPORT --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net \ + --local-interface foo:1111 --local-port 2222 diff --git a/testing/regressions/_options-transport/out-ref/05050.stderr b/testing/regressions/_options-transport/out-ref/05050.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-transport/out-ref/05050.stdout b/testing/regressions/_options-transport/out-ref/05050.stdout new file mode 100644 index 00000000..e8721caa --- /dev/null +++ b/testing/regressions/_options-transport/out-ref/05050.stdout @@ -0,0 +1,8 @@ +Transport Info: + type = socket-inet + inet protocol = any + server = foo + port = 2222 + local interface = + local port = + copy routing = FALSE diff --git a/testing/regressions/_options-transport/out-ref/05051.stderr b/testing/regressions/_options-transport/out-ref/05051.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_options-transport/out-ref/05051.stdout b/testing/regressions/_options-transport/out-ref/05051.stdout new file mode 100644 index 00000000..f4a37ace --- /dev/null +++ b/testing/regressions/_options-transport/out-ref/05051.stdout @@ -0,0 +1,8 @@ +Transport Info: + type = socket-inet + inet protocol = any + server = host1.nodns.test.swaks.net + port = 25 + local interface = foo + local port = 2222 + copy routing = FALSE diff --git a/testing/regressions/_options-transport/test.txt b/testing/regressions/_options-transport/test.txt index 83865cbb..a199a74b 100644 --- a/testing/regressions/_options-transport/test.txt +++ b/testing/regressions/_options-transport/test.txt @@ -260,7 +260,9 @@ 043 -6 --local-interface fails 044 --server --local-interface fails 045 --server --local-interface fails - +- + 050 --server ip:port1 --port port2 -- port2 wins + 051 --local-interface ip:port1 --local-port port2 -- port2 wins ./gen-tests.pl \ From b8de992c90e3405c1a99a3211aea3351d5ebc3b9 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Mon, 21 Dec 2020 13:17:49 -0500 Subject: [PATCH 14/98] Consolidate test certs under testing/certs set up for "signed" and unsigned certs to allow testing of crt verification --- .gitignore | 6 ++++ testing/certs/NOTES.txt | 4 +++ testing/certs/ca.key | 27 ++++++++++++++ testing/certs/ca.pem | 23 ++++++++++++ testing/certs/ca.srl | 1 + testing/certs/generate-cert.sh | 49 ++++++++++++++++++++++++++ testing/certs/node.example.com.crt | 23 ++++++++++++ testing/certs/node.example.com.key | 27 ++++++++++++++ testing/certs/signed.example.com.crt | 23 ++++++++++++ testing/certs/signed.example.com.key | 27 ++++++++++++++ testing/certs/unsigned.example.com.crt | 23 ++++++++++++ testing/certs/unsigned.example.com.key | 27 ++++++++++++++ testing/server/generate-cert.sh | 10 ------ 13 files changed, 260 insertions(+), 10 deletions(-) create mode 100644 testing/certs/NOTES.txt create mode 100644 testing/certs/ca.key create mode 100644 testing/certs/ca.pem create mode 100644 testing/certs/ca.srl create mode 100755 testing/certs/generate-cert.sh create mode 100644 testing/certs/node.example.com.crt create mode 100644 testing/certs/node.example.com.key create mode 100644 testing/certs/signed.example.com.crt create mode 100644 testing/certs/signed.example.com.key create mode 100644 testing/certs/unsigned.example.com.crt create mode 100644 testing/certs/unsigned.example.com.key delete mode 100755 testing/server/generate-cert.sh diff --git a/.gitignore b/.gitignore index d2c19479..5c7686ab 100644 --- a/.gitignore +++ b/.gitignore @@ -19,10 +19,16 @@ Thumbs.db *.tmp *.log *.lock +tmp/* *.csr *.key *.crt +*.pem +!testing/certs/*.csr +!testing/certs/*.key +!testing/certs/*.crt +!testing/certs/*.pem # sublime project files *.sublime-project diff --git a/testing/certs/NOTES.txt b/testing/certs/NOTES.txt new file mode 100644 index 00000000..e3fa2a75 --- /dev/null +++ b/testing/certs/NOTES.txt @@ -0,0 +1,4 @@ + +root ca: + openssl genrsa -out ca.key 2048 + openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pem -subj "/C=US/ST=Indiana/O=Swaks Development/CN=Swaks Root CA/emailAddress=proj-swaks@jetmore.net" diff --git a/testing/certs/ca.key b/testing/certs/ca.key new file mode 100644 index 00000000..3f9dc341 --- /dev/null +++ b/testing/certs/ca.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAtUmi7OqiM8//O3hv3CgrHKm8Jg6QRL3pPK9N2iK7n7GABMdb +A4FAzNwfUhjdotmZB0415Vqs5NjVz+UWxA2HcjSi9AUPawDZ3EaAEppkrPe5b0SC +7RnFIAFdi94MiL3NfYR4HrjV6Hc5XK913hK0m5kLKqHr4n7xh1xFSmxvCLa3ye0/ +SSajVzTEyPDBOKQk6Nj7t3ninIMYOUMR9lqCvMRtaw4Ex5+Yh+3KyNxeim9tl0Ze +HAHtPCJ/cKMZVndnaufkWvc0rtpReo1DonC3SOcRVeTpxQ/O2UGnmOo08KqpAXuX +Sqv8F/nBR85W6EEhk63iVyv+CK1mss/4hTVQjwIDAQABAoIBACAPY7bOT90l3Zdg +1zdyCx3IjrOUQ8NEaqkGv5fiKJg3RdKShu/5vcH887ULHLceEEgQdsuW25ilGDrp +4rrNQbTaxi6tbmqX/e9MsH2ZvFAyhyK8VQMlWY0tcKO5ozHTjzGxaaTVP08bNpPD +m+6oFDSoPidN929Yz9IGaWKeBozdpxzDJMrj4vZwknZYb+6tDk6jUSqyUT6NjgFI +8dq0Rb4tWbxcpP/84DNfvUK8f85lUlmeTOB//gJ1KBljVVeA7w/80XlQzHal9ZVk +vO/SbUqm3niC1gdO+iUVBSKkMX+nh4P+cGoSVMah2s469Ca2x1GCzXY6HE4IT80o +deUNNVECgYEA4l0yiHbNUtctrJ9Rq8mZpuvzU2avOJR38JClriAOl/kAcx4MjYU2 +S5uHcom8bIxAXrBpWIQ7LCwMahIzvDW8Z/1OVB93oaoGe4qXDN+no9C0wciygUds +v/O2JYZUPKxZjCPVZDhUsU7Fc/PyoC9dJu+yKqxOuhoD3g6SWOtKry0CgYEAzQWp +OvON4xzzgSYRRcgqlh1f8OV/4CC4ZqKV/Mg+61+M2RY4FN2Pa5N5jBlFcFEIeeAX +DuV2eZ7LD2/w9cgbdzaPJlbs9X/ZLQXHEiBoki/J2pZP/oJiv/86yzD+Zhd/6dph +lcszfafLFlOZOG4rGgsWYNa9lFRXgKhMk2tf9CsCgYA2lx1BtczshoI4WC+9CyBo +Fg0XdvMY5Q1L0cZzCL4cPmuyV3PViWO/tiFjKP5s+yHm9Apj03flvjW8OumJIThv +p7IFLZWPQk7P6mtlKmbmZcXB2iHadZwvapnp0Mxt2W67EkU7Jy6dmA6cWR+RK/r+ +Ed5Y1jciQHXgTolSsmPPfQKBgFmy7VyGbIB+DSdnAU2XitJMncomjrD/f84fuiFz +dtvB3TypVPYEDZiSWC5sbA381gmEenIhAJmrWMozPqg52ZJpw22RwHCUc+8XxQXw +OfAjilvhQbRnVU8NGqsFj3gZNfSZf/Jqieei/t6Qyst+n8rwKOVLbnwz/miiuYYS +B1QrAoGATQJ0/2EnWpqNgb7g/4iwOpzyf5zgEVJ7Y0qEzMyzstDQWRi8p0C11AQi +rY2LDRWsqUDtklSV7ciD/npc4yReIau/ewB69ICcNxGTpKSwTSYkQ84I7tLTXC6l +XsdYwvNgv7Aj1Q10BkO5gfvOhO4LMugSIToUr2LwiiOvm1D0G2U= +-----END RSA PRIVATE KEY----- diff --git a/testing/certs/ca.pem b/testing/certs/ca.pem new file mode 100644 index 00000000..ddfbec64 --- /dev/null +++ b/testing/certs/ca.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIUXVM3iG5nRqQf0mhI5bfM0a9IlSIwDQYJKoZIhvcNAQEL +BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE1MjgxN1oX +DTMwMTIxMTE1MjgxN1owejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmEx +GjAYBgNVBAoMEVN3YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290 +IENBMSUwIwYJKoZIhvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtUmi7OqiM8//O3hv3CgrHKm8Jg6Q +RL3pPK9N2iK7n7GABMdbA4FAzNwfUhjdotmZB0415Vqs5NjVz+UWxA2HcjSi9AUP +awDZ3EaAEppkrPe5b0SC7RnFIAFdi94MiL3NfYR4HrjV6Hc5XK913hK0m5kLKqHr +4n7xh1xFSmxvCLa3ye0/SSajVzTEyPDBOKQk6Nj7t3ninIMYOUMR9lqCvMRtaw4E +x5+Yh+3KyNxeim9tl0ZeHAHtPCJ/cKMZVndnaufkWvc0rtpReo1DonC3SOcRVeTp +xQ/O2UGnmOo08KqpAXuXSqv8F/nBR85W6EEhk63iVyv+CK1mss/4hTVQjwIDAQAB +o1MwUTAdBgNVHQ4EFgQUCtIpK6r11cTryliB7T7YiBUs7H4wHwYDVR0jBBgwFoAU +CtIpK6r11cTryliB7T7YiBUs7H4wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B +AQsFAAOCAQEAIHiuIIQPbCA1LCkLi7la84K0glgUoj3Ji0F+z86C7nHHdIcr3Tmg +Ghw5u7xbPAUMhqzWwU6yAhb1o7jyvbfUkZ3/jlB4Me8ExcJXUBxpBtdIs9849QUN +B3tRMgzJx2KCafEPuypUUYVo3Vl/qGqLp7mA4PQAvcDpdMLdjJTrypRKuMLb1vw3 +/mCYPszTna1Wh91oyF2OrNQ3KhYHheo7Pc+RlelxEso7qZbrCLiMj8nw4tklwrZY +ooJthOTioro+a3oGQ3T2IJjrD9LQ2V4wJOnbsRPfVr+0poF2Evcal/g4Zx4XaQb8 +fB5HIr6argBz4DtGZo9l6lwZQMP/8WTGZw== +-----END CERTIFICATE----- diff --git a/testing/certs/ca.srl b/testing/certs/ca.srl new file mode 100644 index 00000000..b9eb791d --- /dev/null +++ b/testing/certs/ca.srl @@ -0,0 +1 @@ +150539353D843BD82D0B960FF7A15AF5DF2F1539 diff --git a/testing/certs/generate-cert.sh b/testing/certs/generate-cert.sh new file mode 100755 index 00000000..d20fb06d --- /dev/null +++ b/testing/certs/generate-cert.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +USAGE="Usage: $0 [ --signed | --nosigned ] " +CAFILE=ca + +SIGNED=$1 +DOMAIN=$2 +if [ "x$SIGNED" == "x" ] ; then + echo $USAGE >&2 + exit 1 +fi +if [ "x$DOMAIN" == "x" ] ; then + DOMAIN=$SIGNED + SIGNED="--unsigned" +elif [ "$SIGNED" != "--signed" -a "$SIGNED" != "--unsigned" ] ; then + echo $USAGE >&2 + exit 1 +fi + +openssl genrsa -out $DOMAIN.key 2048 + +cat >$DOMAIN.ext << EOM +authorityKeyIdentifier=keyid,issuer +basicConstraints=CA:FALSE +keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment +subjectAltName = @alt_names +[alt_names] +DNS.1 = $DOMAIN +EOM + +openssl req -new -key $DOMAIN.key -out $DOMAIN.csr \ + -subj "/C=US/ST=Indiana/O=Swaks Development/CN=$DOMAIN/emailAddress=proj-swaks@jetmore.net" + +if [ $SIGNED == "--nosign" ] ; then + openssl x509 -req -days 3600 -sha256 \ + -in $DOMAIN.csr \ + -out $DOMAIN.crt \ + -signkey $DOMAIN.key \ + -extfile $DOMAIN.ext +else + openssl x509 -req -days 3600 -sha256 \ + -CA $CAFILE.pem -CAkey $CAFILE.key -CAcreateserial \ + -in $DOMAIN.csr \ + -out $DOMAIN.crt \ + -extfile $DOMAIN.ext +fi + +/bin/rm $DOMAIN.ext $DOMAIN.csr + diff --git a/testing/certs/node.example.com.crt b/testing/certs/node.example.com.crt new file mode 100644 index 00000000..823d02f2 --- /dev/null +++ b/testing/certs/node.example.com.crt @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIUFQU5NT2EO9gtC5YP96Fa9d8vFTcwDQYJKoZIhvcNAQEL +BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE2MzExMFoX +DTMwMTAyMjE2MzExMFowfTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmEx +GjAYBgNVBAoMEVN3YWtzIERldmVsb3BtZW50MRkwFwYDVQQDDBBub2RlLmV4YW1w +bGUuY29tMSUwIwYJKoZIhvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtk8opJgeWgaE7EugTv0lO10Z +dG2IgOF/9oHgy4VE1ViL2vKkng87zNju6B7cZXTh+UmIj6nKD31FTZlMvluD83BP +nksPSrlGa7+5Tx5AgCHewQYS2G8dkxHUEB867AkWfOQVAdNPDd4czEwUqjWkPJhp +tIveT+yxv9jVwcf5ggjJ9NVu6SF6sflpd/QwPcEObRIEMyG/ARKLrbmBZibrJSB6 +XuSEWCTM8nml1OfpO6on1kd1+2a9Rtt0keCg7ydRBS4xDfKLYvgsNdSiRCrfEMhM +wXxKyGx/v8HcGbOCECbEZBCoN+pAwLi+EUhBUndrA05AByZdzLokKoYq6KqyBwID +AQABo1gwVjAfBgNVHSMEGDAWgBQK0ikrqvXVxOvKWIHtPtiIFSzsfjAJBgNVHRME +AjAAMAsGA1UdDwQEAwIE8DAbBgNVHREEFDASghBub2RlLmV4YW1wbGUuY29tMA0G +CSqGSIb3DQEBCwUAA4IBAQA54XEux2wDyyMPHJqjgMIYsAAetS+fzgJxlEIDVnPl +4SA6zwLLQc1PgpzyVo2LOwUc/zpX+6aMrFrMu5wCEAC0S2/pBXn2lJPXCW6T1dK8 +h//a6Ceup9OBeuTMhtyNLUa7bqnW1iNsK9V0ur7jlClNNAHZ+Q1zYJjBudMHLTuT +1wAsYnWK2cTKqpOjg9uiZ1NQP3EpOvuvUAmo8TCMDBD4KNtAj8LotlwengfolChG +Rg/SXzYMtMv1nlbJXi62OtLqj/IeYTTQ5OfARVHX3FBlwY0VIjHFYKNAcUtRRBfm +ZRps3SucdulE1rliU1S6PNOrBhpvns8wqswyAAx8b3y4 +-----END CERTIFICATE----- diff --git a/testing/certs/node.example.com.key b/testing/certs/node.example.com.key new file mode 100644 index 00000000..dc7f555e --- /dev/null +++ b/testing/certs/node.example.com.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAtk8opJgeWgaE7EugTv0lO10ZdG2IgOF/9oHgy4VE1ViL2vKk +ng87zNju6B7cZXTh+UmIj6nKD31FTZlMvluD83BPnksPSrlGa7+5Tx5AgCHewQYS +2G8dkxHUEB867AkWfOQVAdNPDd4czEwUqjWkPJhptIveT+yxv9jVwcf5ggjJ9NVu +6SF6sflpd/QwPcEObRIEMyG/ARKLrbmBZibrJSB6XuSEWCTM8nml1OfpO6on1kd1 ++2a9Rtt0keCg7ydRBS4xDfKLYvgsNdSiRCrfEMhMwXxKyGx/v8HcGbOCECbEZBCo +N+pAwLi+EUhBUndrA05AByZdzLokKoYq6KqyBwIDAQABAoIBABDc9Zdz8qrFG5p3 +zFZCGCWLkQUx9IRnV1zH2rE4nItXa2hPNWbhZdim4EJcSGqiCxzx7k3LmMMiBT0O +Rwj8khH8e4Da1IlG5fqle1CULccsWtxj4W5fqM6nwYPUP7EBjjDzL/ZBQ3i26NcE +2ox79bsdJfnrTh76d96VAgCwrKWYXoLHstXGVTrQAmuOmsEGVMaljL3/mupiuu0S +0rudfcervfTT+cc/jn8wdngsI3RqyrTml4n9NF++/nRko97mKhpmPhAf+J07aeDU +EQpHrR/r5DOVVHUO8AnUYxSGjaBV80ZMEQtmG7dADPUyjdciWtIUfdw8iisWNs7/ +Pimk15ECgYEA4q0CPyK+3Q4Yth6CRkrQHwXPnCErxNEZITkwaoCsDvT0oBqOlk3h +ZrEA7+kYQSYlDrnBmP7TsY+auCHpaDe90vF8qfIALKQHOehiz3zfIHR4MCQXXFy3 +zK8rXYDBtfZwr9pebdE0Z3Ej3qA+sYedFy687MzC8qLJEDk16zrchPMCgYEAzeTU +DCeibPFGl6olYSN1zNFUAAin0Aq9/BLTQQYSfgzNcQFG3skWeigtYt6cESEqQWl/ +ANuadoSwC/DOanuybJHc68VJ7Kxb06ITkibKYEj97SuPqqq9LwVAj0g3N6po+/ML +3lycYRDr8WECrTKliqB8CycHrWWOApO6nr58c50CgYASTb4cswWOfBDqw9PpMSlV +F/cHuHX8UpYg5KlQMEu0eXs3Ym2ZHXjR/gEBXmUi/Z2Ibt9/JzSY5eusarCaRcYC +PpW+c1goQqaCuo0gDAlIaZ864+8u+h2tXYe26Sq7MscurAdr/rSola47z9zAIR9C +O/ftdytWxGZP9Q6xi/M6mQKBgH7o6XuEgq28GtMpYVj6zoWtEaXjr+ygcnKJ+AVA +hO2FXqylKNXyBRTO5wrmRDSayL0BFfOlaRRcvVbe25zvGg+p6Q660NI9e2x7nqyb +lGq9Eye5jhiYnXv6NM0cqkx5kbSbH1m0o/+Auq5SKaAwc7F7Mnp9WFIdIuebv5BR +wcxRAoGAM5KkeJtYDNJq9xzmjXM+z66T5Dyno42l28f5D5KQt5OMZ8Og8ILAvzcY +DwEPTIP7J2ijRCR1etK3ZSl9mdrgsrS6gfVstbUKcbUvd3PHP6FVJcFjom1fFikC +92M2wqlok/yq/MT2S6+jN8mvs2xUzGkbYuCAicK4FHdvyatHB7M= +-----END RSA PRIVATE KEY----- diff --git a/testing/certs/signed.example.com.crt b/testing/certs/signed.example.com.crt new file mode 100644 index 00000000..a3aabc5b --- /dev/null +++ b/testing/certs/signed.example.com.crt @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID4TCCAsmgAwIBAgIUFQU5NT2EO9gtC5YP96Fa9d8vFTgwDQYJKoZIhvcNAQEL +BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE2MzEyMFoX +DTMwMTAyMjE2MzEyMFowfzELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmEx +GjAYBgNVBAoMEVN3YWtzIERldmVsb3BtZW50MRswGQYDVQQDDBJzaWduZWQuZXhh +bXBsZS5jb20xJTAjBgkqhkiG9w0BCQEWFnByb2otc3dha3NAamV0bW9yZS5uZXQw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcAJodJoDg5voiGNZ6+gsE +bSYE3wL0HS9zObeOtlvdzDYfPX1NAVkGb1IyixNyjxww1fute4/AtU5wsTStGRD3 +Eo69BNFirbHeBiHMqK1wEybjVVnaaqafX2ahyFibzZy894WdHU/05SCP3sEmqE/K +027KYfO6xxoQLa6GKDl3NbVhi5w2hQOceVsFAnFFRjv+pkCVrZVAgUzzRlgDAwFY +MlqHxV7pgbjvoLXEA+Q34ijdvqbW44EvV1p6yt+Ug1yqaID0sFqtbaMw9Tbh4OO1 +ElmCX7uXN7UuMJUq5x2E0KmqPB6o1RtPiMjgeFeuqopLSsn47vWa20KXwiLl0uw3 +AgMBAAGjWjBYMB8GA1UdIwQYMBaAFArSKSuq9dXE68pYge0+2IgVLOx+MAkGA1Ud +EwQCMAAwCwYDVR0PBAQDAgTwMB0GA1UdEQQWMBSCEnNpZ25lZC5leGFtcGxlLmNv +bTANBgkqhkiG9w0BAQsFAAOCAQEAadMmL4VnnrnmWLege0q2tN+dvjrRNjKurZNy +Ej4AqfUeXdyRWqSdf7VCPVaTDppLBDTIEVOSJitieyktaLmYFmKkFFRMxAbGegPI +8DdvClePR6au0txochA7S+8elK4kqNkANeC9eRIEe8iaaOhXo+PKxerkVg98cI94 +Gx26NEztVqYEd5wMmbeNRQg+fk+y6gyVpRcnvALsPrK1g6Fiv17jOwkeoue7SBAd +B4YgOJ8Z1xwBZr/rXQYwsHZnQVX8T32XtCitgi1UU4R3dFB42D+y32bHkJzY0OMM +uTqW/b9ePHQMzkWE6MlO/ZiLx3E41MlmKBZmq6qAZbn0E6AJBg== +-----END CERTIFICATE----- diff --git a/testing/certs/signed.example.com.key b/testing/certs/signed.example.com.key new file mode 100644 index 00000000..3cb39363 --- /dev/null +++ b/testing/certs/signed.example.com.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnACaHSaA4Ob6IhjWevoLBG0mBN8C9B0vczm3jrZb3cw2Hz19 +TQFZBm9SMosTco8cMNX7rXuPwLVOcLE0rRkQ9xKOvQTRYq2x3gYhzKitcBMm41VZ +2mqmn19mochYm82cvPeFnR1P9OUgj97BJqhPytNuymHzuscaEC2uhig5dzW1YYuc +NoUDnHlbBQJxRUY7/qZAla2VQIFM80ZYAwMBWDJah8Ve6YG476C1xAPkN+Io3b6m +1uOBL1daesrflINcqmiA9LBarW2jMPU24eDjtRJZgl+7lze1LjCVKucdhNCpqjwe +qNUbT4jI4HhXrqqKS0rJ+O71mttCl8Ii5dLsNwIDAQABAoIBAHxJSn9Q7rq/qqbB +rRca4O4s225kEmFUYzpk0GYFyVkC2le3UH2qRjgHNrCH9v19INOTl8jWOWgpyo2j +0Ljb0JVXlprnHL6Gbb/amNEJzewNhhz2IfkOoSM2CXl5OYcfn/E5Lp1G/i244mFc +8fuPesq3+nuI4Hp9J7md+35sy6O5yvqFfeXvL5bv+BwceAY7BBVf8NLHZ+dNSz+s +h+VZS+fcTG7qTngofKII/D19QC4KugTqtLhAS8Gy1KMLKl4OVPDM0kvdz8Tv0MkG +Kdt96EiMw5GbYMNEFjSADHHGk1h7RYx0QTYRlsaap1J7LLVKQXQzF5+E6L5kbKW2 +7av34eECgYEAzMzfcYl+f0xKa2pK0IDjPVtMgbiz4ercSvf80idCCpe5558StG0/ +qCmUjVy0ZwTCU1yxPTiagHLS8YsqgqSrwR6llx24/H8vRec8MjGLQFnWoOgEyfm7 +Goco4AO+xoHbbpRySBvCgwF88LhcUy1BGE+kenVM4eVXcrRHc+EfGxECgYEAwwCu +5AWLLzOYnWZ/YVQqsmyN+ebJACp3w97hXaUHz5YBMmJwxdJ7ecdKMa19UujyijNm +bt/gmTbxLSACl622TTSMUC+zO5dcZYfbzj4lHACJmELQBANRV7qHL4wYbJbfkbjr ++rHAvsDRfoO78UiTmjl7yGyFz1haL3oHGT4CwscCgYEAxVNMo09wA2VVewOSDC1z +RYX3RDHbl/w7vzwLa80Jk703ERWy5wcwQ220xTOiWnQ6bCmuWCd2rfZ0iuikz/Wr +y0olEGJB/37n5Hl1BYO5AQrOgoCrRJQLE/dQie7x3L/31ibPqeydUK6ZXDK2Oior +QypRdvAYYLshs9JB2kP5PZECgYBJWp9vfTpfVixpwV3Xcf7hwX4i7JLd8hu9XcEv +Jd5rU0U9+9PqRoRWSgZ564ZCQwjBvhYhTSxC1m0hCXKQNjNmlYbWvyrQFt8V/mZM +DgqNnxIjabawW8MkmjEyTKP/bT3KpmJ2mpkj6Iql6c4wNJn5oPgUa+ZmGhlK1L+I +2k/VjwKBgGV48O52rD4MDwGKDDsCBDjZF2L42PlBv4AVX5lQBkk3IqyC87Ia1+zE +uvJ3+SrmnGV64DZMQjNoucA976nxLhnxuXpD41SJ39Z8axIi3vlJaoddeRO4yjR7 +Bp3cFDBMaKXzb/+NRbpacPe5jmkrKo9v5x6IYTr8RzMG2hss8IRe +-----END RSA PRIVATE KEY----- diff --git a/testing/certs/unsigned.example.com.crt b/testing/certs/unsigned.example.com.crt new file mode 100644 index 00000000..40cbb0ea --- /dev/null +++ b/testing/certs/unsigned.example.com.crt @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIUFQU5NT2EO9gtC5YP96Fa9d8vFTkwDQYJKoZIhvcNAQEL +BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE2MzEyNFoX +DTMwMTAyMjE2MzEyNFowgYExCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdJbmRpYW5h +MRowGAYDVQQKDBFTd2FrcyBEZXZlbG9wbWVudDEdMBsGA1UEAwwUdW5zaWduZWQu +ZXhhbXBsZS5jb20xJTAjBgkqhkiG9w0BCQEWFnByb2otc3dha3NAamV0bW9yZS5u +ZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDlGgCpRMk4imNH3LCE +50g4u+nn1IAHQm0UznsXMDmabwwpHxnCg5JUxZZ7hPhukj2/JCLPrMUAwTyQJxx1 +aaruSVFDYSFVSGMd+mXKEgY1CgErzYpSpv67CCXq5yyFs6tnLrvAPvCTHznXWn2S +pRK+98PgCijnwi9p1tlJt+bJUCbZzx72YAJHH/fkCYIyGfVdSKHwvO08pPj0rKXl +iFMEgb3rIMk4aNCfWkLDCfPC3Lzts3vMlmqXmmKF7EsDgBFX3VnnZmyVXgWZlGir +d2tNMRJgA+szvUlmwAs8qAFBwUwpXIBW2nsRHQINGR/JcoX2MjeDoAi4yXFTDLkq +zIYDAgMBAAGjXDBaMB8GA1UdIwQYMBaAFArSKSuq9dXE68pYge0+2IgVLOx+MAkG +A1UdEwQCMAAwCwYDVR0PBAQDAgTwMB8GA1UdEQQYMBaCFHVuc2lnbmVkLmV4YW1w +bGUuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQB494g2p1b3dEk/DIKgLH+OxFx9FoDt +XQMqFoi07OItwJw4ubgBxC2pOXyMTJ3ufBPj7tOOJyG/mozEDp9l1oP/TXBbUVW5 +pYaqZaG3mAIDlt4QHnlSzLDsXYHQsSp7uNx/wKqIBsg2Ev6rSmxqO+wDu0u5aFdE +Otskb0LtYxiDPCGH209jpA1EbcI8A9+4HUMVCRDa3K6RaeT7Nbr80uF16aRsS2RW +8L9KxmNrrO76CvekGFSNhuQKp39jzcUU/zH94pa848WDQGPZQjSgGgCqbdqQx/WQ +E1TsPBQMLf2LLSS8dgZdEulxXryrK2Pu/DkhGggBY1YChXaO5+KXY9Fl +-----END CERTIFICATE----- diff --git a/testing/certs/unsigned.example.com.key b/testing/certs/unsigned.example.com.key new file mode 100644 index 00000000..15000e1e --- /dev/null +++ b/testing/certs/unsigned.example.com.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5RoAqUTJOIpjR9ywhOdIOLvp59SAB0JtFM57FzA5mm8MKR8Z +woOSVMWWe4T4bpI9vyQiz6zFAME8kCccdWmq7klRQ2EhVUhjHfplyhIGNQoBK82K +Uqb+uwgl6ucshbOrZy67wD7wkx8511p9kqUSvvfD4Aoo58IvadbZSbfmyVAm2c8e +9mACRx/35AmCMhn1XUih8LztPKT49Kyl5YhTBIG96yDJOGjQn1pCwwnzwty87bN7 +zJZql5pihexLA4ARV91Z52ZslV4FmZRoq3drTTESYAPrM71JZsALPKgBQcFMKVyA +Vtp7ER0CDRkfyXKF9jI3g6AIuMlxUwy5KsyGAwIDAQABAoIBABc1ViHPnQ7EPiB2 +g89C2rccmippBXs2yHQWIrQLp5o0a6fyxZpF19oMlhz3MG+LEwQ89eXR27ci3C7C +N4jRZoZzGO9ZdJX+GkRcLFmXD9fppoq4bK3Iyv9JaQXt2z3EILX4Lv7foWFWBXcC +bLwhSs/bq5UTkmc/7ausHyDvp0p3Sg1wiht7c4d7c8lSWH8kTls8xxEPBRkt/qeH +vVVonNMJm+wFiN9RxTwK904nW2kVd3FKSGWQZTcVsqRQF3NWz5e4ZlqR0+bOIuyn +gntHI9pSkCcWpCBSmaQE8UOX+pT/itHO8agyX9zklq7VvlPYF446f6dnLAQylgQu +9XdorqECgYEA++eFN086KsHYSqMvGB0vwsLKvlZWZnZueOJhHb8OUqJxM3RqQJxU +d3CpuyA/kZwZUKAJMjx4Il4plz4XTV6blFpEjjKKPxQKLRw0dE5+btnV/bSzD3oM +sRcPCgNd4ysfyB7Vr46aEdQbkUX9xfg1W0RboOL9cPXFH5Vo+fTg13MCgYEA6NOS +dCoxGdivn836T367LH1zbXYmln/CmGHx4pFd9ZmJKH83mR529qsxMPLG7ge6L9nD +rAM6XMIjpWAsdDz2k1W+0CReYHUGgTKq1TcBbP1OuSQh4kgt/lsVLDxxLAxKw0Qb +GXZjMJ8zWoMly1qcs/6b8XCsVRPG4orlRh4zUzECgYEAhpJZjYGqvlrONJlWuFgn +QrGTY/l1sMlGHRg674w4l5amSOnBNYEOcrxiQFBrBVvR/ktwfkDloN6S83Q9OJz5 +Glja1OhVCHupMA4oS5X/XzLKaf3VxsfZ7eU2qI/B4XERSnSGjYHt9uZMT+CHQPJn +drlfBeUdpfH1+/hym03hq9cCgYEAwZH9ZjUZ44pC4ZLntCYCSgf26p/bjy6jQ/vS +lfMT8jh3T0MNn3EzqPtFh5OhDo9AHb5oL1/zquEBr+HYs79npbEZVoWWLY2+HbZZ +T7FOryWeyNCglzg5fQqO/Ns3oE6L7fJ2sWG7L9Z8ZJk61+n69K8PSdnKfWVW6kxe +OECtnVECgYB3LX2Icaxu7gOA8dZYILHJgLmZFtshli1Gkh/jbAiMOU4e4BdWXZA6 +JSK1TpCMjVRFktJIl1mVZ5YSyKAla8CEij0OujN3oMKUiJwsXbimHXpoVBA4CnpU +mpkcZilE8/YLVtVkx7RCJOWkBgwKmgwgKXQhJcZZ6YeHvO1m4LI4tg== +-----END RSA PRIVATE KEY----- diff --git a/testing/server/generate-cert.sh b/testing/server/generate-cert.sh deleted file mode 100755 index 7102597b..00000000 --- a/testing/server/generate-cert.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# test server can use tls if we provide the keys. This cert isn't special in any way, but don't check it in to git on general principal - -openssl genrsa -des3 -passout pass:x -out test.pass.key 2048 -openssl rsa -passin pass:x -in test.pass.key -out test.key -/bin/rm test.pass.key -openssl req -new -key test.key -out test.csr -subj /CN=node.example.com -openssl x509 -req -sha256 -days 365 -in test.csr -signkey test.key -out test.crt -/bin/rm test.csr From 06b6a6715c31212ac924fe50895914a600e22311 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Sat, 28 Nov 2020 12:10:35 -0500 Subject: [PATCH 15/98] Config files for building MTAs for test reference Exim and Postfix Postfix: _NOTES, _START.sh, _STOP.sh are all from me, everything else is from a 'make install' from postfix source. aliases, main.cf, and master.cf have been modified (see _NOTES/install-notes.txt) --- .gitignore | 2 + testing/mta/exim-config/aliases | 35 + testing/mta/exim-config/configure | 1003 +++++++++++ .../mta/exim-config/notes/Makefile.494.debian | 1496 +++++++++++++++++ .../mta/exim-config/notes/Makefile.494.dist | 1496 +++++++++++++++++ .../mta/exim-config/notes/install-notes.txt | 9 + testing/mta/exim-config/start.sh | 12 + testing/mta/postfix-config/LICENSE | 508 ++++++ testing/mta/postfix-config/TLS_LICENSE | 36 + .../postfix-config/_NOTES/install-notes.txt | 51 + testing/mta/postfix-config/_START.sh | 3 + testing/mta/postfix-config/_STOP.sh | 3 + testing/mta/postfix-config/access | 484 ++++++ testing/mta/postfix-config/aliases | 8 + testing/mta/postfix-config/bounce.cf.default | 112 ++ testing/mta/postfix-config/canonical | 307 ++++ testing/mta/postfix-config/generic | 250 +++ testing/mta/postfix-config/header_checks | 549 ++++++ testing/mta/postfix-config/main.cf | 693 ++++++++ testing/mta/postfix-config/main.cf.default | 919 ++++++++++ testing/mta/postfix-config/main.cf.proto | 676 ++++++++ testing/mta/postfix-config/makedefs.out | 59 + testing/mta/postfix-config/master.cf | 134 ++ testing/mta/postfix-config/master.cf.proto | 133 ++ testing/mta/postfix-config/postfix-files | 444 +++++ testing/mta/postfix-config/relocated | 176 ++ testing/mta/postfix-config/transport | 317 ++++ testing/mta/postfix-config/virtual | 324 ++++ 28 files changed, 10239 insertions(+) create mode 100644 testing/mta/exim-config/aliases create mode 100644 testing/mta/exim-config/configure create mode 100644 testing/mta/exim-config/notes/Makefile.494.debian create mode 100644 testing/mta/exim-config/notes/Makefile.494.dist create mode 100644 testing/mta/exim-config/notes/install-notes.txt create mode 100755 testing/mta/exim-config/start.sh create mode 100644 testing/mta/postfix-config/LICENSE create mode 100644 testing/mta/postfix-config/TLS_LICENSE create mode 100644 testing/mta/postfix-config/_NOTES/install-notes.txt create mode 100755 testing/mta/postfix-config/_START.sh create mode 100755 testing/mta/postfix-config/_STOP.sh create mode 100644 testing/mta/postfix-config/access create mode 100644 testing/mta/postfix-config/aliases create mode 100644 testing/mta/postfix-config/bounce.cf.default create mode 100644 testing/mta/postfix-config/canonical create mode 100644 testing/mta/postfix-config/generic create mode 100644 testing/mta/postfix-config/header_checks create mode 100644 testing/mta/postfix-config/main.cf create mode 100644 testing/mta/postfix-config/main.cf.default create mode 100644 testing/mta/postfix-config/main.cf.proto create mode 100644 testing/mta/postfix-config/makedefs.out create mode 100644 testing/mta/postfix-config/master.cf create mode 100644 testing/mta/postfix-config/master.cf.proto create mode 100644 testing/mta/postfix-config/postfix-files create mode 100644 testing/mta/postfix-config/relocated create mode 100644 testing/mta/postfix-config/transport create mode 100644 testing/mta/postfix-config/virtual diff --git a/.gitignore b/.gitignore index 5c7686ab..32b2e3bf 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,8 @@ tmp/* !testing/certs/*.crt !testing/certs/*.pem +testing/mta/*-install + # sublime project files *.sublime-project *.sublime-workspace diff --git a/testing/mta/exim-config/aliases b/testing/mta/exim-config/aliases new file mode 100644 index 00000000..34bc33f1 --- /dev/null +++ b/testing/mta/exim-config/aliases @@ -0,0 +1,35 @@ +## These will be accepted +accept::blackhole: +accept1::blackhole: +accept2::blackhole: +accept3::blackhole: + +## will fail at rcpt time +fail::fail:invalid user +fail1::fail:invalid user +fail2::fail:invalid user +fail3::fail:invalid user + +## will defer at rcpt time +defer::defer:deferred user +defer1::defer:deferred user +defer2::defer:deferred user +defer3::defer:deferred user + +# accepted at rcpt time, then forced to fail at PRDR time +prdr-fail::blackhole: +prdr-fail1::blackhole: +prdr-fail2::blackhole: +prdr-fail3::blackhole: + +# accepted at rcpt time, then forced to fail after message is received (between \n.\n and response) +data-fail::blackhole: +data-fail1::blackhole: +data-fail2::blackhole: +data-fail3::blackhole: + +## this sender will be rejected at MAIL time +#mail-fail@client.example.com + +## this sender will be rejected in the predata phase (after DATA, before actual message transmission) +#predata-fail@client.example.com diff --git a/testing/mta/exim-config/configure b/testing/mta/exim-config/configure new file mode 100644 index 00000000..70525920 --- /dev/null +++ b/testing/mta/exim-config/configure @@ -0,0 +1,1003 @@ +primary_hostname = node.example.com + +auth_advertise_hosts = * + +.ifdef PROXY +hosts_proxy = * +.endif + + + +# The next three settings create two lists of domains and one list of hosts. +# These lists are referred to later in this configuration using the syntax +# +local_domains, +relay_to_domains, and +relay_from_hosts, respectively. They +# are all colon-separated lists: + +domainlist local_domains = @ +domainlist relay_to_domains = +hostlist relay_from_hosts = localhost +# (We rely upon hostname resolution working for localhost, because the default +# uncommented configuration needs to work in IPv4-only environments.) + +# Most straightforward access control requirements can be obtained by +# appropriate settings of the above options. In more complicated situations, +# you may need to modify the Access Control Lists (ACLs) which appear later in +# this file. + +# The first setting specifies your local domains, for example: +# +# domainlist local_domains = my.first.domain : my.second.domain +# +# You can use "@" to mean "the name of the local host", as in the default +# setting above. This is the name that is specified by primary_hostname, +# as specified above (or defaulted). If you do not want to do any local +# deliveries, remove the "@" from the setting above. If you want to accept mail +# addressed to your host's literal IP address, for example, mail addressed to +# "user@[192.168.23.44]", you can add "@[]" as an item in the local domains +# list. You also need to uncomment "allow_domain_literals" below. This is not +# recommended for today's Internet. + +# The second setting specifies domains for which your host is an incoming relay. +# If you are not doing any relaying, you should leave the list empty. However, +# if your host is an MX backup or gateway of some kind for some domains, you +# must set relay_to_domains to match those domains. For example: +# +# domainlist relay_to_domains = *.myco.com : my.friend.org +# +# This will allow any host to relay through your host to those domains. +# See the section of the manual entitled "Control of relaying" for more +# information. + +# The third setting specifies hosts that can use your host as an outgoing relay +# to any other host on the Internet. Such a setting commonly refers to a +# complete local network as well as the localhost. For example: +# +# hostlist relay_from_hosts = <; 127.0.0.1 ; ::1 ; 192.168.0.0/16 +# +# The "/16" is a bit mask (CIDR notation), not a number of hosts. Note that you +# have to include 127.0.0.1 if you want to allow processes on your host to send +# SMTP mail by using the loopback address. A number of MUAs use this method of +# sending mail. Often, connections are made to "localhost", which might be ::1 +# on IPv6-enabled hosts. Do not forget CIDR for your IPv6 networks. + +# All three of these lists may contain many different kinds of item, including +# wildcarded names, regular expressions, and file lookups. See the reference +# manual for details. The lists above are used in the access control lists for +# checking incoming messages. The names of these ACLs are defined here: + +acl_smtp_rcpt = acl_check_rcpt +.ifdef _HAVE_PRDR +acl_smtp_data_prdr = acl_check_prdr +.endif +acl_smtp_data = acl_check_data + +acl_smtp_auth = acl_check_auth +acl_smtp_mail = acl_check_mail +acl_smtp_predata = acl_check_predata + + +# You should not change those settings until you understand how ACLs work. + + + +# If you are running a version of Exim that was compiled with the content- +# scanning extension, you can cause incoming messages to be automatically +# scanned for viruses. You have to modify the configuration in two places to +# set this up. The first of them is here, where you define the interface to +# your scanner. This example is typical for ClamAV; see the manual for details +# of what to set for other virus scanners. The second modification is in the +# acl_check_data access control list (see below). + +# av_scanner = clamd:/tmp/clamd + + +# For spam scanning, there is a similar option that defines the interface to +# SpamAssassin. You do not need to set this if you are using the default, which +# is shown in this commented example. As for virus scanning, you must also +# modify the acl_check_data access control list to enable spam scanning. + +# spamd_address = 127.0.0.1 783 + + +# If Exim is compiled with support for TLS, you may want to enable the +# following options so that Exim allows clients to make encrypted +# connections. In the authenticators section below, there are template +# configurations for plaintext username/password authentication. This kind +# of authentication is only safe when used within a TLS connection, so the +# authenticators will only work if the following TLS settings are turned on +# as well. + +# Allow any client to use TLS. + + tls_advertise_hosts = * + +# Specify the location of the Exim server's TLS certificate and private key. +# The private key must not be encrypted (password protected). You can put +# the certificate and private key in the same file, in which case you only +# need the first setting, or in separate files, in which case you need both +# options. + + tls_certificate = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.crt + tls_privatekey = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.key + +# For OpenSSL, prefer EC- over RSA-authenticated ciphers +# tls_require_ciphers = ECDSA:RSA:!COMPLEMENTOFDEFAULT + +# In order to support roaming users who wish to send email from anywhere, +# you may want to make Exim listen on other ports as well as port 25, in +# case these users need to send email from a network that blocks port 25. +# The standard port for this purpose is port 587, the "message submission" +# port. See RFC 4409 for details. Microsoft MUAs cannot be configured to +# talk the message submission protocol correctly, so if you need to support +# them you should also allow TLS-on-connect on the traditional but +# non-standard port 465. + +# daemon_smtp_ports = 25 : 465 : 587 +# tls_on_connect_ports = 465 + + +# Specify the domain you want to be added to all unqualified addresses +# here. An unqualified address is one that does not contain an "@" character +# followed by a domain. For example, "caesar@rome.example" is a fully qualified +# address, but the string "caesar" (i.e. just a login name) is an unqualified +# email address. Unqualified addresses are accepted only from local callers by +# default. See the recipient_unqualified_hosts option if you want to permit +# unqualified addresses from remote sources. If this option is not set, the +# primary_hostname value is used for qualification. + +# qualify_domain = + + +# If you want unqualified recipient addresses to be qualified with a different +# domain to unqualified sender addresses, specify the recipient domain here. +# If this option is not set, the qualify_domain value is used. + +# qualify_recipient = + + +# The following line must be uncommented if you want Exim to recognize +# addresses of the form "user@[10.11.12.13]" that is, with a "domain literal" +# (an IP address) instead of a named domain. The RFCs still require this form, +# but it makes little sense to permit mail to be sent to specific hosts by +# their IP address in the modern Internet. This ancient format has been used +# by those seeking to abuse hosts by using them for unwanted relaying. If you +# really do want to support domain literals, uncomment the following line, and +# see also the "domain_literal" router below. + +# allow_domain_literals + + +# No deliveries will ever be run under the uids of users specified by +# never_users (a colon-separated list). An attempt to do so causes a panic +# error to be logged, and the delivery to be deferred. This is a paranoic +# safety catch. There is an even stronger safety catch in the form of the +# FIXED_NEVER_USERS setting in the configuration for building Exim. The list of +# users that it specifies is built into the binary, and cannot be changed. The +# option below just adds additional users to the list. The default for +# FIXED_NEVER_USERS is "root", but just to be absolutely sure, the default here +# is also "root". + +# Note that the default setting means you cannot deliver mail addressed to root +# as if it were a normal user. This isn't usually a problem, as most sites have +# an alias for root that redirects such mail to a human administrator. + +never_users = root + + +# The setting below causes Exim to do a reverse DNS lookup on all incoming +# IP calls, in order to get the true host name. If you feel this is too +# expensive, you can specify the networks for which a lookup is done, or +# remove the setting entirely. + +host_lookup = * + + +# The setting below causes Exim to try to initialize the system resolver +# library with DNSSEC support. It has no effect if your library lacks +# DNSSEC support. + +dns_dnssec_ok = 1 + + +# The settings below cause Exim to make RFC 1413 (ident) callbacks +# for all incoming SMTP calls. You can limit the hosts to which these +# calls are made, and/or change the timeout that is used. If you set +# the timeout to zero, all RFC 1413 calls are disabled. RFC 1413 calls +# are cheap and can provide useful information for tracing problem +# messages, but some hosts and firewalls have problems with them. +# This can result in a timeout instead of an immediate refused +# connection, leading to delays on starting up SMTP sessions. +# (The default was reduced from 30s to 5s for release 4.61. and to +# disabled for release 4.86) +# +#rfc1413_hosts = * +#rfc1413_query_timeout = 5s + + +# Enable an efficiency feature. We advertise the feature; clients +# may request to use it. For multi-recipient mails we then can +# reject or accept per-user after the message is received. +# This supports recipient-dependent content filtering; without it +# you have to temp-reject any recipients after the first that have +# incompatible filtering, and do the filtering in the data ACL. +# Even with this enabled, you must support the old style for peers +# not flagging support for PRDR (visible via $prdr_requested). +# +.ifdef _HAVE_PRDR +prdr_enable = true +.endif + + +# By default, Exim expects all envelope addresses to be fully qualified, that +# is, they must contain both a local part and a domain. If you want to accept +# unqualified addresses (just a local part) from certain hosts, you can specify +# these hosts by setting one or both of +# +# sender_unqualified_hosts = +# recipient_unqualified_hosts = +# +# to control sender and recipient addresses, respectively. When this is done, +# unqualified addresses are qualified using the settings of qualify_domain +# and/or qualify_recipient (see above). + + +# Unless you run a high-volume site you probably want more logging +# detail than the default. Adjust to suit. + +log_selector = +smtp_protocol_error +smtp_syntax_error \ + +tls_certificate_verified + + +# If you want Exim to support the "percent hack" for certain domains, +# uncomment the following line and provide a list of domains. The "percent +# hack" is the feature by which mail addressed to x%y@z (where z is one of +# the domains listed) is locally rerouted to x@y and sent on. If z is not one +# of the "percent hack" domains, x%y is treated as an ordinary local part. This +# hack is rarely needed nowadays; you should not enable it unless you are sure +# that you really need it. +# +# percent_hack_domains = +# +# As well as setting this option you will also need to remove the test +# for local parts containing % in the ACL definition below. + + +# When Exim can neither deliver a message nor return it to sender, it "freezes" +# the delivery error message (aka "bounce message"). There are also other +# circumstances in which messages get frozen. They will stay on the queue for +# ever unless one of the following options is set. + +# This option unfreezes frozen bounce messages after two days, tries +# once more to deliver them, and ignores any delivery failures. + +ignore_bounce_errors_after = 2d + +# This option cancels (removes) frozen messages that are older than a week. + +timeout_frozen_after = 7d + + +# By default, messages that are waiting on Exim's queue are all held in a +# single directory called "input" which is itself within Exim's spool +# directory. (The default spool directory is specified when Exim is built, and +# is often /var/spool/exim/.) Exim works best when its queue is kept short, but +# there are circumstances where this is not always possible. If you uncomment +# the setting below, messages on the queue are held in 62 subdirectories of +# "input" instead of all in the same directory. The subdirectories are called +# 0, 1, ... A, B, ... a, b, ... z. This has two benefits: (1) If your file +# system degrades with many files in one directory, this is less likely to +# happen; (2) Exim can process the queue one subdirectory at a time instead of +# all at once, which can give better performance with large queues. + +# split_spool_directory = true + + +# If you're in a part of the world where ASCII is not sufficient for most +# text, then you're probably familiar with RFC2047 message header extensions. +# By default, Exim adheres to the specification, including a limit of 76 +# characters to a line, with encoded words fitting within a line. +# If you wish to use decoded headers in message filters in such a way +# that successful decoding of malformed messages matters, you may wish to +# configure Exim to be more lenient. +# +# check_rfc2047_length = false +# +# In particular, the Exim maintainers have had multiple reports of problems +# from Russian administrators of issues until they disable this check, +# because of some popular, yet buggy, mail composition software. + + +# If you wish to be strictly RFC compliant, or if you know you'll be +# exchanging email with systems that are not 8-bit clean, then you may +# wish to disable advertising 8BITMIME. Uncomment this option to do so. + +# accept_8bitmime = false + + +# Exim does not make use of environment variables itself. However, +# libraries that Exim uses (e.g. LDAP) depend on specific environment settings. +# There are two lists: keep_environment for the variables we trust, and +# add_environment for variables we want to set to a specific value. +# Note that TZ is handled separately by the timezone runtime option +# and TIMEZONE_DEFAULT buildtime option. + +# keep_environment = ^LDAP +# add_environment = PATH=/usr/bin::/bin + + + +###################################################################### +# ACL CONFIGURATION # +# Specifies access control lists for incoming SMTP mail # +###################################################################### + +begin acl + +# This access control list is used for every RCPT command in an incoming +# SMTP message. The tests are run in order until the address is either +# accepted or denied. + +acl_check_auth: + warn set acl_c9 = <$pid.$tod_epoch@$primary_hostname> + accept + +acl_check_rcpt: + + # Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by + # testing for an empty sending host field. + + accept hosts = : + control = dkim_disable_verify + + ############################################################################# + # The following section of the ACL is concerned with local parts that contain + # @ or % or ! or / or | or dots in unusual places. + # + # The characters other than dots are rarely found in genuine local parts, but + # are often tried by people looking to circumvent relaying restrictions. + # Therefore, although they are valid in local parts, these rules lock them + # out, as a precaution. + # + # Empty components (two dots in a row) are not valid in RFC 2822, but Exim + # allows them because they have been encountered. (Consider local parts + # constructed as "firstinitial.secondinitial.familyname" when applied to + # someone like me, who has no second initial.) However, a local part starting + # with a dot or containing /../ can cause trouble if it is used as part of a + # file name (e.g. for a mailing list). This is also true for local parts that + # contain slashes. A pipe symbol can also be troublesome if the local part is + # incorporated unthinkingly into a shell command line. + # + # Two different rules are used. The first one is stricter, and is applied to + # messages that are addressed to one of the local domains handled by this + # host. The line "domains = +local_domains" restricts it to domains that are + # defined by the "domainlist local_domains" setting above. The rule blocks + # local parts that begin with a dot or contain @ % ! / or |. If you have + # local accounts that include these characters, you will have to modify this + # rule. + + deny message = Restricted characters in address + domains = +local_domains + local_parts = ^[.] : ^.*[@%!/|] + + # The second rule applies to all other domains, and is less strict. The line + # "domains = !+local_domains" restricts it to domains that are NOT defined by + # the "domainlist local_domains" setting above. The exclamation mark is a + # negating operator. This rule allows your own users to send outgoing + # messages to sites that use slashes and vertical bars in their local parts. + # It blocks local parts that begin with a dot, slash, or vertical bar, but + # allows these characters within the local part. However, the sequence /../ + # is barred. The use of @ % and ! is blocked, as before. The motivation here + # is to prevent your users (or your users' viruses) from mounting certain + # kinds of attack on remote sites. + + deny message = Restricted characters in address + domains = !+local_domains + local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./ + ############################################################################# + + # Accept mail to postmaster in any local domain, regardless of the source, + # and without verifying the sender. + + accept local_parts = postmaster + domains = +local_domains + + # Deny unless the sender address can be verified. + + #require verify = sender + + # Accept if the message comes from one of the hosts for which we are an + # outgoing relay. It is assumed that such hosts are most likely to be MUAs, + # so we set control=submission to make Exim treat the message as a + # submission. It will fix up various errors in the message, for example, the + # lack of a Date: header line. If you are actually relaying out out from + # MTAs, you may want to disable this. If you are handling both relaying from + # MTAs and submissions from MUAs you should probably split them into two + # lists, and handle them differently. + + # Recipient verification is omitted here, because in many cases the clients + # are dumb MUAs that don't cope well with SMTP error responses. If you are + # actually relaying out from MTAs, you should probably add recipient + # verification here. + + # Note that, by putting this test before any DNS black list checks, you will + # always accept from these hosts, even if they end up on a black list. The + # assumption is that they are your friends, and if they get onto a black + # list, it is a mistake. + + accept hosts = +relay_from_hosts + control = submission + control = dkim_disable_verify + + # Accept if the message arrived over an authenticated connection, from + # any host. Again, these messages are usually from MUAs, so recipient + # verification is omitted, and submission mode is set. And again, we do this + # check before any black list tests. + + accept authenticated = * + control = submission + control = dkim_disable_verify + + # Insist that a HELO/EHLO was accepted. + + require message = nice hosts say HELO first + condition = ${if def:sender_helo_name} + + # Insist that any other recipient address that we accept is either in one of + # our local domains, or is in a domain for which we explicitly allow + # relaying. Any other domain is rejected as being unacceptable for relaying. + + require message = relay not permitted + domains = +local_domains : +relay_to_domains + + # We also require all accepted addresses to be verifiable. This check will + # do local part verification for local domains, but only check the domain + # for remote domains. The only way to check local parts for the remote + # relay domains is to use a callout (add /callout), but please read the + # documentation about callouts before doing this. + + require verify = recipient + + ############################################################################# + # There are no default checks on DNS black lists because the domains that + # contain these lists are changing all the time. However, here are two + # examples of how you can get Exim to perform a DNS black list lookup at this + # point. The first one denies, whereas the second just warns. + # + # deny dnslists = black.list.example + # message = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text + # + # warn dnslists = black.list.example + # add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain + # log_message = found in $dnslist_domain + ############################################################################# + + ############################################################################# + # This check is commented out because it is recognized that not every + # sysadmin will want to do it. If you enable it, the check performs + # Client SMTP Authorization (csa) checks on the sending host. These checks + # do DNS lookups for SRV records. The CSA proposal is currently (May 2005) + # an Internet draft. You can, of course, add additional conditions to this + # ACL statement to restrict the CSA checks to certain hosts only. + # + # require verify = csa + ############################################################################# + + ############################################################################# + # If doing per-user content filtering then recipients with filters different + # to the first recipient must be deferred unless the sender talks PRDR. + # + # defer !condition = $prdr_requested + # condition = ${if > {0}{$receipients_count}} + # condition = ${if !eq {$acl_m_content_filter} \ + # {${lookup PER_RCPT_CONTENT_FILTER}}} + # warn !condition = $prdr_requested + # condition = ${if > {0}{$receipients_count}} + # set acl_m_content_filter = ${lookup PER_RCPT_CONTENT_FILTER} + ############################################################################# + + # At this point, the address has passed all the checks that have been + # configured, so we accept it unconditionally. + + warn local_parts = ^data-fail + set acl_m_fail_message = TRUE + + accept + + +# This ACL is used once per recipient, for multi-recipient messages, if +# we advertised PRDR. It can be used to perform receipient-dependent +# header- and body- based filtering and rejections. +# We set a variable to record that PRDR was active used, so that checking +# in the data ACL can be skipped. + +.ifdef _HAVE_PRDR +acl_check_prdr: + warn set acl_m_did_prdr = y + + ############################################################################# + # do lookup on filtering, with $local_part@$domain, deny on filter match + # + # deny set acl_m_content_filter = ${lookup PER_RCPT_CONTENT_FILTER} + # condition = ... + ############################################################################# + + deny message = Forced post-PRDR failure by localpart + local_parts = ^prdr-fail + + accept +.endif + +# This ACL is used after the contents of a message have been received. This +# is the ACL in which you can test a message's headers or body, and in +# particular, this is where you can invoke external virus or spam scanners. +# Some suggested ways of configuring these tests are shown below, commented +# out. Without any tests, this ACL accepts all messages. If you want to use +# such tests, you must ensure that Exim is compiled with the content-scanning +# extension (WITH_CONTENT_SCAN=yes in Local/Makefile). + +acl_check_data: + + # Deny if the message contains an overlong line. Per the standards + # we should never receive one such via SMTP. + # + deny condition = ${if > {$max_received_linelength}{998}} + message = maximum allowed line length is 998 octets, \ + got $max_received_linelength + + # Deny if the headers contain badly-formed addresses. + # + deny !verify = header_syntax + message = header syntax + log_message = header syntax ($acl_verify_message) + + # Deny if the message contains a virus. Before enabling this check, you + # must install a virus scanner and set the av_scanner option above. + # + # deny malware = * + # message = This message contains a virus ($malware_name). + + # Add headers to a message if it is judged to be spam. Before enabling this, + # you must install SpamAssassin. You may also need to set the spamd_address + # option above. + # + # warn spam = nobody + # add_header = X-Spam_score: $spam_score\n\ + # X-Spam_score_int: $spam_score_int\n\ + # X-Spam_bar: $spam_bar\n\ + # X-Spam_report: $spam_report + + ############################################################################# + # No more tests if PRDR was actively used. + # accept condition = ${if def:acl_m_did_prdr} + # + # To get here, all message recipients must have identical per-user + # content filtering (enforced by RCPT ACL). Do lookup for filter + # and deny on match. + # + # deny set acl_m_content_filter = ${lookup PER_RCPT_CONTENT_FILTER} + # condition = ... + ############################################################################# + + deny message = Forced post-DATA failure by localpart + condition = ${if def:acl_m_fail_message} + + + # Accept the message. + + accept + +acl_check_mail: + deny message = Forced failure by sender + senders = ^mail-fail + accept + +acl_check_predata: + deny message = Forced failure by sender + senders = ^predata-fail + + accept + + + +###################################################################### +# ROUTERS CONFIGURATION # +# Specifies how addresses are handled # +###################################################################### +# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! # +# An address is passed to each router in turn until it is accepted. # +###################################################################### + +begin routers + +# This router routes to remote hosts over SMTP by explicit IP address, +# when an email address is given in "domain literal" form, for example, +# . The RFCs require this facility. However, it is +# little-known these days, and has been exploited by evil people seeking +# to abuse SMTP relays. Consequently it is commented out in the default +# configuration. If you uncomment this router, you also need to uncomment +# allow_domain_literals above, so that Exim can recognize the syntax of +# domain literal addresses. + +# domain_literal: +# driver = ipliteral +# domains = ! +local_domains +# transport = remote_smtp + + +# This router can be used when you want to send all mail to a +# server which handles DNS lookups for you; an ISP will typically run such +# a server for their customers. The hostname in route_data comes from the +# macro defined at the top of the file. If not defined, then we'll use the +# dnslookup router below instead. +# Beware that the hostname is specified again in the Transport. + +.ifdef ROUTER_SMARTHOST + +smarthost: + driver = manualroute + domains = ! +local_domains + transport = smarthost_smtp + route_data = ROUTER_SMARTHOST + ignore_target_hosts = <; 0.0.0.0 ; 127.0.0.0/8 ; ::1 + no_more + +.else + +# This router routes addresses that are not in local domains by doing a DNS +# lookup on the domain name. The exclamation mark that appears in "domains = ! +# +local_domains" is a negating operator, that is, it can be read as "not". The +# recipient's domain must not be one of those defined by "domainlist +# local_domains" above for this router to be used. +# +# If the router is used, any domain that resolves to 0.0.0.0 or to a loopback +# interface address (127.0.0.0/8) is treated as if it had no DNS entry. Note +# that 0.0.0.0 is the same as 0.0.0.0/32, which is commonly treated as the +# local host inside the network stack. It is not 0.0.0.0/0, the default route. +# If the DNS lookup fails, no further routers are tried because of the no_more +# setting, and consequently the address is unrouteable. + +dnslookup: + driver = dnslookup + domains = ! +local_domains + transport = remote_smtp + ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 +# if ipv6-enabled then instead use: +# ignore_target_hosts = <; 0.0.0.0 ; 127.0.0.0/8 ; ::1 + no_more + +# This closes the ROUTER_SMARTHOST ifdef around the choice of routing for +# off-site mail. +.endif + + +# The remaining routers handle addresses in the local domain(s), that is those +# domains that are defined by "domainlist local_domains" above. + + +# This router handles aliasing using a linearly searched alias file with the +# name /home/jetmore/Documents/git/swaks/testing/mta/exim-config/aliases. When this configuration is installed automatically, +# the name gets inserted into this file from whatever is set in Exim's +# build-time configuration. The default path is the traditional /etc/aliases. +# If you install this configuration by hand, you need to specify the correct +# path in the "data" setting below. +# +##### NB You must ensure that the alias file exists. It used to be the case +##### NB that every Unix had that file, because it was the Sendmail default. +##### NB These days, there are systems that don't have it. Your aliases +##### NB file should at least contain an alias for "postmaster". +# +# If any of your aliases expand to pipes or files, you will need to set +# up a user and a group for these deliveries to run under. You can do +# this by uncommenting the "user" option below (changing the user name +# as appropriate) and adding a "group" option if necessary. Alternatively, you +# can specify "user" on the transports that are used. Note that the transports +# listed below are the same as are used for .forward files; you might want +# to set up different ones for pipe and file deliveries from aliases. + +system_aliases: + driver = redirect + allow_fail + allow_defer + data = ${lookup{$local_part}lsearch{/home/jetmore/Documents/git/swaks/testing/mta/exim-config/aliases}} +# user = exim + file_transport = address_file + pipe_transport = address_pipe + + +# This router handles forwarding using traditional .forward files in users' +# home directories. If you want it also to allow mail filtering when a forward +# file starts with the string "# Exim filter" or "# Sieve filter", uncomment +# the "allow_filter" option. + +# The no_verify setting means that this router is skipped when Exim is +# verifying addresses. Similarly, no_expn means that this router is skipped if +# Exim is processing an EXPN command. + +# If you want this router to treat local parts with suffixes introduced by "-" +# or "+" characters as if the suffixes did not exist, uncomment the two local_ +# part_suffix options. Then, for example, xxxx-foo@your.domain will be treated +# in the same way as xxxx@your.domain by this router. Because this router is +# not used for verification, if you choose to uncomment those options, then you +# will *need* to make the same change to the localuser router. (There are +# other approaches, if this is undesirable, but they add complexity). + +# The check_ancestor option means that if the forward file generates an +# address that is an ancestor of the current one, the current one gets +# passed on instead. This covers the case where A is aliased to B and B +# has a .forward file pointing to A. + +# The three transports specified at the end are those that are used when +# forwarding generates a direct delivery to a file, or to a pipe, or sets +# up an auto-reply, respectively. + +userforward: + driver = redirect + check_local_user +# local_part_suffix = +* : -* +# local_part_suffix_optional + file = $home/.forward +# allow_filter + no_verify + no_expn + check_ancestor + file_transport = address_file + pipe_transport = address_pipe + reply_transport = address_reply + + +# This router matches local user mailboxes. If the router fails, the error +# message is "Unknown user". + +# If you want this router to treat local parts with suffixes introduced by "-" +# or "+" characters as if the suffixes did not exist, uncomment the two local_ +# part_suffix options. Then, for example, xxxx-foo@your.domain will be treated +# in the same way as xxxx@your.domain by this router. + +localuser: + driver = accept + check_local_user +# local_part_suffix = +* : -* +# local_part_suffix_optional + transport = local_delivery + cannot_route_message = Unknown user + + + +###################################################################### +# TRANSPORTS CONFIGURATION # +###################################################################### +# ORDER DOES NOT MATTER # +# Only one appropriate transport is called for each delivery. # +###################################################################### + +# A transport is used only when referenced from a router that successfully +# handles an address. + +begin transports + + +# This transport is used for delivering messages over SMTP connections. +# Refuse to send any message with over-long lines, which could have +# been received other than via SMTP. The use of message_size_limit to +# enforce this is a red herring. + +remote_smtp: + driver = smtp + message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}} + + +# This transport is used for delivering messages to a smarthost, if the +# smarthost router is enabled. This starts from the same basis as +# "remote_smtp" but then turns on various security options, because +# we assume that if you're told "use smarthost.example.org as the smarthost" +# then there will be TLS available, with a verifiable certificate for that +# hostname, using decent TLS. + +smarthost_smtp: + driver = smtp + message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}} + multi_domain + # +.ifdef _HAVE_TLS + # Comment out any of these which you have to, then file a Support + # request with your smarthost provider to get things fixed: + hosts_require_tls = * + tls_verify_hosts = * + # As long as tls_verify_hosts is enabled, this won't matter, but if you + # have to comment it out then this will at least log whether you succeed + # or not: + tls_try_verify_hosts = * + # + # The SNI name should match the name which we'll expect to verify; + # many mail systems don't use SNI and this doesn't matter, but if it does, + # we need to send a name which the remote site will recognize. + # This _should_ be the name which the smarthost operators specified as + # the hostname for sending your mail to. + tls_sni = ROUTER_SMARTHOST + # +.ifdef _HAVE_OPENSSL + tls_require_ciphers = HIGH:!aNULL:@STRENGTH +.endif +.ifdef _HAVE_GNUTLS + tls_require_ciphers = SECURE192:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1 +.endif +.endif + + +# This transport is used for local delivery to user mailboxes in traditional +# BSD mailbox format. By default it will be run under the uid and gid of the +# local user, and requires the sticky bit to be set on the /var/mail directory. +# Some systems use the alternative approach of running mail deliveries under a +# particular group instead of using the sticky bit. The commented options below +# show how this can be done. + +local_delivery: + driver = appendfile + file = /var/mail/$local_part_data + delivery_date_add + envelope_to_add + return_path_add +# group = mail +# mode = 0660 + + +# This transport is used for handling pipe deliveries generated by alias or +# .forward files. If the pipe generates any standard output, it is returned +# to the sender of the message as a delivery error. Set return_fail_output +# instead of return_output if you want this to happen only when the pipe fails +# to complete normally. You can set different transports for aliases and +# forwards if you want to - see the references to address_pipe in the routers +# section above. + +address_pipe: + driver = pipe + return_output + + +# This transport is used for handling deliveries directly to files that are +# generated by aliasing or forwarding. + +address_file: + driver = appendfile + delivery_date_add + envelope_to_add + return_path_add + + +# This transport is used for handling autoreplies generated by the filtering +# option of the userforward router. + +address_reply: + driver = autoreply + + + +###################################################################### +# RETRY CONFIGURATION # +###################################################################### + +begin retry + +# This single retry rule applies to all domains and all errors. It specifies +# retries every 15 minutes for 2 hours, then increasing retry intervals, +# starting at 1 hour and increasing each time by a factor of 1.5, up to 16 +# hours, then retries every 6 hours until 4 days have passed since the first +# failed delivery. + +# WARNING: If you do not have any retry rules at all (this section of the +# configuration is non-existent or empty), Exim will not do any retries of +# messages that fail to get delivered at the first attempt. The effect will +# be to treat temporary errors as permanent. Therefore, DO NOT remove this +# retry rule unless you really don't want any retries. + +# Address or Domain Error Retries +# ----------------- ----- ------- + +* * F,2h,15m; G,16h,1h,1.5; F,4d,6h + + + +###################################################################### +# REWRITE CONFIGURATION # +###################################################################### + +# There are no rewriting specifications in this default configuration file. + +begin rewrite + + + +###################################################################### +# AUTHENTICATION CONFIGURATION # +###################################################################### + +# The following authenticators support plaintext username/password +# authentication using the standard PLAIN mechanism and the traditional +# but non-standard LOGIN mechanism, with Exim acting as the server. +# PLAIN and LOGIN are enough to support most MUA software. +# +# These authenticators are not complete: you need to change the +# server_condition settings to specify how passwords are verified. +# They are set up to offer authentication to the client only if the +# connection is encrypted with TLS, so you also need to add support +# for TLS. See the global configuration options section at the start +# of this file for more about TLS. +# +# The default RCPT ACL checks for successful authentication, and will accept +# messages from authenticated users from anywhere on the Internet. + +begin authenticators + +# PLAIN authentication has no server prompts. The client sends its +# credentials in one lump, containing an authorization ID (which we do not +# use), an authentication ID, and a password. The latter two appear as +# $auth2 and $auth3 in the configuration and should be checked against a +# valid username and password. In a real configuration you would typically +# use $auth2 as a lookup key, and compare $auth3 against the result of the +# lookup, perhaps using the crypteq{}{} condition. + +PLAIN: + driver = plaintext + server_set_id = $auth2 + server_prompts = : + server_condition = ${if eq{$auth3}{validpassword}} + server_advertise_condition = true + +custom_plain: + driver = plaintext + public_name = CUSTOM-PLAIN + server_set_id = $auth2 + server_prompts = : + server_condition = ${if eq{$auth3}{validpassword}} + server_advertise_condition = true + +# LOGIN authentication has traditional prompts and responses. There is no +# authorization ID in this mechanism, so unlike PLAIN the username and +# password are $auth1 and $auth2. Apart from that you can use the same +# server_condition setting for both authenticators. + +LOGIN: + driver = plaintext + public_name = LOGIN + server_set_id = $auth1 + server_prompts = <| Username: | Password: + server_condition = ${if eq{$auth2}{validpassword}} + server_advertise_condition = * + +cram: + driver = cram_md5 + public_name = CRAM-MD5 + server_secret = validpassword + +digest_md5_sasl_server: + driver = cyrus_sasl + public_name = DIGEST-MD5 + server_set_id = $auth1 + +digest_md5: + driver = plaintext + public_name = CRAM-SHA1 + server_prompts = $acl_c9 + server_set_id = ${sg {${extract {1}{ }{$1} }} {[^a-zA-Z0-9.-_]} {?}} + server_condition = ${if eq {validuser}{${sg {${extract {1}{ }{$1} }} {[^a-zA-Z0-9.-_]} {?}}}{yes}{no}} + +spa: + driver = spa + public_name = NTLM + server_password = validpassword + + +###################################################################### +# CONFIGURATION FOR local_scan() # +###################################################################### + +# If you have built Exim to include a local_scan() function that contains +# tables for private options, you can define those options here. Remember to +# uncomment the "begin" line. It is commented by default because it provokes +# an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS +# set in the Local/Makefile. + +# begin local_scan + + +# End of Exim configuration file diff --git a/testing/mta/exim-config/notes/Makefile.494.debian b/testing/mta/exim-config/notes/Makefile.494.debian new file mode 100644 index 00000000..99228d27 --- /dev/null +++ b/testing/mta/exim-config/notes/Makefile.494.debian @@ -0,0 +1,1496 @@ +################################################## +# The Exim mail transport agent # +################################################## + +# This is the template for Exim's main build-time configuration file. It +# contains settings that are independent of any operating system. These are +# things that are mostly sysadmin choices. The items below are divided into +# those you must specify, those you probably want to specify, those you might +# often want to specify, and those that you almost never need to mention. + +# Edit this file and save the result to a file called Local/Makefile within the +# Exim distribution directory before running the "make" command. + +# Things that depend on the operating system have default settings in +# OS/Makefile-Default, but these are overridden for some OS by files +# called OS/Makefile-. You can further override these settings by +# creating files Local/Makefile-, and Local/Makefile-. +# The suffix "" stands for the name of your operating system - look +# at the names in the OS directory to see which names are recognized, +# and "" is the content of the environment variable "build". + +# However, if you are building Exim for a single OS only, you don't need to +# worry about setting up Local/Makefile-. Any build-time configuration +# settings you require can in fact be placed in the one file called +# Local/Makefile. It is only if you are building for several OS from the same +# source files that you need to worry about splitting off your own OS-dependent +# settings into separate files. (There's more explanation about how this all +# works in the toplevel README file, under "Modifying the building process", as +# well as in the Exim specification.) + +# One OS-specific thing that may need to be changed is the command for running +# the C compiler; the overall default is gcc, but some OS Makefiles specify cc. +# You can override anything that is set by putting CC=whatever in your +# Local/Makefile. + +# NOTE: You should never need to edit any of the distributed Makefiles; all +# overriding can be done in your Local/Makefile(s). This will make it easier +# for you when the next release comes along. + +# The location of the X11 libraries is something else that is quite variable +# even between different versions of the same operating system (and indeed +# there are different versions of X11 as well, of course). The four settings +# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB +# (dynamic run-time library). You need not worry about X11 unless you want to +# compile the Exim monitor utility. Exim itself does not use X11. + +# Another area of variability between systems is the type and location of the +# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB. +# By default the code assumes ndbm; this often works with gdbm or DB, provided +# they are correctly installed, via their compatibility interfaces. However, +# Exim can also be configured to use the native calls for Berkeley DB (obsolete +# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm. + +# For some operating systems, a default DBM library (other than ndbm) is +# selected by a setting in the OS-specific Makefile. Most modern OS now have +# a DBM library installed as standard, and in many cases this will be selected +# for you by the OS-specific configuration. If Exim compiles without any +# problems, you probably do not have to worry about the DBM library. If you +# do want or need to change it, you should first read the discussion in the +# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's +# interface to the DBM library. + +# In Local/Makefiles blank lines and lines starting with # are ignored. It is +# also permitted to use the # character to add a comment to a setting, for +# example +# +# EXIM_GID=42 # the "mail" group +# +# However, with some versions of "make" this works only if there is no white +# space between the end of the setting and the #, so perhaps it is best +# avoided. A consequence of this facility is that it is not possible to have +# the # character present in any setting, but I can't think of any cases where +# this would be wanted. +############################################################################### + + + +############################################################################### +# THESE ARE THINGS YOU MUST SPECIFY # +############################################################################### + +# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and +# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number. + +# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it +# really is a very good idea to specify it here rather than at run time. This +# is particularly true if you let the logs go to their default location in the +# spool directory, because it means that the location of the logs is known +# before Exim has read the run time configuration file. + +#------------------------------------------------------------------------------ +# BIN_DIRECTORY defines where the exim binary will be installed by "make +# install". The path is also used internally by Exim when it needs to re-invoke +# itself, either to send an error message, or to recover root privilege. Exim's +# utility binaries and scripts are also installed in this directory. There is +# no "standard" place for the binary directory. Some people like to keep all +# the Exim files under one directory such as /usr/exim; others just let the +# Exim binaries go into an existing directory such as /usr/sbin or +# /usr/local/sbin. The installation script will try to create this directory, +# and any superior directories, if they do not exist. + +BIN_DIRECTORY=/home/jetmore/Documents/git/swaks/testing/mta/exim-install/bin + + +#------------------------------------------------------------------------------ +# CONFIGURE_FILE defines where Exim's run time configuration file is to be +# found. It is the complete pathname for the file, not just a directory. The +# location of all other run time files and directories can be changed in the +# run time configuration file. There is a lot of variety in the choice of +# location in different OS, and in the preferences of different sysadmins. Some +# common locations are in /etc or /etc/mail or /usr/local/etc or +# /usr/local/etc/mail. Another possibility is to keep all the Exim files under +# a single directory such as /usr/exim. Whatever you choose, the installation +# script will try to make the directory and any superior directories if they +# don't exist. It will also install a default runtime configuration if this +# file does not exist. + +CONFIGURE_FILE=/home/jetmore/Documents/git/swaks/testing/mta/exim-config/configure + +# It is possible to specify a colon-separated list of files for CONFIGURE_FILE. +# In this case, Exim will use the first of them that exists when it is run. +# However, if a list is specified, the installation script no longer tries to +# make superior directories or to install a default runtime configuration. + + +#------------------------------------------------------------------------------ +# The Exim binary must normally be setuid root, so that it starts executing as +# root, but (depending on the options with which it is called) it does not +# always need to retain the root privilege. These settings define the user and +# group that is used for Exim processes when they no longer need to be root. In +# particular, this applies when receiving messages and when doing remote +# deliveries. (Local deliveries run as various non-root users, typically as the +# owner of a local mailbox.) Specifying these values as root is not supported. + +EXIM_USER=jetmore + +# If you specify EXIM_USER as a name, this is looked up at build time, and the +# uid number is built into the binary. However, you can specify that this +# lookup is deferred until runtime. In this case, it is the name that is built +# into the binary. You can do this by a setting of the form: + +# EXIM_USER=ref:exim + +# In other words, put "ref:" in front of the user name. If you set EXIM_USER +# like this, any value specified for EXIM_GROUP is also passed "by reference". +# Although this costs a bit of resource at runtime, it is convenient to use +# this feature when building binaries that are to be run on multiple systems +# where the name may refer to different uids. It also allows you to build Exim +# on a system where there is no Exim user defined. + +# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must +# also be a setting of EXIM_GROUP. If, on the other hand, you use a name +# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless +# you want to use a group other than the default group for the given user. + +# EXIM_GROUP= + +# Many sites define a user called "exim", with an appropriate default group, +# and use +# +# EXIM_USER=exim +# +# while leaving EXIM_GROUP unspecified (commented out). + + +#------------------------------------------------------------------------------ +# SPOOL_DIRECTORY defines the directory where all the data for messages in +# transit is kept. It is strongly recommended that you define it here, though +# it is possible to leave this till the run time configuration. + +# Exim creates the spool directory if it does not exist. The owner and group +# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to +# all the files and directories that are created in the spool directory. + +# Almost all installations choose this: + +SPOOL_DIRECTORY=/home/jetmore/Documents/git/swaks/testing/mta/exim-install/spool + + + +############################################################################### +# TLS # +############################################################################### +# Exim is built by default to support the SMTP STARTTLS command, which implements +# Transport Layer Security using SSL (Secure Sockets Layer). This requires you +# must install the OpenSSL library package or the GnuTLS library. Exim contains +# no cryptographic code of its own. + +# If you are running Exim as a (TLS) server, just building it with TLS support +# is all you need to do, as tls_advertise_hosts is set to '*' by +# default. But you are advised to create a suiteable certificate, and tell +# Exim about it by means of the tls_certificate and tls_privatekey run +# time options, otherwise Exim will create a self signed certificate on +# the fly. If you are running Exim only as a (TLS) client, building it with +# TLS support is all you need to do. +# +# If you are using pkg-config then you should not need to worry where +# the libraries and headers are installed, as the pkg-config .pc +# specification should include all -L/-I information necessary. +# Enabling the USE_*_PC options should be sufficient. If not using +# pkg-config, then you have to specify the libraries, and you mmight +# need to specify the locations too. + +# Uncomment the following lines if you want +# to build Exim without any TLS support (either OpenSSL or GnuTLS): +# DISABLE_TLS=yes +# Unless you do this, you must define one of USE_OPENSSL or USE_GNUTLS +# below. + +# If you are buliding with TLS, the library configuration must be done: + +# Uncomment this if you are using OpenSSL + USE_OPENSSL=yes +# Uncomment one of these settings if you are using OpenSSL; pkg-config vs not +# and an optional location. +# USE_OPENSSL_PC=openssl + TLS_LIBS=-lssl -lcrypto +# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto + +# Uncomment this if you are using GnuTLS +# USE_GNUTLS=yes +# Uncomment one of these settings if you are using GnuTLS; pkg-config vs not +# and an optional location. If you disable SUPPORT_DANE below, you +# can remove the gnutls-dane references here. Earlier versions of GnuTLS +# required libtasn1 and libgrypt also; add if needed. +# USE_GNUTLS_PC=gnutls gnutls-dane +# TLS_LIBS=-lgnutls -lgnutls-dane +# TLS_LIBS=-L/usr/local/gnu/lib -lgnutls -ltasn1 -lgcrypt -lgnutls-dane + +# If using GnuTLS older than 2.10 and using pkg-config then note that Exim's +# build process will require libgcrypt-config to exist in your $PATH. A +# version that old is likely to become unsupported by Exim in 2017. + +# The security fix we provide with the gnutls_allow_auto_pkcs11 option +# (4.82 PP/09) introduces a compatibility regression. The symbol is +# not available if GnuTLS is build without p11-kit (--without-p11-kit +# configure option). In this case use AVOID_GNUTLS_PKCS11=yes when +# building Exim. +# AVOID_GNUTLS_PKCS11=yes + +# If you are running Exim as a server, note that just building it with TLS +# support is not all you need to do. You also need to set up a suitable +# certificate, and tell Exim about it by means of the tls_certificate +# and tls_privatekey run time options. You also need to set tls_advertise_hosts +# to specify the hosts to which Exim advertises TLS support. On the other hand, +# if you are running Exim only as a client, building it with TLS support +# is all you need to do. + +# If you are using pkg-config then you should not need to worry where the +# libraries and headers are installed, as the pkg-config .pc specification +# should include all -L/-I information necessary. If not using pkg-config +# then you might need to specify the locations too. + +# Additional libraries and include files are required for both OpenSSL and +# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed +# with all your other libraries. If they are in a special directory, you may +# need something like + +# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto + +# or + +# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt -lgnutls-dane +# If not using DANE under GnuTLS we can lose one library +# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt + +# TLS_LIBS is included only on the command for linking Exim itself, not on any +# auxiliary programs. If the include files are not in a standard place, you can +# set TLS_INCLUDE to specify where they are, for example: + +# TLS_INCLUDE=-I/usr/local/openssl/include/ +# or +# TLS_INCLUDE=-I/opt/gnu/include + +# You don't need to set TLS_INCLUDE if the relevant directories are already +# specified in INCLUDE. + + + +############################################################################### +# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY # +############################################################################### + +# If you need extra header file search paths on all compiles, put the -I +# options in INCLUDE. If you want the extra searches only for certain +# parts of the build, see more specific xxx_INCLUDE variables below. + +# INCLUDE=-I/example/include + +# You need to specify some routers and transports if you want the Exim that you +# are building to be capable of delivering mail. You almost certainly need at +# least one type of lookup. You should consider whether you want to build +# the Exim monitor or not. + +# If you need to override how pkg-config finds configuration files for +# installed software, then you can set that here; wildcards will be expanded. + +# PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig : /opt/*/lib/pkgconfig + + +#------------------------------------------------------------------------------ +# These settings determine which individual router drivers are included in the +# Exim binary. There are no defaults in the code; those routers that are wanted +# must be defined here by setting the appropriate variables to the value "yes". +# Including a router in the binary does not cause it to be used automatically. +# It has also to be configured in the run time configuration file. By +# commenting out those you know you don't want to use, you can make the binary +# a bit smaller. If you are unsure, leave all of these included for now. + +ROUTER_ACCEPT=yes +ROUTER_DNSLOOKUP=yes +ROUTER_IPLITERAL=yes +ROUTER_MANUALROUTE=yes +ROUTER_QUERYPROGRAM=yes +ROUTER_REDIRECT=yes + +# This one is very special-purpose, so is not included by default. + +# ROUTER_IPLOOKUP=yes + + +#------------------------------------------------------------------------------ +# These settings determine which individual transport drivers are included in +# the Exim binary. There are no defaults; those transports that are wanted must +# be defined here by setting the appropriate variables to the value "yes". +# Including a transport in the binary does not cause it to be used +# automatically. It has also to be configured in the run time configuration +# file. By commenting out those you know you don't want to use, you can make +# the binary a bit smaller. If you are unsure, leave all of these included for +# now. + +TRANSPORT_APPENDFILE=yes +TRANSPORT_AUTOREPLY=yes +TRANSPORT_PIPE=yes +TRANSPORT_SMTP=yes + +# This one is special-purpose, and commonly not required, so it is not +# included by default. + + TRANSPORT_LMTP=yes + + +#------------------------------------------------------------------------------ +# The appendfile transport can write messages to local mailboxes in a number +# of formats. The code for three specialist formats, maildir, mailstore, and +# MBX, is included only when requested. If you do not know what this is about, +# leave these settings commented out. + + SUPPORT_MAILDIR=yes + SUPPORT_MAILSTORE=yes + SUPPORT_MBX=yes + + +#------------------------------------------------------------------------------ +# See below for dynamic lookup modules. +# +# If not using package management but using this anyway, then think about how +# you perform upgrades and revert them. You should consider the benefit of +# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can +# maintain two concurrent sets of modules. +# +# *BEWARE*: ability to modify the files in LOOKUP_MODULE_DIR is equivalent to +# the ability to modify the Exim binary, which is often setuid root! The Exim +# developers only intend this functionality be used by OS software packagers +# and we suggest that such packagings' integrity checks should be paranoid +# about the permissions of the directory and the files within. + +# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ + +# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for +# your platform. Eg: +# CFLAGS_DYNAMIC=-shared -rdynamic +# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC + +#------------------------------------------------------------------------------ +# These settings determine which file and database lookup methods are included +# in the binary. See the manual chapter entitled "File and database lookups" +# for discussion. DBM and lsearch (linear search) are included by default. If +# you are unsure about the others, leave them commented out for now. +# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is +# for the specialist case of using the DNS as a general database facility (not +# common). +# If set to "2" instead of "yes" then the corresponding lookup will be +# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to +# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to +# EXTRALIBS so that dlopen() is available to Exim. You need to define +# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup +# modules. +# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and +# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS +# (where * is the name as given here in this list). That ensures that only +# the dynamic library and not the exim binary will be linked against the +# library. +# NOTE: LDAP cannot be built as a module! +# +# For Redis you need to have hiredis installed on your system +# (https://github.com/redis/hiredis). +# Depending on where it is installed you may have to edit the CFLAGS +# (often += -I/usr/local/include) and LDFLAGS (-lhiredis) lines. + +# If your system has pkg-config then the _INCLUDE/_LIBS setting can be +# handled for you automatically by also defining the _PC variable to reference +# the name of the pkg-config package, if such is available. + +LOOKUP_DBM=yes +LOOKUP_LSEARCH=yes +LOOKUP_DNSDB=yes + + LOOKUP_CDB=yes + LOOKUP_DSEARCH=yes +# LOOKUP_IBASE=yes +# LOOKUP_JSON=yes +# LOOKUP_LDAP=yes +# LOOKUP_MYSQL=yes +# LOOKUP_MYSQL_PC=mariadb +# LOOKUP_NIS=yes +# LOOKUP_NISPLUS=yes +# LOOKUP_ORACLE=yes +# LOOKUP_PASSWD=yes +# LOOKUP_PGSQL=yes +# LOOKUP_REDIS=yes +# LOOKUP_SQLITE=yes +# LOOKUP_SQLITE_PC=sqlite3 +# LOOKUP_WHOSON=yes + +# These two settings are obsolete; all three lookups are compiled when +# LOOKUP_LSEARCH is enabled. However, we retain these for backward +# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. + +# LOOKUP_WILDLSEARCH=yes +# LOOKUP_NWILDLSEARCH=yes + + +# Some platforms may need this for LOOKUP_NIS: +# LIBS += -lnsl + +#------------------------------------------------------------------------------ +# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate +# which LDAP library you have. Unfortunately, though most of their functions +# are the same, there are minor differences. Currently Exim knows about four +# LDAP libraries: the one from the University of Michigan (also known as +# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes +# with Solaris 7 onwards. Uncomment whichever of these you are using. + +# LDAP_LIB_TYPE=OPENLDAP1 +# LDAP_LIB_TYPE=OPENLDAP2 +# LDAP_LIB_TYPE=NETSCAPE +# LDAP_LIB_TYPE=SOLARIS + +# If you don't set any of these, Exim assumes the original University of +# Michigan (OpenLDAP 1) library. + + +#------------------------------------------------------------------------------ +# The PCRE library is required for Exim. There is no longer an embedded +# version of the PCRE library included with the source code, instead you +# must use a system library or build your own copy of PCRE. +# In either case you must specify the library link info here. If the +# PCRE header files are not in the standard search path you must also +# modify the INCLUDE path (above) +# +# Use PCRE_CONFIG to query the pcre-config command (first found in $PATH) +# to find the include files and libraries, else use PCRE_LIBS and set INCLUDE +# too if needed. + +PCRE_CONFIG=yes +# PCRE_LIBS=-lpcre + + +#------------------------------------------------------------------------------ +# Comment out the following line to remove DANE support +# Note: Enabling this unconditionally overrides DISABLE_DNSSEC +# forces you to have SUPPORT_TLS enabled (the default). For DANE under +# GnuTLS we need an additional library. See TLS_LIBS or USE_GNUTLS_PC +# below. +SUPPORT_DANE=yes + +#------------------------------------------------------------------------------ +# Additional libraries and include directories may be required for some +# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on +# the command for linking Exim itself, not on any auxiliary programs. You +# don't need to set LOOKUP_INCLUDE if the relevant directories are already +# specified in INCLUDE. The settings below are just examples; -lpq is for +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite, -lhiredis +# is for Redis, -ljansson for JSON. +# +# You do not need to use this for any lookup information added via pkg-config. + +# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 + + +#------------------------------------------------------------------------------ +# Compiling the Exim monitor: If you want to compile the Exim monitor, a +# program that requires an X11 display, then EXIM_MONITOR should be set to the +# value "eximon.bin". De-comment this setting to enable compilation of the +# monitor. The locations of various X11 directories for libraries and include +# files are defaulted in the OS/Makefile-Default file, but can be overridden in +# local OS-specific make files. + +# EXIM_MONITOR=eximon.bin + + +#------------------------------------------------------------------------------ +# Compiling Exim with content scanning support: If you want to compile Exim +# with support for message body content scanning, set WITH_CONTENT_SCAN to +# the value "yes". This will give you malware and spam scanning in the DATA ACL, +# and the MIME ACL. Please read the documentation to learn more about these +# features. + +# WITH_CONTENT_SCAN=yes + +# If you have content scanning you may wish to only include some of the scanner +# interfaces. Uncomment any of these lines to remove that code. + + DISABLE_MAL_FFROTD=yes + DISABLE_MAL_FFROT6D=yes + DISABLE_MAL_DRWEB=yes + DISABLE_MAL_FSECURE=yes + DISABLE_MAL_SOPHIE=yes + DISABLE_MAL_CLAM=yes + DISABLE_MAL_AVAST=yes + DISABLE_MAL_SOCK=yes + DISABLE_MAL_CMDLINE=yes + +# These scanners are claimed to be no longer existent. + +DISABLE_MAL_AVE=yes +DISABLE_MAL_KAV=yes +DISABLE_MAL_MKS=yes + + +#------------------------------------------------------------------------------ +# If built with TLS, Exim includes code to support DKIM (DomainKeys Identified +# Mail, RFC4871) signing and verification. Verification of signatures is +# turned on by default. See the spec for information on conditionally +# disabling it. To disable the inclusion of the entire feature, set +# DISABLE_DKIM to "yes" + +# DISABLE_DKIM=yes + +#------------------------------------------------------------------------------ +# Uncomment the following line to remove Per-Recipient-Data-Response support. + +# DISABLE_PRDR=yes + +#------------------------------------------------------------------------------ +# Uncomment the following line to remove OCSP stapling support in TLS, +# from Exim. Note it can only be supported when built with +# GnuTLS 3.1.3 or later, or OpenSSL + +# DISABLE_OCSP=yes + +#------------------------------------------------------------------------------ +# By default, Exim has support for checking the AD bit in a DNS response, to +# determine if DNSSEC validation was successful. If your system libraries +# do not support that bit, then set DISABLE_DNSSEC to "yes" +# Note: Enabling SUPPORT_DANE unconditionally overrides this setting. + +# DISABLE_DNSSEC=yes + +# To disable support for Events set DISABLE_EVENT to "yes" + +# DISABLE_EVENT=yes + + +# Uncomment this line to include support for early pipelining, per +# https://datatracker.ietf.org/doc/draft-harris-early-pipe/ + SUPPORT_PIPE_CONNECT=yes + + +#------------------------------------------------------------------------------ +# Compiling Exim with experimental features. These are documented in +# experimental-spec.txt. "Experimental" means that the way these features are +# implemented may still change. Backward compatibility is not guaranteed. + +# Uncomment the following line to add support for talking to dccifd. This +# defaults the socket path to /usr/local/dcc/var/dccifd. +# Doing so will also explicitly turn on the WITH_CONTENT_SCAN option. + +# EXPERIMENTAL_DCC=yes + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support. +# You need to have libsrs_alt installed on your system (srs.mirtol.com). +# Depending on where it is installed you may have to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_SRS=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lsrs_alt + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support +# using only native facilities. +# EXPERIMENTAL_SRS_NATIVE=yes + +# Uncomment the following line to add DMARC checking capability, implemented +# using libopendmarc libraries. You must have SPF and DKIM support enabled also. +# SUPPORT_DMARC=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lopendmarc +# Uncomment the following if you need to change the default. You can +# override it at runtime (main config option dmarc_tld_file) +# DMARC_TLD_FILE=/etc/exim/opendmarc.tlds + +# Uncomment the following line to add ARC (Authenticated Received Chain) +# support. You must have SPF and DKIM support enabled also. +# EXPERIMENTAL_ARC=yes + +# Uncomment the following lines to add Brightmail AntiSpam support. You need +# to have the Brightmail client SDK installed. Please check the experimental +# documentation for implementation details. You need to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_BRIGHTMAIL=yes +# CFLAGS += -I/opt/brightmail/bsdk-6.0/include +# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib + +# Uncomment the following to include extra information in fail DSN message (bounces) +# EXPERIMENTAL_DSN_INFO=yes + +# Uncomment the following to add LMDB lookup support +# You need to have LMDB installed on your system (https://github.com/LMDB/lmdb) +# Depending on where it is installed you may have to edit the CFLAGS and LDFLAGS lines. +# EXPERIMENTAL_LMDB=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -llmdb + +# Uncomment the following line to add queuefile transport support +# EXPERIMENTAL_QUEUEFILE=yes + +# Uncomment the following line to include support for TLS Resumption +# EXPERIMENTAL_TLS_RESUME=yes + +# Uncomment the following to include the fast-ramp two-phase-queue-run support +# EXPERIMENTAL_QUEUE_RAMP=yes + +############################################################################### +# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # +############################################################################### + +# The items in this section are those that are commonly changed according to +# the sysadmin's preferences, but whose defaults are often acceptable. The +# first five are concerned with security issues, where differing levels of +# paranoia are appropriate in different environments. Sysadmins also vary in +# their views on appropriate levels of defence in these areas. If you do not +# understand these issues, go with the defaults, which are used by many sites. + + +#------------------------------------------------------------------------------ +# Although Exim is normally a setuid program, owned by root, it refuses to run +# local deliveries as root by default. There is a runtime option called +# "never_users" which lists the users that must never be used for local +# deliveries. There is also the setting below, which provides a list that +# cannot be overridden at runtime. This guards against problems caused by +# unauthorized changes to the runtime configuration. You are advised not to +# remove "root" from this option, but you can add other users if you want. The +# list is colon-separated. It must NOT contain any spaces. + +# FIXED_NEVER_USERS=root:bin:daemon +FIXED_NEVER_USERS=root + + +#------------------------------------------------------------------------------ +# By default, Exim insists that its configuration file be owned by root. You +# can specify one additional permitted owner here. + + CONFIGURE_OWNER=jetmore + +# If the configuration file is group-writeable, Exim insists by default that it +# is owned by root. You can specify one additional permitted group owner here. + +# CONFIGURE_GROUP= + +# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked +# up at build time, and the uid or gid number is built into the binary. +# However, you can specify that the lookup is deferred until runtime. In this +# case, it is the name that is built into the binary. You can do this by a +# setting of the form: + +# CONFIGURE_OWNER=ref:mail +# CONFIGURE_GROUP=ref:sysadmin + +# In other words, put "ref:" in front of the user or group name. Although this +# costs a bit of resource at runtime, it is convenient to use this feature when +# building binaries that are to be run on multiple systems where the names may +# refer to different uids or gids. It also allows you to build Exim on a system +# where the relevant user or group is not defined. + + +#------------------------------------------------------------------------------ +# The -C option allows Exim to be run with an alternate runtime configuration +# file. When this is used by root, root privilege is retained by the binary +# (for any other caller including the Exim user, it is dropped). You can +# restrict the location of alternate configurations by defining a prefix below. +# Any file used with -C must then start with this prefix (except that /dev/null +# is also permitted if the caller is root, because that is used in the install +# script). If the prefix specifies a directory that is owned by root, a +# compromise of the Exim account does not permit arbitrary alternate +# configurations to be used. The prefix can be more restrictive than just a +# directory (the second example). + +# ALT_CONFIG_PREFIX=/some/directory/ +# ALT_CONFIG_PREFIX=/some/directory/exim.conf- + + +#------------------------------------------------------------------------------ +# When a user other than root uses the -C option to override the configuration +# file (including the Exim user when re-executing Exim to regain root +# privileges for local message delivery), this will normally cause Exim to +# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which +# contains a list of trusted configuration filenames, one per line. If the -C +# option is used by the Exim user or by the user specified in the +# CONFIGURE_OWNER setting, to specify a configuration file which is listed in +# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim. + + TRUSTED_CONFIG_LIST=/home/jetmore/Documents/git/swaks/testing/mta/exim-config + + +#------------------------------------------------------------------------------ +# Uncommenting this option disables the use of the -D command line option, +# which changes the values of macros in the runtime configuration file. +# This is another protection against somebody breaking into the Exim account. + +# DISABLE_D_OPTION=yes + + +#------------------------------------------------------------------------------ +# By contrast, you might be maintaining a system which relies upon the ability +# to override values with -D and assumes that these will be passed through to +# the delivery processes. As of Exim 4.73, this is no longer the case by +# default. Going forward, we strongly recommend that you use a shim Exim +# configuration file owned by root stored under TRUSTED_CONFIG_LIST. +# That shim can set macros before .include'ing your main configuration file. +# +# As a strictly transient measure to ease migration to 4.73, the +# WHITELIST_D_MACROS value defines a colon-separated list of macro-names +# which are permitted to be overridden from the command-line which will be +# honoured by the Exim user. So these are macros that can persist to delivery +# time. +# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the +# command-line are filtered to only permit: [A-Za-z0-9_/.-]* +# +# This option is highly likely to be removed in a future release. It exists +# only to make 4.73 as easy as possible to migrate to. If you use it, we +# encourage you to schedule time to rework your configuration to not depend +# upon it. Most people should not need to use this. +# +# By default, no macros are whitelisted for -D usage. + +# WHITELIST_D_MACROS=TLS:SPOOL + +#------------------------------------------------------------------------------ +# Exim has support for the AUTH (authentication) extension of the SMTP +# protocol, as defined by RFC 2554. If you don't know what SMTP authentication +# is, you probably won't want to include this code, so you should leave these +# settings commented out. If you do want to make use of SMTP authentication, +# you must uncomment at least one of the following, so that appropriate code is +# included in the Exim binary. You will then need to set up the run time +# configuration to make use of the mechanism(s) selected. + + AUTH_CRAM_MD5=yes + AUTH_CYRUS_SASL=yes +# AUTH_DOVECOT=yes +# AUTH_EXTERNAL=yes +# AUTH_GSASL=yes +# AUTH_GSASL_PC=libgsasl +# AUTH_HEIMDAL_GSSAPI=yes +# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi +# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi heimdal-krb5 + AUTH_PLAINTEXT=yes + AUTH_SPA=yes + AUTH_TLS=yes + +# Heimdal through 1.5 required pkg-config 'heimdal-gssapi'; Heimdal 7.1 +# requires multiple pkg-config files to work with Exim, so the second example +# above is needed. + +#------------------------------------------------------------------------------ +# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the +# Cyrus SASL library installed before trying to build Exim, and you probably +# want to uncomment the first line below. +# Similarly for GNU SASL, unless pkg-config is used via AUTH_GSASL_PC. +# Ditto for AUTH_HEIMDAL_GSSAPI(_PC). + + AUTH_LIBS=-lsasl2 +# AUTH_LIBS=-lgsasl +# AUTH_LIBS=-lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lhcrypto -lasn1 -lwind -lroken -lcrypt + +# If using AUTH_GSASL with SCRAM methods, you should also be defining +# SUPPORT_I18N to get standards-conformant support of utf8 normalization. + + +#------------------------------------------------------------------------------ +# When Exim is decoding MIME "words" in header lines, most commonly for use +# in the $header_xxx expansion, it converts any foreign character sets to the +# one that is set in the headers_charset option. The default setting is +# defined by this setting: + +HEADERS_CHARSET="ISO-8859-1" + +# If you are going to make use of $header_xxx expansions in your configuration +# file, or if your users are going to use them in filter files, and the normal +# character set on your host is something other than ISO-8859-1, you might +# like to specify a different default here. This value can be overridden in +# the runtime configuration, and it can also be overridden in individual filter +# files. +# +# IMPORTANT NOTE: The iconv() function is needed for character code +# conversions. Please see the next item... + + +#------------------------------------------------------------------------------ +# Character code conversions are possible only if the iconv() function is +# installed on your operating system. There are two places in Exim where this +# is relevant: (a) The $header_xxx expansion (see the previous item), and (b) +# the Sieve filter support. For those OS where iconv() is known to be installed +# as standard, the file in OS/Makefile-xxxx contains +# + HAVE_ICONV=yes +# +# If you are not using one of those systems, but have installed iconv(), you +# need to uncomment that line above. In some cases, you may find that iconv() +# and its header file are not in the default places. You might need to use +# something like this: +# +# HAVE_ICONV=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -liconv +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# nb: FreeBSD as of 4.89 defines LIBICONV_PLUG to pick up the system iconv +# more reliably. If you explicitly want the libiconv Port then as well +# as adding -liconv you'll want to unset LIBICONV_PLUG. If you actually need +# this, let us know, but for now the Exim Maintainers are assuming that this +# is uncommon and so you'll need to edit OS/os.h-FreeBSD yourself to remove +# the define. + + +#------------------------------------------------------------------------------ +# The passwords for user accounts are normally encrypted with the crypt() +# function. Comparisons with encrypted passwords can be done using Exim's +# "crypteq" expansion operator. (This is commonly used as part of the +# configuration of an authenticator for use with SMTP AUTH.) At least one +# operating system has an extended function called crypt16(), which uses up to +# 16 characters of a password (the normal crypt() uses only the first 8). Exim +# supports the use of crypt16() as well as crypt() but note the warning below. + +# You can always indicate a crypt16-encrypted password by preceding it with +# "{crypt16}". If you want the default handling (without any preceding +# indicator) to use crypt16(), uncomment the following line: + +# DEFAULT_CRYPT=crypt16 + +# If you do that, you can still access the basic crypt() function by preceding +# an encrypted password with "{crypt}". For more details, see the description +# of the "crypteq" condition in the manual chapter on string expansions. + +# Some operating systems do not include a crypt16() function, so Exim has one +# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will +# be set in an OS-specific Makefile for the OS that have such a function, so +# you should not need to bother with it. + +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** +# It turns out that the above is not entirely accurate. As well as crypt16() +# there is a function called bigcrypt() that some operating systems have. This +# may or may not use the same algorithm, and both of them may be different to +# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined. +# +# However, since there is now a move away from the traditional crypt() +# functions towards using SHA1 and other algorithms, tidying up this area of +# Exim is seen as very low priority. In practice, if you need to, you can +# define DEFAULT_CRYPT to the name of any function that has the same interface +# as the traditional crypt() function. +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** + + +#------------------------------------------------------------------------------ +# The default distribution of Exim contains only the plain text form of the +# documentation. Other forms are available separately. If you want to install +# the documentation in "info" format, first fetch the Texinfo documentation +# sources from the ftp directory and unpack them, which should create files +# with the extension "texinfo" in the doc directory. You may find that the +# version number of the texinfo files is different to your Exim version number, +# because the main documentation isn't updated as often as the code. For +# example, if you have Exim version 4.43, the source tarball unpacks into a +# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40. +# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you +# have unpacked them. Then set INFO_DIRECTORY to the location of your info +# directory. This varies from system to system, but is often /usr/share/info. +# Once you have done this, "make install" will build the info files and +# install them in the directory you have defined. + +# INFO_DIRECTORY=/usr/share/info + + +#------------------------------------------------------------------------------ +# Exim log directory and files: Exim creates several log files inside a +# single log directory. You can define the directory and the form of the +# log file name here. If you do not set anything, Exim creates a directory +# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses +# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change +# this, you can set LOG_FILE_PATH to a path name containing one occurrence of +# %s. This will be replaced by one of the strings "main", "panic", or "reject" +# to form the final file names. Some installations may want something like this: + + LOG_FILE_PATH=/home/jetmore/Documents/git/swaks/testing/mta/exim-install/log/%slog + +# which results in files with names /var/log/exim_mainlog, etc. The directory +# in which the log files are placed must exist; Exim does not try to create +# it for itself. It is also your responsibility to ensure that Exim is capable +# of writing files using this path name. The Exim user (see EXIM_USER above) +# must be able to create and update files in the directory you have specified. + +# You can also configure Exim to use syslog, instead of or as well as log +# files, by settings such as these + +# LOG_FILE_PATH=syslog +# LOG_FILE_PATH=syslog:/var/log/exim_%slog + +# The first of these uses only syslog; the second uses syslog and also writes +# to log files. Do not include white space in such a setting as it messes up +# the building process. + + +#------------------------------------------------------------------------------ +# When logging to syslog, the following option caters for syslog replacements +# that are able to accept log entries longer than the 1024 characters allowed +# by RFC 3164. It is up to you to make sure your syslog daemon can handle this. +# Non-printable characters are usually unacceptable regardless, so log entries +# are still split on newline characters. + +# SYSLOG_LONG_LINES=yes + +# If you are not interested in the process identifier (pid) of the Exim that is +# making the call to syslog, then comment out the following line. + +SYSLOG_LOG_PID=yes + + +#------------------------------------------------------------------------------ +# Cycling log files: this variable specifies the maximum number of old +# log files that are kept by the exicyclog log-cycling script. You don't have +# to use exicyclog. If your operating system has other ways of cycling log +# files, you can use them instead. The exicyclog script isn't run by default; +# you have to set up a cron job for it if you want it. + +EXICYCLOG_MAX=10 + + +#------------------------------------------------------------------------------ +# The compress command is used by the exicyclog script to compress old log +# files. Both the name of the command and the suffix that it adds to files +# need to be defined here. See also the EXICYCLOG_MAX configuration. + +COMPRESS_COMMAND=/usr/bin/gzip +COMPRESS_SUFFIX=gz + + +#------------------------------------------------------------------------------ +# If the exigrep utility is fed compressed log files, it tries to uncompress +# them using this command. + +# Leave it empty to enforce autodetection at runtime: +# ZCAT_COMMAND= +# +# Omit the path if you want to use your system's PATH: +# ZCAT_COMMAND=zcat +# +# Or specify the full pathname: +ZCAT_COMMAND=/usr/bin/zcat + +#------------------------------------------------------------------------------ +# Compiling in support for embedded Perl: If you want to be able to +# use Perl code in Exim's string manipulation language and you have Perl +# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded +# Perl costs quite a lot of resources. Only do this if you really need it. + +# EXIM_PERL=perl.o + + +#------------------------------------------------------------------------------ +# Support for dynamically-loaded string expansion functions via ${dlfunc. If +# you are using gcc the dynamically-loaded object must be compiled with the +# -shared option, and you will need to add -export-dynamic to EXTRALIBS so +# that the local_scan API is made available by the linker. You may also need +# to add -ldl to EXTRALIBS so that dlopen() is available to Exim. + +# EXPAND_DLFUNC=yes + + +#------------------------------------------------------------------------------ +# Exim has support for PAM (Pluggable Authentication Modules), a facility +# which is available in the latest releases of Solaris and in some GNU/Linux +# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim +# support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by the following setting: + +# SUPPORT_PAM=yes + +# You probably need to add -lpam to EXTRALIBS, and in some releases of +# GNU/Linux -ldl is also needed. + + +#------------------------------------------------------------------------------ +# Proxying. +# +# If you may want to use outbound (client-side) proxying, using Socks5, +# uncomment the line below. + + SUPPORT_SOCKS=yes + +# If you may want to use inbound (server-side) proxying, using Proxy Protocol, +# uncomment the line below. + + SUPPORT_PROXY=yes + + +#------------------------------------------------------------------------------ +# Internationalisation. +# +# Uncomment the following to include Internationalisation features. This is the +# SMTPUTF8 ESMTP extension, and associated facilities for handling UTF8 domain +# and localparts, per RFC 3490 (IDNA2003). +# You need to have the IDN library installed. +# If you want IDNA2008 mappings per RFCs 5890, 6530 and 6533, you additionally +# need libidn2 and SUPPORT_I18N_2008. + + SUPPORT_I18N=yes + LDFLAGS += -lidn + SUPPORT_I18N_2008=yes + LDFLAGS += -lidn -lidn2 + + +#------------------------------------------------------------------------------ +# Uncomment the following lines to add SPF support. You need to have libspf2 +# installed on your system (www.libspf2.org). Depending on where it is installed +# you may have to edit the CFLAGS and LDFLAGS lines. + +# SUPPORT_SPF=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lspf2 + + +#------------------------------------------------------------------------------ +# Support for authentication via Radius is also available. The Exim support, +# which is intended for use in conjunction with the SMTP AUTH facilities, +# is included only when requested by setting the following parameter to the +# location of your Radius configuration file: + +# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf +# RADIUS_CONFIG_FILE=/etc/radius.conf + +# If you have set RADIUS_CONFIG_FILE, you should also set one of these to +# indicate which RADIUS library is used: + +# RADIUS_LIB_TYPE=RADIUSCLIENT +# RADIUS_LIB_TYPE=RADIUSCLIENTNEW +# RADIUS_LIB_TYPE=RADLIB + +# RADIUSCLIENT is the radiusclient library; you probably need to add +# -lradiusclient to EXTRALIBS. +# +# The API for the radiusclient library was changed at release 0.4.0. +# Unfortunately, the header file does not define a version number that clients +# can use to support both the old and new APIs. If you are using version 0.4.0 +# or later of the radiusclient library, you should use RADIUSCLIENTNEW. +# +# RADLIB is the Radius library that comes with FreeBSD (the header file is +# called radlib.h); you probably need to add -lradius to EXTRALIBS. +# +# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library, +# using the original API. + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL pwcheck daemon is available. +# Note, however, that pwcheck is now deprecated in favour of saslauthd (see +# next item). The Exim support for pwcheck, which is intented for use in +# conjunction with the SMTP AUTH facilities, is included only when requested by +# setting the following parameter to the location of the pwcheck daemon's +# socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-pwcheck, cd to the pwcheck directory within the sources, +# make and make install. You must create the socket directory (default +# /var/pwcheck) and chown it to Exim's user and group. Once you have installed +# pwcheck, you should arrange for it to be started by root at boot time. + +# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL saslauthd daemon is available. +# The Exim support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by setting the following +# parameter to the location of the saslauthd daemon's socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-saslauthd (and any other options you need, for example, to +# select or deselect authentication mechanisms), cd to the saslauthd directory +# within the sources, make and make install. You must create the socket +# directory (default /var/state/saslauthd) and chown it to Exim's user and +# group. Once you have installed saslauthd, you should arrange for it to be +# started by root at boot time. + +# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux + + +#------------------------------------------------------------------------------ +# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment +# this setting. See the manual section entitled "Use of tcpwrappers" in the +# chapter on building and installing Exim. +# +# USE_TCP_WRAPPERS=yes +# +# You may well also have to specify a local "include" file and an additional +# library for TCP wrappers, so you probably need something like this: +# +# USE_TCP_WRAPPERS=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# To use a name other than exim in the tcpwrappers config file, +# e.g. if you're running multiple daemons with different access lists, +# or multiple MTAs with the same access list, define +# TCP_WRAPPERS_DAEMON_NAME accordingly +# +# TCP_WRAPPERS_DAEMON_NAME="exim" + + +#------------------------------------------------------------------------------ +# The default action of the exim_install script (which is run by "make +# install") is to install the Exim binary with a unique name such as +# exim-4.43-1, and then set up a symbolic link called "exim" to reference it, +# moving the symbolic link from any previous version. If you define NO_SYMLINK +# (the value doesn't matter), the symbolic link is not created or moved. You +# will then have to "turn Exim on" by setting up the link manually. + +# NO_SYMLINK=yes + + +#------------------------------------------------------------------------------ +# Another default action of the install script is to install a default runtime +# configuration file if one does not exist. This configuration has a router for +# expanding system aliases. The default assumes that these aliases are kept +# in the traditional file called /etc/aliases. If such a file does not exist, +# the installation script creates one that contains just comments (no actual +# aliases). The following setting can be changed to specify a different +# location for the system alias file. + +SYSTEM_ALIASES_FILE=/home/jetmore/Documents/git/swaks/testing/mta/exim-config/aliases + + +#------------------------------------------------------------------------------ +# There are some testing options (-be, -bt, -bv) that read data from the +# standard input when no arguments are supplied. By default, the input lines +# are read using the standard fgets() function. This does not support line +# editing during interactive input (though the terminal's "erase" character +# works as normal). If your operating system has the readline() function, and +# in addition supports dynamic loading of library functions, you can cause +# Exim to use readline() for the -be testing option (only) by uncommenting the +# following setting. Dynamic loading is used so that the library is loaded only +# when the -be testing option is given; by the time the loading occurs, +# Exim has given up its root privilege and is running as the calling user. This +# is the reason why readline() is NOT supported for -bt and -bv, because Exim +# runs as root or as exim, respectively, for those options. When USE_READLINE +# is "yes", as well as supporting line editing, a history of input lines in the +# current run is maintained. + +# USE_READLINE=yes + +# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes. +# Note that this option adds to the size of the Exim binary, because the +# dynamic loading library is not otherwise included. + +# If libreadline is not in the normal library paths, then because Exim is +# setuid you'll need to ensure that the correct directory is stamped into +# the binary so that dlopen will find it. +# Eg, on macOS/Darwin with a third-party install of libreadline, perhaps: + +# EXTRALIBS_EXIM+=-Wl,-rpath,/usr/local/opt/readline/lib + + +#------------------------------------------------------------------------------ +# Uncomment this setting to include IPv6 support. + + HAVE_IPV6=yes + +############################################################################### +# THINGS YOU ALMOST NEVER NEED TO MENTION # +############################################################################### + +# The settings in this section are available for use in special circumstances. +# In the vast majority of installations you need not change anything below. + + +#------------------------------------------------------------------------------ +# The following commands live in different places in some OS. Either the +# ultimate default settings, or the OS-specific files should already point to +# the right place, but they can be overridden here if necessary. These settings +# are used when building various scripts to ensure that the correct paths are +# used when the scripts are run. They are not used in the Makefile itself. Perl +# is not necessary for running Exim unless you set EXIM_PERL (see above) to get +# it embedded, but there are some utilities that are Perl scripts. If you +# haven't got Perl, Exim will still build and run; you just won't be able to +# use those utilities. + +# CHOWN_COMMAND=/usr/bin/chown +# CHGRP_COMMAND=/usr/bin/chgrp +# CHMOD_COMMAND=/usr/bin/chmod +# MV_COMMAND=/bin/mv +# RM_COMMAND=/bin/rm +# TOUCH_COMMAND=/usr/bin/touch +# PERL_COMMAND=/usr/bin/perl + + +#------------------------------------------------------------------------------ +# The following macro can be used to change the command for building a library +# of functions. By default the "ar" command is used, with options "cq". +# Only in rare circumstances should you need to change this. + +# AR=ar cq + + +#------------------------------------------------------------------------------ +# In some operating systems, the value of the TMPDIR environment variable +# controls where temporary files are created. Exim does not make use of +# temporary files, except when delivering to MBX mailboxes. However, if Exim +# calls any external libraries (e.g. DBM libraries), they may use temporary +# files, and thus be influenced by the value of TMPDIR. For this reason, when +# Exim starts, it checks the environment for TMPDIR, and if it finds it is set, +# it replaces the value with what is defined here. Commenting this setting +# suppresses the check altogether. Older installations call this macro +# just TMPDIR, but this has side effects at build time. At runtime +# TMPDIR is checked as before. + +EXIM_TMPDIR="/tmp" + + +#------------------------------------------------------------------------------ +# The following macros can be used to change the default modes that are used +# by the appendfile transport. In most installations the defaults are just +# fine, and in any case, you can change particular instances of the transport +# at run time if you want. + +# APPENDFILE_MODE=0600 +# APPENDFILE_DIRECTORY_MODE=0700 +# APPENDFILE_LOCKFILE_MODE=0600 + + +#------------------------------------------------------------------------------ +# In some installations there may be multiple machines sharing file systems, +# where a different configuration file is required for Exim on the different +# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look +# for a configuration file whose name is that defined by CONFIGURE_FILE, +# with the node name obtained by uname() tacked on the end, separated by a +# period (for example, /usr/exim/configure.host.in.some.domain). If this file +# does not exist, then the bare configuration file name is tried. + +# CONFIGURE_FILE_USE_NODE=yes + + +#------------------------------------------------------------------------------ +# In some esoteric configurations two different versions of Exim are run, +# with different setuid values, and different configuration files are required +# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then +# Exim will first look for a configuration file whose name is that defined +# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by +# a period (for example, /usr/exim/configure.0). If this file does not exist, +# then the bare configuration file name is tried. In the case when both +# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files +# are tried: .., ., ., and . + +# CONFIGURE_FILE_USE_EUID=yes + + +#------------------------------------------------------------------------------ +# The size of the delivery buffers: These specify the sizes (in bytes) of +# the buffers that are used when copying a message from the spool to a +# destination. There is rarely any need to change these values. + +# DELIVER_IN_BUFFER_SIZE=8192 +# DELIVER_OUT_BUFFER_SIZE=8192 + + +#------------------------------------------------------------------------------ +# The mode of the database directory: Exim creates a directory called "db" +# in its spool directory, to hold its databases of hints. This variable +# determines the mode of the created directory. The default value in the +# source is 0750. + +# EXIMDB_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# Database file mode: The mode of files created in the "db" directory defaults +# to 0640 in the source, and can be changed here. + +# EXIMDB_MODE=0640 + + +#------------------------------------------------------------------------------ +# Database lock file mode: The mode of zero-length files created in the "db" +# directory to use for locking purposes defaults to 0640 in the source, and +# can be changed here. + +# EXIMDB_LOCKFILE_MODE=0640 + + +#------------------------------------------------------------------------------ +# This parameter sets the maximum length of the header portion of a message +# that Exim is prepared to process. The default setting is one megabyte. The +# limit exists in order to catch rogue mailers that might connect to your SMTP +# port, start off a header line, and then just pump junk at it for ever. The +# message_size_limit option would also catch this, but it may not be set. +# The value set here is the default; it can be changed at runtime. + +# HEADER_MAXSIZE="(1024*1024)" + + +#------------------------------------------------------------------------------ +# The mode of the input directory: The input directory is where messages are +# kept while awaiting delivery. Exim creates it if necessary, using a mode +# which can be defined here (default 0750). + +# INPUT_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of Exim's log directory, when it is created by Exim inside the spool +# directory, defaults to 0750 but can be changed here. + +# LOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The log files themselves are created as required, with a mode that defaults +# to 0640, but which can be changed here. + +# LOG_MODE=0640 + + +#------------------------------------------------------------------------------ +# The TESTDB lookup is for performing tests on the handling of lookup results, +# and is not useful for general running. It should be included only when +# debugging the code of Exim. + +# LOOKUP_TESTDB=yes + + +#------------------------------------------------------------------------------ +# /bin/sh is used by default as the shell in which to run commands that are +# defined in the makefiles. This can be changed if necessary, by uncommenting +# this line and specifying another shell, but note that a Bourne-compatible +# shell is expected. + +# MAKE_SHELL=/bin/sh + + +#------------------------------------------------------------------------------ +# The maximum number of named lists of each type (address, domain, host, and +# local part) can be increased by changing this value. It should be set to +# a multiple of 16. + +# MAX_NAMED_LIST=16 + + +#------------------------------------------------------------------------------ +# Network interfaces: Unless you set the local_interfaces option in the runtime +# configuration file to restrict Exim to certain interfaces only, it will run +# code to find all the interfaces there are on your host. Unfortunately, +# the call to the OS that does this requires a buffer large enough to hold +# data for all the interfaces - it was designed in the days when a host rarely +# had more than three or four interfaces. Nowadays hosts can have very many +# virtual interfaces running on the same hardware. If you have more than 250 +# virtual interfaces, you will need to uncomment this setting and increase the +# value. + +# MAXINTERFACES=250 + + +#------------------------------------------------------------------------------ +# Per-message logs: While a message is in the process of being delivered, +# comments on its progress are written to a message log, for the benefit of +# human administrators. These logs are held in a directory called "msglog" +# in the spool directory. Its mode defaults to 0750, but can be changed here. +# The message log directory is also used for storing files that are used by +# transports for returning data to a message's sender (see the "return_output" +# option for transports). + +# MSGLOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# There are three options which are used when compiling the Perl interface and +# when linking with Perl. The default values for these are placed automatically +# at the head of the Makefile by the script which builds it. However, if you +# want to override them, you can do so here. + +# PERL_CC= +# PERL_CCOPTS= +# PERL_LIBS= + + +#------------------------------------------------------------------------------ +# If you wish to disable valgrind in the binary, define NVALGRIND=1. +# This should not be needed. + +# NVALGRIND=1 + +#------------------------------------------------------------------------------ +# Identifying the daemon: When an Exim daemon starts up, it writes its pid +# (process id) to a file so that it can easily be identified. The path of the +# file can be specified here. Some installations may want something like this: + +# PID_FILE_PATH=/var/lock/exim.pid + +# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory +# using the name "exim-daemon.pid". + +# If you start up a daemon without the -bd option (for example, with just +# the -q15m option), a pid file is not written. Also, if you override the +# configuration file with the -oX option, no pid file is written. In other +# words, the pid file is written only for a "standard" daemon. + + +#------------------------------------------------------------------------------ +# If Exim creates the spool directory, it is given this mode, defaulting in the +# source to 0750. + +# SPOOL_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of files on the input spool which hold the contents of messages can +# be changed here. The default is 0640 so that information from the spool is +# available to anyone who is a member of the Exim group. + +# SPOOL_MODE=0640 + + +#------------------------------------------------------------------------------ +# Moving frozen messages: If the following is uncommented, Exim is compiled +# with support for automatically moving frozen messages out of the main spool +# directory, a facility that is found useful by some large installations. A +# run time option is required to cause the moving actually to occur. Such +# messages become "invisible" to the normal management tools. + + SUPPORT_MOVE_FROZEN_MESSAGES=yes + + +#------------------------------------------------------------------------------ +# Expanding match_* second parameters: BE CAREFUL IF ENABLING THIS! +# It has proven too easy in practice for administrators to configure security +# problems into their Exim install, by treating match_domain{}{} and friends +# as a form of string comparison, where the second string comes from untrusted +# data. Because these options take lists, which can include lookup;LOOKUPDATA +# style elements, a foe can then cause Exim to, eg, execute an arbitrary MySQL +# query, dropping tables. +# From Exim 4.77 onwards, the second parameter is not expanded; it can still +# be a list literal, or a macro, or a named list reference. There is also +# the new expansion condition "inlisti" which does expand the second parameter, +# but treats it as a list of strings; also, there's "eqi" which is probably +# what is normally wanted. +# +# If you really need to have the old behaviour, know what you are doing and +# will not complain if your system is compromised as a result of doing so, then +# uncomment this option to get the old behaviour back. + +# EXPAND_LISTMATCH_RHS=yes + +#------------------------------------------------------------------------------ +# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you +# really, really, really know what you are doing. And even then, think again. +# You should never uncomment this when compiling a binary for distribution. +# Use it only when compiling Exim for your own use. +# +# Uncommenting this line enables the use of a runtime option called +# disable_fsync, which can be used to stop Exim using fsync() to ensure that +# files are written to disc before proceeding. When this is disabled, crashes +# and hardware problems such as power outages can cause data to be lost. This +# feature should only be used in very exceptional circumstances. YOU HAVE BEEN +# WARNED. + +# ENABLE_DISABLE_FSYNC=yes + +#------------------------------------------------------------------------------ +# For development, add this to include code to time various stages and report. +# CFLAGS += -DMEASURE_TIMING + +# End of EDITME for Exim 4. diff --git a/testing/mta/exim-config/notes/Makefile.494.dist b/testing/mta/exim-config/notes/Makefile.494.dist new file mode 100644 index 00000000..e568bdbb --- /dev/null +++ b/testing/mta/exim-config/notes/Makefile.494.dist @@ -0,0 +1,1496 @@ +################################################## +# The Exim mail transport agent # +################################################## + +# This is the template for Exim's main build-time configuration file. It +# contains settings that are independent of any operating system. These are +# things that are mostly sysadmin choices. The items below are divided into +# those you must specify, those you probably want to specify, those you might +# often want to specify, and those that you almost never need to mention. + +# Edit this file and save the result to a file called Local/Makefile within the +# Exim distribution directory before running the "make" command. + +# Things that depend on the operating system have default settings in +# OS/Makefile-Default, but these are overridden for some OS by files +# called OS/Makefile-. You can further override these settings by +# creating files Local/Makefile-, and Local/Makefile-. +# The suffix "" stands for the name of your operating system - look +# at the names in the OS directory to see which names are recognized, +# and "" is the content of the environment variable "build". + +# However, if you are building Exim for a single OS only, you don't need to +# worry about setting up Local/Makefile-. Any build-time configuration +# settings you require can in fact be placed in the one file called +# Local/Makefile. It is only if you are building for several OS from the same +# source files that you need to worry about splitting off your own OS-dependent +# settings into separate files. (There's more explanation about how this all +# works in the toplevel README file, under "Modifying the building process", as +# well as in the Exim specification.) + +# One OS-specific thing that may need to be changed is the command for running +# the C compiler; the overall default is gcc, but some OS Makefiles specify cc. +# You can override anything that is set by putting CC=whatever in your +# Local/Makefile. + +# NOTE: You should never need to edit any of the distributed Makefiles; all +# overriding can be done in your Local/Makefile(s). This will make it easier +# for you when the next release comes along. + +# The location of the X11 libraries is something else that is quite variable +# even between different versions of the same operating system (and indeed +# there are different versions of X11 as well, of course). The four settings +# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB +# (dynamic run-time library). You need not worry about X11 unless you want to +# compile the Exim monitor utility. Exim itself does not use X11. + +# Another area of variability between systems is the type and location of the +# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB. +# By default the code assumes ndbm; this often works with gdbm or DB, provided +# they are correctly installed, via their compatibility interfaces. However, +# Exim can also be configured to use the native calls for Berkeley DB (obsolete +# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm. + +# For some operating systems, a default DBM library (other than ndbm) is +# selected by a setting in the OS-specific Makefile. Most modern OS now have +# a DBM library installed as standard, and in many cases this will be selected +# for you by the OS-specific configuration. If Exim compiles without any +# problems, you probably do not have to worry about the DBM library. If you +# do want or need to change it, you should first read the discussion in the +# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's +# interface to the DBM library. + +# In Local/Makefiles blank lines and lines starting with # are ignored. It is +# also permitted to use the # character to add a comment to a setting, for +# example +# +# EXIM_GID=42 # the "mail" group +# +# However, with some versions of "make" this works only if there is no white +# space between the end of the setting and the #, so perhaps it is best +# avoided. A consequence of this facility is that it is not possible to have +# the # character present in any setting, but I can't think of any cases where +# this would be wanted. +############################################################################### + + + +############################################################################### +# THESE ARE THINGS YOU MUST SPECIFY # +############################################################################### + +# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and +# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number. + +# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it +# really is a very good idea to specify it here rather than at run time. This +# is particularly true if you let the logs go to their default location in the +# spool directory, because it means that the location of the logs is known +# before Exim has read the run time configuration file. + +#------------------------------------------------------------------------------ +# BIN_DIRECTORY defines where the exim binary will be installed by "make +# install". The path is also used internally by Exim when it needs to re-invoke +# itself, either to send an error message, or to recover root privilege. Exim's +# utility binaries and scripts are also installed in this directory. There is +# no "standard" place for the binary directory. Some people like to keep all +# the Exim files under one directory such as /usr/exim; others just let the +# Exim binaries go into an existing directory such as /usr/sbin or +# /usr/local/sbin. The installation script will try to create this directory, +# and any superior directories, if they do not exist. + +BIN_DIRECTORY=/usr/exim/bin + + +#------------------------------------------------------------------------------ +# CONFIGURE_FILE defines where Exim's run time configuration file is to be +# found. It is the complete pathname for the file, not just a directory. The +# location of all other run time files and directories can be changed in the +# run time configuration file. There is a lot of variety in the choice of +# location in different OS, and in the preferences of different sysadmins. Some +# common locations are in /etc or /etc/mail or /usr/local/etc or +# /usr/local/etc/mail. Another possibility is to keep all the Exim files under +# a single directory such as /usr/exim. Whatever you choose, the installation +# script will try to make the directory and any superior directories if they +# don't exist. It will also install a default runtime configuration if this +# file does not exist. + +CONFIGURE_FILE=/usr/exim/configure + +# It is possible to specify a colon-separated list of files for CONFIGURE_FILE. +# In this case, Exim will use the first of them that exists when it is run. +# However, if a list is specified, the installation script no longer tries to +# make superior directories or to install a default runtime configuration. + + +#------------------------------------------------------------------------------ +# The Exim binary must normally be setuid root, so that it starts executing as +# root, but (depending on the options with which it is called) it does not +# always need to retain the root privilege. These settings define the user and +# group that is used for Exim processes when they no longer need to be root. In +# particular, this applies when receiving messages and when doing remote +# deliveries. (Local deliveries run as various non-root users, typically as the +# owner of a local mailbox.) Specifying these values as root is not supported. + +EXIM_USER= + +# If you specify EXIM_USER as a name, this is looked up at build time, and the +# uid number is built into the binary. However, you can specify that this +# lookup is deferred until runtime. In this case, it is the name that is built +# into the binary. You can do this by a setting of the form: + +# EXIM_USER=ref:exim + +# In other words, put "ref:" in front of the user name. If you set EXIM_USER +# like this, any value specified for EXIM_GROUP is also passed "by reference". +# Although this costs a bit of resource at runtime, it is convenient to use +# this feature when building binaries that are to be run on multiple systems +# where the name may refer to different uids. It also allows you to build Exim +# on a system where there is no Exim user defined. + +# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must +# also be a setting of EXIM_GROUP. If, on the other hand, you use a name +# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless +# you want to use a group other than the default group for the given user. + +# EXIM_GROUP= + +# Many sites define a user called "exim", with an appropriate default group, +# and use +# +# EXIM_USER=exim +# +# while leaving EXIM_GROUP unspecified (commented out). + + +#------------------------------------------------------------------------------ +# SPOOL_DIRECTORY defines the directory where all the data for messages in +# transit is kept. It is strongly recommended that you define it here, though +# it is possible to leave this till the run time configuration. + +# Exim creates the spool directory if it does not exist. The owner and group +# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to +# all the files and directories that are created in the spool directory. + +# Almost all installations choose this: + +SPOOL_DIRECTORY=/var/spool/exim + + + +############################################################################### +# TLS # +############################################################################### +# Exim is built by default to support the SMTP STARTTLS command, which implements +# Transport Layer Security using SSL (Secure Sockets Layer). This requires you +# must install the OpenSSL library package or the GnuTLS library. Exim contains +# no cryptographic code of its own. + +# If you are running Exim as a (TLS) server, just building it with TLS support +# is all you need to do, as tls_advertise_hosts is set to '*' by +# default. But you are advised to create a suiteable certificate, and tell +# Exim about it by means of the tls_certificate and tls_privatekey run +# time options, otherwise Exim will create a self signed certificate on +# the fly. If you are running Exim only as a (TLS) client, building it with +# TLS support is all you need to do. +# +# If you are using pkg-config then you should not need to worry where +# the libraries and headers are installed, as the pkg-config .pc +# specification should include all -L/-I information necessary. +# Enabling the USE_*_PC options should be sufficient. If not using +# pkg-config, then you have to specify the libraries, and you mmight +# need to specify the locations too. + +# Uncomment the following lines if you want +# to build Exim without any TLS support (either OpenSSL or GnuTLS): +# DISABLE_TLS=yes +# Unless you do this, you must define one of USE_OPENSSL or USE_GNUTLS +# below. + +# If you are buliding with TLS, the library configuration must be done: + +# Uncomment this if you are using OpenSSL +# USE_OPENSSL=yes +# Uncomment one of these settings if you are using OpenSSL; pkg-config vs not +# and an optional location. +# USE_OPENSSL_PC=openssl +# TLS_LIBS=-lssl -lcrypto +# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto + +# Uncomment this if you are using GnuTLS +# USE_GNUTLS=yes +# Uncomment one of these settings if you are using GnuTLS; pkg-config vs not +# and an optional location. If you disable SUPPORT_DANE below, you +# can remove the gnutls-dane references here. Earlier versions of GnuTLS +# required libtasn1 and libgrypt also; add if needed. +# USE_GNUTLS_PC=gnutls gnutls-dane +# TLS_LIBS=-lgnutls -lgnutls-dane +# TLS_LIBS=-L/usr/local/gnu/lib -lgnutls -ltasn1 -lgcrypt -lgnutls-dane + +# If using GnuTLS older than 2.10 and using pkg-config then note that Exim's +# build process will require libgcrypt-config to exist in your $PATH. A +# version that old is likely to become unsupported by Exim in 2017. + +# The security fix we provide with the gnutls_allow_auto_pkcs11 option +# (4.82 PP/09) introduces a compatibility regression. The symbol is +# not available if GnuTLS is build without p11-kit (--without-p11-kit +# configure option). In this case use AVOID_GNUTLS_PKCS11=yes when +# building Exim. +# AVOID_GNUTLS_PKCS11=yes + +# If you are running Exim as a server, note that just building it with TLS +# support is not all you need to do. You also need to set up a suitable +# certificate, and tell Exim about it by means of the tls_certificate +# and tls_privatekey run time options. You also need to set tls_advertise_hosts +# to specify the hosts to which Exim advertises TLS support. On the other hand, +# if you are running Exim only as a client, building it with TLS support +# is all you need to do. + +# If you are using pkg-config then you should not need to worry where the +# libraries and headers are installed, as the pkg-config .pc specification +# should include all -L/-I information necessary. If not using pkg-config +# then you might need to specify the locations too. + +# Additional libraries and include files are required for both OpenSSL and +# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed +# with all your other libraries. If they are in a special directory, you may +# need something like + +# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto + +# or + +# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt -lgnutls-dane +# If not using DANE under GnuTLS we can lose one library +# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt + +# TLS_LIBS is included only on the command for linking Exim itself, not on any +# auxiliary programs. If the include files are not in a standard place, you can +# set TLS_INCLUDE to specify where they are, for example: + +# TLS_INCLUDE=-I/usr/local/openssl/include/ +# or +# TLS_INCLUDE=-I/opt/gnu/include + +# You don't need to set TLS_INCLUDE if the relevant directories are already +# specified in INCLUDE. + + + +############################################################################### +# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY # +############################################################################### + +# If you need extra header file search paths on all compiles, put the -I +# options in INCLUDE. If you want the extra searches only for certain +# parts of the build, see more specific xxx_INCLUDE variables below. + +# INCLUDE=-I/example/include + +# You need to specify some routers and transports if you want the Exim that you +# are building to be capable of delivering mail. You almost certainly need at +# least one type of lookup. You should consider whether you want to build +# the Exim monitor or not. + +# If you need to override how pkg-config finds configuration files for +# installed software, then you can set that here; wildcards will be expanded. + +# PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig : /opt/*/lib/pkgconfig + + +#------------------------------------------------------------------------------ +# These settings determine which individual router drivers are included in the +# Exim binary. There are no defaults in the code; those routers that are wanted +# must be defined here by setting the appropriate variables to the value "yes". +# Including a router in the binary does not cause it to be used automatically. +# It has also to be configured in the run time configuration file. By +# commenting out those you know you don't want to use, you can make the binary +# a bit smaller. If you are unsure, leave all of these included for now. + +ROUTER_ACCEPT=yes +ROUTER_DNSLOOKUP=yes +ROUTER_IPLITERAL=yes +ROUTER_MANUALROUTE=yes +ROUTER_QUERYPROGRAM=yes +ROUTER_REDIRECT=yes + +# This one is very special-purpose, so is not included by default. + +# ROUTER_IPLOOKUP=yes + + +#------------------------------------------------------------------------------ +# These settings determine which individual transport drivers are included in +# the Exim binary. There are no defaults; those transports that are wanted must +# be defined here by setting the appropriate variables to the value "yes". +# Including a transport in the binary does not cause it to be used +# automatically. It has also to be configured in the run time configuration +# file. By commenting out those you know you don't want to use, you can make +# the binary a bit smaller. If you are unsure, leave all of these included for +# now. + +TRANSPORT_APPENDFILE=yes +TRANSPORT_AUTOREPLY=yes +TRANSPORT_PIPE=yes +TRANSPORT_SMTP=yes + +# This one is special-purpose, and commonly not required, so it is not +# included by default. + +# TRANSPORT_LMTP=yes + + +#------------------------------------------------------------------------------ +# The appendfile transport can write messages to local mailboxes in a number +# of formats. The code for three specialist formats, maildir, mailstore, and +# MBX, is included only when requested. If you do not know what this is about, +# leave these settings commented out. + +# SUPPORT_MAILDIR=yes +# SUPPORT_MAILSTORE=yes +# SUPPORT_MBX=yes + + +#------------------------------------------------------------------------------ +# See below for dynamic lookup modules. +# +# If not using package management but using this anyway, then think about how +# you perform upgrades and revert them. You should consider the benefit of +# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can +# maintain two concurrent sets of modules. +# +# *BEWARE*: ability to modify the files in LOOKUP_MODULE_DIR is equivalent to +# the ability to modify the Exim binary, which is often setuid root! The Exim +# developers only intend this functionality be used by OS software packagers +# and we suggest that such packagings' integrity checks should be paranoid +# about the permissions of the directory and the files within. + +# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ + +# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for +# your platform. Eg: +# CFLAGS_DYNAMIC=-shared -rdynamic +# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC + +#------------------------------------------------------------------------------ +# These settings determine which file and database lookup methods are included +# in the binary. See the manual chapter entitled "File and database lookups" +# for discussion. DBM and lsearch (linear search) are included by default. If +# you are unsure about the others, leave them commented out for now. +# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is +# for the specialist case of using the DNS as a general database facility (not +# common). +# If set to "2" instead of "yes" then the corresponding lookup will be +# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to +# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to +# EXTRALIBS so that dlopen() is available to Exim. You need to define +# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup +# modules. +# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and +# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS +# (where * is the name as given here in this list). That ensures that only +# the dynamic library and not the exim binary will be linked against the +# library. +# NOTE: LDAP cannot be built as a module! +# +# For Redis you need to have hiredis installed on your system +# (https://github.com/redis/hiredis). +# Depending on where it is installed you may have to edit the CFLAGS +# (often += -I/usr/local/include) and LDFLAGS (-lhiredis) lines. + +# If your system has pkg-config then the _INCLUDE/_LIBS setting can be +# handled for you automatically by also defining the _PC variable to reference +# the name of the pkg-config package, if such is available. + +LOOKUP_DBM=yes +LOOKUP_LSEARCH=yes +LOOKUP_DNSDB=yes + +# LOOKUP_CDB=yes +# LOOKUP_DSEARCH=yes +# LOOKUP_IBASE=yes +# LOOKUP_JSON=yes +# LOOKUP_LDAP=yes +# LOOKUP_MYSQL=yes +# LOOKUP_MYSQL_PC=mariadb +# LOOKUP_NIS=yes +# LOOKUP_NISPLUS=yes +# LOOKUP_ORACLE=yes +# LOOKUP_PASSWD=yes +# LOOKUP_PGSQL=yes +# LOOKUP_REDIS=yes +# LOOKUP_SQLITE=yes +# LOOKUP_SQLITE_PC=sqlite3 +# LOOKUP_WHOSON=yes + +# These two settings are obsolete; all three lookups are compiled when +# LOOKUP_LSEARCH is enabled. However, we retain these for backward +# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. + +# LOOKUP_WILDLSEARCH=yes +# LOOKUP_NWILDLSEARCH=yes + + +# Some platforms may need this for LOOKUP_NIS: +# LIBS += -lnsl + +#------------------------------------------------------------------------------ +# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate +# which LDAP library you have. Unfortunately, though most of their functions +# are the same, there are minor differences. Currently Exim knows about four +# LDAP libraries: the one from the University of Michigan (also known as +# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes +# with Solaris 7 onwards. Uncomment whichever of these you are using. + +# LDAP_LIB_TYPE=OPENLDAP1 +# LDAP_LIB_TYPE=OPENLDAP2 +# LDAP_LIB_TYPE=NETSCAPE +# LDAP_LIB_TYPE=SOLARIS + +# If you don't set any of these, Exim assumes the original University of +# Michigan (OpenLDAP 1) library. + + +#------------------------------------------------------------------------------ +# The PCRE library is required for Exim. There is no longer an embedded +# version of the PCRE library included with the source code, instead you +# must use a system library or build your own copy of PCRE. +# In either case you must specify the library link info here. If the +# PCRE header files are not in the standard search path you must also +# modify the INCLUDE path (above) +# +# Use PCRE_CONFIG to query the pcre-config command (first found in $PATH) +# to find the include files and libraries, else use PCRE_LIBS and set INCLUDE +# too if needed. + +PCRE_CONFIG=yes +# PCRE_LIBS=-lpcre + + +#------------------------------------------------------------------------------ +# Comment out the following line to remove DANE support +# Note: Enabling this unconditionally overrides DISABLE_DNSSEC +# forces you to have SUPPORT_TLS enabled (the default). For DANE under +# GnuTLS we need an additional library. See TLS_LIBS or USE_GNUTLS_PC +# below. +SUPPORT_DANE=yes + +#------------------------------------------------------------------------------ +# Additional libraries and include directories may be required for some +# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on +# the command for linking Exim itself, not on any auxiliary programs. You +# don't need to set LOOKUP_INCLUDE if the relevant directories are already +# specified in INCLUDE. The settings below are just examples; -lpq is for +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite, -lhiredis +# is for Redis, -ljansson for JSON. +# +# You do not need to use this for any lookup information added via pkg-config. + +# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 + + +#------------------------------------------------------------------------------ +# Compiling the Exim monitor: If you want to compile the Exim monitor, a +# program that requires an X11 display, then EXIM_MONITOR should be set to the +# value "eximon.bin". De-comment this setting to enable compilation of the +# monitor. The locations of various X11 directories for libraries and include +# files are defaulted in the OS/Makefile-Default file, but can be overridden in +# local OS-specific make files. + +# EXIM_MONITOR=eximon.bin + + +#------------------------------------------------------------------------------ +# Compiling Exim with content scanning support: If you want to compile Exim +# with support for message body content scanning, set WITH_CONTENT_SCAN to +# the value "yes". This will give you malware and spam scanning in the DATA ACL, +# and the MIME ACL. Please read the documentation to learn more about these +# features. + +# WITH_CONTENT_SCAN=yes + +# If you have content scanning you may wish to only include some of the scanner +# interfaces. Uncomment any of these lines to remove that code. + +# DISABLE_MAL_FFROTD=yes +# DISABLE_MAL_FFROT6D=yes +# DISABLE_MAL_DRWEB=yes +# DISABLE_MAL_FSECURE=yes +# DISABLE_MAL_SOPHIE=yes +# DISABLE_MAL_CLAM=yes +# DISABLE_MAL_AVAST=yes +# DISABLE_MAL_SOCK=yes +# DISABLE_MAL_CMDLINE=yes + +# These scanners are claimed to be no longer existent. + +DISABLE_MAL_AVE=yes +DISABLE_MAL_KAV=yes +DISABLE_MAL_MKS=yes + + +#------------------------------------------------------------------------------ +# If built with TLS, Exim includes code to support DKIM (DomainKeys Identified +# Mail, RFC4871) signing and verification. Verification of signatures is +# turned on by default. See the spec for information on conditionally +# disabling it. To disable the inclusion of the entire feature, set +# DISABLE_DKIM to "yes" + +# DISABLE_DKIM=yes + +#------------------------------------------------------------------------------ +# Uncomment the following line to remove Per-Recipient-Data-Response support. + +# DISABLE_PRDR=yes + +#------------------------------------------------------------------------------ +# Uncomment the following line to remove OCSP stapling support in TLS, +# from Exim. Note it can only be supported when built with +# GnuTLS 3.1.3 or later, or OpenSSL + +# DISABLE_OCSP=yes + +#------------------------------------------------------------------------------ +# By default, Exim has support for checking the AD bit in a DNS response, to +# determine if DNSSEC validation was successful. If your system libraries +# do not support that bit, then set DISABLE_DNSSEC to "yes" +# Note: Enabling SUPPORT_DANE unconditionally overrides this setting. + +# DISABLE_DNSSEC=yes + +# To disable support for Events set DISABLE_EVENT to "yes" + +# DISABLE_EVENT=yes + + +# Uncomment this line to include support for early pipelining, per +# https://datatracker.ietf.org/doc/draft-harris-early-pipe/ +# SUPPORT_PIPE_CONNECT=yes + + +#------------------------------------------------------------------------------ +# Compiling Exim with experimental features. These are documented in +# experimental-spec.txt. "Experimental" means that the way these features are +# implemented may still change. Backward compatibility is not guaranteed. + +# Uncomment the following line to add support for talking to dccifd. This +# defaults the socket path to /usr/local/dcc/var/dccifd. +# Doing so will also explicitly turn on the WITH_CONTENT_SCAN option. + +# EXPERIMENTAL_DCC=yes + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support. +# You need to have libsrs_alt installed on your system (srs.mirtol.com). +# Depending on where it is installed you may have to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_SRS=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lsrs_alt + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support +# using only native facilities. +# EXPERIMENTAL_SRS_NATIVE=yes + +# Uncomment the following line to add DMARC checking capability, implemented +# using libopendmarc libraries. You must have SPF and DKIM support enabled also. +# SUPPORT_DMARC=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lopendmarc +# Uncomment the following if you need to change the default. You can +# override it at runtime (main config option dmarc_tld_file) +# DMARC_TLD_FILE=/etc/exim/opendmarc.tlds + +# Uncomment the following line to add ARC (Authenticated Received Chain) +# support. You must have SPF and DKIM support enabled also. +# EXPERIMENTAL_ARC=yes + +# Uncomment the following lines to add Brightmail AntiSpam support. You need +# to have the Brightmail client SDK installed. Please check the experimental +# documentation for implementation details. You need to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_BRIGHTMAIL=yes +# CFLAGS += -I/opt/brightmail/bsdk-6.0/include +# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib + +# Uncomment the following to include extra information in fail DSN message (bounces) +# EXPERIMENTAL_DSN_INFO=yes + +# Uncomment the following to add LMDB lookup support +# You need to have LMDB installed on your system (https://github.com/LMDB/lmdb) +# Depending on where it is installed you may have to edit the CFLAGS and LDFLAGS lines. +# EXPERIMENTAL_LMDB=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -llmdb + +# Uncomment the following line to add queuefile transport support +# EXPERIMENTAL_QUEUEFILE=yes + +# Uncomment the following line to include support for TLS Resumption +# EXPERIMENTAL_TLS_RESUME=yes + +# Uncomment the following to include the fast-ramp two-phase-queue-run support +# EXPERIMENTAL_QUEUE_RAMP=yes + +############################################################################### +# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # +############################################################################### + +# The items in this section are those that are commonly changed according to +# the sysadmin's preferences, but whose defaults are often acceptable. The +# first five are concerned with security issues, where differing levels of +# paranoia are appropriate in different environments. Sysadmins also vary in +# their views on appropriate levels of defence in these areas. If you do not +# understand these issues, go with the defaults, which are used by many sites. + + +#------------------------------------------------------------------------------ +# Although Exim is normally a setuid program, owned by root, it refuses to run +# local deliveries as root by default. There is a runtime option called +# "never_users" which lists the users that must never be used for local +# deliveries. There is also the setting below, which provides a list that +# cannot be overridden at runtime. This guards against problems caused by +# unauthorized changes to the runtime configuration. You are advised not to +# remove "root" from this option, but you can add other users if you want. The +# list is colon-separated. It must NOT contain any spaces. + +# FIXED_NEVER_USERS=root:bin:daemon +FIXED_NEVER_USERS=root + + +#------------------------------------------------------------------------------ +# By default, Exim insists that its configuration file be owned by root. You +# can specify one additional permitted owner here. + +# CONFIGURE_OWNER= + +# If the configuration file is group-writeable, Exim insists by default that it +# is owned by root. You can specify one additional permitted group owner here. + +# CONFIGURE_GROUP= + +# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked +# up at build time, and the uid or gid number is built into the binary. +# However, you can specify that the lookup is deferred until runtime. In this +# case, it is the name that is built into the binary. You can do this by a +# setting of the form: + +# CONFIGURE_OWNER=ref:mail +# CONFIGURE_GROUP=ref:sysadmin + +# In other words, put "ref:" in front of the user or group name. Although this +# costs a bit of resource at runtime, it is convenient to use this feature when +# building binaries that are to be run on multiple systems where the names may +# refer to different uids or gids. It also allows you to build Exim on a system +# where the relevant user or group is not defined. + + +#------------------------------------------------------------------------------ +# The -C option allows Exim to be run with an alternate runtime configuration +# file. When this is used by root, root privilege is retained by the binary +# (for any other caller including the Exim user, it is dropped). You can +# restrict the location of alternate configurations by defining a prefix below. +# Any file used with -C must then start with this prefix (except that /dev/null +# is also permitted if the caller is root, because that is used in the install +# script). If the prefix specifies a directory that is owned by root, a +# compromise of the Exim account does not permit arbitrary alternate +# configurations to be used. The prefix can be more restrictive than just a +# directory (the second example). + +# ALT_CONFIG_PREFIX=/some/directory/ +# ALT_CONFIG_PREFIX=/some/directory/exim.conf- + + +#------------------------------------------------------------------------------ +# When a user other than root uses the -C option to override the configuration +# file (including the Exim user when re-executing Exim to regain root +# privileges for local message delivery), this will normally cause Exim to +# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which +# contains a list of trusted configuration filenames, one per line. If the -C +# option is used by the Exim user or by the user specified in the +# CONFIGURE_OWNER setting, to specify a configuration file which is listed in +# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim. + +# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs + + +#------------------------------------------------------------------------------ +# Uncommenting this option disables the use of the -D command line option, +# which changes the values of macros in the runtime configuration file. +# This is another protection against somebody breaking into the Exim account. + +# DISABLE_D_OPTION=yes + + +#------------------------------------------------------------------------------ +# By contrast, you might be maintaining a system which relies upon the ability +# to override values with -D and assumes that these will be passed through to +# the delivery processes. As of Exim 4.73, this is no longer the case by +# default. Going forward, we strongly recommend that you use a shim Exim +# configuration file owned by root stored under TRUSTED_CONFIG_LIST. +# That shim can set macros before .include'ing your main configuration file. +# +# As a strictly transient measure to ease migration to 4.73, the +# WHITELIST_D_MACROS value defines a colon-separated list of macro-names +# which are permitted to be overridden from the command-line which will be +# honoured by the Exim user. So these are macros that can persist to delivery +# time. +# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the +# command-line are filtered to only permit: [A-Za-z0-9_/.-]* +# +# This option is highly likely to be removed in a future release. It exists +# only to make 4.73 as easy as possible to migrate to. If you use it, we +# encourage you to schedule time to rework your configuration to not depend +# upon it. Most people should not need to use this. +# +# By default, no macros are whitelisted for -D usage. + +# WHITELIST_D_MACROS=TLS:SPOOL + +#------------------------------------------------------------------------------ +# Exim has support for the AUTH (authentication) extension of the SMTP +# protocol, as defined by RFC 2554. If you don't know what SMTP authentication +# is, you probably won't want to include this code, so you should leave these +# settings commented out. If you do want to make use of SMTP authentication, +# you must uncomment at least one of the following, so that appropriate code is +# included in the Exim binary. You will then need to set up the run time +# configuration to make use of the mechanism(s) selected. + +# AUTH_CRAM_MD5=yes +# AUTH_CYRUS_SASL=yes +# AUTH_DOVECOT=yes +# AUTH_EXTERNAL=yes +# AUTH_GSASL=yes +# AUTH_GSASL_PC=libgsasl +# AUTH_HEIMDAL_GSSAPI=yes +# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi +# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi heimdal-krb5 +# AUTH_PLAINTEXT=yes +# AUTH_SPA=yes +# AUTH_TLS=yes + +# Heimdal through 1.5 required pkg-config 'heimdal-gssapi'; Heimdal 7.1 +# requires multiple pkg-config files to work with Exim, so the second example +# above is needed. + +#------------------------------------------------------------------------------ +# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the +# Cyrus SASL library installed before trying to build Exim, and you probably +# want to uncomment the first line below. +# Similarly for GNU SASL, unless pkg-config is used via AUTH_GSASL_PC. +# Ditto for AUTH_HEIMDAL_GSSAPI(_PC). + +# AUTH_LIBS=-lsasl2 +# AUTH_LIBS=-lgsasl +# AUTH_LIBS=-lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lhcrypto -lasn1 -lwind -lroken -lcrypt + +# If using AUTH_GSASL with SCRAM methods, you should also be defining +# SUPPORT_I18N to get standards-conformant support of utf8 normalization. + + +#------------------------------------------------------------------------------ +# When Exim is decoding MIME "words" in header lines, most commonly for use +# in the $header_xxx expansion, it converts any foreign character sets to the +# one that is set in the headers_charset option. The default setting is +# defined by this setting: + +HEADERS_CHARSET="ISO-8859-1" + +# If you are going to make use of $header_xxx expansions in your configuration +# file, or if your users are going to use them in filter files, and the normal +# character set on your host is something other than ISO-8859-1, you might +# like to specify a different default here. This value can be overridden in +# the runtime configuration, and it can also be overridden in individual filter +# files. +# +# IMPORTANT NOTE: The iconv() function is needed for character code +# conversions. Please see the next item... + + +#------------------------------------------------------------------------------ +# Character code conversions are possible only if the iconv() function is +# installed on your operating system. There are two places in Exim where this +# is relevant: (a) The $header_xxx expansion (see the previous item), and (b) +# the Sieve filter support. For those OS where iconv() is known to be installed +# as standard, the file in OS/Makefile-xxxx contains +# +# HAVE_ICONV=yes +# +# If you are not using one of those systems, but have installed iconv(), you +# need to uncomment that line above. In some cases, you may find that iconv() +# and its header file are not in the default places. You might need to use +# something like this: +# +# HAVE_ICONV=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -liconv +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# nb: FreeBSD as of 4.89 defines LIBICONV_PLUG to pick up the system iconv +# more reliably. If you explicitly want the libiconv Port then as well +# as adding -liconv you'll want to unset LIBICONV_PLUG. If you actually need +# this, let us know, but for now the Exim Maintainers are assuming that this +# is uncommon and so you'll need to edit OS/os.h-FreeBSD yourself to remove +# the define. + + +#------------------------------------------------------------------------------ +# The passwords for user accounts are normally encrypted with the crypt() +# function. Comparisons with encrypted passwords can be done using Exim's +# "crypteq" expansion operator. (This is commonly used as part of the +# configuration of an authenticator for use with SMTP AUTH.) At least one +# operating system has an extended function called crypt16(), which uses up to +# 16 characters of a password (the normal crypt() uses only the first 8). Exim +# supports the use of crypt16() as well as crypt() but note the warning below. + +# You can always indicate a crypt16-encrypted password by preceding it with +# "{crypt16}". If you want the default handling (without any preceding +# indicator) to use crypt16(), uncomment the following line: + +# DEFAULT_CRYPT=crypt16 + +# If you do that, you can still access the basic crypt() function by preceding +# an encrypted password with "{crypt}". For more details, see the description +# of the "crypteq" condition in the manual chapter on string expansions. + +# Some operating systems do not include a crypt16() function, so Exim has one +# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will +# be set in an OS-specific Makefile for the OS that have such a function, so +# you should not need to bother with it. + +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** +# It turns out that the above is not entirely accurate. As well as crypt16() +# there is a function called bigcrypt() that some operating systems have. This +# may or may not use the same algorithm, and both of them may be different to +# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined. +# +# However, since there is now a move away from the traditional crypt() +# functions towards using SHA1 and other algorithms, tidying up this area of +# Exim is seen as very low priority. In practice, if you need to, you can +# define DEFAULT_CRYPT to the name of any function that has the same interface +# as the traditional crypt() function. +# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** + + +#------------------------------------------------------------------------------ +# The default distribution of Exim contains only the plain text form of the +# documentation. Other forms are available separately. If you want to install +# the documentation in "info" format, first fetch the Texinfo documentation +# sources from the ftp directory and unpack them, which should create files +# with the extension "texinfo" in the doc directory. You may find that the +# version number of the texinfo files is different to your Exim version number, +# because the main documentation isn't updated as often as the code. For +# example, if you have Exim version 4.43, the source tarball unpacks into a +# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40. +# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you +# have unpacked them. Then set INFO_DIRECTORY to the location of your info +# directory. This varies from system to system, but is often /usr/share/info. +# Once you have done this, "make install" will build the info files and +# install them in the directory you have defined. + +# INFO_DIRECTORY=/usr/share/info + + +#------------------------------------------------------------------------------ +# Exim log directory and files: Exim creates several log files inside a +# single log directory. You can define the directory and the form of the +# log file name here. If you do not set anything, Exim creates a directory +# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses +# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change +# this, you can set LOG_FILE_PATH to a path name containing one occurrence of +# %s. This will be replaced by one of the strings "main", "panic", or "reject" +# to form the final file names. Some installations may want something like this: + +# LOG_FILE_PATH=/var/log/exim_%slog + +# which results in files with names /var/log/exim_mainlog, etc. The directory +# in which the log files are placed must exist; Exim does not try to create +# it for itself. It is also your responsibility to ensure that Exim is capable +# of writing files using this path name. The Exim user (see EXIM_USER above) +# must be able to create and update files in the directory you have specified. + +# You can also configure Exim to use syslog, instead of or as well as log +# files, by settings such as these + +# LOG_FILE_PATH=syslog +# LOG_FILE_PATH=syslog:/var/log/exim_%slog + +# The first of these uses only syslog; the second uses syslog and also writes +# to log files. Do not include white space in such a setting as it messes up +# the building process. + + +#------------------------------------------------------------------------------ +# When logging to syslog, the following option caters for syslog replacements +# that are able to accept log entries longer than the 1024 characters allowed +# by RFC 3164. It is up to you to make sure your syslog daemon can handle this. +# Non-printable characters are usually unacceptable regardless, so log entries +# are still split on newline characters. + +# SYSLOG_LONG_LINES=yes + +# If you are not interested in the process identifier (pid) of the Exim that is +# making the call to syslog, then comment out the following line. + +SYSLOG_LOG_PID=yes + + +#------------------------------------------------------------------------------ +# Cycling log files: this variable specifies the maximum number of old +# log files that are kept by the exicyclog log-cycling script. You don't have +# to use exicyclog. If your operating system has other ways of cycling log +# files, you can use them instead. The exicyclog script isn't run by default; +# you have to set up a cron job for it if you want it. + +EXICYCLOG_MAX=10 + + +#------------------------------------------------------------------------------ +# The compress command is used by the exicyclog script to compress old log +# files. Both the name of the command and the suffix that it adds to files +# need to be defined here. See also the EXICYCLOG_MAX configuration. + +COMPRESS_COMMAND=/usr/bin/gzip +COMPRESS_SUFFIX=gz + + +#------------------------------------------------------------------------------ +# If the exigrep utility is fed compressed log files, it tries to uncompress +# them using this command. + +# Leave it empty to enforce autodetection at runtime: +# ZCAT_COMMAND= +# +# Omit the path if you want to use your system's PATH: +# ZCAT_COMMAND=zcat +# +# Or specify the full pathname: +ZCAT_COMMAND=/usr/bin/zcat + +#------------------------------------------------------------------------------ +# Compiling in support for embedded Perl: If you want to be able to +# use Perl code in Exim's string manipulation language and you have Perl +# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded +# Perl costs quite a lot of resources. Only do this if you really need it. + +# EXIM_PERL=perl.o + + +#------------------------------------------------------------------------------ +# Support for dynamically-loaded string expansion functions via ${dlfunc. If +# you are using gcc the dynamically-loaded object must be compiled with the +# -shared option, and you will need to add -export-dynamic to EXTRALIBS so +# that the local_scan API is made available by the linker. You may also need +# to add -ldl to EXTRALIBS so that dlopen() is available to Exim. + +# EXPAND_DLFUNC=yes + + +#------------------------------------------------------------------------------ +# Exim has support for PAM (Pluggable Authentication Modules), a facility +# which is available in the latest releases of Solaris and in some GNU/Linux +# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim +# support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by the following setting: + +# SUPPORT_PAM=yes + +# You probably need to add -lpam to EXTRALIBS, and in some releases of +# GNU/Linux -ldl is also needed. + + +#------------------------------------------------------------------------------ +# Proxying. +# +# If you may want to use outbound (client-side) proxying, using Socks5, +# uncomment the line below. + +# SUPPORT_SOCKS=yes + +# If you may want to use inbound (server-side) proxying, using Proxy Protocol, +# uncomment the line below. + +# SUPPORT_PROXY=yes + + +#------------------------------------------------------------------------------ +# Internationalisation. +# +# Uncomment the following to include Internationalisation features. This is the +# SMTPUTF8 ESMTP extension, and associated facilities for handling UTF8 domain +# and localparts, per RFC 3490 (IDNA2003). +# You need to have the IDN library installed. +# If you want IDNA2008 mappings per RFCs 5890, 6530 and 6533, you additionally +# need libidn2 and SUPPORT_I18N_2008. + +# SUPPORT_I18N=yes +# LDFLAGS += -lidn +# SUPPORT_I18N_2008=yes +# LDFLAGS += -lidn -lidn2 + + +#------------------------------------------------------------------------------ +# Uncomment the following lines to add SPF support. You need to have libspf2 +# installed on your system (www.libspf2.org). Depending on where it is installed +# you may have to edit the CFLAGS and LDFLAGS lines. + +# SUPPORT_SPF=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lspf2 + + +#------------------------------------------------------------------------------ +# Support for authentication via Radius is also available. The Exim support, +# which is intended for use in conjunction with the SMTP AUTH facilities, +# is included only when requested by setting the following parameter to the +# location of your Radius configuration file: + +# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf +# RADIUS_CONFIG_FILE=/etc/radius.conf + +# If you have set RADIUS_CONFIG_FILE, you should also set one of these to +# indicate which RADIUS library is used: + +# RADIUS_LIB_TYPE=RADIUSCLIENT +# RADIUS_LIB_TYPE=RADIUSCLIENTNEW +# RADIUS_LIB_TYPE=RADLIB + +# RADIUSCLIENT is the radiusclient library; you probably need to add +# -lradiusclient to EXTRALIBS. +# +# The API for the radiusclient library was changed at release 0.4.0. +# Unfortunately, the header file does not define a version number that clients +# can use to support both the old and new APIs. If you are using version 0.4.0 +# or later of the radiusclient library, you should use RADIUSCLIENTNEW. +# +# RADLIB is the Radius library that comes with FreeBSD (the header file is +# called radlib.h); you probably need to add -lradius to EXTRALIBS. +# +# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library, +# using the original API. + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL pwcheck daemon is available. +# Note, however, that pwcheck is now deprecated in favour of saslauthd (see +# next item). The Exim support for pwcheck, which is intented for use in +# conjunction with the SMTP AUTH facilities, is included only when requested by +# setting the following parameter to the location of the pwcheck daemon's +# socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-pwcheck, cd to the pwcheck directory within the sources, +# make and make install. You must create the socket directory (default +# /var/pwcheck) and chown it to Exim's user and group. Once you have installed +# pwcheck, you should arrange for it to be started by root at boot time. + +# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck + + +#------------------------------------------------------------------------------ +# Support for authentication via the Cyrus SASL saslauthd daemon is available. +# The Exim support, which is intended for use in conjunction with the SMTP AUTH +# facilities, is included only when requested by setting the following +# parameter to the location of the saslauthd daemon's socket. +# +# There is no need to install all of SASL on your system. You just need to run +# ./configure --with-saslauthd (and any other options you need, for example, to +# select or deselect authentication mechanisms), cd to the saslauthd directory +# within the sources, make and make install. You must create the socket +# directory (default /var/state/saslauthd) and chown it to Exim's user and +# group. Once you have installed saslauthd, you should arrange for it to be +# started by root at boot time. + +# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux + + +#------------------------------------------------------------------------------ +# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment +# this setting. See the manual section entitled "Use of tcpwrappers" in the +# chapter on building and installing Exim. +# +# USE_TCP_WRAPPERS=yes +# +# You may well also have to specify a local "include" file and an additional +# library for TCP wrappers, so you probably need something like this: +# +# USE_TCP_WRAPPERS=yes +# CFLAGS=-O -I/usr/local/include +# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap +# +# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM +# as well. +# +# To use a name other than exim in the tcpwrappers config file, +# e.g. if you're running multiple daemons with different access lists, +# or multiple MTAs with the same access list, define +# TCP_WRAPPERS_DAEMON_NAME accordingly +# +# TCP_WRAPPERS_DAEMON_NAME="exim" + + +#------------------------------------------------------------------------------ +# The default action of the exim_install script (which is run by "make +# install") is to install the Exim binary with a unique name such as +# exim-4.43-1, and then set up a symbolic link called "exim" to reference it, +# moving the symbolic link from any previous version. If you define NO_SYMLINK +# (the value doesn't matter), the symbolic link is not created or moved. You +# will then have to "turn Exim on" by setting up the link manually. + +# NO_SYMLINK=yes + + +#------------------------------------------------------------------------------ +# Another default action of the install script is to install a default runtime +# configuration file if one does not exist. This configuration has a router for +# expanding system aliases. The default assumes that these aliases are kept +# in the traditional file called /etc/aliases. If such a file does not exist, +# the installation script creates one that contains just comments (no actual +# aliases). The following setting can be changed to specify a different +# location for the system alias file. + +SYSTEM_ALIASES_FILE=/etc/aliases + + +#------------------------------------------------------------------------------ +# There are some testing options (-be, -bt, -bv) that read data from the +# standard input when no arguments are supplied. By default, the input lines +# are read using the standard fgets() function. This does not support line +# editing during interactive input (though the terminal's "erase" character +# works as normal). If your operating system has the readline() function, and +# in addition supports dynamic loading of library functions, you can cause +# Exim to use readline() for the -be testing option (only) by uncommenting the +# following setting. Dynamic loading is used so that the library is loaded only +# when the -be testing option is given; by the time the loading occurs, +# Exim has given up its root privilege and is running as the calling user. This +# is the reason why readline() is NOT supported for -bt and -bv, because Exim +# runs as root or as exim, respectively, for those options. When USE_READLINE +# is "yes", as well as supporting line editing, a history of input lines in the +# current run is maintained. + +# USE_READLINE=yes + +# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes. +# Note that this option adds to the size of the Exim binary, because the +# dynamic loading library is not otherwise included. + +# If libreadline is not in the normal library paths, then because Exim is +# setuid you'll need to ensure that the correct directory is stamped into +# the binary so that dlopen will find it. +# Eg, on macOS/Darwin with a third-party install of libreadline, perhaps: + +# EXTRALIBS_EXIM+=-Wl,-rpath,/usr/local/opt/readline/lib + + +#------------------------------------------------------------------------------ +# Uncomment this setting to include IPv6 support. + +# HAVE_IPV6=yes + +############################################################################### +# THINGS YOU ALMOST NEVER NEED TO MENTION # +############################################################################### + +# The settings in this section are available for use in special circumstances. +# In the vast majority of installations you need not change anything below. + + +#------------------------------------------------------------------------------ +# The following commands live in different places in some OS. Either the +# ultimate default settings, or the OS-specific files should already point to +# the right place, but they can be overridden here if necessary. These settings +# are used when building various scripts to ensure that the correct paths are +# used when the scripts are run. They are not used in the Makefile itself. Perl +# is not necessary for running Exim unless you set EXIM_PERL (see above) to get +# it embedded, but there are some utilities that are Perl scripts. If you +# haven't got Perl, Exim will still build and run; you just won't be able to +# use those utilities. + +# CHOWN_COMMAND=/usr/bin/chown +# CHGRP_COMMAND=/usr/bin/chgrp +# CHMOD_COMMAND=/usr/bin/chmod +# MV_COMMAND=/bin/mv +# RM_COMMAND=/bin/rm +# TOUCH_COMMAND=/usr/bin/touch +# PERL_COMMAND=/usr/bin/perl + + +#------------------------------------------------------------------------------ +# The following macro can be used to change the command for building a library +# of functions. By default the "ar" command is used, with options "cq". +# Only in rare circumstances should you need to change this. + +# AR=ar cq + + +#------------------------------------------------------------------------------ +# In some operating systems, the value of the TMPDIR environment variable +# controls where temporary files are created. Exim does not make use of +# temporary files, except when delivering to MBX mailboxes. However, if Exim +# calls any external libraries (e.g. DBM libraries), they may use temporary +# files, and thus be influenced by the value of TMPDIR. For this reason, when +# Exim starts, it checks the environment for TMPDIR, and if it finds it is set, +# it replaces the value with what is defined here. Commenting this setting +# suppresses the check altogether. Older installations call this macro +# just TMPDIR, but this has side effects at build time. At runtime +# TMPDIR is checked as before. + +EXIM_TMPDIR="/tmp" + + +#------------------------------------------------------------------------------ +# The following macros can be used to change the default modes that are used +# by the appendfile transport. In most installations the defaults are just +# fine, and in any case, you can change particular instances of the transport +# at run time if you want. + +# APPENDFILE_MODE=0600 +# APPENDFILE_DIRECTORY_MODE=0700 +# APPENDFILE_LOCKFILE_MODE=0600 + + +#------------------------------------------------------------------------------ +# In some installations there may be multiple machines sharing file systems, +# where a different configuration file is required for Exim on the different +# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look +# for a configuration file whose name is that defined by CONFIGURE_FILE, +# with the node name obtained by uname() tacked on the end, separated by a +# period (for example, /usr/exim/configure.host.in.some.domain). If this file +# does not exist, then the bare configuration file name is tried. + +# CONFIGURE_FILE_USE_NODE=yes + + +#------------------------------------------------------------------------------ +# In some esoteric configurations two different versions of Exim are run, +# with different setuid values, and different configuration files are required +# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then +# Exim will first look for a configuration file whose name is that defined +# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by +# a period (for example, /usr/exim/configure.0). If this file does not exist, +# then the bare configuration file name is tried. In the case when both +# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files +# are tried: .., ., ., and . + +# CONFIGURE_FILE_USE_EUID=yes + + +#------------------------------------------------------------------------------ +# The size of the delivery buffers: These specify the sizes (in bytes) of +# the buffers that are used when copying a message from the spool to a +# destination. There is rarely any need to change these values. + +# DELIVER_IN_BUFFER_SIZE=8192 +# DELIVER_OUT_BUFFER_SIZE=8192 + + +#------------------------------------------------------------------------------ +# The mode of the database directory: Exim creates a directory called "db" +# in its spool directory, to hold its databases of hints. This variable +# determines the mode of the created directory. The default value in the +# source is 0750. + +# EXIMDB_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# Database file mode: The mode of files created in the "db" directory defaults +# to 0640 in the source, and can be changed here. + +# EXIMDB_MODE=0640 + + +#------------------------------------------------------------------------------ +# Database lock file mode: The mode of zero-length files created in the "db" +# directory to use for locking purposes defaults to 0640 in the source, and +# can be changed here. + +# EXIMDB_LOCKFILE_MODE=0640 + + +#------------------------------------------------------------------------------ +# This parameter sets the maximum length of the header portion of a message +# that Exim is prepared to process. The default setting is one megabyte. The +# limit exists in order to catch rogue mailers that might connect to your SMTP +# port, start off a header line, and then just pump junk at it for ever. The +# message_size_limit option would also catch this, but it may not be set. +# The value set here is the default; it can be changed at runtime. + +# HEADER_MAXSIZE="(1024*1024)" + + +#------------------------------------------------------------------------------ +# The mode of the input directory: The input directory is where messages are +# kept while awaiting delivery. Exim creates it if necessary, using a mode +# which can be defined here (default 0750). + +# INPUT_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of Exim's log directory, when it is created by Exim inside the spool +# directory, defaults to 0750 but can be changed here. + +# LOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The log files themselves are created as required, with a mode that defaults +# to 0640, but which can be changed here. + +# LOG_MODE=0640 + + +#------------------------------------------------------------------------------ +# The TESTDB lookup is for performing tests on the handling of lookup results, +# and is not useful for general running. It should be included only when +# debugging the code of Exim. + +# LOOKUP_TESTDB=yes + + +#------------------------------------------------------------------------------ +# /bin/sh is used by default as the shell in which to run commands that are +# defined in the makefiles. This can be changed if necessary, by uncommenting +# this line and specifying another shell, but note that a Bourne-compatible +# shell is expected. + +# MAKE_SHELL=/bin/sh + + +#------------------------------------------------------------------------------ +# The maximum number of named lists of each type (address, domain, host, and +# local part) can be increased by changing this value. It should be set to +# a multiple of 16. + +# MAX_NAMED_LIST=16 + + +#------------------------------------------------------------------------------ +# Network interfaces: Unless you set the local_interfaces option in the runtime +# configuration file to restrict Exim to certain interfaces only, it will run +# code to find all the interfaces there are on your host. Unfortunately, +# the call to the OS that does this requires a buffer large enough to hold +# data for all the interfaces - it was designed in the days when a host rarely +# had more than three or four interfaces. Nowadays hosts can have very many +# virtual interfaces running on the same hardware. If you have more than 250 +# virtual interfaces, you will need to uncomment this setting and increase the +# value. + +# MAXINTERFACES=250 + + +#------------------------------------------------------------------------------ +# Per-message logs: While a message is in the process of being delivered, +# comments on its progress are written to a message log, for the benefit of +# human administrators. These logs are held in a directory called "msglog" +# in the spool directory. Its mode defaults to 0750, but can be changed here. +# The message log directory is also used for storing files that are used by +# transports for returning data to a message's sender (see the "return_output" +# option for transports). + +# MSGLOG_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# There are three options which are used when compiling the Perl interface and +# when linking with Perl. The default values for these are placed automatically +# at the head of the Makefile by the script which builds it. However, if you +# want to override them, you can do so here. + +# PERL_CC= +# PERL_CCOPTS= +# PERL_LIBS= + + +#------------------------------------------------------------------------------ +# If you wish to disable valgrind in the binary, define NVALGRIND=1. +# This should not be needed. + +# NVALGRIND=1 + +#------------------------------------------------------------------------------ +# Identifying the daemon: When an Exim daemon starts up, it writes its pid +# (process id) to a file so that it can easily be identified. The path of the +# file can be specified here. Some installations may want something like this: + +# PID_FILE_PATH=/var/lock/exim.pid + +# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory +# using the name "exim-daemon.pid". + +# If you start up a daemon without the -bd option (for example, with just +# the -q15m option), a pid file is not written. Also, if you override the +# configuration file with the -oX option, no pid file is written. In other +# words, the pid file is written only for a "standard" daemon. + + +#------------------------------------------------------------------------------ +# If Exim creates the spool directory, it is given this mode, defaulting in the +# source to 0750. + +# SPOOL_DIRECTORY_MODE=0750 + + +#------------------------------------------------------------------------------ +# The mode of files on the input spool which hold the contents of messages can +# be changed here. The default is 0640 so that information from the spool is +# available to anyone who is a member of the Exim group. + +# SPOOL_MODE=0640 + + +#------------------------------------------------------------------------------ +# Moving frozen messages: If the following is uncommented, Exim is compiled +# with support for automatically moving frozen messages out of the main spool +# directory, a facility that is found useful by some large installations. A +# run time option is required to cause the moving actually to occur. Such +# messages become "invisible" to the normal management tools. + +# SUPPORT_MOVE_FROZEN_MESSAGES=yes + + +#------------------------------------------------------------------------------ +# Expanding match_* second parameters: BE CAREFUL IF ENABLING THIS! +# It has proven too easy in practice for administrators to configure security +# problems into their Exim install, by treating match_domain{}{} and friends +# as a form of string comparison, where the second string comes from untrusted +# data. Because these options take lists, which can include lookup;LOOKUPDATA +# style elements, a foe can then cause Exim to, eg, execute an arbitrary MySQL +# query, dropping tables. +# From Exim 4.77 onwards, the second parameter is not expanded; it can still +# be a list literal, or a macro, or a named list reference. There is also +# the new expansion condition "inlisti" which does expand the second parameter, +# but treats it as a list of strings; also, there's "eqi" which is probably +# what is normally wanted. +# +# If you really need to have the old behaviour, know what you are doing and +# will not complain if your system is compromised as a result of doing so, then +# uncomment this option to get the old behaviour back. + +# EXPAND_LISTMATCH_RHS=yes + +#------------------------------------------------------------------------------ +# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you +# really, really, really know what you are doing. And even then, think again. +# You should never uncomment this when compiling a binary for distribution. +# Use it only when compiling Exim for your own use. +# +# Uncommenting this line enables the use of a runtime option called +# disable_fsync, which can be used to stop Exim using fsync() to ensure that +# files are written to disc before proceeding. When this is disabled, crashes +# and hardware problems such as power outages can cause data to be lost. This +# feature should only be used in very exceptional circumstances. YOU HAVE BEEN +# WARNED. + +# ENABLE_DISABLE_FSYNC=yes + +#------------------------------------------------------------------------------ +# For development, add this to include code to time various stages and report. +# CFLAGS += -DMEASURE_TIMING + +# End of EDITME for Exim 4. diff --git a/testing/mta/exim-config/notes/install-notes.txt b/testing/mta/exim-config/notes/install-notes.txt new file mode 100644 index 00000000..5715cfe7 --- /dev/null +++ b/testing/mta/exim-config/notes/install-notes.txt @@ -0,0 +1,9 @@ +debian: + +sudo apt-get install libpcre3-dev +sudo apt-get install libdb5.3-dev +sudo apt-get install libssl-dev +sudo apt-get install libsasl2-dev +sudo apt-get install libidn2-dev +sudo apt-get install libidn11-dev + diff --git a/testing/mta/exim-config/start.sh b/testing/mta/exim-config/start.sh new file mode 100755 index 00000000..9440eef2 --- /dev/null +++ b/testing/mta/exim-config/start.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# can pass args directly through to exim, like: +# ./start.sh -DPROXY=true + +# Turn proxy on: +# -DPROXY=true + +# turn on tls-on-connect +# -tls-on-connect + +sudo /home/jetmore/Documents/git/swaks/testing/mta/exim-install/bin/exim -d -bd -oX 1025 $* diff --git a/testing/mta/postfix-config/LICENSE b/testing/mta/postfix-config/LICENSE new file mode 100644 index 00000000..58ea8f1c --- /dev/null +++ b/testing/mta/postfix-config/LICENSE @@ -0,0 +1,508 @@ +LICENSE - SECURE MAILER + +This software is dual-licensed under both the Eclipse Public License +version 2.0 and the IBM Public License version 1.0, for those who +are more comfortable continuing with that license. Recipients can +choose to take the software under the license of their choice. + +The remainder of this text contains a copy of each license. + +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. + +IBM PUBLIC LICENSE VERSION 1.0 - SECURE MAILER + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE +PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + a) in the case of International Business Machines Corporation ("IBM"), + the Original Program, and + b) in the case of each Contributor, + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate + from and are distributed by that particular Contributor. + A Contribution 'originates' from a Contributor if it was added + to the Program by such Contributor itself or anyone acting on + such Contributor's behalf. + Contributions do not include additions to the Program which: + (i) are separate modules of software distributed in conjunction + with the Program under their own license agreement, and + (ii) are not derivative works of the Program. + +"Contributor" means IBM and any other entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Original Program" means the original version of the software accompanying +this Agreement as released by IBM, including source code, object code +and documentation, if any. + +"Program" means the Original Program and Contributions. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare derivative works of, publicly display, + publicly perform, distribute and sublicense the Contribution of such + Contributor, if any, and such derivative works, in source code and + object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in source code and object code form. This patent license + shall apply to the combination of the Contribution and the Program + if, at the time the Contribution is added by the Contributor, such + addition of the Contribution causes such combination to be covered + by the Licensed Patents. The patent license shall not apply to any + other combinations which include the Contribution. No hardware per + se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the rights + and licenses granted hereunder, each Recipient hereby assumes sole + responsibility to secure any other intellectual property rights + needed, if any. For example, if a third party patent license + is required to allow Recipient to distribute the Program, it is + Recipient's responsibility to acquire that license before distributing + the Program. + + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright + license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + a) it complies with the terms and conditions of this Agreement; and + b) its license agreement: + i) effectively disclaims on behalf of all Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + ii) effectively excludes on behalf of all Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + iii) states that any provisions which differ from this Agreement + are offered by that Contributor alone and not by any other + party; and + iv) states that source code for the Program is available from + such Contributor, and informs licensees how to obtain it in a + reasonable manner on or through a medium customarily used for + software exchange. + +When the Program is made available in source code form: + a) it must be made available under this Agreement; and + b) a copy of this Agreement must be included with each copy of the + Program. + +Each Contributor must include the following in a conspicuous location +in the Program: + + Copyright (c) 1997,1998,1999, International Business Machines + Corporation and others. All Rights Reserved. + +In addition, each Contributor must identify itself as the originator of +its Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, the +Contributor who includes the Program in a commercial product offering +should do so in a manner which does not create potential liability for +other Contributors. Therefore, if a Contributor includes the Program in +a commercial product offering, such Contributor ("Commercial Contributor") +hereby agrees to defend and indemnify every other Contributor +("Indemnified Contributor") against any losses, damages and costs +(collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor +in connection with its distribution of the Program in a commercial +product offering. The obligations in this section do not apply to any +claims or Losses relating to any actual or alleged intellectual property +infringement. In order to qualify, an Indemnified Contributor must: + a) promptly notify the Commercial Contributor in writing of such claim, +and + b) allow the Commercial Contributor to control, and cooperate with + the Commercial Contributor in, the defense and any related + settlement negotiations. The Indemnified Contributor may + participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay those +damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED +ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER +EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR +CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. Each Recipient is solely responsible for determining +the appropriateness of using and distributing the Program and assumes +all risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION +OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with +respect to a patent applicable to software (including a cross-claim or +counterclaim in a lawsuit), then any patent licenses granted by that +Contributor to such Recipient under this Agreement shall terminate +as of the date such litigation is filed. In addition, If Recipient +institutes patent litigation against any entity (including a cross-claim +or counterclaim in a lawsuit) alleging that the Program itself (excluding +combinations of the Program with other software or hardware) infringes +such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails +to comply with any of the material terms or conditions of this Agreement +and does not cure such failure in a reasonable period of time after +becoming aware of such noncompliance. If all Recipient's rights under +this Agreement terminate, Recipient agrees to cease use and distribution +of the Program as soon as reasonably practicable. However, Recipient's +obligations under this Agreement and any licenses granted by Recipient +relating to the Program shall continue and survive. + +IBM may publish new versions (including revisions) of this Agreement +from time to time. Each new version of the Agreement will be given a +distinguishing version number. The Program (including Contributions) +may always be distributed subject to the version of the Agreement under +which it was received. In addition, after a new version of the Agreement +is published, Contributor may elect to distribute the Program (including +its Contributions) under the new version. No one other than IBM has the +right to modify this Agreement. Except as expressly stated in Sections +2(a) and 2(b) above, Recipient receives no rights or licenses to the +intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the +Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to +this Agreement will bring a legal action under this Agreement more than +one year after the cause of action arose. Each party waives its rights +to a jury trial in any resulting litigation. diff --git a/testing/mta/postfix-config/TLS_LICENSE b/testing/mta/postfix-config/TLS_LICENSE new file mode 100644 index 00000000..3d54be27 --- /dev/null +++ b/testing/mta/postfix-config/TLS_LICENSE @@ -0,0 +1,36 @@ +Author: +======= +- Postfix/TLS support was originally developed by Lutz Jaenicke of + Brandenburg University of Technology, Cottbus, Germany. + +License: +======== +- This software is free. You can do with it whatever you want. + I would however kindly ask you to acknowledge the use of this + package, if you are going use it in your software, which you might + be going to distribute. I would also like to receive a note if + you are a satisfied user :-) + +Acknowledgements: +================= +- This package is based on the OpenSSL package as provided by the + ``OpenSSL Project''. + +Disclaimer: +=========== +- This software is provided ``as is''. You are using it at your own risk. + I will take no liability in any case. +- This software package uses strong cryptography, so even if it is created, + maintained and distributed from liberal countries in Europe (where it is + legal to do this), it falls under certain export/import and/or use + restrictions in some other parts of the world. +- PLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG + CRYPTOGRAPHY SOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST + COMMUNICATING TECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS + ILLEGAL IN SOME PARTS OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE + TO YOUR COUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL + TECHNICAL SUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR + OTHER PEOPLE YOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY + EXPORT/IMPORT AND/OR USE LAWS WHICH APPLY TO YOU. THE AUTHOR OF + PFIXTLS IS NOT LIABLE FOR ANY VIOLATIONS YOU MAKE HERE. SO BE + CAREFULLY YOURSELF, IT IS YOUR RESPONSIBILITY. diff --git a/testing/mta/postfix-config/_NOTES/install-notes.txt b/testing/mta/postfix-config/_NOTES/install-notes.txt new file mode 100644 index 00000000..cd2006c2 --- /dev/null +++ b/testing/mta/postfix-config/_NOTES/install-notes.txt @@ -0,0 +1,51 @@ +debian: + +sudo apt-get install m4 + + +make tidy +make makefiles \ + CCARGS="-DUSE_TLS" AUXLIBS="-lssl -lcrypto" \ + config_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-config \ + command_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin \ + daemon_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec \ + data_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib \ + mail_spool_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/mailspool \ + mailq_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq \ + manpage_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man \ + meta_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-config \ + newaliases_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases \ + queue_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue \ + readme_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme \ + sendmail_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail \ + shlib_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib + +make + +# first install: +sudo make install + +# subsequent installs: +sudo make upgrade + +most defaults during install should be acceptable, but needed to provide values for these: +mail_owner: jetmore +setgid_group: mail + +add to main.cf +mydestination = $myhostname, node.example.com +mynetworks = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 +alias_database = texthash:/home/jetmore/Documents/git/swaks/testing/mta/postfix-config/aliases +alias_maps = texthash:/home/jetmore/Documents/git/swaks/testing/mta/postfix-config/aliases +maillog_file = /dev/stdout +smtpd_authorized_xclient_hosts = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 +smtpd_authorized_xforward_hosts = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 +smtpd_tls_cert_file = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.crt +smtpd_tls_key_file = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.key +smtpd_tls_security_level = may + + +edit master.cf, change ^smtp to 1026: +#smtp inet n - n - - smtpd +1026 inet n - n - - smtpd + diff --git a/testing/mta/postfix-config/_START.sh b/testing/mta/postfix-config/_START.sh new file mode 100755 index 00000000..46be5719 --- /dev/null +++ b/testing/mta/postfix-config/_START.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/postfix start-fg diff --git a/testing/mta/postfix-config/_STOP.sh b/testing/mta/postfix-config/_STOP.sh new file mode 100755 index 00000000..293b1a98 --- /dev/null +++ b/testing/mta/postfix-config/_STOP.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/postfix stop diff --git a/testing/mta/postfix-config/access b/testing/mta/postfix-config/access new file mode 100644 index 00000000..257339bf --- /dev/null +++ b/testing/mta/postfix-config/access @@ -0,0 +1,484 @@ +# ACCESS(5) ACCESS(5) +# +# NAME +# access - Postfix SMTP server access table +# +# SYNOPSIS +# postmap /etc/postfix/access +# +# postmap -q "string" /etc/postfix/access +# +# postmap -q - /etc/postfix/access as the lookup key for such addresses. The value is +# specified with the smtpd_null_access_lookup_key parameter +# in the Postfix main.cf file. +# +# EMAIL ADDRESS EXTENSION +# When a mail address localpart contains the optional recip- +# ient delimiter (e.g., user+foo@domain), the lookup order +# becomes: user+foo@domain, user@domain, domain, user+foo@, +# and user@. +# +# HOST NAME/ADDRESS PATTERNS +# With lookups from indexed files such as DB or DBM, or from +# networked tables such as NIS, LDAP or SQL, the following +# lookup patterns are examined in the order as listed: +# +# domain.tld +# Matches domain.tld. +# +# The pattern domain.tld also matches subdomains, but +# only when the string smtpd_access_maps is listed in +# the Postfix parent_domain_matches_subdomains con- +# figuration setting. +# +# .domain.tld +# Matches subdomains of domain.tld, but only when the +# string smtpd_access_maps is not listed in the Post- +# fix parent_domain_matches_subdomains configuration +# setting. +# +# net.work.addr.ess +# +# net.work.addr +# +# net.work +# +# net Matches a remote IPv4 host address or network +# address range. Specify one to four decimal octets +# separated by ".". Do not specify "[]" , "/", lead- +# ing zeros, or hexadecimal forms. +# +# Network ranges are matched by repeatedly truncating +# the last ".octet" from a remote IPv4 host address +# string, until a match is found in the access table, +# or until further truncation is not possible. +# +# NOTE: use the cidr lookup table type to specify +# network/netmask patterns. See cidr_table(5) for +# details. +# +# net:work:addr:ess +# +# net:work:addr +# +# net:work +# +# net Matches a remote IPv6 host address or network +# address range. Specify three to eight hexadecimal +# octet pairs separated by ":", using the compressed +# form "::" for a sequence of zero-valued octet +# pairs. Do not specify "[]", "/", leading zeros, or +# non-compressed forms. +# +# A network range is matched by repeatedly truncating +# the last ":octetpair" from the compressed-form +# remote IPv6 host address string, until a match is +# found in the access table, or until further trunca- +# tion is not possible. +# +# NOTE: use the cidr lookup table type to specify +# network/netmask patterns. See cidr_table(5) for +# details. +# +# IPv6 support is available in Postfix 2.2 and later. +# +# ACCEPT ACTIONS +# OK Accept the address etc. that matches the pattern. +# +# all-numerical +# An all-numerical result is treated as OK. This for- +# mat is generated by address-based relay authoriza- +# tion schemes such as pop-before-smtp. +# +# For other accept actions, see "OTHER ACTIONS" below. +# +# REJECT ACTIONS +# Postfix version 2.3 and later support enhanced status +# codes as defined in RFC 3463. When no code is specified +# at the beginning of the text below, Postfix inserts a +# default enhanced status code of "5.7.1" in the case of +# reject actions, and "4.7.1" in the case of defer actions. +# See "ENHANCED STATUS CODES" below. +# +# 4NN text +# +# 5NN text +# Reject the address etc. that matches the pattern, +# and respond with the numerical three-digit code and +# text. 4NN means "try again later", while 5NN means +# "do not try again". +# +# The following responses have special meaning for +# the Postfix SMTP server: +# +# 421 text (Postfix 2.3 and later) +# +# 521 text (Postfix 2.6 and later) +# After responding with the numerical +# three-digit code and text, disconnect imme- +# diately from the SMTP client. This frees up +# SMTP server resources so that they can be +# made available to another SMTP client. +# +# Note: The "521" response should be used only +# with botnets and other malware where inter- +# operability is of no concern. The "send 521 +# and disconnect" behavior is NOT defined in +# the SMTP standard. +# +# REJECT optional text... +# Reject the address etc. that matches the pattern. +# Reply with "$access_map_reject_code optional +# text..." when the optional text is specified, oth- +# erwise reply with a generic error response message. +# +# DEFER optional text... +# Reject the address etc. that matches the pattern. +# Reply with "$access_map_defer_code optional +# text..." when the optional text is specified, oth- +# erwise reply with a generic error response message. +# +# This feature is available in Postfix 2.6 and later. +# +# DEFER_IF_REJECT optional text... +# Defer the request if some later restriction would +# result in a REJECT action. Reply with +# "$access_map_defer_code 4.7.1 optional text..." +# when the optional text is specified, otherwise +# reply with a generic error response message. +# +# Prior to Postfix 2.6, the SMTP reply code is 450. +# +# This feature is available in Postfix 2.1 and later. +# +# DEFER_IF_PERMIT optional text... +# Defer the request if some later restriction would +# result in a an explicit or implicit PERMIT action. +# Reply with "$access_map_defer_code 4.7.1 optional +# text..." when the optional text is specified, oth- +# erwise reply with a generic error response message. +# +# Prior to Postfix 2.6, the SMTP reply code is 450. +# +# This feature is available in Postfix 2.1 and later. +# +# For other reject actions, see "OTHER ACTIONS" below. +# +# OTHER ACTIONS +# restriction... +# Apply the named UCE restriction(s) (permit, reject, +# reject_unauth_destination, and so on). +# +# BCC user@domain +# Send one copy of the message to the specified +# recipient. +# +# If multiple BCC actions are specified within the +# same SMTP MAIL transaction, with Postfix 3.0 only +# the last action will be used. +# +# This feature is available in Postfix 3.0 and later. +# +# DISCARD optional text... +# Claim successful delivery and silently discard the +# message. Log the optional text if specified, oth- +# erwise log a generic message. +# +# Note: this action currently affects all recipients +# of the message. To discard only one recipient +# without discarding the entire message, use the +# transport(5) table to direct mail to the discard(8) +# service. +# +# This feature is available in Postfix 2.0 and later. +# +# DUNNO Pretend that the lookup key was not found. This +# prevents Postfix from trying substrings of the +# lookup key (such as a subdomain name, or a network +# address subnetwork). +# +# This feature is available in Postfix 2.0 and later. +# +# FILTER transport:destination +# After the message is queued, send the entire mes- +# sage through the specified external content filter. +# The transport name specifies the first field of a +# mail delivery agent definition in master.cf; the +# syntax of the next-hop destination is described in +# the manual page of the corresponding delivery +# agent. More information about external content +# filters is in the Postfix FILTER_README file. +# +# Note 1: do not use $number regular expression sub- +# stitutions for transport or destination unless you +# know that the information has a trusted origin. +# +# Note 2: this action overrides the main.cf con- +# tent_filter setting, and affects all recipients of +# the message. In the case that multiple FILTER +# actions fire, only the last one is executed. +# +# Note 3: the purpose of the FILTER command is to +# override message routing. To override the recipi- +# ent's transport but not the next-hop destination, +# specify an empty filter destination (Postfix 2.7 +# and later), or specify a transport:destination that +# delivers through a different Postfix instance +# (Postfix 2.6 and earlier). Other options are using +# the recipient-dependent transport_maps or the sen- +# der-dependent sender_dependent_default_transport- +# _maps features. +# +# This feature is available in Postfix 2.0 and later. +# +# HOLD optional text... +# Place the message on the hold queue, where it will +# sit until someone either deletes it or releases it +# for delivery. Log the optional text if specified, +# otherwise log a generic message. +# +# Mail that is placed on hold can be examined with +# the postcat(1) command, and can be destroyed or +# released with the postsuper(1) command. +# +# Note: use "postsuper -r" to release mail that was +# kept on hold for a significant fraction of $maxi- +# mal_queue_lifetime or $bounce_queue_lifetime, or +# longer. Use "postsuper -H" only for mail that will +# not expire within a few delivery attempts. +# +# Note: this action currently affects all recipients +# of the message. +# +# This feature is available in Postfix 2.0 and later. +# +# PREPEND headername: headervalue +# Prepend the specified message header to the mes- +# sage. When more than one PREPEND action executes, +# the first prepended header appears before the sec- +# ond etc. prepended header. +# +# Note: this action must execute before the message +# content is received; it cannot execute in the con- +# text of smtpd_end_of_data_restrictions. +# +# This feature is available in Postfix 2.1 and later. +# +# REDIRECT user@domain +# After the message is queued, send the message to +# the specified address instead of the intended +# recipient(s). When multiple REDIRECT actions fire, +# only the last one takes effect. +# +# Note: this action overrides the FILTER action, and +# currently overrides all recipients of the message. +# +# This feature is available in Postfix 2.1 and later. +# +# INFO optional text... +# Log an informational record with the optional text, +# together with client information and if available, +# with helo, sender, recipient and protocol informa- +# tion. +# +# This feature is available in Postfix 3.0 and later. +# +# WARN optional text... +# Log a warning with the optional text, together with +# client information and if available, with helo, +# sender, recipient and protocol information. +# +# This feature is available in Postfix 2.1 and later. +# +# ENHANCED STATUS CODES +# Postfix version 2.3 and later support enhanced status +# codes as defined in RFC 3463. When an enhanced status +# code is specified in an access table, it is subject to +# modification. The following transformations are needed +# when the same access table is used for client, helo, +# sender, or recipient access restrictions; they happen +# regardless of whether Postfix replies to a MAIL FROM, RCPT +# TO or other SMTP command. +# +# o When a sender address matches a REJECT action, the +# Postfix SMTP server will transform a recipient DSN +# status (e.g., 4.1.1-4.1.6) into the corresponding +# sender DSN status, and vice versa. +# +# o When non-address information matches a REJECT +# action (such as the HELO command argument or the +# client hostname/address), the Postfix SMTP server +# will transform a sender or recipient DSN status +# into a generic non-address DSN status (e.g., +# 4.0.0). +# +# REGULAR EXPRESSION TABLES +# This section describes how the table lookups change when +# the table is given in the form of regular expressions. For +# a description of regular expression lookup table syntax, +# see regexp_table(5) or pcre_table(5). +# +# Each pattern is a regular expression that is applied to +# the entire string being looked up. Depending on the appli- +# cation, that string is an entire client hostname, an +# entire client IP address, or an entire mail address. Thus, +# no parent domain or parent network search is done, +# user@domain mail addresses are not broken up into their +# user@ and domain constituent parts, nor is user+foo broken +# up into user and foo. +# +# Patterns are applied in the order as specified in the ta- +# ble, until a pattern is found that matches the search +# string. +# +# Actions are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from +# the pattern can be interpolated as $1, $2 and so on. +# +# TCP-BASED TABLES +# This section describes how the table lookups change when +# lookups are directed to a TCP-based server. For a descrip- +# tion of the TCP client/server lookup protocol, see tcp_ta- +# ble(5). This feature is not available up to and including +# Postfix version 2.4. +# +# Each lookup operation uses the entire query string once. +# Depending on the application, that string is an entire +# client hostname, an entire client IP address, or an entire +# mail address. Thus, no parent domain or parent network +# search is done, user@domain mail addresses are not broken +# up into their user@ and domain constituent parts, nor is +# user+foo broken up into user and foo. +# +# Actions are the same as with indexed file lookups. +# +# EXAMPLE +# The following example uses an indexed file, so that the +# order of table entries does not matter. The example per- +# mits access by the client at address 1.2.3.4 but rejects +# all other clients in 1.2.3.0/24. Instead of hash lookup +# tables, some systems use dbm. Use the command "postconf +# -m" to find out what lookup tables Postfix supports on +# your system. +# +# /etc/postfix/main.cf: +# smtpd_client_restrictions = +# check_client_access hash:/etc/postfix/access +# +# /etc/postfix/access: +# 1.2.3 REJECT +# 1.2.3.4 OK +# +# Execute the command "postmap /etc/postfix/access" after +# editing the file. +# +# BUGS +# The table format does not understand quoting conventions. +# +# SEE ALSO +# postmap(1), Postfix lookup table manager +# smtpd(8), SMTP server +# postconf(5), configuration parameters +# transport(5), transport:nexthop syntax +# +# README FILES +# Use "postconf readme_directory" or "postconf html_direc- +# tory" to locate this information. +# SMTPD_ACCESS_README, built-in SMTP server access control +# DATABASE_README, Postfix lookup table overview +# +# LICENSE +# The Secure Mailer license must be distributed with this +# software. +# +# AUTHOR(S) +# Wietse Venema +# IBM T.J. Watson Research +# P.O. Box 704 +# Yorktown Heights, NY 10598, USA +# +# Wietse Venema +# Google, Inc. +# 111 8th Avenue +# New York, NY 10011, USA +# +# ACCESS(5) diff --git a/testing/mta/postfix-config/aliases b/testing/mta/postfix-config/aliases new file mode 100644 index 00000000..911939ba --- /dev/null +++ b/testing/mta/postfix-config/aliases @@ -0,0 +1,8 @@ +accept /dev/null +accept1 /dev/null +accept2 /dev/null +accept3 /dev/null +fail::fail:invalid user +fail1::fail:invalid user +fail2::fail:invalid user +fail3::fail:invalid user diff --git a/testing/mta/postfix-config/bounce.cf.default b/testing/mta/postfix-config/bounce.cf.default new file mode 100644 index 00000000..21d893de --- /dev/null +++ b/testing/mta/postfix-config/bounce.cf.default @@ -0,0 +1,112 @@ +# +# Do not edit this file. This file shows the default delivery status +# notification (DSN) messages that are built into Postfix. +# +# To change Postfix DSN messages, perhaps to add non-English text, +# follow instructions in the bounce(5) manual page. +# + +# +# The failure template is used when mail is returned to the sender; +# either the destination rejected the message, or the destination +# could not be reached before the message expired in the queue. +# + +failure_template = <$/ +# REJECT IFRAME vulnerability exploit +# +# SEE ALSO +# cleanup(8), canonicalize and enqueue Postfix message +# pcre_table(5), format of PCRE lookup tables +# regexp_table(5), format of POSIX regular expression tables +# postconf(1), Postfix configuration utility +# postmap(1), Postfix lookup table management +# postsuper(1), Postfix janitor +# postcat(1), show Postfix queue file contents +# RFC 2045, base64 and quoted-printable encoding rules +# RFC 2047, message header encoding for non-ASCII text +# +# README FILES +# Use "postconf readme_directory" or "postconf html_direc- +# tory" to locate this information. +# DATABASE_README, Postfix lookup table overview +# CONTENT_INSPECTION_README, Postfix content inspection overview +# BUILTIN_FILTER_README, Postfix built-in content inspection +# BACKSCATTER_README, blocking returned forged mail +# +# LICENSE +# The Secure Mailer license must be distributed with this +# software. +# +# AUTHOR(S) +# Wietse Venema +# IBM T.J. Watson Research +# P.O. Box 704 +# Yorktown Heights, NY 10598, USA +# +# Wietse Venema +# Google, Inc. +# 111 8th Avenue +# New York, NY 10011, USA +# +# HEADER_CHECKS(5) diff --git a/testing/mta/postfix-config/main.cf b/testing/mta/postfix-config/main.cf new file mode 100644 index 00000000..7020bf37 --- /dev/null +++ b/testing/mta/postfix-config/main.cf @@ -0,0 +1,693 @@ +# Global Postfix configuration file. This file lists only a subset +# of all parameters. For the syntax, and for a complete parameter +# list, see the postconf(5) manual page (command: "man 5 postconf"). +# +# For common configuration examples, see BASIC_CONFIGURATION_README +# and STANDARD_CONFIGURATION_README. To find these documents, use +# the command "postconf html_directory readme_directory", or go to +# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc. +# +# For best results, change no more than 2-3 parameters at a time, +# and test if Postfix still works after every change. + +# COMPATIBILITY +# +# The compatibility_level determines what default settings Postfix +# will use for main.cf and master.cf settings. These defaults will +# change over time. +# +# To avoid breaking things, Postfix will use backwards-compatible +# default settings and log where it uses those old backwards-compatible +# default settings, until the system administrator has determined +# if any backwards-compatible default settings need to be made +# permanent in main.cf or master.cf. +# +# When this review is complete, update the compatibility_level setting +# below as recommended in the RELEASE_NOTES file. +# +# The level below is what should be used with new (not upgrade) installs. +# +compatibility_level = 2 + +# SOFT BOUNCE +# +# The soft_bounce parameter provides a limited safety net for +# testing. When soft_bounce is enabled, mail will remain queued that +# would otherwise bounce. This parameter disables locally-generated +# bounces, and prevents the SMTP server from rejecting mail permanently +# (by changing 5xx replies into 4xx replies). However, soft_bounce +# is no cure for address rewriting mistakes or mail routing mistakes. +# +#soft_bounce = no + +# LOCAL PATHNAME INFORMATION +# +# The queue_directory specifies the location of the Postfix queue. +# This is also the root directory of Postfix daemons that run chrooted. +# See the files in examples/chroot-setup for setting up Postfix chroot +# environments on different UNIX systems. +# +queue_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue + +# The command_directory parameter specifies the location of all +# postXXX commands. +# +command_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin + +# The daemon_directory parameter specifies the location of all Postfix +# daemon programs (i.e. programs listed in the master.cf file). This +# directory must be owned by root. +# +daemon_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec + +# The data_directory parameter specifies the location of Postfix-writable +# data files (caches, random numbers). This directory must be owned +# by the mail_owner account (see below). +# +data_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib + +# QUEUE AND PROCESS OWNERSHIP +# +# The mail_owner parameter specifies the owner of the Postfix queue +# and of most Postfix daemon processes. Specify the name of a user +# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS +# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In +# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED +# USER. +# +mail_owner = jetmore + +# The default_privs parameter specifies the default rights used by +# the local delivery agent for delivery to external file or command. +# These rights are used in the absence of a recipient user context. +# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. +# +#default_privs = nobody + +# INTERNET HOST AND DOMAIN NAMES +# +# The myhostname parameter specifies the internet hostname of this +# mail system. The default is to use the fully-qualified domain name +# from gethostname(). $myhostname is used as a default value for many +# other configuration parameters. +# +#myhostname = host.domain.tld +#myhostname = virtual.domain.tld + +# The mydomain parameter specifies the local internet domain name. +# The default is to use $myhostname minus the first component. +# $mydomain is used as a default value for many other configuration +# parameters. +# +#mydomain = domain.tld + +# SENDING MAIL +# +# The myorigin parameter specifies the domain that locally-posted +# mail appears to come from. The default is to append $myhostname, +# which is fine for small sites. If you run a domain with multiple +# machines, you should (1) change this to $mydomain and (2) set up +# a domain-wide alias database that aliases each user to +# user@that.users.mailhost. +# +# For the sake of consistency between sender and recipient addresses, +# myorigin also specifies the default domain name that is appended +# to recipient addresses that have no @domain part. +# +#myorigin = $myhostname +#myorigin = $mydomain + +# RECEIVING MAIL + +# The inet_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on. By default, +# the software claims all active interfaces on the machine. The +# parameter also controls delivery of mail to user@[ip.address]. +# +# See also the proxy_interfaces parameter, for network addresses that +# are forwarded to us via a proxy or network address translator. +# +# Note: you need to stop/start Postfix when this parameter changes. +# +#inet_interfaces = all +#inet_interfaces = $myhostname +#inet_interfaces = $myhostname, localhost + +# The proxy_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on by way of a +# proxy or network address translation unit. This setting extends +# the address list specified with the inet_interfaces parameter. +# +# You must specify your proxy/NAT addresses when your system is a +# backup MX host for other domains, otherwise mail delivery loops +# will happen when the primary MX host is down. +# +#proxy_interfaces = +#proxy_interfaces = 1.2.3.4 + +# The mydestination parameter specifies the list of domains that this +# machine considers itself the final destination for. +# +# These domains are routed to the delivery agent specified with the +# local_transport parameter setting. By default, that is the UNIX +# compatible delivery agent that lookups all recipients in /etc/passwd +# and /etc/aliases or their equivalent. +# +# The default is $myhostname + localhost.$mydomain + localhost. On +# a mail domain gateway, you should also include $mydomain. +# +# Do not specify the names of virtual domains - those domains are +# specified elsewhere (see VIRTUAL_README). +# +# Do not specify the names of domains that this machine is backup MX +# host for. Specify those names via the relay_domains settings for +# the SMTP server, or use permit_mx_backup if you are lazy (see +# STANDARD_CONFIGURATION_README). +# +# The local machine is always the final destination for mail addressed +# to user@[the.net.work.address] of an interface that the mail system +# receives mail on (see the inet_interfaces parameter). +# +# Specify a list of host or domain names, /file/name or type:table +# patterns, separated by commas and/or whitespace. A /file/name +# pattern is replaced by its contents; a type:table is matched when +# a name matches a lookup key (the right-hand side is ignored). +# Continue long lines by starting the next line with whitespace. +# +# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". +# +#mydestination = $myhostname, localhost.$mydomain, localhost +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, +# mail.$mydomain, www.$mydomain, ftp.$mydomain + +# REJECTING MAIL FOR UNKNOWN LOCAL USERS +# +# The local_recipient_maps parameter specifies optional lookup tables +# with all names or addresses of users that are local with respect +# to $mydestination, $inet_interfaces or $proxy_interfaces. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown local users. This parameter is defined by default. +# +# To turn off local recipient checking in the SMTP server, specify +# local_recipient_maps = (i.e. empty). +# +# The default setting assumes that you use the default Postfix local +# delivery agent for local delivery. You need to update the +# local_recipient_maps setting if: +# +# - You define $mydestination domain recipients in files other than +# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files. +# For example, you define $mydestination domain recipients in +# the $virtual_mailbox_maps files. +# +# - You redefine the local delivery agent in master.cf. +# +# - You redefine the "local_transport" setting in main.cf. +# +# - You use the "luser_relay", "mailbox_transport", or "fallback_transport" +# feature of the Postfix local delivery agent (see local(8)). +# +# Details are described in the LOCAL_RECIPIENT_README file. +# +# Beware: if the Postfix SMTP server runs chrooted, you probably have +# to access the passwd file via the proxymap service, in order to +# overcome chroot restrictions. The alternative, having a copy of +# the system passwd file in the chroot jail is just not practical. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify a bare username, an @domain.tld +# wild-card, or specify a user@domain.tld address. +# +#local_recipient_maps = unix:passwd.byname $alias_maps +#local_recipient_maps = proxy:unix:passwd.byname $alias_maps +#local_recipient_maps = + +# The unknown_local_recipient_reject_code specifies the SMTP server +# response code when a recipient domain matches $mydestination or +# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty +# and the recipient address or address local-part is not found. +# +# The default setting is 550 (reject mail) but it is safer to start +# with 450 (try again later) until you are certain that your +# local_recipient_maps settings are OK. +# +unknown_local_recipient_reject_code = 550 + +# TRUST AND RELAY CONTROL + +# The mynetworks parameter specifies the list of "trusted" SMTP +# clients that have more privileges than "strangers". +# +# In particular, "trusted" SMTP clients are allowed to relay mail +# through Postfix. See the smtpd_recipient_restrictions parameter +# in postconf(5). +# +# You can specify the list of "trusted" network addresses by hand +# or you can let Postfix do it for you (which is the default). +# +# By default (mynetworks_style = subnet), Postfix "trusts" SMTP +# clients in the same IP subnetworks as the local machine. +# On Linux, this works correctly only with interfaces specified +# with the "ifconfig" command. +# +# Specify "mynetworks_style = class" when Postfix should "trust" SMTP +# clients in the same IP class A/B/C networks as the local machine. +# Don't do this with a dialup site - it would cause Postfix to "trust" +# your entire provider's network. Instead, specify an explicit +# mynetworks list by hand, as described below. +# +# Specify "mynetworks_style = host" when Postfix should "trust" +# only the local machine. +# +#mynetworks_style = class +#mynetworks_style = subnet +#mynetworks_style = host + +# Alternatively, you can specify the mynetworks list by hand, in +# which case Postfix ignores the mynetworks_style setting. +# +# Specify an explicit list of network/netmask patterns, where the +# mask specifies the number of bits in the network part of a host +# address. +# +# You can also specify the absolute pathname of a pattern file instead +# of listing the patterns here. Specify type:table for table-based lookups +# (the value on the table right-hand side is not used). +# +#mynetworks = 168.100.189.0/28, 127.0.0.0/8 +#mynetworks = $config_directory/mynetworks +#mynetworks = hash:/etc/postfix/network_table + +# The relay_domains parameter restricts what destinations this system will +# relay mail to. See the smtpd_recipient_restrictions description in +# postconf(5) for detailed information. +# +# By default, Postfix relays mail +# - from "trusted" clients (IP address matches $mynetworks) to any destination, +# - from "untrusted" clients to destinations that match $relay_domains or +# subdomains thereof, except addresses with sender-specified routing. +# The default relay_domains value is $mydestination. +# +# In addition to the above, the Postfix SMTP server by default accepts mail +# that Postfix is final destination for: +# - destinations that match $inet_interfaces or $proxy_interfaces, +# - destinations that match $mydestination +# - destinations that match $virtual_alias_domains, +# - destinations that match $virtual_mailbox_domains. +# These destinations do not need to be listed in $relay_domains. +# +# Specify a list of hosts or domains, /file/name patterns or type:name +# lookup tables, separated by commas and/or whitespace. Continue +# long lines by starting the next line with whitespace. A file name +# is replaced by its contents; a type:name table is matched when a +# (parent) domain appears as lookup key. +# +# NOTE: Postfix will not automatically forward mail for domains that +# list this system as their primary or backup MX host. See the +# permit_mx_backup restriction description in postconf(5). +# +#relay_domains = $mydestination + +# INTERNET OR INTRANET + +# The relayhost parameter specifies the default host to send mail to +# when no entry is matched in the optional transport(5) table. When +# no relayhost is given, mail is routed directly to the destination. +# +# On an intranet, specify the organizational domain name. If your +# internal DNS uses no MX records, specify the name of the intranet +# gateway host instead. +# +# In the case of SMTP, specify a domain, host, host:port, [host]:port, +# [address] or [address]:port; the form [host] turns off MX lookups. +# +# If you're connected via UUCP, see also the default_transport parameter. +# +#relayhost = $mydomain +#relayhost = [gateway.my.domain] +#relayhost = [mailserver.isp.tld] +#relayhost = uucphost +#relayhost = [an.ip.add.ress] + +# REJECTING UNKNOWN RELAY USERS +# +# The relay_recipient_maps parameter specifies optional lookup tables +# with all addresses in the domains that match $relay_domains. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown relay users. This feature is off by default. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify an @domain.tld wild-card, or specify +# a user@domain.tld address. +# +#relay_recipient_maps = hash:/etc/postfix/relay_recipients + +# INPUT RATE CONTROL +# +# The in_flow_delay configuration parameter implements mail input +# flow control. This feature is turned on by default, although it +# still needs further development (it's disabled on SCO UNIX due +# to an SCO bug). +# +# A Postfix process will pause for $in_flow_delay seconds before +# accepting a new message, when the message arrival rate exceeds the +# message delivery rate. With the default 100 SMTP server process +# limit, this limits the mail inflow to 100 messages a second more +# than the number of messages delivered per second. +# +# Specify 0 to disable the feature. Valid delays are 0..10. +# +#in_flow_delay = 1s + +# ADDRESS REWRITING +# +# The ADDRESS_REWRITING_README document gives information about +# address masquerading or other forms of address rewriting including +# username->Firstname.Lastname mapping. + +# ADDRESS REDIRECTION (VIRTUAL DOMAIN) +# +# The VIRTUAL_README document gives information about the many forms +# of domain hosting that Postfix supports. + +# "USER HAS MOVED" BOUNCE MESSAGES +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# TRANSPORT MAP +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# ALIAS DATABASE +# +# The alias_maps parameter specifies the list of alias databases used +# by the local delivery agent. The default list is system dependent. +# +# On systems with NIS, the default is to search the local alias +# database, then the NIS alias database. See aliases(5) for syntax +# details. +# +# If you change the alias database, run "postalias /etc/aliases" (or +# wherever your system stores the mail alias file), or simply run +# "newaliases" to build the necessary DBM or DB file. +# +# It will take a minute or so before changes become visible. Use +# "postfix reload" to eliminate the delay. +# +#alias_maps = dbm:/etc/aliases +#alias_maps = hash:/etc/aliases +#alias_maps = hash:/etc/aliases, nis:mail.aliases +#alias_maps = netinfo:/aliases + +# The alias_database parameter specifies the alias database(s) that +# are built with "newaliases" or "sendmail -bi". This is a separate +# configuration parameter, because alias_maps (see above) may specify +# tables that are not necessarily all under control by Postfix. +# +#alias_database = dbm:/etc/aliases +#alias_database = dbm:/etc/mail/aliases +#alias_database = hash:/etc/aliases +#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases + +# ADDRESS EXTENSIONS (e.g., user+foo) +# +# The recipient_delimiter parameter specifies the separator between +# user names and address extensions (user+foo). See canonical(5), +# local(8), relocated(5) and virtual(5) for the effects this has on +# aliases, canonical, virtual, relocated and .forward file lookups. +# Basically, the software tries user+foo and .forward+foo before +# trying user and .forward. +# +#recipient_delimiter = + + +# DELIVERY TO MAILBOX +# +# The home_mailbox parameter specifies the optional pathname of a +# mailbox file relative to a user's home directory. The default +# mailbox file is /var/spool/mail/user or /var/mail/user. Specify +# "Maildir/" for qmail-style delivery (the / is required). +# +#home_mailbox = Mailbox +#home_mailbox = Maildir/ + +# The mail_spool_directory parameter specifies the directory where +# UNIX-style mailboxes are kept. The default setting depends on the +# system type. +# +#mail_spool_directory = /var/mail +#mail_spool_directory = /var/spool/mail + +# The mailbox_command parameter specifies the optional external +# command to use instead of mailbox delivery. The command is run as +# the recipient with proper HOME, SHELL and LOGNAME environment settings. +# Exception: delivery for root is done as $default_user. +# +# Other environment variables of interest: USER (recipient username), +# EXTENSION (address extension), DOMAIN (domain part of address), +# and LOCAL (the address localpart). +# +# Unlike other Postfix configuration parameters, the mailbox_command +# parameter is not subjected to $parameter substitutions. This is to +# make it easier to specify shell syntax (see example below). +# +# Avoid shell meta characters because they will force Postfix to run +# an expensive shell process. Procmail alone is expensive enough. +# +# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN +# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. +# +#mailbox_command = /some/where/procmail +#mailbox_command = /some/where/procmail -a "$EXTENSION" + +# The mailbox_transport specifies the optional transport in master.cf +# to use after processing aliases and .forward files. This parameter +# has precedence over the mailbox_command, fallback_transport and +# luser_relay parameters. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +# Cyrus IMAP over LMTP. Specify ``lmtpunix cmd="lmtpd" +# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. +#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp +# +# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and +# subsequent line in master.cf. +#mailbox_transport = cyrus + +# The fallback_transport specifies the optional transport in master.cf +# to use for recipients that are not found in the UNIX passwd database. +# This parameter has precedence over the luser_relay parameter. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#fallback_transport = lmtp:unix:/file/name +#fallback_transport = cyrus +#fallback_transport = + +# The luser_relay parameter specifies an optional destination address +# for unknown recipients. By default, mail for unknown@$mydestination, +# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned +# as undeliverable. +# +# The following expansions are done on luser_relay: $user (recipient +# username), $shell (recipient shell), $home (recipient home directory), +# $recipient (full recipient address), $extension (recipient address +# extension), $domain (recipient domain), $local (entire recipient +# localpart), $recipient_delimiter. Specify ${name?value} or +# ${name:value} to expand value only when $name does (does not) exist. +# +# luser_relay works only for the default Postfix local delivery agent. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must specify "local_recipient_maps =" (i.e. empty) in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#luser_relay = $user@other.host +#luser_relay = $local@other.host +#luser_relay = admin+$local + +# JUNK MAIL CONTROLS +# +# The controls listed here are only a very small subset. The file +# SMTPD_ACCESS_README provides an overview. + +# The header_checks parameter specifies an optional table with patterns +# that each logical message header is matched against, including +# headers that span multiple physical lines. +# +# By default, these patterns also apply to MIME headers and to the +# headers of attached messages. With older Postfix versions, MIME and +# attached message headers were treated as body text. +# +# For details, see "man header_checks". +# +#header_checks = regexp:/etc/postfix/header_checks + +# FAST ETRN SERVICE +# +# Postfix maintains per-destination logfiles with information about +# deferred mail, so that mail can be flushed quickly with the SMTP +# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld". +# See the ETRN_README document for a detailed description. +# +# The fast_flush_domains parameter controls what destinations are +# eligible for this service. By default, they are all domains that +# this server is willing to relay mail to. +# +#fast_flush_domains = $relay_domains + +# SHOW SOFTWARE VERSION OR NOT +# +# The smtpd_banner parameter specifies the text that follows the 220 +# code in the SMTP server's greeting banner. Some people like to see +# the mail version advertised. By default, Postfix shows no version. +# +# You MUST specify $myhostname at the start of the text. That is an +# RFC requirement. Postfix itself does not care. +# +#smtpd_banner = $myhostname ESMTP $mail_name +#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) + +# PARALLEL DELIVERY TO THE SAME DESTINATION +# +# How many parallel deliveries to the same user or domain? With local +# delivery, it does not make sense to do massively parallel delivery +# to the same user, because mailbox updates must happen sequentially, +# and expensive pipelines in .forward files can cause disasters when +# too many are run at the same time. With SMTP deliveries, 10 +# simultaneous connections to the same domain could be sufficient to +# raise eyebrows. +# +# Each message delivery transport has its XXX_destination_concurrency_limit +# parameter. The default is $default_destination_concurrency_limit for +# most delivery transports. For the local delivery agent the default is 2. + +#local_destination_concurrency_limit = 2 +#default_destination_concurrency_limit = 20 + +# DEBUGGING CONTROL +# +# The debug_peer_level parameter specifies the increment in verbose +# logging level when an SMTP client or server host name or address +# matches a pattern in the debug_peer_list parameter. +# +debug_peer_level = 2 + +# The debug_peer_list parameter specifies an optional list of domain +# or network patterns, /file/name patterns or type:name tables. When +# an SMTP client or server host name or address matches a pattern, +# increase the verbose logging level by the amount specified in the +# debug_peer_level parameter. +# +#debug_peer_list = 127.0.0.1 +#debug_peer_list = some.domain + +# The debugger_command specifies the external command that is executed +# when a Postfix daemon program is run with the -D option. +# +# Use "command .. & sleep 5" so that the debugger can attach before +# the process marches on. If you use an X-based debugger, be sure to +# set up your XAUTHORITY environment variable before starting Postfix. +# +debugger_command = + PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin + ddd $daemon_directory/$process_name $process_id & sleep 5 + +# If you can't use X, use this to capture the call stack when a +# daemon crashes. The result is in a file in the configuration +# directory, and is named after the process name and the process ID. +# +# debugger_command = +# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; +# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 +# >$config_directory/$process_name.$process_id.log & sleep 5 +# +# Another possibility is to run gdb under a detached screen session. +# To attach to the screen session, su root and run "screen -r +# " where uniquely matches one of the detached +# sessions (from "screen -list"). +# +# debugger_command = +# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen +# -dmS $process_name gdb $daemon_directory/$process_name +# $process_id & sleep 1 + +# INSTALL-TIME CONFIGURATION INFORMATION +# +# The following parameters are used when installing a new Postfix version. +# +# sendmail_path: The full pathname of the Postfix sendmail command. +# This is the Sendmail-compatible mail posting interface. +# +sendmail_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail + +# newaliases_path: The full pathname of the Postfix newaliases command. +# This is the Sendmail-compatible command to build alias databases. +# +newaliases_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases + +# mailq_path: The full pathname of the Postfix mailq command. This +# is the Sendmail-compatible mail queue listing command. +# +mailq_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq + +# setgid_group: The group for mail submission and queue management +# commands. This must be a group name with a numerical group ID that +# is not shared with other accounts, not even with the Postfix account. +# +setgid_group = mail + +# html_directory: The location of the Postfix HTML documentation. +# +html_directory = no + +# manpage_directory: The location of the Postfix on-line manual pages. +# +manpage_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man + +# sample_directory: The location of the Postfix sample configuration files. +# This parameter is obsolete as of Postfix 2.1. +# +sample_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-config + +# readme_directory: The location of the Postfix README files. +# +readme_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme +inet_protocols = ipv4 +meta_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-config +shlib_directory = no + + + + +mydestination = $myhostname, node.example.com +mynetworks = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 +alias_database = texthash:/home/jetmore/Documents/git/swaks/testing/mta/postfix-config/aliases +alias_maps = texthash:/home/jetmore/Documents/git/swaks/testing/mta/postfix-config/aliases +maillog_file = /dev/stdout +smtpd_authorized_xclient_hosts = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 +smtpd_authorized_xforward_hosts = 192.168.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 + +smtpd_tls_cert_file = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.crt +smtpd_tls_key_file = /home/jetmore/Documents/git/swaks/testing/certs/node.example.com.key +smtpd_tls_security_level = may diff --git a/testing/mta/postfix-config/main.cf.default b/testing/mta/postfix-config/main.cf.default new file mode 100644 index 00000000..fece5bb2 --- /dev/null +++ b/testing/mta/postfix-config/main.cf.default @@ -0,0 +1,919 @@ +# DO NOT EDIT THIS FILE. EDIT THE MAIN.CF FILE INSTEAD. THE +# TEXT HERE JUST SHOWS DEFAULT SETTINGS BUILT INTO POSTFIX. +# +2bounce_notice_recipient = postmaster +access_map_defer_code = 450 +access_map_reject_code = 554 +address_verify_cache_cleanup_interval = 12h +address_verify_default_transport = $default_transport +address_verify_local_transport = $local_transport +address_verify_map = btree:$data_directory/verify_cache +address_verify_negative_cache = yes +address_verify_negative_expire_time = 3d +address_verify_negative_refresh_time = 3h +address_verify_pending_request_limit = 5000 +address_verify_poll_count = ${stress?{1}:{3}} +address_verify_poll_delay = 3s +address_verify_positive_expire_time = 31d +address_verify_positive_refresh_time = 7d +address_verify_relay_transport = $relay_transport +address_verify_relayhost = $relayhost +address_verify_sender = $double_bounce_sender +address_verify_sender_dependent_default_transport_maps = $sender_dependent_default_transport_maps +address_verify_sender_dependent_relayhost_maps = $sender_dependent_relayhost_maps +address_verify_sender_ttl = 0s +address_verify_service_name = verify +address_verify_transport_maps = $transport_maps +address_verify_virtual_transport = $virtual_transport +alias_database = hash:/etc/aliases +alias_maps = hash:/etc/aliases, nis:mail.aliases +allow_mail_to_commands = alias, forward +allow_mail_to_files = alias, forward +allow_min_user = no +allow_percent_hack = yes +allow_untrusted_routing = no +alternate_config_directories = +always_add_missing_headers = no +always_bcc = +anvil_rate_time_unit = 60s +anvil_status_update_time = 600s +append_at_myorigin = yes +append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}} +application_event_drain_time = 100s +authorized_flush_users = static:anyone +authorized_mailq_users = static:anyone +authorized_submit_users = static:anyone +backwards_bounce_logfile_compatibility = yes +berkeley_db_create_buffer_size = 16777216 +berkeley_db_read_buffer_size = 131072 +best_mx_transport = +biff = yes +body_checks = +body_checks_size_limit = 51200 +bounce_notice_recipient = postmaster +bounce_queue_lifetime = 5d +bounce_service_name = bounce +bounce_size_limit = 50000 +bounce_template_file = +broken_sasl_auth_clients = no +canonical_classes = envelope_sender, envelope_recipient, header_sender, header_recipient +canonical_maps = +cleanup_service_name = cleanup +command_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin +command_execution_directory = +command_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +command_time_limit = 1000s +compatibility_level = 0 +config_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-config +confirm_delay_cleared = no +connection_cache_protocol_timeout = 5s +connection_cache_service_name = scache +connection_cache_status_update_time = 600s +connection_cache_ttl_limit = 2s +content_filter = +cyrus_sasl_config_path = +daemon_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec +daemon_table_open_error_is_fatal = no +daemon_timeout = 18000s +data_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib +debug_peer_level = 2 +debug_peer_list = +debugger_command = +default_database_type = hash +default_delivery_slot_cost = 5 +default_delivery_slot_discount = 50 +default_delivery_slot_loan = 3 +default_delivery_status_filter = +default_destination_concurrency_failed_cohort_limit = 1 +default_destination_concurrency_limit = 20 +default_destination_concurrency_negative_feedback = 1 +default_destination_concurrency_positive_feedback = 1 +default_destination_rate_delay = 0s +default_destination_recipient_limit = 50 +default_extra_recipient_limit = 1000 +default_filter_nexthop = +default_minimum_delivery_slots = 3 +default_privs = nobody +default_process_limit = 100 +default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason} +default_recipient_limit = 20000 +default_recipient_refill_delay = 5s +default_recipient_refill_limit = 100 +default_transport = smtp +default_transport_rate_delay = 0s +default_verp_delimiters = += +defer_code = 450 +defer_service_name = defer +defer_transports = +delay_logging_resolution_limit = 2 +delay_notice_recipient = postmaster +delay_warning_time = 0h +deliver_lock_attempts = 20 +deliver_lock_delay = 1s +destination_concurrency_feedback_debug = no +detect_8bit_encoding_header = yes +disable_dns_lookups = no +disable_mime_input_processing = no +disable_mime_output_conversion = no +disable_verp_bounces = no +disable_vrfy_command = no +dns_ncache_ttl_fix_enable = no +dnsblog_reply_delay = 0s +dnsblog_service_name = dnsblog +dont_remove = 0 +double_bounce_sender = double-bounce +duplicate_filter_limit = 1000 +empty_address_default_transport_maps_lookup_key = <> +empty_address_recipient = MAILER-DAEMON +empty_address_relayhost_maps_lookup_key = <> +enable_idna2003_compatibility = no +enable_long_queue_ids = no +enable_original_recipient = yes +error_delivery_slot_cost = $default_delivery_slot_cost +error_delivery_slot_discount = $default_delivery_slot_discount +error_delivery_slot_loan = $default_delivery_slot_loan +error_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +error_destination_concurrency_limit = $default_destination_concurrency_limit +error_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +error_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +error_destination_rate_delay = $default_destination_rate_delay +error_destination_recipient_limit = $default_destination_recipient_limit +error_extra_recipient_limit = $default_extra_recipient_limit +error_initial_destination_concurrency = $initial_destination_concurrency +error_minimum_delivery_slots = $default_minimum_delivery_slots +error_notice_recipient = postmaster +error_recipient_limit = $default_recipient_limit +error_recipient_refill_delay = $default_recipient_refill_delay +error_recipient_refill_limit = $default_recipient_refill_limit +error_service_name = error +error_transport_rate_delay = $default_transport_rate_delay +execution_directory_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +expand_owner_alias = no +export_environment = TZ MAIL_CONFIG LANG +fallback_transport = +fallback_transport_maps = +fast_flush_domains = $relay_domains +fast_flush_purge_time = 7d +fast_flush_refresh_time = 12h +fault_injection_code = 0 +flush_service_name = flush +fork_attempts = 5 +fork_delay = 1s +forward_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +forward_path = $home/.forward${recipient_delimiter}${extension}, $home/.forward +frozen_delivered_to = yes +hash_queue_depth = 1 +hash_queue_names = deferred, defer +header_address_token_limit = 10240 +header_checks = +header_from_format = standard +header_size_limit = 102400 +helpful_warnings = yes +home_mailbox = +hopcount_limit = 50 +html_directory = no +ignore_mx_lookup_error = no +import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C POSTLOG_SERVICE POSTLOG_HOSTNAME +in_flow_delay = 1s +inet_interfaces = all +inet_protocols = all +info_log_address_format = external +initial_destination_concurrency = 5 +internal_mail_filter_classes = +invalid_hostname_reject_code = 501 +ipc_idle = 5s +ipc_timeout = 3600s +ipc_ttl = 1000s +line_length_limit = 2048 +lmdb_map_size = 16777216 +lmtp_address_preference = any +lmtp_address_verify_target = rcpt +lmtp_assume_final = no +lmtp_balance_inet_protocols = yes +lmtp_bind_address = +lmtp_bind_address6 = +lmtp_body_checks = +lmtp_cname_overrides_servername = no +lmtp_connect_timeout = 0s +lmtp_connection_cache_destinations = +lmtp_connection_cache_on_demand = yes +lmtp_connection_cache_time_limit = 2s +lmtp_connection_reuse_count_limit = 0 +lmtp_connection_reuse_time_limit = 300s +lmtp_data_done_timeout = 600s +lmtp_data_init_timeout = 120s +lmtp_data_xfer_timeout = 180s +lmtp_defer_if_no_mx_address_found = no +lmtp_delivery_slot_cost = $default_delivery_slot_cost +lmtp_delivery_slot_discount = $default_delivery_slot_discount +lmtp_delivery_slot_loan = $default_delivery_slot_loan +lmtp_delivery_status_filter = $default_delivery_status_filter +lmtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +lmtp_destination_concurrency_limit = $default_destination_concurrency_limit +lmtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +lmtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +lmtp_destination_rate_delay = $default_destination_rate_delay +lmtp_destination_recipient_limit = $default_destination_recipient_limit +lmtp_discard_lhlo_keyword_address_maps = +lmtp_discard_lhlo_keywords = +lmtp_dns_reply_filter = +lmtp_dns_resolver_options = +lmtp_dns_support_level = +lmtp_enforce_tls = no +lmtp_extra_recipient_limit = $default_extra_recipient_limit +lmtp_fallback_relay = +lmtp_generic_maps = +lmtp_header_checks = +lmtp_host_lookup = dns +lmtp_initial_destination_concurrency = $initial_destination_concurrency +lmtp_lhlo_name = $myhostname +lmtp_lhlo_timeout = 300s +lmtp_line_length_limit = 998 +lmtp_mail_timeout = 300s +lmtp_mime_header_checks = +lmtp_minimum_delivery_slots = $default_minimum_delivery_slots +lmtp_mx_address_limit = 5 +lmtp_mx_session_limit = 2 +lmtp_nested_header_checks = +lmtp_per_record_deadline = no +lmtp_pix_workaround_delay_time = 10s +lmtp_pix_workaround_maps = +lmtp_pix_workaround_threshold_time = 500s +lmtp_pix_workarounds = disable_esmtp,delay_dotcrlf +lmtp_quit_timeout = 300s +lmtp_quote_rfc821_envelope = yes +lmtp_randomize_addresses = yes +lmtp_rcpt_timeout = 300s +lmtp_recipient_limit = $default_recipient_limit +lmtp_recipient_refill_delay = $default_recipient_refill_delay +lmtp_recipient_refill_limit = $default_recipient_refill_limit +lmtp_reply_filter = +lmtp_rset_timeout = 20s +lmtp_sasl_auth_cache_name = +lmtp_sasl_auth_cache_time = 90d +lmtp_sasl_auth_enable = no +lmtp_sasl_auth_soft_bounce = yes +lmtp_sasl_mechanism_filter = +lmtp_sasl_password_maps = +lmtp_sasl_path = +lmtp_sasl_security_options = noplaintext, noanonymous +lmtp_sasl_tls_security_options = $lmtp_sasl_security_options +lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options +lmtp_sasl_type = cyrus +lmtp_send_dummy_mail_auth = no +lmtp_send_xforward_command = no +lmtp_sender_dependent_authentication = no +lmtp_skip_5xx_greeting = yes +lmtp_skip_quit_response = no +lmtp_starttls_timeout = 300s +lmtp_tcp_port = 24 +lmtp_tls_CAfile = +lmtp_tls_CApath = +lmtp_tls_block_early_mail_reply = no +lmtp_tls_cert_file = +lmtp_tls_chain_files = +lmtp_tls_ciphers = medium +lmtp_tls_connection_reuse = no +lmtp_tls_dcert_file = +lmtp_tls_dkey_file = $lmtp_tls_dcert_file +lmtp_tls_eccert_file = +lmtp_tls_eckey_file = $lmtp_tls_eccert_file +lmtp_tls_enforce_peername = yes +lmtp_tls_exclude_ciphers = +lmtp_tls_fingerprint_cert_match = +lmtp_tls_fingerprint_digest = md5 +lmtp_tls_force_insecure_host_tlsa_lookup = no +lmtp_tls_key_file = $lmtp_tls_cert_file +lmtp_tls_loglevel = 0 +lmtp_tls_mandatory_ciphers = medium +lmtp_tls_mandatory_exclude_ciphers = +lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3 +lmtp_tls_note_starttls_offer = no +lmtp_tls_per_site = +lmtp_tls_policy_maps = +lmtp_tls_protocols = !SSLv2, !SSLv3 +lmtp_tls_scert_verifydepth = 9 +lmtp_tls_secure_cert_match = nexthop +lmtp_tls_security_level = +lmtp_tls_servername = +lmtp_tls_session_cache_database = +lmtp_tls_session_cache_timeout = 3600s +lmtp_tls_trust_anchor_file = +lmtp_tls_verify_cert_match = hostname +lmtp_tls_wrappermode = no +lmtp_transport_rate_delay = $default_transport_rate_delay +lmtp_use_tls = no +lmtp_xforward_timeout = 300s +local_command_shell = +local_delivery_slot_cost = $default_delivery_slot_cost +local_delivery_slot_discount = $default_delivery_slot_discount +local_delivery_slot_loan = $default_delivery_slot_loan +local_delivery_status_filter = $default_delivery_status_filter +local_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +local_destination_concurrency_limit = 2 +local_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +local_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +local_destination_rate_delay = $default_destination_rate_delay +local_destination_recipient_limit = 1 +local_extra_recipient_limit = $default_extra_recipient_limit +local_header_rewrite_clients = permit_inet_interfaces +local_initial_destination_concurrency = $initial_destination_concurrency +local_minimum_delivery_slots = $default_minimum_delivery_slots +local_recipient_limit = $default_recipient_limit +local_recipient_maps = proxy:unix:passwd.byname $alias_maps +local_recipient_refill_delay = $default_recipient_refill_delay +local_recipient_refill_limit = $default_recipient_refill_limit +local_transport = local:$myhostname +local_transport_rate_delay = $default_transport_rate_delay +luser_relay = +mail_name = Postfix +mail_owner = postfix +mail_release_date = 20201107 +mail_spool_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/mailspool +mail_version = 3.5.8 +mailbox_command = +mailbox_command_maps = +mailbox_delivery_lock = fcntl, dotlock +mailbox_size_limit = 51200000 +mailbox_transport = +mailbox_transport_maps = +maillog_file = +maillog_file_compressor = gzip +maillog_file_prefixes = /var, /dev/stdout +maillog_file_rotate_suffix = %Y%m%d-%H%M%S +mailq_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq +manpage_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man +maps_rbl_domains = +maps_rbl_reject_code = 554 +masquerade_classes = envelope_sender, header_sender, header_recipient +masquerade_domains = +masquerade_exceptions = +master_service_disable = +max_idle = 100s +max_use = 100 +maximal_backoff_time = 4000s +maximal_queue_lifetime = 5d +message_drop_headers = bcc, content-length, resent-bcc, return-path +message_reject_characters = +message_size_limit = 10240000 +message_strip_characters = +meta_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-config +milter_command_timeout = 30s +milter_connect_macros = j {daemon_name} {daemon_addr} v _ +milter_connect_timeout = 30s +milter_content_timeout = 300s +milter_data_macros = i +milter_default_action = tempfail +milter_end_of_data_macros = i +milter_end_of_header_macros = i +milter_header_checks = +milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer} +milter_macro_daemon_name = $myhostname +milter_macro_defaults = +milter_macro_v = $mail_name $mail_version +milter_mail_macros = i {auth_type} {auth_authen} {auth_author} {mail_addr} {mail_host} {mail_mailer} +milter_protocol = 6 +milter_rcpt_macros = i {rcpt_addr} {rcpt_host} {rcpt_mailer} +milter_unknown_command_macros = +mime_boundary_length_limit = 2048 +mime_header_checks = $header_checks +mime_nesting_limit = 100 +minimal_backoff_time = 300s +multi_instance_directories = +multi_instance_enable = no +multi_instance_group = +multi_instance_name = +multi_instance_wrapper = +multi_recipient_bounce_reject_code = 550 +mydestination = $myhostname, localhost.$mydomain, localhost +mynetworks_style = ${{$compatibility_level} < {2} ? {subnet} : {host}} +myorigin = $myhostname +nested_header_checks = $header_checks +newaliases_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases +non_fqdn_reject_code = 504 +non_smtpd_milters = +notify_classes = resource, software +openssl_path = openssl +owner_request_special = yes +parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps +permit_mx_backup_networks = +pickup_service_name = pickup +pipe_delivery_status_filter = $default_delivery_status_filter +plaintext_reject_code = 450 +postlog_service_name = postlog +postlogd_watchdog_timeout = 10s +postmulti_control_commands = reload flush +postmulti_start_commands = start +postmulti_stop_commands = stop abort drain quick-stop +postscreen_access_list = permit_mynetworks +postscreen_bare_newline_action = ignore +postscreen_bare_newline_enable = no +postscreen_bare_newline_ttl = 30d +postscreen_blacklist_action = ignore +postscreen_cache_cleanup_interval = 12h +postscreen_cache_map = btree:$data_directory/postscreen_cache +postscreen_cache_retention_time = 7d +postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit +postscreen_command_count_limit = 20 +postscreen_command_filter = +postscreen_command_time_limit = ${stress?{10}:{300}}s +postscreen_disable_vrfy_command = $disable_vrfy_command +postscreen_discard_ehlo_keyword_address_maps = $smtpd_discard_ehlo_keyword_address_maps +postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords +postscreen_dnsbl_action = ignore +postscreen_dnsbl_max_ttl = ${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h +postscreen_dnsbl_min_ttl = 60s +postscreen_dnsbl_reply_map = +postscreen_dnsbl_sites = +postscreen_dnsbl_threshold = 1 +postscreen_dnsbl_timeout = 10s +postscreen_dnsbl_whitelist_threshold = 0 +postscreen_enforce_tls = $smtpd_enforce_tls +postscreen_expansion_filter = $smtpd_expansion_filter +postscreen_forbidden_commands = $smtpd_forbidden_commands +postscreen_greet_action = ignore +postscreen_greet_banner = $smtpd_banner +postscreen_greet_ttl = 1d +postscreen_greet_wait = ${stress?{2}:{6}}s +postscreen_helo_required = $smtpd_helo_required +postscreen_non_smtp_command_action = drop +postscreen_non_smtp_command_enable = no +postscreen_non_smtp_command_ttl = 30d +postscreen_pipelining_action = enforce +postscreen_pipelining_enable = no +postscreen_pipelining_ttl = 30d +postscreen_post_queue_limit = $default_process_limit +postscreen_pre_queue_limit = $default_process_limit +postscreen_reject_footer = $smtpd_reject_footer +postscreen_reject_footer_maps = $smtpd_reject_footer_maps +postscreen_tls_security_level = $smtpd_tls_security_level +postscreen_upstream_proxy_protocol = +postscreen_upstream_proxy_timeout = 5s +postscreen_use_tls = $smtpd_use_tls +postscreen_watchdog_timeout = 10s +postscreen_whitelist_interfaces = static:all +prepend_delivered_header = command, file, forward +process_id_directory = pid +propagate_unmatched_extensions = canonical, virtual +proxy_interfaces = +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions $address_verify_sender_dependent_default_transport_maps $address_verify_sender_dependent_relayhost_maps $address_verify_transport_maps $fallback_transport_maps $lmtp_discard_lhlo_keyword_address_maps $lmtp_pix_workaround_maps $lmtp_sasl_password_maps $lmtp_tls_policy_maps $mailbox_command_maps $mailbox_transport_maps $postscreen_discard_ehlo_keyword_address_maps $rbl_reply_maps $sender_dependent_default_transport_maps $sender_dependent_relayhost_maps $smtp_discard_ehlo_keyword_address_maps $smtp_pix_workaround_maps $smtp_sasl_password_maps $smtp_tls_policy_maps $smtpd_discard_ehlo_keyword_address_maps $smtpd_milter_maps $virtual_gid_maps $virtual_uid_maps +proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name $address_verify_map $postscreen_cache_map +proxymap_service_name = proxymap +proxywrite_service_name = proxywrite +qmgr_clog_warn_time = 300s +qmgr_daemon_timeout = 1000s +qmgr_fudge_factor = 100 +qmgr_ipc_timeout = 60s +qmgr_message_active_limit = 20000 +qmgr_message_recipient_limit = 20000 +qmgr_message_recipient_minimum = 10 +qmqpd_authorized_clients = +qmqpd_client_port_logging = no +qmqpd_error_delay = 1s +qmqpd_timeout = 300s +queue_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue +queue_file_attribute_count_limit = 100 +queue_minfree = 0 +queue_run_delay = 300s +queue_service_name = qmgr +rbl_reply_maps = +readme_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme +receive_override_options = +recipient_bcc_maps = +recipient_canonical_classes = envelope_recipient, header_recipient +recipient_canonical_maps = +recipient_delimiter = +reject_code = 554 +reject_tempfail_action = defer_if_permit +relay_clientcerts = +relay_delivery_slot_cost = $default_delivery_slot_cost +relay_delivery_slot_discount = $default_delivery_slot_discount +relay_delivery_slot_loan = $default_delivery_slot_loan +relay_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +relay_destination_concurrency_limit = $default_destination_concurrency_limit +relay_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +relay_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +relay_destination_rate_delay = $default_destination_rate_delay +relay_destination_recipient_limit = $default_destination_recipient_limit +relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}} +relay_domains_reject_code = 554 +relay_extra_recipient_limit = $default_extra_recipient_limit +relay_initial_destination_concurrency = $initial_destination_concurrency +relay_minimum_delivery_slots = $default_minimum_delivery_slots +relay_recipient_limit = $default_recipient_limit +relay_recipient_maps = +relay_recipient_refill_delay = $default_recipient_refill_delay +relay_recipient_refill_limit = $default_recipient_refill_limit +relay_transport = relay +relay_transport_rate_delay = $default_transport_rate_delay +relayhost = +relocated_maps = +remote_header_rewrite_domain = +require_home_directory = no +reset_owner_alias = no +resolve_dequoted_address = yes +resolve_null_domain = no +resolve_numeric_domain = no +retry_delivery_slot_cost = $default_delivery_slot_cost +retry_delivery_slot_discount = $default_delivery_slot_discount +retry_delivery_slot_loan = $default_delivery_slot_loan +retry_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +retry_destination_concurrency_limit = $default_destination_concurrency_limit +retry_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +retry_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +retry_destination_rate_delay = $default_destination_rate_delay +retry_destination_recipient_limit = $default_destination_recipient_limit +retry_extra_recipient_limit = $default_extra_recipient_limit +retry_initial_destination_concurrency = $initial_destination_concurrency +retry_minimum_delivery_slots = $default_minimum_delivery_slots +retry_recipient_limit = $default_recipient_limit +retry_recipient_refill_delay = $default_recipient_refill_delay +retry_recipient_refill_limit = $default_recipient_refill_limit +retry_transport_rate_delay = $default_transport_rate_delay +rewrite_service_name = rewrite +sample_directory = /home/jetmore/Documents/git/swaks/testing/mta/postfix-config +send_cyrus_sasl_authzid = no +sender_bcc_maps = +sender_canonical_classes = envelope_sender, header_sender +sender_canonical_maps = +sender_dependent_default_transport_maps = +sender_dependent_relayhost_maps = +sendmail_fix_line_endings = always +sendmail_path = /home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail +service_name = +service_throttle_time = 60s +setgid_group = postdrop +shlib_directory = no +show_user_unknown_table_name = yes +showq_service_name = showq +smtp_address_preference = any +smtp_address_verify_target = rcpt +smtp_always_send_ehlo = yes +smtp_balance_inet_protocols = yes +smtp_bind_address = +smtp_bind_address6 = +smtp_body_checks = +smtp_cname_overrides_servername = no +smtp_connect_timeout = 30s +smtp_connection_cache_destinations = +smtp_connection_cache_on_demand = yes +smtp_connection_cache_time_limit = 2s +smtp_connection_reuse_count_limit = 0 +smtp_connection_reuse_time_limit = 300s +smtp_data_done_timeout = 600s +smtp_data_init_timeout = 120s +smtp_data_xfer_timeout = 180s +smtp_defer_if_no_mx_address_found = no +smtp_delivery_slot_cost = $default_delivery_slot_cost +smtp_delivery_slot_discount = $default_delivery_slot_discount +smtp_delivery_slot_loan = $default_delivery_slot_loan +smtp_delivery_status_filter = $default_delivery_status_filter +smtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +smtp_destination_concurrency_limit = $default_destination_concurrency_limit +smtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +smtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +smtp_destination_rate_delay = $default_destination_rate_delay +smtp_destination_recipient_limit = $default_destination_recipient_limit +smtp_discard_ehlo_keyword_address_maps = +smtp_discard_ehlo_keywords = +smtp_dns_reply_filter = +smtp_dns_resolver_options = +smtp_dns_support_level = +smtp_enforce_tls = no +smtp_extra_recipient_limit = $default_extra_recipient_limit +smtp_fallback_relay = $fallback_relay +smtp_generic_maps = +smtp_header_checks = +smtp_helo_name = $myhostname +smtp_helo_timeout = 300s +smtp_host_lookup = dns +smtp_initial_destination_concurrency = $initial_destination_concurrency +smtp_line_length_limit = 998 +smtp_mail_timeout = 300s +smtp_mime_header_checks = +smtp_minimum_delivery_slots = $default_minimum_delivery_slots +smtp_mx_address_limit = 5 +smtp_mx_session_limit = 2 +smtp_nested_header_checks = +smtp_never_send_ehlo = no +smtp_per_record_deadline = no +smtp_pix_workaround_delay_time = 10s +smtp_pix_workaround_maps = +smtp_pix_workaround_threshold_time = 500s +smtp_pix_workarounds = disable_esmtp,delay_dotcrlf +smtp_quit_timeout = 300s +smtp_quote_rfc821_envelope = yes +smtp_randomize_addresses = yes +smtp_rcpt_timeout = 300s +smtp_recipient_limit = $default_recipient_limit +smtp_recipient_refill_delay = $default_recipient_refill_delay +smtp_recipient_refill_limit = $default_recipient_refill_limit +smtp_reply_filter = +smtp_rset_timeout = 20s +smtp_sasl_auth_cache_name = +smtp_sasl_auth_cache_time = 90d +smtp_sasl_auth_enable = no +smtp_sasl_auth_soft_bounce = yes +smtp_sasl_mechanism_filter = +smtp_sasl_password_maps = +smtp_sasl_path = +smtp_sasl_security_options = noplaintext, noanonymous +smtp_sasl_tls_security_options = $smtp_sasl_security_options +smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options +smtp_sasl_type = cyrus +smtp_send_dummy_mail_auth = no +smtp_send_xforward_command = no +smtp_sender_dependent_authentication = no +smtp_skip_5xx_greeting = yes +smtp_skip_quit_response = yes +smtp_starttls_timeout = 300s +smtp_tcp_port = smtp +smtp_tls_CAfile = +smtp_tls_CApath = +smtp_tls_block_early_mail_reply = no +smtp_tls_cert_file = +smtp_tls_chain_files = +smtp_tls_ciphers = medium +smtp_tls_connection_reuse = no +smtp_tls_dane_insecure_mx_policy = dane +smtp_tls_dcert_file = +smtp_tls_dkey_file = $smtp_tls_dcert_file +smtp_tls_eccert_file = +smtp_tls_eckey_file = $smtp_tls_eccert_file +smtp_tls_enforce_peername = yes +smtp_tls_exclude_ciphers = +smtp_tls_fingerprint_cert_match = +smtp_tls_fingerprint_digest = md5 +smtp_tls_force_insecure_host_tlsa_lookup = no +smtp_tls_key_file = $smtp_tls_cert_file +smtp_tls_loglevel = 0 +smtp_tls_mandatory_ciphers = medium +smtp_tls_mandatory_exclude_ciphers = +smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 +smtp_tls_note_starttls_offer = no +smtp_tls_per_site = +smtp_tls_policy_maps = +smtp_tls_protocols = !SSLv2, !SSLv3 +smtp_tls_scert_verifydepth = 9 +smtp_tls_secure_cert_match = nexthop, dot-nexthop +smtp_tls_security_level = +smtp_tls_servername = +smtp_tls_session_cache_database = +smtp_tls_session_cache_timeout = 3600s +smtp_tls_trust_anchor_file = +smtp_tls_verify_cert_match = hostname +smtp_tls_wrappermode = no +smtp_transport_rate_delay = $default_transport_rate_delay +smtp_use_tls = no +smtp_xforward_timeout = 300s +smtpd_authorized_verp_clients = $authorized_verp_clients +smtpd_authorized_xclient_hosts = +smtpd_authorized_xforward_hosts = +smtpd_banner = $myhostname ESMTP $mail_name +smtpd_client_auth_rate_limit = 0 +smtpd_client_connection_count_limit = 50 +smtpd_client_connection_rate_limit = 0 +smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks} +smtpd_client_message_rate_limit = 0 +smtpd_client_new_tls_session_rate_limit = 0 +smtpd_client_port_logging = no +smtpd_client_recipient_rate_limit = 0 +smtpd_client_restrictions = +smtpd_command_filter = +smtpd_data_restrictions = +smtpd_delay_open_until_valid_rcpt = yes +smtpd_delay_reject = yes +smtpd_discard_ehlo_keyword_address_maps = +smtpd_discard_ehlo_keywords = +smtpd_dns_reply_filter = +smtpd_end_of_data_restrictions = +smtpd_enforce_tls = no +smtpd_error_sleep_time = 1s +smtpd_etrn_restrictions = +smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ +smtpd_forbidden_commands = CONNECT GET POST +smtpd_hard_error_limit = ${stress?{1}:{20}} +smtpd_helo_required = no +smtpd_helo_restrictions = +smtpd_history_flush_threshold = 100 +smtpd_junk_command_limit = ${stress?{1}:{100}} +smtpd_log_access_permit_actions = +smtpd_milter_maps = +smtpd_milters = +smtpd_noop_commands = +smtpd_null_access_lookup_key = <> +smtpd_peername_lookup = yes +smtpd_per_record_deadline = ${stress?{yes}:{no}} +smtpd_policy_service_default_action = 451 4.3.5 Server configuration problem +smtpd_policy_service_max_idle = 300s +smtpd_policy_service_max_ttl = 1000s +smtpd_policy_service_policy_context = +smtpd_policy_service_request_limit = 0 +smtpd_policy_service_retry_delay = 1s +smtpd_policy_service_timeout = 100s +smtpd_policy_service_try_limit = 2 +smtpd_proxy_ehlo = $myhostname +smtpd_proxy_filter = +smtpd_proxy_options = +smtpd_proxy_timeout = 100s +smtpd_recipient_limit = 1000 +smtpd_recipient_overshoot_limit = 1000 +smtpd_recipient_restrictions = +smtpd_reject_footer = +smtpd_reject_footer_maps = +smtpd_reject_unlisted_recipient = yes +smtpd_reject_unlisted_sender = no +smtpd_relay_restrictions = ${{$compatibility_level} < {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}} +smtpd_restriction_classes = +smtpd_sasl_auth_enable = no +smtpd_sasl_authenticated_header = no +smtpd_sasl_exceptions_networks = +smtpd_sasl_local_domain = +smtpd_sasl_path = smtpd +smtpd_sasl_response_limit = 12288 +smtpd_sasl_security_options = noanonymous +smtpd_sasl_service = smtp +smtpd_sasl_tls_security_options = $smtpd_sasl_security_options +smtpd_sasl_type = cyrus +smtpd_sender_login_maps = +smtpd_sender_restrictions = +smtpd_service_name = smtpd +smtpd_soft_error_limit = 10 +smtpd_starttls_timeout = ${stress?{10}:{300}}s +smtpd_timeout = ${stress?{10}:{300}}s +smtpd_tls_CAfile = +smtpd_tls_CApath = +smtpd_tls_always_issue_session_ids = yes +smtpd_tls_ask_ccert = no +smtpd_tls_auth_only = no +smtpd_tls_ccert_verifydepth = 9 +smtpd_tls_cert_file = +smtpd_tls_chain_files = +smtpd_tls_ciphers = medium +smtpd_tls_dcert_file = +smtpd_tls_dh1024_param_file = +smtpd_tls_dh512_param_file = +smtpd_tls_dkey_file = $smtpd_tls_dcert_file +smtpd_tls_eccert_file = +smtpd_tls_eckey_file = $smtpd_tls_eccert_file +smtpd_tls_eecdh_grade = auto +smtpd_tls_exclude_ciphers = +smtpd_tls_fingerprint_digest = md5 +smtpd_tls_key_file = $smtpd_tls_cert_file +smtpd_tls_loglevel = 0 +smtpd_tls_mandatory_ciphers = medium +smtpd_tls_mandatory_exclude_ciphers = +smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 +smtpd_tls_protocols = !SSLv2, !SSLv3 +smtpd_tls_received_header = no +smtpd_tls_req_ccert = no +smtpd_tls_security_level = +smtpd_tls_session_cache_database = +smtpd_tls_session_cache_timeout = 3600s +smtpd_tls_wrappermode = no +smtpd_upstream_proxy_protocol = +smtpd_upstream_proxy_timeout = 5s +smtpd_use_tls = no +smtputf8_autodetect_classes = sendmail, verify +smtputf8_enable = no +soft_bounce = no +stale_lock_time = 500s +stress = +strict_7bit_headers = no +strict_8bitmime = no +strict_8bitmime_body = no +strict_mailbox_ownership = yes +strict_mime_encoding_domain = no +strict_rfc821_envelopes = no +strict_smtputf8 = no +sun_mailtool_compatibility = no +swap_bangpath = yes +syslog_facility = mail +syslog_name = ${multi_instance_name?{$multi_instance_name}:{postfix}} +tcp_windowsize = 0 +tls_append_default_CA = no +tls_daemon_random_bytes = 32 +tls_dane_digests = sha512 sha256 +tls_disable_workarounds = +tls_eecdh_auto_curves = X25519 X448 prime256v1 secp521r1 secp384r1 +tls_eecdh_strong_curve = prime256v1 +tls_eecdh_ultra_curve = secp384r1 +tls_export_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH +tls_fast_shutdown_enable = yes +tls_high_cipherlist = aNULL:-aNULL:HIGH:@STRENGTH +tls_legacy_public_key_fingerprints = no +tls_low_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:LOW:+RC4:@STRENGTH +tls_medium_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH +tls_null_cipherlist = eNULL:!aNULL +tls_preempt_cipherlist = no +tls_random_bytes = 32 +tls_random_exchange_name = ${data_directory}/prng_exch +tls_random_prng_update_period = 3600s +tls_random_reseed_period = 3600s +tls_random_source = dev:/dev/urandom +tls_server_sni_maps = +tls_session_ticket_cipher = aes-256-cbc +tls_ssl_options = +tls_wildcard_matches_multiple_labels = yes +tlsmgr_service_name = tlsmgr +tlsproxy_client_CAfile = $smtp_tls_CAfile +tlsproxy_client_CApath = $smtp_tls_CApath +tlsproxy_client_cert_file = $smtp_tls_cert_file +tlsproxy_client_chain_files = $smtp_tls_chain_files +tlsproxy_client_dcert_file = $smtp_tls_dcert_file +tlsproxy_client_dkey_file = $smtp_tls_dkey_file +tlsproxy_client_eccert_file = $smtp_tls_eccert_file +tlsproxy_client_eckey_file = $smtp_tls_eckey_file +tlsproxy_client_enforce_tls = $smtp_enforce_tls +tlsproxy_client_fingerprint_digest = $smtp_tls_fingerprint_digest +tlsproxy_client_key_file = $smtp_tls_key_file +tlsproxy_client_level = $smtp_tls_security_level +tlsproxy_client_loglevel = $smtp_tls_loglevel +tlsproxy_client_loglevel_parameter = smtp_tls_loglevel +tlsproxy_client_per_site = $smtp_tls_per_site +tlsproxy_client_policy = $smtp_tls_policy_maps +tlsproxy_client_scert_verifydepth = $smtp_tls_scert_verifydepth +tlsproxy_client_use_tls = $smtp_use_tls +tlsproxy_enforce_tls = $smtpd_enforce_tls +tlsproxy_service_name = tlsproxy +tlsproxy_tls_CAfile = $smtpd_tls_CAfile +tlsproxy_tls_CApath = $smtpd_tls_CApath +tlsproxy_tls_always_issue_session_ids = $smtpd_tls_always_issue_session_ids +tlsproxy_tls_ask_ccert = $smtpd_tls_ask_ccert +tlsproxy_tls_ccert_verifydepth = $smtpd_tls_ccert_verifydepth +tlsproxy_tls_cert_file = $smtpd_tls_cert_file +tlsproxy_tls_chain_files = $smtpd_tls_chain_files +tlsproxy_tls_ciphers = $smtpd_tls_ciphers +tlsproxy_tls_dcert_file = $smtpd_tls_dcert_file +tlsproxy_tls_dh1024_param_file = $smtpd_tls_dh1024_param_file +tlsproxy_tls_dh512_param_file = $smtpd_tls_dh512_param_file +tlsproxy_tls_dkey_file = $smtpd_tls_dkey_file +tlsproxy_tls_eccert_file = $smtpd_tls_eccert_file +tlsproxy_tls_eckey_file = $smtpd_tls_eckey_file +tlsproxy_tls_eecdh_grade = $smtpd_tls_eecdh_grade +tlsproxy_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers +tlsproxy_tls_fingerprint_digest = $smtpd_tls_fingerprint_digest +tlsproxy_tls_key_file = $smtpd_tls_key_file +tlsproxy_tls_loglevel = $smtpd_tls_loglevel +tlsproxy_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers +tlsproxy_tls_mandatory_exclude_ciphers = $smtpd_tls_mandatory_exclude_ciphers +tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols +tlsproxy_tls_protocols = $smtpd_tls_protocols +tlsproxy_tls_req_ccert = $smtpd_tls_req_ccert +tlsproxy_tls_security_level = $smtpd_tls_security_level +tlsproxy_use_tls = $smtpd_use_tls +tlsproxy_watchdog_timeout = 10s +trace_service_name = trace +transport_maps = +transport_retry_time = 60s +trigger_timeout = 10s +undisclosed_recipients_header = +unknown_address_reject_code = 450 +unknown_address_tempfail_action = $reject_tempfail_action +unknown_client_reject_code = 450 +unknown_helo_hostname_tempfail_action = $reject_tempfail_action +unknown_hostname_reject_code = 450 +unknown_local_recipient_reject_code = 550 +unknown_relay_recipient_reject_code = 550 +unknown_virtual_alias_reject_code = 550 +unknown_virtual_mailbox_reject_code = 550 +unverified_recipient_defer_code = 450 +unverified_recipient_reject_code = 450 +unverified_recipient_reject_reason = +unverified_recipient_tempfail_action = $reject_tempfail_action +unverified_sender_defer_code = 450 +unverified_sender_reject_code = 450 +unverified_sender_reject_reason = +unverified_sender_tempfail_action = $reject_tempfail_action +verp_delimiter_filter = -=+ +virtual_alias_address_length_limit = 1000 +virtual_alias_domains = $virtual_alias_maps +virtual_alias_expansion_limit = 1000 +virtual_alias_maps = $virtual_maps +virtual_alias_recursion_limit = 1000 +virtual_delivery_slot_cost = $default_delivery_slot_cost +virtual_delivery_slot_discount = $default_delivery_slot_discount +virtual_delivery_slot_loan = $default_delivery_slot_loan +virtual_delivery_status_filter = $default_delivery_status_filter +virtual_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit +virtual_destination_concurrency_limit = $default_destination_concurrency_limit +virtual_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback +virtual_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback +virtual_destination_rate_delay = $default_destination_rate_delay +virtual_destination_recipient_limit = $default_destination_recipient_limit +virtual_extra_recipient_limit = $default_extra_recipient_limit +virtual_gid_maps = +virtual_initial_destination_concurrency = $initial_destination_concurrency +virtual_mailbox_base = +virtual_mailbox_domains = $virtual_mailbox_maps +virtual_mailbox_limit = 51200000 +virtual_mailbox_lock = fcntl, dotlock +virtual_mailbox_maps = +virtual_minimum_delivery_slots = $default_minimum_delivery_slots +virtual_minimum_uid = 100 +virtual_recipient_limit = $default_recipient_limit +virtual_recipient_refill_delay = $default_recipient_refill_delay +virtual_recipient_refill_limit = $default_recipient_refill_limit +virtual_transport = virtual +virtual_transport_rate_delay = $default_transport_rate_delay +virtual_uid_maps = diff --git a/testing/mta/postfix-config/main.cf.proto b/testing/mta/postfix-config/main.cf.proto new file mode 100644 index 00000000..9247ef7b --- /dev/null +++ b/testing/mta/postfix-config/main.cf.proto @@ -0,0 +1,676 @@ +# Global Postfix configuration file. This file lists only a subset +# of all parameters. For the syntax, and for a complete parameter +# list, see the postconf(5) manual page (command: "man 5 postconf"). +# +# For common configuration examples, see BASIC_CONFIGURATION_README +# and STANDARD_CONFIGURATION_README. To find these documents, use +# the command "postconf html_directory readme_directory", or go to +# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc. +# +# For best results, change no more than 2-3 parameters at a time, +# and test if Postfix still works after every change. + +# COMPATIBILITY +# +# The compatibility_level determines what default settings Postfix +# will use for main.cf and master.cf settings. These defaults will +# change over time. +# +# To avoid breaking things, Postfix will use backwards-compatible +# default settings and log where it uses those old backwards-compatible +# default settings, until the system administrator has determined +# if any backwards-compatible default settings need to be made +# permanent in main.cf or master.cf. +# +# When this review is complete, update the compatibility_level setting +# below as recommended in the RELEASE_NOTES file. +# +# The level below is what should be used with new (not upgrade) installs. +# +compatibility_level = 2 + +# SOFT BOUNCE +# +# The soft_bounce parameter provides a limited safety net for +# testing. When soft_bounce is enabled, mail will remain queued that +# would otherwise bounce. This parameter disables locally-generated +# bounces, and prevents the SMTP server from rejecting mail permanently +# (by changing 5xx replies into 4xx replies). However, soft_bounce +# is no cure for address rewriting mistakes or mail routing mistakes. +# +#soft_bounce = no + +# LOCAL PATHNAME INFORMATION +# +# The queue_directory specifies the location of the Postfix queue. +# This is also the root directory of Postfix daemons that run chrooted. +# See the files in examples/chroot-setup for setting up Postfix chroot +# environments on different UNIX systems. +# +queue_directory = /var/spool/postfix + +# The command_directory parameter specifies the location of all +# postXXX commands. +# +command_directory = /usr/sbin + +# The daemon_directory parameter specifies the location of all Postfix +# daemon programs (i.e. programs listed in the master.cf file). This +# directory must be owned by root. +# +daemon_directory = /usr/libexec/postfix + +# The data_directory parameter specifies the location of Postfix-writable +# data files (caches, random numbers). This directory must be owned +# by the mail_owner account (see below). +# +data_directory = /var/lib/postfix + +# QUEUE AND PROCESS OWNERSHIP +# +# The mail_owner parameter specifies the owner of the Postfix queue +# and of most Postfix daemon processes. Specify the name of a user +# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS +# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In +# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED +# USER. +# +mail_owner = postfix + +# The default_privs parameter specifies the default rights used by +# the local delivery agent for delivery to external file or command. +# These rights are used in the absence of a recipient user context. +# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. +# +#default_privs = nobody + +# INTERNET HOST AND DOMAIN NAMES +# +# The myhostname parameter specifies the internet hostname of this +# mail system. The default is to use the fully-qualified domain name +# from gethostname(). $myhostname is used as a default value for many +# other configuration parameters. +# +#myhostname = host.domain.tld +#myhostname = virtual.domain.tld + +# The mydomain parameter specifies the local internet domain name. +# The default is to use $myhostname minus the first component. +# $mydomain is used as a default value for many other configuration +# parameters. +# +#mydomain = domain.tld + +# SENDING MAIL +# +# The myorigin parameter specifies the domain that locally-posted +# mail appears to come from. The default is to append $myhostname, +# which is fine for small sites. If you run a domain with multiple +# machines, you should (1) change this to $mydomain and (2) set up +# a domain-wide alias database that aliases each user to +# user@that.users.mailhost. +# +# For the sake of consistency between sender and recipient addresses, +# myorigin also specifies the default domain name that is appended +# to recipient addresses that have no @domain part. +# +#myorigin = $myhostname +#myorigin = $mydomain + +# RECEIVING MAIL + +# The inet_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on. By default, +# the software claims all active interfaces on the machine. The +# parameter also controls delivery of mail to user@[ip.address]. +# +# See also the proxy_interfaces parameter, for network addresses that +# are forwarded to us via a proxy or network address translator. +# +# Note: you need to stop/start Postfix when this parameter changes. +# +#inet_interfaces = all +#inet_interfaces = $myhostname +#inet_interfaces = $myhostname, localhost + +# The proxy_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on by way of a +# proxy or network address translation unit. This setting extends +# the address list specified with the inet_interfaces parameter. +# +# You must specify your proxy/NAT addresses when your system is a +# backup MX host for other domains, otherwise mail delivery loops +# will happen when the primary MX host is down. +# +#proxy_interfaces = +#proxy_interfaces = 1.2.3.4 + +# The mydestination parameter specifies the list of domains that this +# machine considers itself the final destination for. +# +# These domains are routed to the delivery agent specified with the +# local_transport parameter setting. By default, that is the UNIX +# compatible delivery agent that lookups all recipients in /etc/passwd +# and /etc/aliases or their equivalent. +# +# The default is $myhostname + localhost.$mydomain + localhost. On +# a mail domain gateway, you should also include $mydomain. +# +# Do not specify the names of virtual domains - those domains are +# specified elsewhere (see VIRTUAL_README). +# +# Do not specify the names of domains that this machine is backup MX +# host for. Specify those names via the relay_domains settings for +# the SMTP server, or use permit_mx_backup if you are lazy (see +# STANDARD_CONFIGURATION_README). +# +# The local machine is always the final destination for mail addressed +# to user@[the.net.work.address] of an interface that the mail system +# receives mail on (see the inet_interfaces parameter). +# +# Specify a list of host or domain names, /file/name or type:table +# patterns, separated by commas and/or whitespace. A /file/name +# pattern is replaced by its contents; a type:table is matched when +# a name matches a lookup key (the right-hand side is ignored). +# Continue long lines by starting the next line with whitespace. +# +# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". +# +#mydestination = $myhostname, localhost.$mydomain, localhost +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, +# mail.$mydomain, www.$mydomain, ftp.$mydomain + +# REJECTING MAIL FOR UNKNOWN LOCAL USERS +# +# The local_recipient_maps parameter specifies optional lookup tables +# with all names or addresses of users that are local with respect +# to $mydestination, $inet_interfaces or $proxy_interfaces. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown local users. This parameter is defined by default. +# +# To turn off local recipient checking in the SMTP server, specify +# local_recipient_maps = (i.e. empty). +# +# The default setting assumes that you use the default Postfix local +# delivery agent for local delivery. You need to update the +# local_recipient_maps setting if: +# +# - You define $mydestination domain recipients in files other than +# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files. +# For example, you define $mydestination domain recipients in +# the $virtual_mailbox_maps files. +# +# - You redefine the local delivery agent in master.cf. +# +# - You redefine the "local_transport" setting in main.cf. +# +# - You use the "luser_relay", "mailbox_transport", or "fallback_transport" +# feature of the Postfix local delivery agent (see local(8)). +# +# Details are described in the LOCAL_RECIPIENT_README file. +# +# Beware: if the Postfix SMTP server runs chrooted, you probably have +# to access the passwd file via the proxymap service, in order to +# overcome chroot restrictions. The alternative, having a copy of +# the system passwd file in the chroot jail is just not practical. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify a bare username, an @domain.tld +# wild-card, or specify a user@domain.tld address. +# +#local_recipient_maps = unix:passwd.byname $alias_maps +#local_recipient_maps = proxy:unix:passwd.byname $alias_maps +#local_recipient_maps = + +# The unknown_local_recipient_reject_code specifies the SMTP server +# response code when a recipient domain matches $mydestination or +# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty +# and the recipient address or address local-part is not found. +# +# The default setting is 550 (reject mail) but it is safer to start +# with 450 (try again later) until you are certain that your +# local_recipient_maps settings are OK. +# +unknown_local_recipient_reject_code = 550 + +# TRUST AND RELAY CONTROL + +# The mynetworks parameter specifies the list of "trusted" SMTP +# clients that have more privileges than "strangers". +# +# In particular, "trusted" SMTP clients are allowed to relay mail +# through Postfix. See the smtpd_recipient_restrictions parameter +# in postconf(5). +# +# You can specify the list of "trusted" network addresses by hand +# or you can let Postfix do it for you (which is the default). +# +# By default (mynetworks_style = subnet), Postfix "trusts" SMTP +# clients in the same IP subnetworks as the local machine. +# On Linux, this works correctly only with interfaces specified +# with the "ifconfig" command. +# +# Specify "mynetworks_style = class" when Postfix should "trust" SMTP +# clients in the same IP class A/B/C networks as the local machine. +# Don't do this with a dialup site - it would cause Postfix to "trust" +# your entire provider's network. Instead, specify an explicit +# mynetworks list by hand, as described below. +# +# Specify "mynetworks_style = host" when Postfix should "trust" +# only the local machine. +# +#mynetworks_style = class +#mynetworks_style = subnet +#mynetworks_style = host + +# Alternatively, you can specify the mynetworks list by hand, in +# which case Postfix ignores the mynetworks_style setting. +# +# Specify an explicit list of network/netmask patterns, where the +# mask specifies the number of bits in the network part of a host +# address. +# +# You can also specify the absolute pathname of a pattern file instead +# of listing the patterns here. Specify type:table for table-based lookups +# (the value on the table right-hand side is not used). +# +#mynetworks = 168.100.189.0/28, 127.0.0.0/8 +#mynetworks = $config_directory/mynetworks +#mynetworks = hash:/etc/postfix/network_table + +# The relay_domains parameter restricts what destinations this system will +# relay mail to. See the smtpd_recipient_restrictions description in +# postconf(5) for detailed information. +# +# By default, Postfix relays mail +# - from "trusted" clients (IP address matches $mynetworks) to any destination, +# - from "untrusted" clients to destinations that match $relay_domains or +# subdomains thereof, except addresses with sender-specified routing. +# The default relay_domains value is $mydestination. +# +# In addition to the above, the Postfix SMTP server by default accepts mail +# that Postfix is final destination for: +# - destinations that match $inet_interfaces or $proxy_interfaces, +# - destinations that match $mydestination +# - destinations that match $virtual_alias_domains, +# - destinations that match $virtual_mailbox_domains. +# These destinations do not need to be listed in $relay_domains. +# +# Specify a list of hosts or domains, /file/name patterns or type:name +# lookup tables, separated by commas and/or whitespace. Continue +# long lines by starting the next line with whitespace. A file name +# is replaced by its contents; a type:name table is matched when a +# (parent) domain appears as lookup key. +# +# NOTE: Postfix will not automatically forward mail for domains that +# list this system as their primary or backup MX host. See the +# permit_mx_backup restriction description in postconf(5). +# +#relay_domains = $mydestination + +# INTERNET OR INTRANET + +# The relayhost parameter specifies the default host to send mail to +# when no entry is matched in the optional transport(5) table. When +# no relayhost is given, mail is routed directly to the destination. +# +# On an intranet, specify the organizational domain name. If your +# internal DNS uses no MX records, specify the name of the intranet +# gateway host instead. +# +# In the case of SMTP, specify a domain, host, host:port, [host]:port, +# [address] or [address]:port; the form [host] turns off MX lookups. +# +# If you're connected via UUCP, see also the default_transport parameter. +# +#relayhost = $mydomain +#relayhost = [gateway.my.domain] +#relayhost = [mailserver.isp.tld] +#relayhost = uucphost +#relayhost = [an.ip.add.ress] + +# REJECTING UNKNOWN RELAY USERS +# +# The relay_recipient_maps parameter specifies optional lookup tables +# with all addresses in the domains that match $relay_domains. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown relay users. This feature is off by default. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify an @domain.tld wild-card, or specify +# a user@domain.tld address. +# +#relay_recipient_maps = hash:/etc/postfix/relay_recipients + +# INPUT RATE CONTROL +# +# The in_flow_delay configuration parameter implements mail input +# flow control. This feature is turned on by default, although it +# still needs further development (it's disabled on SCO UNIX due +# to an SCO bug). +# +# A Postfix process will pause for $in_flow_delay seconds before +# accepting a new message, when the message arrival rate exceeds the +# message delivery rate. With the default 100 SMTP server process +# limit, this limits the mail inflow to 100 messages a second more +# than the number of messages delivered per second. +# +# Specify 0 to disable the feature. Valid delays are 0..10. +# +#in_flow_delay = 1s + +# ADDRESS REWRITING +# +# The ADDRESS_REWRITING_README document gives information about +# address masquerading or other forms of address rewriting including +# username->Firstname.Lastname mapping. + +# ADDRESS REDIRECTION (VIRTUAL DOMAIN) +# +# The VIRTUAL_README document gives information about the many forms +# of domain hosting that Postfix supports. + +# "USER HAS MOVED" BOUNCE MESSAGES +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# TRANSPORT MAP +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# ALIAS DATABASE +# +# The alias_maps parameter specifies the list of alias databases used +# by the local delivery agent. The default list is system dependent. +# +# On systems with NIS, the default is to search the local alias +# database, then the NIS alias database. See aliases(5) for syntax +# details. +# +# If you change the alias database, run "postalias /etc/aliases" (or +# wherever your system stores the mail alias file), or simply run +# "newaliases" to build the necessary DBM or DB file. +# +# It will take a minute or so before changes become visible. Use +# "postfix reload" to eliminate the delay. +# +#alias_maps = dbm:/etc/aliases +#alias_maps = hash:/etc/aliases +#alias_maps = hash:/etc/aliases, nis:mail.aliases +#alias_maps = netinfo:/aliases + +# The alias_database parameter specifies the alias database(s) that +# are built with "newaliases" or "sendmail -bi". This is a separate +# configuration parameter, because alias_maps (see above) may specify +# tables that are not necessarily all under control by Postfix. +# +#alias_database = dbm:/etc/aliases +#alias_database = dbm:/etc/mail/aliases +#alias_database = hash:/etc/aliases +#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases + +# ADDRESS EXTENSIONS (e.g., user+foo) +# +# The recipient_delimiter parameter specifies the separator between +# user names and address extensions (user+foo). See canonical(5), +# local(8), relocated(5) and virtual(5) for the effects this has on +# aliases, canonical, virtual, relocated and .forward file lookups. +# Basically, the software tries user+foo and .forward+foo before +# trying user and .forward. +# +#recipient_delimiter = + + +# DELIVERY TO MAILBOX +# +# The home_mailbox parameter specifies the optional pathname of a +# mailbox file relative to a user's home directory. The default +# mailbox file is /var/spool/mail/user or /var/mail/user. Specify +# "Maildir/" for qmail-style delivery (the / is required). +# +#home_mailbox = Mailbox +#home_mailbox = Maildir/ + +# The mail_spool_directory parameter specifies the directory where +# UNIX-style mailboxes are kept. The default setting depends on the +# system type. +# +#mail_spool_directory = /var/mail +#mail_spool_directory = /var/spool/mail + +# The mailbox_command parameter specifies the optional external +# command to use instead of mailbox delivery. The command is run as +# the recipient with proper HOME, SHELL and LOGNAME environment settings. +# Exception: delivery for root is done as $default_user. +# +# Other environment variables of interest: USER (recipient username), +# EXTENSION (address extension), DOMAIN (domain part of address), +# and LOCAL (the address localpart). +# +# Unlike other Postfix configuration parameters, the mailbox_command +# parameter is not subjected to $parameter substitutions. This is to +# make it easier to specify shell syntax (see example below). +# +# Avoid shell meta characters because they will force Postfix to run +# an expensive shell process. Procmail alone is expensive enough. +# +# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN +# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. +# +#mailbox_command = /some/where/procmail +#mailbox_command = /some/where/procmail -a "$EXTENSION" + +# The mailbox_transport specifies the optional transport in master.cf +# to use after processing aliases and .forward files. This parameter +# has precedence over the mailbox_command, fallback_transport and +# luser_relay parameters. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +# Cyrus IMAP over LMTP. Specify ``lmtpunix cmd="lmtpd" +# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. +#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp +# +# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and +# subsequent line in master.cf. +#mailbox_transport = cyrus + +# The fallback_transport specifies the optional transport in master.cf +# to use for recipients that are not found in the UNIX passwd database. +# This parameter has precedence over the luser_relay parameter. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#fallback_transport = lmtp:unix:/file/name +#fallback_transport = cyrus +#fallback_transport = + +# The luser_relay parameter specifies an optional destination address +# for unknown recipients. By default, mail for unknown@$mydestination, +# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned +# as undeliverable. +# +# The following expansions are done on luser_relay: $user (recipient +# username), $shell (recipient shell), $home (recipient home directory), +# $recipient (full recipient address), $extension (recipient address +# extension), $domain (recipient domain), $local (entire recipient +# localpart), $recipient_delimiter. Specify ${name?value} or +# ${name:value} to expand value only when $name does (does not) exist. +# +# luser_relay works only for the default Postfix local delivery agent. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must specify "local_recipient_maps =" (i.e. empty) in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#luser_relay = $user@other.host +#luser_relay = $local@other.host +#luser_relay = admin+$local + +# JUNK MAIL CONTROLS +# +# The controls listed here are only a very small subset. The file +# SMTPD_ACCESS_README provides an overview. + +# The header_checks parameter specifies an optional table with patterns +# that each logical message header is matched against, including +# headers that span multiple physical lines. +# +# By default, these patterns also apply to MIME headers and to the +# headers of attached messages. With older Postfix versions, MIME and +# attached message headers were treated as body text. +# +# For details, see "man header_checks". +# +#header_checks = regexp:/etc/postfix/header_checks + +# FAST ETRN SERVICE +# +# Postfix maintains per-destination logfiles with information about +# deferred mail, so that mail can be flushed quickly with the SMTP +# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld". +# See the ETRN_README document for a detailed description. +# +# The fast_flush_domains parameter controls what destinations are +# eligible for this service. By default, they are all domains that +# this server is willing to relay mail to. +# +#fast_flush_domains = $relay_domains + +# SHOW SOFTWARE VERSION OR NOT +# +# The smtpd_banner parameter specifies the text that follows the 220 +# code in the SMTP server's greeting banner. Some people like to see +# the mail version advertised. By default, Postfix shows no version. +# +# You MUST specify $myhostname at the start of the text. That is an +# RFC requirement. Postfix itself does not care. +# +#smtpd_banner = $myhostname ESMTP $mail_name +#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) + +# PARALLEL DELIVERY TO THE SAME DESTINATION +# +# How many parallel deliveries to the same user or domain? With local +# delivery, it does not make sense to do massively parallel delivery +# to the same user, because mailbox updates must happen sequentially, +# and expensive pipelines in .forward files can cause disasters when +# too many are run at the same time. With SMTP deliveries, 10 +# simultaneous connections to the same domain could be sufficient to +# raise eyebrows. +# +# Each message delivery transport has its XXX_destination_concurrency_limit +# parameter. The default is $default_destination_concurrency_limit for +# most delivery transports. For the local delivery agent the default is 2. + +#local_destination_concurrency_limit = 2 +#default_destination_concurrency_limit = 20 + +# DEBUGGING CONTROL +# +# The debug_peer_level parameter specifies the increment in verbose +# logging level when an SMTP client or server host name or address +# matches a pattern in the debug_peer_list parameter. +# +debug_peer_level = 2 + +# The debug_peer_list parameter specifies an optional list of domain +# or network patterns, /file/name patterns or type:name tables. When +# an SMTP client or server host name or address matches a pattern, +# increase the verbose logging level by the amount specified in the +# debug_peer_level parameter. +# +#debug_peer_list = 127.0.0.1 +#debug_peer_list = some.domain + +# The debugger_command specifies the external command that is executed +# when a Postfix daemon program is run with the -D option. +# +# Use "command .. & sleep 5" so that the debugger can attach before +# the process marches on. If you use an X-based debugger, be sure to +# set up your XAUTHORITY environment variable before starting Postfix. +# +debugger_command = + PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin + ddd $daemon_directory/$process_name $process_id & sleep 5 + +# If you can't use X, use this to capture the call stack when a +# daemon crashes. The result is in a file in the configuration +# directory, and is named after the process name and the process ID. +# +# debugger_command = +# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; +# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 +# >$config_directory/$process_name.$process_id.log & sleep 5 +# +# Another possibility is to run gdb under a detached screen session. +# To attach to the screen session, su root and run "screen -r +# " where uniquely matches one of the detached +# sessions (from "screen -list"). +# +# debugger_command = +# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen +# -dmS $process_name gdb $daemon_directory/$process_name +# $process_id & sleep 1 + +# INSTALL-TIME CONFIGURATION INFORMATION +# +# The following parameters are used when installing a new Postfix version. +# +# sendmail_path: The full pathname of the Postfix sendmail command. +# This is the Sendmail-compatible mail posting interface. +# +sendmail_path = + +# newaliases_path: The full pathname of the Postfix newaliases command. +# This is the Sendmail-compatible command to build alias databases. +# +newaliases_path = + +# mailq_path: The full pathname of the Postfix mailq command. This +# is the Sendmail-compatible mail queue listing command. +# +mailq_path = + +# setgid_group: The group for mail submission and queue management +# commands. This must be a group name with a numerical group ID that +# is not shared with other accounts, not even with the Postfix account. +# +setgid_group = + +# html_directory: The location of the Postfix HTML documentation. +# +html_directory = + +# manpage_directory: The location of the Postfix on-line manual pages. +# +manpage_directory = + +# sample_directory: The location of the Postfix sample configuration files. +# This parameter is obsolete as of Postfix 2.1. +# +sample_directory = + +# readme_directory: The location of the Postfix README files. +# +readme_directory = +inet_protocols = ipv4 diff --git a/testing/mta/postfix-config/makedefs.out b/testing/mta/postfix-config/makedefs.out new file mode 100644 index 00000000..ceb9e6a6 --- /dev/null +++ b/testing/mta/postfix-config/makedefs.out @@ -0,0 +1,59 @@ +# Do not edit -- this file documents how Postfix was built for your machine. +#---------------------------------------------------------------- +# Start of summary of user-configurable 'make makefiles' options. +# CCARGS=-DUSE_TLS +# AUXLIBS=-lssl -lcrypto +# shared= +# dynamicmaps= +# pie= +# command_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin +# config_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-config +# daemon_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec +# data_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib +# mail_spool_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/mailspool +# mailq_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq +# meta_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-config +# newaliases_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases +# queue_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue +# sendmail_path=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail +# shlib_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib +# manpage_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man +# readme_directory=/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme +# End of summary of user-configurable 'make makefiles' options. +#-------------------------------------------------------------- +# System-dependent settings and compiler/linker overrides. +SYSTYPE = LINUX4 +_AR = ar +ARFL = rv +_RANLIB = ranlib +SYSLIBS = -lssl -lcrypto -lpcre -ldb -lnsl -lresolv -ldl +CC = gcc -I. -I../../include -DUSE_TLS -DNO_EAI -DDEF_SMTPUTF8_ENABLE=\"no\" -DHAS_DEV_URANDOM -DHAS_PCRE -DDEF_COMMAND_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin\" -DDEF_CONFIG_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-config\" -DDEF_DAEMON_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec\" -DDEF_DATA_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib\" -DDEF_MAIL_SPOOL_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/mailspool\" -DDEF_MAILQ_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq\" -DDEF_META_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-config\" -DDEF_NEWALIAS_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases\" -DDEF_QUEUE_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue\" -DDEF_SENDMAIL_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail\" -DDEF_SHLIB_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib\" -DDEF_MANPAGE_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man\" -DDEF_README_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme\" -UUSE_DYNAMIC_LIBS -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS $(WARN) +OPT = -O +DEBUG = -g +AWK = awk +STRCASE = +EXPORT = CCARGS='-I. -I../../include -DUSE_TLS -DNO_EAI -DDEF_SMTPUTF8_ENABLE=\"no\" -DHAS_DEV_URANDOM -DHAS_PCRE -DDEF_COMMAND_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin\" -DDEF_CONFIG_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-config\" -DDEF_DAEMON_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/libexec\" -DDEF_DATA_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib\" -DDEF_MAIL_SPOOL_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/mailspool\" -DDEF_MAILQ_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/mailq\" -DDEF_META_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-config\" -DDEF_NEWALIAS_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/newaliases\" -DDEF_QUEUE_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/queue\" -DDEF_SENDMAIL_PATH=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/bin/sendmail\" -DDEF_SHLIB_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/lib\" -DDEF_MANPAGE_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/man\" -DDEF_README_DIR=\"/home/jetmore/Documents/git/swaks/testing/mta/postfix-install/readme\" -UUSE_DYNAMIC_LIBS -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS' OPT='-O' DEBUG='-g' +WARN = -Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \ + -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \ + -Wunused -Wno-missing-braces -fcommon +DEFINED_MAP_TYPES = dev_urandom pcre +MAKE_FIX = +# Switch between Postfix static and dynamically-linked libraries. +AR = ar +RANLIB = ranlib +LIB_PREFIX = +LIB_SUFFIX = .a +SHLIB_CFLAGS = +SHLIB_DIR = no +SHLIB_LD = : +SHLIB_SYSLIBS = +SHLIB_RPATH = +# Switch between dynamicmaps.cf plugins and hard-linked databases. +NON_PLUGIN_MAP_OBJ = $(MAP_OBJ) +PLUGIN_MAP_OBJ = +PLUGIN_MAP_OBJ_UPDATE = +PLUGIN_MAP_SO_MAKE = +PLUGIN_MAP_SO_UPDATE = +PLUGIN_LD = +POSTFIX_INSTALL_OPTS = +# Application-specific rules. diff --git a/testing/mta/postfix-config/master.cf b/testing/mta/postfix-config/master.cf new file mode 100644 index 00000000..6718a4a7 --- /dev/null +++ b/testing/mta/postfix-config/master.cf @@ -0,0 +1,134 @@ +# +# Postfix master process configuration file. For details on the format +# of the file, see the master(5) manual page (command: "man 5 master" or +# on-line: http://www.postfix.org/master.5.html). +# +# Do not forget to execute "postfix reload" after editing this file. +# +# ========================================================================== +# service type private unpriv chroot wakeup maxproc command + args +# (yes) (yes) (no) (never) (100) +# ========================================================================== +#smtp inet n - n - - smtpd +1026 inet n - n - - smtpd +#smtp inet n - n - 1 postscreen +#smtpd pass - - n - - smtpd +#dnsblog unix - - n - 0 dnsblog +#tlsproxy unix - - n - 0 tlsproxy +#submission inet n - n - - smtpd +# -o syslog_name=postfix/submission +# -o smtpd_tls_security_level=encrypt +# -o smtpd_sasl_auth_enable=yes +# -o smtpd_tls_auth_only=yes +# -o smtpd_reject_unlisted_recipient=no +# -o smtpd_client_restrictions=$mua_client_restrictions +# -o smtpd_helo_restrictions=$mua_helo_restrictions +# -o smtpd_sender_restrictions=$mua_sender_restrictions +# -o smtpd_recipient_restrictions= +# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject +# -o milter_macro_daemon_name=ORIGINATING +#smtps inet n - n - - smtpd +# -o syslog_name=postfix/smtps +# -o smtpd_tls_wrappermode=yes +# -o smtpd_sasl_auth_enable=yes +# -o smtpd_reject_unlisted_recipient=no +# -o smtpd_client_restrictions=$mua_client_restrictions +# -o smtpd_helo_restrictions=$mua_helo_restrictions +# -o smtpd_sender_restrictions=$mua_sender_restrictions +# -o smtpd_recipient_restrictions= +# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject +# -o milter_macro_daemon_name=ORIGINATING +#628 inet n - n - - qmqpd +pickup unix n - n 60 1 pickup +cleanup unix n - n - 0 cleanup +qmgr unix n - n 300 1 qmgr +#qmgr unix n - n 300 1 oqmgr +tlsmgr unix - - n 1000? 1 tlsmgr +rewrite unix - - n - - trivial-rewrite +bounce unix - - n - 0 bounce +defer unix - - n - 0 bounce +trace unix - - n - 0 bounce +verify unix - - n - 1 verify +flush unix n - n 1000? 0 flush +proxymap unix - - n - - proxymap +proxywrite unix - - n - 1 proxymap +smtp unix - - n - - smtp +relay unix - - n - - smtp + -o syslog_name=postfix/$service_name +# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 +showq unix n - n - - showq +error unix - - n - - error +retry unix - - n - - error +discard unix - - n - - discard +local unix - n n - - local +virtual unix - n n - - virtual +lmtp unix - - n - - lmtp +anvil unix - - n - 1 anvil +scache unix - - n - 1 scache +postlog unix-dgram n - n - 1 postlogd +# +# ==================================================================== +# Interfaces to non-Postfix software. Be sure to examine the manual +# pages of the non-Postfix software to find out what options it wants. +# +# Many of the following services use the Postfix pipe(8) delivery +# agent. See the pipe(8) man page for information about ${recipient} +# and other message envelope options. +# ==================================================================== +# +# maildrop. See the Postfix MAILDROP_README file for details. +# Also specify in main.cf: maildrop_destination_recipient_limit=1 +# +#maildrop unix - n n - - pipe +# flags=DRXhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} +# +# ==================================================================== +# +# Recent Cyrus versions can use the existing "lmtp" master.cf entry. +# +# Specify in cyrus.conf: +# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 +# +# Specify in main.cf one or more of the following: +# mailbox_transport = lmtp:inet:localhost +# virtual_transport = lmtp:inet:localhost +# +# ==================================================================== +# +# Cyrus 2.1.5 (Amos Gouaux) +# Also specify in main.cf: cyrus_destination_recipient_limit=1 +# +#cyrus unix - n n - - pipe +# flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} +# +# ==================================================================== +# +# Old example of delivery via Cyrus. +# +#old-cyrus unix - n n - - pipe +# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} +# +# ==================================================================== +# +# See the Postfix UUCP_README file for configuration details. +# +#uucp unix - n n - - pipe +# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) +# +# ==================================================================== +# +# Other external delivery methods. +# +#ifmail unix - n n - - pipe +# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) +# +#bsmtp unix - n n - - pipe +# flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient +# +#scalemail-backend unix - n n - 2 pipe +# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store +# ${nexthop} ${user} ${extension} +# +#mailman unix - n n - - pipe +# flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py +# ${nexthop} ${user} diff --git a/testing/mta/postfix-config/master.cf.proto b/testing/mta/postfix-config/master.cf.proto new file mode 100644 index 00000000..30c3458e --- /dev/null +++ b/testing/mta/postfix-config/master.cf.proto @@ -0,0 +1,133 @@ +# +# Postfix master process configuration file. For details on the format +# of the file, see the master(5) manual page (command: "man 5 master" or +# on-line: http://www.postfix.org/master.5.html). +# +# Do not forget to execute "postfix reload" after editing this file. +# +# ========================================================================== +# service type private unpriv chroot wakeup maxproc command + args +# (yes) (yes) (no) (never) (100) +# ========================================================================== +smtp inet n - n - - smtpd +#smtp inet n - n - 1 postscreen +#smtpd pass - - n - - smtpd +#dnsblog unix - - n - 0 dnsblog +#tlsproxy unix - - n - 0 tlsproxy +#submission inet n - n - - smtpd +# -o syslog_name=postfix/submission +# -o smtpd_tls_security_level=encrypt +# -o smtpd_sasl_auth_enable=yes +# -o smtpd_tls_auth_only=yes +# -o smtpd_reject_unlisted_recipient=no +# -o smtpd_client_restrictions=$mua_client_restrictions +# -o smtpd_helo_restrictions=$mua_helo_restrictions +# -o smtpd_sender_restrictions=$mua_sender_restrictions +# -o smtpd_recipient_restrictions= +# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject +# -o milter_macro_daemon_name=ORIGINATING +#smtps inet n - n - - smtpd +# -o syslog_name=postfix/smtps +# -o smtpd_tls_wrappermode=yes +# -o smtpd_sasl_auth_enable=yes +# -o smtpd_reject_unlisted_recipient=no +# -o smtpd_client_restrictions=$mua_client_restrictions +# -o smtpd_helo_restrictions=$mua_helo_restrictions +# -o smtpd_sender_restrictions=$mua_sender_restrictions +# -o smtpd_recipient_restrictions= +# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject +# -o milter_macro_daemon_name=ORIGINATING +#628 inet n - n - - qmqpd +pickup unix n - n 60 1 pickup +cleanup unix n - n - 0 cleanup +qmgr unix n - n 300 1 qmgr +#qmgr unix n - n 300 1 oqmgr +tlsmgr unix - - n 1000? 1 tlsmgr +rewrite unix - - n - - trivial-rewrite +bounce unix - - n - 0 bounce +defer unix - - n - 0 bounce +trace unix - - n - 0 bounce +verify unix - - n - 1 verify +flush unix n - n 1000? 0 flush +proxymap unix - - n - - proxymap +proxywrite unix - - n - 1 proxymap +smtp unix - - n - - smtp +relay unix - - n - - smtp + -o syslog_name=postfix/$service_name +# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 +showq unix n - n - - showq +error unix - - n - - error +retry unix - - n - - error +discard unix - - n - - discard +local unix - n n - - local +virtual unix - n n - - virtual +lmtp unix - - n - - lmtp +anvil unix - - n - 1 anvil +scache unix - - n - 1 scache +postlog unix-dgram n - n - 1 postlogd +# +# ==================================================================== +# Interfaces to non-Postfix software. Be sure to examine the manual +# pages of the non-Postfix software to find out what options it wants. +# +# Many of the following services use the Postfix pipe(8) delivery +# agent. See the pipe(8) man page for information about ${recipient} +# and other message envelope options. +# ==================================================================== +# +# maildrop. See the Postfix MAILDROP_README file for details. +# Also specify in main.cf: maildrop_destination_recipient_limit=1 +# +#maildrop unix - n n - - pipe +# flags=DRXhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} +# +# ==================================================================== +# +# Recent Cyrus versions can use the existing "lmtp" master.cf entry. +# +# Specify in cyrus.conf: +# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 +# +# Specify in main.cf one or more of the following: +# mailbox_transport = lmtp:inet:localhost +# virtual_transport = lmtp:inet:localhost +# +# ==================================================================== +# +# Cyrus 2.1.5 (Amos Gouaux) +# Also specify in main.cf: cyrus_destination_recipient_limit=1 +# +#cyrus unix - n n - - pipe +# flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} +# +# ==================================================================== +# +# Old example of delivery via Cyrus. +# +#old-cyrus unix - n n - - pipe +# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} +# +# ==================================================================== +# +# See the Postfix UUCP_README file for configuration details. +# +#uucp unix - n n - - pipe +# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) +# +# ==================================================================== +# +# Other external delivery methods. +# +#ifmail unix - n n - - pipe +# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) +# +#bsmtp unix - n n - - pipe +# flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient +# +#scalemail-backend unix - n n - 2 pipe +# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store +# ${nexthop} ${user} ${extension} +# +#mailman unix - n n - - pipe +# flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py +# ${nexthop} ${user} diff --git a/testing/mta/postfix-config/postfix-files b/testing/mta/postfix-config/postfix-files new file mode 100644 index 00000000..e30d5d95 --- /dev/null +++ b/testing/mta/postfix-config/postfix-files @@ -0,0 +1,444 @@ +# +# Do not edit this file. +# +# This file controls the postfix-install script for installation of +# Postfix programs, configuration files and documentation, as well +# as the post-install script for setting permissions and for updating +# Postfix configuration files. See the respective manual pages within +# the script files. +# +# Do not list $command_directory or $shlib_directory in this file, +# or it will be blown away by a future Postfix uninstallation +# procedure. You would not want to lose all files in /usr/sbin or +# /usr/local/lib. +# +# Each record in this file describes one file or directory. +# Fields are separated by ":". Specify a null field as "-". +# Missing fields or separators at the end are OK. +# +# File format: +# name:type:owner:group:permission:flags +# No group means don't change group ownership. +# +# File types: +# d=directory +# f=regular file +# h=hard link (*) +# l=symbolic link (*) +# +# (*) With hard links and symbolic links, the owner field becomes the +# source pathname, while the group and permissions are ignored. +# +# File flags: +# No flag means the flag is not active. +# p=preserve existing file, do not replace (postfix-install). +# u=update owner/group/mode (post-install upgrade-permissions). +# c=create missing directory (post-install create-missing). +# r=apply owner/group recursively (post-install set/upgrade-permissions). +# o=obsolete, no longer part of Postfix +# 1=optional for non-default instance (config_dir != built-in default). +# +# Note: the "u" flag is for upgrading the permissions of existing files +# or directories after changes in Postfix architecture. For robustness +# it is a good idea to "u" all the files that have special ownership or +# permissions, so that running "make install" fixes any glitches. +# +# Note: order matters. Update shared libraries and database plugins +# before daemon/command-line programs. +$config_directory:d:root:-:755:u +$data_directory:d:$mail_owner:-:700:uc +$daemon_directory:d:root:-:755:u +$queue_directory:d:root:-:755:uc +$sample_directory:d:root:-:755:o +$readme_directory:d:root:-:755 +$html_directory:d:root:-:755 +$queue_directory/active:d:$mail_owner:-:700:ucr +$queue_directory/bounce:d:$mail_owner:-:700:ucr +$queue_directory/corrupt:d:$mail_owner:-:700:ucr +$queue_directory/defer:d:$mail_owner:-:700:ucr +$queue_directory/deferred:d:$mail_owner:-:700:ucr +$queue_directory/flush:d:$mail_owner:-:700:ucr +$queue_directory/hold:d:$mail_owner:-:700:ucr +$queue_directory/incoming:d:$mail_owner:-:700:ucr +$queue_directory/private:d:$mail_owner:-:700:uc +$queue_directory/maildrop:d:$mail_owner:$setgid_group:730:uc +$queue_directory/public:d:$mail_owner:$setgid_group:710:uc +$queue_directory/pid:d:root:-:755:uc +$queue_directory/saved:d:$mail_owner:-:700:ucr +$queue_directory/trace:d:$mail_owner:-:700:ucr +# Update shared libraries and plugins before daemon or command-line programs. +$meta_directory/main.cf.proto:f:root:-:644 +$meta_directory/makedefs.out:f:root:-:644 +$meta_directory/master.cf.proto:f:root:-:644 +$meta_directory/postfix-files.d:d:root:-:755 +$meta_directory/postfix-files:f:root:-:644 +$daemon_directory/anvil:f:root:-:755 +$daemon_directory/bounce:f:root:-:755 +$daemon_directory/cleanup:f:root:-:755 +$daemon_directory/discard:f:root:-:755 +$daemon_directory/dnsblog:f:root:-:755 +$daemon_directory/error:f:root:-:755 +$daemon_directory/flush:f:root:-:755 +$daemon_directory/local:f:root:-:755 +$daemon_directory/main.cf:f:root:-:644:o +$daemon_directory/master.cf:f:root:-:644:o +$daemon_directory/master:f:root:-:755 +$daemon_directory/oqmgr:f:root:-:755 +$daemon_directory/pickup:f:root:-:755 +$daemon_directory/pipe:f:root:-:755 +$daemon_directory/post-install:f:root:-:755 +# In case meta_directory == daemon_directory. +#$daemon_directory/postfix-files:f:root:-:644:o +#$daemon_directory/postfix-files.d:d:root:-:755:o +$daemon_directory/postfix-script:f:root:-:755 +$daemon_directory/postfix-tls-script:f:root:-:755 +$daemon_directory/postfix-wrapper:f:root:-:755 +$daemon_directory/postmulti-script:f:root:-:755 +$daemon_directory/postlogd:f:root:-:755 +$daemon_directory/postscreen:f:root:-:755 +$daemon_directory/proxymap:f:root:-:755 +$daemon_directory/qmgr:f:root:-:755 +$daemon_directory/qmqpd:f:root:-:755 +$daemon_directory/scache:f:root:-:755 +$daemon_directory/showq:f:root:-:755 +$daemon_directory/smtp:f:root:-:755 +$daemon_directory/smtpd:f:root:-:755 +$daemon_directory/spawn:f:root:-:755 +$daemon_directory/tlsproxy:f:root:-:755 +$daemon_directory/tlsmgr:f:root:-:755 +$daemon_directory/trivial-rewrite:f:root:-:755 +$daemon_directory/verify:f:root:-:755 +$daemon_directory/virtual:f:root:-:755 +$daemon_directory/nqmgr:h:$daemon_directory/qmgr +$daemon_directory/lmtp:h:$daemon_directory/smtp +$command_directory/postalias:f:root:-:755 +$command_directory/postcat:f:root:-:755 +$command_directory/postconf:f:root:-:755 +$command_directory/postfix:f:root:-:755 +$command_directory/postkick:f:root:-:755 +$command_directory/postlock:f:root:-:755 +$command_directory/postlog:f:root:-:755 +$command_directory/postmap:f:root:-:755 +$command_directory/postmulti:f:root:-:755 +$command_directory/postsuper:f:root:-:755 +$command_directory/postdrop:f:root:$setgid_group:2755:u +$command_directory/postqueue:f:root:$setgid_group:2755:u +$sendmail_path:f:root:-:755 +$newaliases_path:l:$sendmail_path +$mailq_path:l:$sendmail_path +$config_directory/LICENSE:f:root:-:644:1 +$config_directory/TLS_LICENSE:f:root:-:644:1 +$config_directory/access:f:root:-:644:p1 +$config_directory/aliases:f:root:-:644:p1 +$config_directory/bounce.cf.default:f:root:-:644:1 +$config_directory/canonical:f:root:-:644:p1 +$config_directory/cidr_table:f:root:-:644:o +$config_directory/generic:f:root:-:644:p1 +$config_directory/generics:f:root:-:644:o +$config_directory/header_checks:f:root:-:644:p1 +$config_directory/install.cf:f:root:-:644:o +$config_directory/main.cf.default:f:root:-:644:1 +$config_directory/main.cf:f:root:-:644:p +$config_directory/master.cf:f:root:-:644:p +$config_directory/pcre_table:f:root:-:644:o +$config_directory/regexp_table:f:root:-:644:o +$config_directory/relocated:f:root:-:644:p1 +$config_directory/tcp_table:f:root:-:644:o +$config_directory/transport:f:root:-:644:p1 +$config_directory/virtual:f:root:-:644:p1 +$config_directory/postfix-script:f:root:-:755:o +$config_directory/postfix-script-sgid:f:root:-:755:o +$config_directory/postfix-script-nosgid:f:root:-:755:o +$config_directory/post-install:f:root:-:755:o +$manpage_directory/man1/mailq.1:f:root:-:644 +$manpage_directory/man1/newaliases.1:f:root:-:644 +$manpage_directory/man1/postalias.1:f:root:-:644 +$manpage_directory/man1/postcat.1:f:root:-:644 +$manpage_directory/man1/postconf.1:f:root:-:644 +$manpage_directory/man1/postdrop.1:f:root:-:644 +$manpage_directory/man1/postfix.1:f:root:-:644 +$manpage_directory/man1/postfix-tls.1:f:root:-:644 +$manpage_directory/man1/postkick.1:f:root:-:644 +$manpage_directory/man1/postlock.1:f:root:-:644 +$manpage_directory/man1/postlog.1:f:root:-:644 +$manpage_directory/man1/postmap.1:f:root:-:644 +$manpage_directory/man1/postmulti.1:f:root:-:644 +$manpage_directory/man1/postqueue.1:f:root:-:644 +$manpage_directory/man1/postsuper.1:f:root:-:644 +$manpage_directory/man1/sendmail.1:f:root:-:644 +$manpage_directory/man5/access.5:f:root:-:644 +$manpage_directory/man5/aliases.5:f:root:-:644 +$manpage_directory/man5/body_checks.5:f:root:-:644 +$manpage_directory/man5/bounce.5:f:root:-:644 +$manpage_directory/man5/canonical.5:f:root:-:644 +$manpage_directory/man5/cidr_table.5:f:root:-:644 +$manpage_directory/man5/generics.5:f:root:-:644:o +$manpage_directory/man5/generic.5:f:root:-:644 +$manpage_directory/man5/header_checks.5:f:root:-:644 +$manpage_directory/man5/ldap_table.5:f:root:-:644 +$manpage_directory/man5/lmdb_table.5:f:root:-:644 +$manpage_directory/man5/master.5:f:root:-:644 +$manpage_directory/man5/memcache_table.5:f:root:-:644 +$manpage_directory/man5/mysql_table.5:f:root:-:644 +$manpage_directory/man5/socketmap_table.5:f:root:-:644 +$manpage_directory/man5/sqlite_table.5:f:root:-:644 +$manpage_directory/man5/nisplus_table.5:f:root:-:644 +$manpage_directory/man5/pcre_table.5:f:root:-:644 +$manpage_directory/man5/pgsql_table.5:f:root:-:644 +$manpage_directory/man5/postconf.5:f:root:-:644 +$manpage_directory/man5/postfix-wrapper.5:f:root:-:644 +$manpage_directory/man5/regexp_table.5:f:root:-:644 +$manpage_directory/man5/relocated.5:f:root:-:644 +$manpage_directory/man5/tcp_table.5:f:root:-:644 +$manpage_directory/man5/transport.5:f:root:-:644 +$manpage_directory/man5/virtual.5:f:root:-:644 +$manpage_directory/man8/bounce.8:f:root:-:644 +$manpage_directory/man8/cleanup.8:f:root:-:644 +$manpage_directory/man8/anvil.8:f:root:-:644 +$manpage_directory/man8/defer.8:f:root:-:644 +$manpage_directory/man8/discard.8:f:root:-:644 +$manpage_directory/man8/dnsblog.8:f:root:-:644 +$manpage_directory/man8/error.8:f:root:-:644 +$manpage_directory/man8/flush.8:f:root:-:644 +$manpage_directory/man8/lmtp.8:f:root:-:644 +$manpage_directory/man8/local.8:f:root:-:644 +$manpage_directory/man8/master.8:f:root:-:644 +$manpage_directory/man8/nqmgr.8:f:root:-:644:o +$manpage_directory/man8/oqmgr.8:f:root:-:644: +$manpage_directory/man8/pickup.8:f:root:-:644 +$manpage_directory/man8/pipe.8:f:root:-:644 +$manpage_directory/man8/postlogd.8:f:root:-:644 +$manpage_directory/man8/postscreen.8:f:root:-:644 +$manpage_directory/man8/proxymap.8:f:root:-:644 +$manpage_directory/man8/qmgr.8:f:root:-:644 +$manpage_directory/man8/qmqpd.8:f:root:-:644 +$manpage_directory/man8/scache.8:f:root:-:644 +$manpage_directory/man8/showq.8:f:root:-:644 +$manpage_directory/man8/smtp.8:f:root:-:644 +$manpage_directory/man8/smtpd.8:f:root:-:644 +$manpage_directory/man8/spawn.8:f:root:-:644 +$manpage_directory/man8/tlsproxy.8:f:root:-:644 +$manpage_directory/man8/tlsmgr.8:f:root:-:644 +$manpage_directory/man8/trace.8:f:root:-:644 +$manpage_directory/man8/trivial-rewrite.8:f:root:-:644 +$manpage_directory/man8/verify.8:f:root:-:644 +$manpage_directory/man8/virtual.8:f:root:-:644 +$sample_directory/sample-aliases.cf:f:root:-:644:o +$sample_directory/sample-auth.cf:f:root:-:644:o +$sample_directory/sample-canonical.cf:f:root:-:644:o +$sample_directory/sample-compatibility.cf:f:root:-:644:o +$sample_directory/sample-debug.cf:f:root:-:644:o +$sample_directory/sample-filter.cf:f:root:-:644:o +$sample_directory/sample-flush.cf:f:root:-:644:o +$sample_directory/sample-ipv6.cf:f:root:-:644:o +$sample_directory/sample-ldap.cf:f:root:-:644:o +$sample_directory/sample-lmtp.cf:f:root:-:644:o +$sample_directory/sample-local.cf:f:root:-:644:o +$sample_directory/sample-mime.cf:f:root:-:644:o +$sample_directory/sample-misc.cf:f:root:-:644:o +$sample_directory/sample-pcre-access.cf:f:root:-:644:o +$sample_directory/sample-pcre-body.cf:f:root:-:644:o +$sample_directory/sample-pcre-header.cf:f:root:-:644:o +$sample_directory/sample-pgsql-aliases.cf:f:root:-:644:o +$sample_directory/sample-qmqpd.cf:f:root:-:644:o +$sample_directory/sample-rate.cf:f:root:-:644:o +$sample_directory/sample-regexp-access.cf:f:root:-:644:o +$sample_directory/sample-regexp-body.cf:f:root:-:644:o +$sample_directory/sample-regexp-header.cf:f:root:-:644:o +$sample_directory/sample-relocated.cf:f:root:-:644:o +$sample_directory/sample-resource.cf:f:root:-:644:o +$sample_directory/sample-rewrite.cf:f:root:-:644:o +$sample_directory/sample-scheduler.cf:f:root:-:644:o +$sample_directory/sample-smtp.cf:f:root:-:644:o +$sample_directory/sample-smtpd.cf:f:root:-:644:o +$sample_directory/sample-tls.cf:f:root:-:644:o +$sample_directory/sample-transport.cf:f:root:-:644:o +$sample_directory/sample-verify.cf:f:root:-:644:o +$sample_directory/sample-virtual.cf:f:root:-:644:o +$readme_directory/AAAREADME:f:root:-:644 +$readme_directory/ADDRESS_CLASS_README:f:root:-:644 +$readme_directory/ADDRESS_REWRITING_README:f:root:-:644 +$readme_directory/ADDRESS_VERIFICATION_README:f:root:-:644 +$readme_directory/BACKSCATTER_README:f:root:-:644 +$readme_directory/BASIC_CONFIGURATION_README:f:root:-:644 +$readme_directory/BUILTIN_FILTER_README:f:root:-:644 +$readme_directory/CDB_README:f:root:-:644 +$readme_directory/COMPATIBILITY_README:f:root:-:644 +$readme_directory/CONNECTION_CACHE_README:f:root:-:644 +$readme_directory/CONTENT_INSPECTION_README:f:root:-:644 +$readme_directory/DATABASE_README:f:root:-:644 +$readme_directory/DB_README:f:root:-:644 +$readme_directory/DEBUG_README:f:root:-:644 +$readme_directory/DSN_README:f:root:-:644 +$readme_directory/ETRN_README:f:root:-:644 +$readme_directory/FILTER_README:f:root:-:644 +$readme_directory/FORWARD_SECRECY_README:f:root:-:644 +$readme_directory/HOSTING_README:f:root:-:644:o +$readme_directory/INSTALL:f:root:-:644 +$readme_directory/IPV6_README:f:root:-:644 +$readme_directory/LDAP_README:f:root:-:644 +$readme_directory/LINUX_README:f:root:-:644 +$readme_directory/LMDB_README:f:root:-:644 +$readme_directory/LOCAL_RECIPIENT_README:f:root:-:644 +$readme_directory/MACOSX_README:f:root:-:644:o +$readme_directory/MAILDROP_README:f:root:-:644 +$readme_directory/MEMCACHE_README:f:root:-:644 +$readme_directory/MILTER_README:f:root:-:644 +$readme_directory/MULTI_INSTANCE_README:f:root:-:644 +$readme_directory/MYSQL_README:f:root:-:644 +$readme_directory/SQLITE_README:f:root:-:644 +$readme_directory/NFS_README:f:root:-:644 +$readme_directory/OVERVIEW:f:root:-:644 +$readme_directory/PACKAGE_README:f:root:-:644 +$readme_directory/PCRE_README:f:root:-:644 +$readme_directory/PGSQL_README:f:root:-:644 +$readme_directory/POSTSCREEN_README:f:root:-:644 +$readme_directory/QMQP_README:f:root:-:644:o +$readme_directory/QSHAPE_README:f:root:-:644 +$readme_directory/RELEASE_NOTES:f:root:-:644 +$readme_directory/RESTRICTION_CLASS_README:f:root:-:644 +$readme_directory/SASL_README:f:root:-:644 +$readme_directory/SCHEDULER_README:f:root:-:644 +$readme_directory/SMTPD_ACCESS_README:f:root:-:644 +$readme_directory/SMTPD_POLICY_README:f:root:-:644 +$readme_directory/SMTPD_PROXY_README:f:root:-:644 +$readme_directory/SOHO_README:f:root:-:644 +$readme_directory/STANDARD_CONFIGURATION_README:f:root:-:644 +$readme_directory/STRESS_README:f:root:-:644 +$readme_directory/TLS_LEGACY_README:f:root:-:644 +$readme_directory/TLS_README:f:root:-:644 +$readme_directory/TUNING_README:f:root:-:644 +$readme_directory/ULTRIX_README:f:root:-:644 +$readme_directory/UUCP_README:f:root:-:644 +$readme_directory/VERP_README:f:root:-:644 +$readme_directory/VIRTUAL_README:f:root:-:644 +$readme_directory/XCLIENT_README:f:root:-:644 +$readme_directory/XFORWARD_README:f:root:-:644 +$html_directory/ADDRESS_CLASS_README.html:f:root:-:644 +$html_directory/ADDRESS_REWRITING_README.html:f:root:-:644 +$html_directory/ADDRESS_VERIFICATION_README.html:f:root:-:644 +$html_directory/BACKSCATTER_README.html:f:root:-:644 +$html_directory/BASIC_CONFIGURATION_README.html:f:root:-:644 +$html_directory/BUILTIN_FILTER_README.html:f:root:-:644 +$html_directory/CDB_README.html:f:root:-:644 +$html_directory/COMPATIBILITY_README.html:f:root:-:644 +$html_directory/CONNECTION_CACHE_README.html:f:root:-:644 +$html_directory/CONTENT_INSPECTION_README.html:f:root:-:644 +$html_directory/CYRUS_README.html:f:root:-:644:o +$html_directory/DATABASE_README.html:f:root:-:644 +$html_directory/DB_README.html:f:root:-:644 +$html_directory/DEBUG_README.html:f:root:-:644 +$html_directory/DSN_README.html:f:root:-:644 +$html_directory/ETRN_README.html:f:root:-:644 +$html_directory/FILTER_README.html:f:root:-:644 +$html_directory/FORWARD_SECRECY_README.html:f:root:-:644 +$html_directory/INSTALL.html:f:root:-:644 +$html_directory/IPV6_README.html:f:root:-:644 +$html_directory/LDAP_README.html:f:root:-:644 +$html_directory/LINUX_README.html:f:root:-:644 +$html_directory/LMDB_README.html:f:root:-:644 +$html_directory/LOCAL_RECIPIENT_README.html:f:root:-:644 +$html_directory/MAILDROP_README.html:f:root:-:644 +$html_directory/MILTER_README.html:f:root:-:644 +$html_directory/MULTI_INSTANCE_README.html:f:root:-:644 +$html_directory/MYSQL_README.html:f:root:-:644 +$html_directory/SQLITE_README.html:f:root:-:644 +$html_directory/NFS_README.html:f:root:-:644 +$html_directory/OVERVIEW.html:f:root:-:644 +$html_directory/PACKAGE_README.html:f:root:-:644 +$html_directory/PCRE_README.html:f:root:-:644 +$html_directory/PGSQL_README.html:f:root:-:644 +$html_directory/POSTSCREEN_README.html:f:root:-:644 +$html_directory/QMQP_README.html:f:root:-:644:o +$html_directory/QSHAPE_README.html:f:root:-:644 +$html_directory/RESTRICTION_CLASS_README.html:f:root:-:644 +$html_directory/SASL_README.html:f:root:-:644 +$html_directory/SCHEDULER_README.html:f:root:-:644 +$html_directory/SMTPD_ACCESS_README.html:f:root:-:644 +$html_directory/SMTPD_POLICY_README.html:f:root:-:644 +$html_directory/SMTPD_PROXY_README.html:f:root:-:644 +$html_directory/SOHO_README.html:f:root:-:644 +$html_directory/STANDARD_CONFIGURATION_README.html:f:root:-:644 +$html_directory/STRESS_README.html:f:root:-:644 +$html_directory/TLS_LEGACY_README.html:f:root:-:644 +$html_directory/TLS_README.html:f:root:-:644 +$html_directory/TUNING_README.html:f:root:-:644 +$html_directory/ULTRIX_README.html:f:root:-:644:o +$html_directory/UUCP_README.html:f:root:-:644 +$html_directory/VERP_README.html:f:root:-:644 +$html_directory/VIRTUAL_README.html:f:root:-:644 +$html_directory/XCLIENT_README.html:f:root:-:644 +$html_directory/XFORWARD_README.html:f:root:-:644 +$html_directory/access.5.html:f:root:-:644 +$html_directory/aliases.5.html:f:root:-:644 +$html_directory/anvil.8.html:f:root:-:644 +$html_directory/bounce.8.html:f:root:-:644 +$html_directory/canonical.5.html:f:root:-:644 +$html_directory/cidr_table.5.html:f:root:-:644 +$html_directory/cleanup.8.html:f:root:-:644 +$html_directory/defer.8.html:h:$html_directory/bounce.8.html:-:644 +$html_directory/discard.8.html:f:root:-:644 +$html_directory/dnsblog.8.html:f:root:-:644 +$html_directory/error.8.html:f:root:-:644 +$html_directory/flush.8.html:f:root:-:644 +$html_directory/generics.5.html:f:root:-:644:o +$html_directory/generic.5.html:f:root:-:644 +$html_directory/header_checks.5.html:f:root:-:644 +$html_directory/index.html:f:root:-:644 +$html_directory/ldap_table.5.html:f:root:-:644 +$html_directory/lmtp.8.html:f:root:-:644 +$html_directory/local.8.html:f:root:-:644 +$html_directory/mailq.1.html:f:root:-:644 +$html_directory/master.5.html:f:root:-:644 +$html_directory/master.8.html:f:root:-:644 +$html_directory/memcache_table.5.html:f:root:-:644 +$html_directory/mysql_table.5.html:f:root:-:644 +$html_directory/sqlite_table.5.html:f:root:-:644 +$html_directory/nisplus_table.5.html:f:root:-:644 +$html_directory/newaliases.1.html:h:$html_directory/mailq.1.html:-:644 +$html_directory/oqmgr.8.html:f:root:-:644 +$html_directory/pcre_table.5.html:f:root:-:644 +$html_directory/pgsql_table.5.html:f:root:-:644 +$html_directory/pickup.8.html:f:root:-:644 +$html_directory/pipe.8.html:f:root:-:644 +$html_directory/postalias.1.html:f:root:-:644 +$html_directory/postcat.1.html:f:root:-:644 +$html_directory/postconf.1.html:f:root:-:644 +$html_directory/postconf.5.html:f:root:-:644 +$html_directory/postdrop.1.html:f:root:-:644 +$html_directory/postfix-logo.jpg:f:root:-:644 +$html_directory/postfix-manuals.html:f:root:-:644 +$html_directory/postfix-wrapper.5.html:f:root:-:644 +$html_directory/postfix.1.html:f:root:-:644 +$html_directory/postkick.1.html:f:root:-:644 +$html_directory/postlock.1.html:f:root:-:644 +$html_directory/postlog.1.html:f:root:-:644 +$html_directory/postmap.1.html:f:root:-:644 +$html_directory/postmulti.1.html:f:root:-:644 +$html_directory/postlogd.8.html:f:root:-:644 +$html_directory/postqueue.1.html:f:root:-:644 +$html_directory/postscreen.8.html:f:root:-:644 +$html_directory/postsuper.1.html:f:root:-:644 +$html_directory/qshape.1.html:f:root:-:644 +$html_directory/proxymap.8.html:f:root:-:644 +$html_directory/qmgr.8.html:f:root:-:644 +$html_directory/qmqp-sink.1.html:f:root:-:644 +$html_directory/qmqp-source.1.html:f:root:-:644 +$html_directory/qmqpd.8.html:f:root:-:644 +$html_directory/regexp_table.5.html:f:root:-:644 +$html_directory/relocated.5.html:f:root:-:644 +$html_directory/sendmail.1.html:h:$html_directory/mailq.1.html:-:644 +$html_directory/showq.8.html:f:root:-:644 +$html_directory/smtp-sink.1.html:f:root:-:644 +$html_directory/smtp-source.1.html:f:root:-:644 +$html_directory/smtp.8.html:h:$html_directory/lmtp.8.html:-:644 +$html_directory/smtpd.8.html:f:root:-:644 +$html_directory/spawn.8.html:f:root:-:644 +$html_directory/tlsproxy.8.html:f:root:-:644 +$html_directory/tcp_table.5.html:f:root:-:644 +$html_directory/trace.8.html:h:$html_directory/bounce.8.html:-:644 +$html_directory/transport.5.html:f:root:-:644 +$html_directory/trivial-rewrite.8.html:f:root:-:644 +$html_directory/verify.8.html:f:root:-:644 +$html_directory/virtual.5.html:f:root:-:644 +$html_directory/virtual.8.html:f:root:-:644 diff --git a/testing/mta/postfix-config/relocated b/testing/mta/postfix-config/relocated new file mode 100644 index 00000000..e50edfd1 --- /dev/null +++ b/testing/mta/postfix-config/relocated @@ -0,0 +1,176 @@ +# RELOCATED(5) RELOCATED(5) +# +# NAME +# relocated - Postfix relocated table format +# +# SYNOPSIS +# postmap /etc/postfix/relocated +# +# DESCRIPTION +# The optional relocated(5) table provides the information +# that is used in "user has moved to new_location" bounce +# messages. +# +# Normally, the relocated(5) table is specified as a text +# file that serves as input to the postmap(1) command. The +# result, an indexed file in dbm or db format, is used for +# fast searching by the mail system. Execute the command +# "postmap /etc/postfix/relocated" to rebuild an indexed +# file after changing the corresponding relocated table. +# +# When the table is provided via other means such as NIS, +# LDAP or SQL, the same lookups are done as for ordinary +# indexed files. +# +# Alternatively, the table can be provided as a regu- +# lar-expression map where patterns are given as regular +# expressions, or lookups can be directed to TCP-based +# server. In those case, the lookups are done in a slightly +# different way as described below under "REGULAR EXPRESSION +# TABLES" or "TCP-BASED TABLES". +# +# Table lookups are case insensitive. +# +# CASE FOLDING +# The search string is folded to lowercase before database +# lookup. As of Postfix 2.3, the search string is not case +# folded with database types such as regexp: or pcre: whose +# lookup fields can match both upper and lower case. +# +# TABLE FORMAT +# The input format for the postmap(1) command is as follows: +# +# o An entry has one of the following form: +# +# pattern new_location +# +# Where new_location specifies contact information +# such as an email address, or perhaps a street +# address or telephone number. +# +# o Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character +# is a `#'. +# +# o A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- +# cal line. +# +# TABLE SEARCH ORDER +# With lookups from indexed files such as DB or DBM, or from +# networked tables such as NIS, LDAP or SQL, patterns are +# tried in the order as listed below: +# +# user@domain +# Matches user@domain. This form has precedence over +# all other forms. +# +# user Matches user@site when site is $myorigin, when site +# is listed in $mydestination, or when site is listed +# in $inet_interfaces or $proxy_interfaces. +# +# @domain +# Matches other addresses in domain. This form has +# the lowest precedence. +# +# ADDRESS EXTENSION +# When a mail address localpart contains the optional recip- +# ient delimiter (e.g., user+foo@domain), the lookup order +# becomes: user+foo@domain, user@domain, user+foo, user, and +# @domain. +# +# REGULAR EXPRESSION TABLES +# This section describes how the table lookups change when +# the table is given in the form of regular expressions or +# when lookups are directed to a TCP-based server. For a +# description of regular expression lookup table syntax, see +# regexp_table(5) or pcre_table(5). For a description of the +# TCP client/server table lookup protocol, see tcp_table(5). +# This feature is not available up to and including Postfix +# version 2.4. +# +# Each pattern is a regular expression that is applied to +# the entire address being looked up. Thus, user@domain mail +# addresses are not broken up into their user and @domain +# constituent parts, nor is user+foo broken up into user and +# foo. +# +# Patterns are applied in the order as specified in the ta- +# ble, until a pattern is found that matches the search +# string. +# +# Results are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from +# the pattern can be interpolated as $1, $2 and so on. +# +# TCP-BASED TABLES +# This section describes how the table lookups change when +# lookups are directed to a TCP-based server. For a descrip- +# tion of the TCP client/server lookup protocol, see tcp_ta- +# ble(5). This feature is not available up to and including +# Postfix version 2.4. +# +# Each lookup operation uses the entire address once. Thus, +# user@domain mail addresses are not broken up into their +# user and @domain constituent parts, nor is user+foo broken +# up into user and foo. +# +# Results are the same as with indexed file lookups. +# +# BUGS +# The table format does not understand quoting conventions. +# +# CONFIGURATION PARAMETERS +# The following main.cf parameters are especially relevant. +# The text below provides only a parameter summary. See +# postconf(5) for more details including examples. +# +# relocated_maps +# List of lookup tables for relocated users or sites. +# +# Other parameters of interest: +# +# inet_interfaces +# The network interface addresses that this system +# receives mail on. You need to stop and start Post- +# fix when this parameter changes. +# +# mydestination +# List of domains that this mail system considers +# local. +# +# myorigin +# The domain that is appended to locally-posted mail. +# +# proxy_interfaces +# Other interfaces that this machine receives mail on +# by way of a proxy agent or network address transla- +# tor. +# +# SEE ALSO +# trivial-rewrite(8), address resolver +# postmap(1), Postfix lookup table manager +# postconf(5), configuration parameters +# +# README FILES +# Use "postconf readme_directory" or "postconf html_direc- +# tory" to locate this information. +# DATABASE_README, Postfix lookup table overview +# ADDRESS_REWRITING_README, address rewriting guide +# +# LICENSE +# The Secure Mailer license must be distributed with this +# software. +# +# AUTHOR(S) +# Wietse Venema +# IBM T.J. Watson Research +# P.O. Box 704 +# Yorktown Heights, NY 10598, USA +# +# Wietse Venema +# Google, Inc. +# 111 8th Avenue +# New York, NY 10011, USA +# +# RELOCATED(5) diff --git a/testing/mta/postfix-config/transport b/testing/mta/postfix-config/transport new file mode 100644 index 00000000..d1b32686 --- /dev/null +++ b/testing/mta/postfix-config/transport @@ -0,0 +1,317 @@ +# TRANSPORT(5) TRANSPORT(5) +# +# NAME +# transport - Postfix transport table format +# +# SYNOPSIS +# postmap /etc/postfix/transport +# +# postmap -q "string" /etc/postfix/transport +# +# postmap -q - /etc/postfix/transport = 3.5): +# +# example.com smtp:bar.example, foo.example +# +# This tries to deliver to bar.example before trying to +# deliver to foo.example. +# +# The error mailer can be used to bounce mail: +# +# .example.com error:mail for *.example.com is not deliverable +# +# This causes all mail for user@anything.example.com to be +# bounced. +# +# REGULAR EXPRESSION TABLES +# This section describes how the table lookups change when +# the table is given in the form of regular expressions. For +# a description of regular expression lookup table syntax, +# see regexp_table(5) or pcre_table(5). +# +# Each pattern is a regular expression that is applied to +# the entire address being looked up. Thus, +# some.domain.hierarchy is not looked up via its parent +# domains, nor is user+foo@domain looked up as user@domain. +# +# Patterns are applied in the order as specified in the ta- +# ble, until a pattern is found that matches the search +# string. +# +# The trivial-rewrite(8) server disallows regular expression +# substitution of $1 etc. in regular expression lookup +# tables, because that could open a security hole (Postfix +# version 2.3 and later). +# +# TCP-BASED TABLES +# This section describes how the table lookups change when +# lookups are directed to a TCP-based server. For a descrip- +# tion of the TCP client/server lookup protocol, see tcp_ta- +# ble(5). This feature is not available up to and including +# Postfix version 2.4. +# +# Each lookup operation uses the entire recipient address +# once. Thus, some.domain.hierarchy is not looked up via +# its parent domains, nor is user+foo@domain looked up as +# user@domain. +# +# Results are the same as with indexed file lookups. +# +# CONFIGURATION PARAMETERS +# The following main.cf parameters are especially relevant. +# The text below provides only a parameter summary. See +# postconf(5) for more details including examples. +# +# empty_address_recipient (MAILER-DAEMON) +# The recipient of mail addressed to the null +# address. +# +# parent_domain_matches_subdomains (see 'postconf -d' out- +# put) +# A list of Postfix features where the pattern "exam- +# ple.com" also matches subdomains of example.com, +# instead of requiring an explicit ".example.com" +# pattern. +# +# transport_maps (empty) +# Optional lookup tables with mappings from recipient +# address to (message delivery transport, next-hop +# destination). +# +# SEE ALSO +# trivial-rewrite(8), rewrite and resolve addresses +# master(5), master.cf file format +# postconf(5), configuration parameters +# postmap(1), Postfix lookup table manager +# +# README FILES +# Use "postconf readme_directory" or "postconf html_direc- +# tory" to locate this information. +# ADDRESS_REWRITING_README, address rewriting guide +# DATABASE_README, Postfix lookup table overview +# FILTER_README, external content filter +# +# LICENSE +# The Secure Mailer license must be distributed with this +# software. +# +# AUTHOR(S) +# Wietse Venema +# IBM T.J. Watson Research +# P.O. Box 704 +# Yorktown Heights, NY 10598, USA +# +# Wietse Venema +# Google, Inc. +# 111 8th Avenue +# New York, NY 10011, USA +# +# TRANSPORT(5) diff --git a/testing/mta/postfix-config/virtual b/testing/mta/postfix-config/virtual new file mode 100644 index 00000000..da9cd655 --- /dev/null +++ b/testing/mta/postfix-config/virtual @@ -0,0 +1,324 @@ +# VIRTUAL(5) VIRTUAL(5) +# +# NAME +# virtual - Postfix virtual alias table format +# +# SYNOPSIS +# postmap /etc/postfix/virtual +# +# postmap -q "string" /etc/postfix/virtual +# +# postmap -q - /etc/postfix/virtual Date: Fri, 27 Nov 2020 11:31:55 -0500 Subject: [PATCH 16/98] Improve testing tools and add support for transaction testing misc - remove outdated testing notes - get rid of fake Authen::NTLM - adjust tests which show auth to include Authen::NTLM options runenv - make subl the default editor - only include the fake Authen::NTLM if the real one isn't present runenv.bat - specify the smtp tester run-all.pl - allow to run a selection of test suites trans-to-test.pl - new tool to translate actual swaks transaction snippets into something usable by the test server run-tests.pl - add support for transaction testing (add TEST_SERVER expansion and clean up some munging) - add munge_tls_cipher - add munge for show-time-lapse - add FORK verb to allow process to run in background during test - add %CERTDIR% token smtp-server.pl - allow multiple test scripts to be run, and make the script-runner honor --silent - convert smtp-server.pl to use Getopt::Long to allow future expansion - handle both the hash form and the file form in the script runner (needed to allow the plain includes from scripts) - support per-file tokens - make cert/key configurable - update so that files with no paths are assumed to be relative to the smtp-server scripts directory - used signed keys under testing/certs by default --- testing/opts-poc.pl | 48 -------- .../_options-auth/out-ref/05004.stdout | 2 +- .../_options-auth/out-ref/05005.stdout | 2 +- .../_options-auth/out-ref/05006.stdout | 2 +- .../_options-auth/out-ref/05007.stdout | 2 +- .../_options-auth/out-ref/05008.stdout | 2 +- .../_options-auth/out-ref/05009.stdout | 2 +- testing/regressions/bin/check-env.pl | 5 +- testing/regressions/bin/run-all.pl | 4 +- testing/regressions/bin/run-tests.pl | 46 ++++++- testing/regressions/bin/runenv | 3 +- testing/regressions/bin/runenv.bat | 2 +- testing/regressions/etc/README.txt | 15 +-- testing/regressions/etc/format.txt | 10 +- .../lib/authen-ntlm-local/Authen/NTLM.pm | 6 - ...ard.txt => part-0000-connect-standard.txt} | 0 .../scripts/part-0001-connect-with-print.txt | 1 + ...hlo-basic.txt => part-0100-ehlo-basic.txt} | 0 ...rt-ehlo-all.txt => part-0101-ehlo-all.txt} | 2 +- .../scripts/part-0102-ehlo-xclient-fewer.txt | 16 +++ .../scripts/part-0103-ehlo-auth-extra.txt | 17 +++ .../scripts/part-0104-ehlo-tls-only.txt | 6 + .../scripts/part-0105-ehlo-post-tls-info.txt | 16 +++ ...basic.txt => part-0200-starttls-basic.txt} | 2 +- .../scripts/part-0201-intialize-tls.txt | 2 + .../part-0300-xclient-basic-accept.txt | 2 + .../part-0301-xclient-basic-reject.txt | 2 + .../server/scripts/part-0500-prdr-start.txt | 1 + .../scripts/part-0501-prdr-addr-accept.txt | 1 + .../scripts/part-0502-prdr-addr-reject.txt | 1 + .../scripts/part-0600-auth-plain-success.txt | 2 + .../scripts/part-0601-auth-login-success.txt | 12 ++ .../part-0602-auth-cram-md5-success.txt | 8 ++ .../part-0603-auth-cram-sha1-success.txt | 9 ++ .../scripts/part-0605-auth-ntlm-success.txt | 13 ++ .../scripts/part-0610-auth-plain-fail.txt | 2 + .../scripts/part-0611-auth-login-fail.txt | 11 ++ .../scripts/part-0612-auth-cram-md5-fail.txt | 7 ++ .../scripts/part-0613-auth-cram-sha1-fail.txt | 8 ++ .../scripts/part-0615-auth-ntlm-fail.txt | 12 ++ .../server/scripts/part-0800-proxy-read.txt | 2 + ...ail-basic.txt => part-1000-mail-basic.txt} | 0 .../server/scripts/part-1001-mail-reject.txt | 2 + .../scripts/part-1010-mail-pipeline-read.txt | 1 + ...art-1011-mail-pipeline-respond-success.txt | 1 + ...art-1012-mail-pipeline-respond-failure.txt | 1 + ...ic.txt => part-1100-rcpt-basic-accept.txt} | 0 .../scripts/part-1101-rcpt-basic-reject.txt | 3 + .../scripts/part-1110-rcpt-pipeline-read.txt | 1 + ...art-1111-rcpt-pipeline-respond-success.txt | 1 + ...art-1112-rcpt-pipeline-respond-failure.txt | 1 + ...-rcpt-pipeline-respond-failure-cascade.txt | 1 + ...ta.txt => part-2500-data-accept-basic.txt} | 0 .../server/scripts/part-2501-data-accept.txt | 1 + .../server/scripts/part-2502-data-read.txt | 3 + .../server/scripts/part-2503-data-reject.txt | 1 + .../scripts/part-2504-data-data-only.txt | 3 + .../scripts/part-2505-data-message-only.txt | 2 + .../part-2510-data-pipeline-data-read.txt | 1 + ...511-data-pipeline-data-respond-success.txt | 1 + ...512-data-pipeline-data-respond-failure.txt | 1 + ...-pipeline-data-respond-failure-cascade.txt | 2 + ...lose.txt => part-3000-shutdown-accept.txt} | 0 testing/server/scripts/part-xclient-basic.txt | 3 - ...ful-email.txt => script-basic-success.txt} | 13 +- testing/server/scripts/script-tls-success.txt | 22 ++++ testing/server/smtp-server.pl | 116 ++++++++++++++---- testing/server/trans-to-test.pl | 45 +++++++ testing/test-raw_option_data.pl | 30 ----- 69 files changed, 411 insertions(+), 151 deletions(-) delete mode 100755 testing/opts-poc.pl delete mode 100644 testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm rename testing/server/scripts/{part-banner-standard.txt => part-0000-connect-standard.txt} (100%) create mode 100644 testing/server/scripts/part-0001-connect-with-print.txt rename testing/server/scripts/{part-ehlo-basic.txt => part-0100-ehlo-basic.txt} (100%) rename testing/server/scripts/{part-ehlo-all.txt => part-0101-ehlo-all.txt} (95%) create mode 100644 testing/server/scripts/part-0102-ehlo-xclient-fewer.txt create mode 100644 testing/server/scripts/part-0103-ehlo-auth-extra.txt create mode 100644 testing/server/scripts/part-0104-ehlo-tls-only.txt create mode 100644 testing/server/scripts/part-0105-ehlo-post-tls-info.txt rename testing/server/scripts/{part-starttls-basic.txt => part-0200-starttls-basic.txt} (60%) create mode 100644 testing/server/scripts/part-0201-intialize-tls.txt create mode 100644 testing/server/scripts/part-0300-xclient-basic-accept.txt create mode 100644 testing/server/scripts/part-0301-xclient-basic-reject.txt create mode 100644 testing/server/scripts/part-0500-prdr-start.txt create mode 100644 testing/server/scripts/part-0501-prdr-addr-accept.txt create mode 100644 testing/server/scripts/part-0502-prdr-addr-reject.txt create mode 100644 testing/server/scripts/part-0600-auth-plain-success.txt create mode 100644 testing/server/scripts/part-0601-auth-login-success.txt create mode 100644 testing/server/scripts/part-0602-auth-cram-md5-success.txt create mode 100644 testing/server/scripts/part-0603-auth-cram-sha1-success.txt create mode 100644 testing/server/scripts/part-0605-auth-ntlm-success.txt create mode 100644 testing/server/scripts/part-0610-auth-plain-fail.txt create mode 100644 testing/server/scripts/part-0611-auth-login-fail.txt create mode 100644 testing/server/scripts/part-0612-auth-cram-md5-fail.txt create mode 100644 testing/server/scripts/part-0613-auth-cram-sha1-fail.txt create mode 100644 testing/server/scripts/part-0615-auth-ntlm-fail.txt create mode 100644 testing/server/scripts/part-0800-proxy-read.txt rename testing/server/scripts/{part-mail-basic.txt => part-1000-mail-basic.txt} (100%) create mode 100644 testing/server/scripts/part-1001-mail-reject.txt create mode 100644 testing/server/scripts/part-1010-mail-pipeline-read.txt create mode 100644 testing/server/scripts/part-1011-mail-pipeline-respond-success.txt create mode 100644 testing/server/scripts/part-1012-mail-pipeline-respond-failure.txt rename testing/server/scripts/{part-rcpt-basic.txt => part-1100-rcpt-basic-accept.txt} (100%) create mode 100644 testing/server/scripts/part-1101-rcpt-basic-reject.txt create mode 100644 testing/server/scripts/part-1110-rcpt-pipeline-read.txt create mode 100644 testing/server/scripts/part-1111-rcpt-pipeline-respond-success.txt create mode 100644 testing/server/scripts/part-1112-rcpt-pipeline-respond-failure.txt create mode 100644 testing/server/scripts/part-1113-rcpt-pipeline-respond-failure-cascade.txt rename testing/server/scripts/{part-data.txt => part-2500-data-accept-basic.txt} (100%) create mode 100644 testing/server/scripts/part-2501-data-accept.txt create mode 100644 testing/server/scripts/part-2502-data-read.txt create mode 100644 testing/server/scripts/part-2503-data-reject.txt create mode 100644 testing/server/scripts/part-2504-data-data-only.txt create mode 100644 testing/server/scripts/part-2505-data-message-only.txt create mode 100644 testing/server/scripts/part-2510-data-pipeline-data-read.txt create mode 100644 testing/server/scripts/part-2511-data-pipeline-data-respond-success.txt create mode 100644 testing/server/scripts/part-2512-data-pipeline-data-respond-failure.txt create mode 100644 testing/server/scripts/part-2513-data-pipeline-data-respond-failure-cascade.txt rename testing/server/scripts/{part-close.txt => part-3000-shutdown-accept.txt} (100%) delete mode 100644 testing/server/scripts/part-xclient-basic.txt rename testing/server/scripts/{basic-successful-email.txt => script-basic-success.txt} (54%) create mode 100644 testing/server/scripts/script-tls-success.txt create mode 100755 testing/server/trans-to-test.pl delete mode 100755 testing/test-raw_option_data.pl diff --git a/testing/opts-poc.pl b/testing/opts-poc.pl deleted file mode 100755 index ba088b59..00000000 --- a/testing/opts-poc.pl +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/perl - -use Getopt::Long; - -# Getopt::Long::Configure("bundling_override"); -# GetOptions(%options) || exit(1); -# GetOptions(\%Opts, 'ComponentID=i', 'Device=s', 'Help|?') or pod2usage(-verbose => 1, -indent => 2); - -%options = ( - 'length|l' => \$length, - 'width|w' => \$width, - 'height|h' => \$height, - 'from|f:s' => \$from -); - -# with bundleing override turned on, --foo is "unknown option", -foo is "-f set, value = "oo" -Getopt::Long::Configure("bundling_override"); - -GetOptions(%options) || exit(1); - -print "\$length = $length\n"; -print "\$width = $width\n"; -print "\$height = $height\n"; -print "\$from = $from\n"; - -# swaks recommendation - -# http://perldoc.perl.org/Getopt/Long.html#Simple-options - -# turn off ALL bundling. There are very few single-letter opts in swaks that DON'T require arguments. -# therefore, turn bundling off so that: - -# -tls-foo => unknown option -tls-foo, instead of assuming it's --tls, option="-foo" - -# go through options and make sure every option is documented -# ... every variation is documented - -# look at my code to add prefixes - always use "--", not "-" - - -# Also, strongly recomment turning off auto_abbrev. - -# go through every option and make sure it has a sensical short form - -# Also look into "auto_version" -# also look into "auto_help" -# also look at GetOptionsFromArray -# also look at GetOptionsFromString \ No newline at end of file diff --git a/testing/regressions/_options-auth/out-ref/05004.stdout b/testing/regressions/_options-auth/out-ref/05004.stdout index 68f5c747..630263b6 100644 --- a/testing/regressions/_options-auth/out-ref/05004.stdout +++ b/testing/regressions/_options-auth/out-ref/05004.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'netrc-password1' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05005.stdout b/testing/regressions/_options-auth/out-ref/05005.stdout index fcbaf9c9..6143850d 100644 --- a/testing/regressions/_options-auth/out-ref/05005.stdout +++ b/testing/regressions/_options-auth/out-ref/05005.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'netrc-password2' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05006.stdout b/testing/regressions/_options-auth/out-ref/05006.stdout index a94a3cd8..d0033f23 100644 --- a/testing/regressions/_options-auth/out-ref/05006.stdout +++ b/testing/regressions/_options-auth/out-ref/05006.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'not-netrc' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05007.stdout b/testing/regressions/_options-auth/out-ref/05007.stdout index 43885049..47e0c086 100644 --- a/testing/regressions/_options-auth/out-ref/05007.stdout +++ b/testing/regressions/_options-auth/out-ref/05007.stdout @@ -4,7 +4,7 @@ Authentication Info: password = 'not-netrc' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05008.stdout b/testing/regressions/_options-auth/out-ref/05008.stdout index 1f77e4e0..de68817c 100644 --- a/testing/regressions/_options-auth/out-ref/05008.stdout +++ b/testing/regressions/_options-auth/out-ref/05008.stdout @@ -4,7 +4,7 @@ Username: Password: Authentication Info: password = 'PROMPT-PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/_options-auth/out-ref/05009.stdout b/testing/regressions/_options-auth/out-ref/05009.stdout index 78107391..1acf0010 100644 --- a/testing/regressions/_options-auth/out-ref/05009.stdout +++ b/testing/regressions/_options-auth/out-ref/05009.stdout @@ -4,7 +4,7 @@ Password: Authentication Info: password = 'PROMPT-PASSWORD' show plaintext = FALSE hide password = FALSE - allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, PLAIN + allowed types = CRAM-MD5, CRAM-SHA1, DIGEST-MD5, LOGIN, MSN, NTLM, PLAIN, SPA extras = type map = CRAM-MD5 = CRAM-MD5 CRAM-SHA1 = CRAM-SHA1 diff --git a/testing/regressions/bin/check-env.pl b/testing/regressions/bin/check-env.pl index b3f44fe2..c0d42d14 100755 --- a/testing/regressions/bin/check-env.pl +++ b/testing/regressions/bin/check-env.pl @@ -32,7 +32,7 @@ print "NOK perl must be installed and in your path\n"; } -foreach my $module ('Capture::Tiny', 'Text::Diff') { +foreach my $module ('Capture::Tiny', 'Text::Diff', 'Proc::Background') { if (checkmod($module)) { print "ok $module\n"; } @@ -71,9 +71,6 @@ my $support = `$swaksScript --support 2>&1`; if ($support =~ /not available/) { print "NOK swaks must have all optional modules installed to run test script (see $swaksScript --support)\n"; - if ($support =~ /requires Authen::NTLM/) { - print " (note that Authen::NTLM support can be faked by setting PERL5LIB to lib/authen-ntlm-local)\n"; - } } else { print "ok swaks optional modules\n"; diff --git a/testing/regressions/bin/run-all.pl b/testing/regressions/bin/run-all.pl index 4f11feef..93519f8a 100755 --- a/testing/regressions/bin/run-all.pl +++ b/testing/regressions/bin/run-all.pl @@ -16,11 +16,13 @@ my $opts = {}; GetOptions($opts, 'errors|e!', 'winnow|w!') || die "Couldn't understand options\n"; +my $pattern = shift || '^_'; + my $home = "$Bin/.."; my $runTests = "$home/bin/run-tests.pl"; opendir(D, $home) || die "Couldn't opendir $home: $!\n"; -my @tests = grep /^_/, readdir(D); +my @tests = grep /$pattern/, readdir(D); closedir(D); my $vard = "$home/var"; diff --git a/testing/regressions/bin/run-tests.pl b/testing/regressions/bin/run-tests.pl index c26e6142..606ca4e7 100755 --- a/testing/regressions/bin/run-tests.pl +++ b/testing/regressions/bin/run-tests.pl @@ -15,7 +15,7 @@ use File::Spec::Functions qw(:ALL); use FindBin qw($Bin); use Getopt::Long; -# use IPC::Open3; +use Proc::Background; use Sys::Hostname; use Term::ReadKey; use Text::ParseWords; @@ -36,7 +36,9 @@ my $testRe = shift || '.'; # pattern to match test IDs against. Allows to run subset of tests by specifying, eg, '005.' my $outDir = catfile($testDir, "out-dyn"); my $refDir = catfile($testDir, "out-ref"); +my $certDir = catfile($Bin, '..', '..', 'certs'); +my @forks = (); my $customTokens = {}; my $tokens = { 'global' => { @@ -44,6 +46,7 @@ '%TESTDIR%' => $testDir, '%OUTDIR%' => $outDir, '%REFDIR%' => $refDir, + '%CERTDIR%' => $certDir, '%HOSTNAME%' => get_hostname(), '%USERNAME%' => get_username(), }, @@ -55,6 +58,12 @@ } $tokens->{'global'}{'%SWAKS%'} = $ENV{TEST_SWAKS}; } +if ($ENV{TEST_SERVER}) { + if ($ENV{TEST_SERVER} =~ m|[/\\]|) { + $ENV{TEST_SERVER} = rel2abs($ENV{TEST_SERVER}); + } + $tokens->{'global'}{'%TEST_SERVER%'} = $ENV{TEST_SERVER}; +} if (!-d $testDir) { die "invalid test suite (not a directory): $testDir\n"; @@ -120,6 +129,7 @@ sub runTest { my $outDir = shift; my $obj = shift; my $allTokens = {}; + @forks = (); # set local tokens (currently only %TESTID% can be set) $tokens->{'local'} = { '%TESTID%' => $obj->{'id'} }; # reset the local tokens and set id to the test ID @@ -165,6 +175,10 @@ sub runTest { my $result = "$testDir/$obj->{id}: " . ($failed ? "FAIL ($failed)" : 'PASS'); saveResult($result); } + + foreach my $proc (@forks) { + $proc->die(); + } } sub saveResult { @@ -382,6 +396,16 @@ sub runAction { $stdinFile =~ s/^STDIN://; captureOutput(\@args, $stdoutFile, $stderrFile, $stdinFile); } + elsif ($verb eq 'FORK') { + $args[0] =~ s|/|\\|g if ($^O eq 'MSWin32'); + debug('FORK', join('; ', @args)); + debug('exec', join(' ', map { "'$_'" } @args)); + my $proc = Proc::Background->new(@args); + if (!$proc->alive()) { + die "Unable to FORK @args: $!($@)\n"; + } + push(@forks, $proc); + } elsif ($verb eq 'DEFINE') { debug('DEFINE', join('; ', @args)); $customTokens->{$args[0]} = $args[1]; @@ -475,6 +499,7 @@ sub runAction { } } munge_general(\@lines, '.?', quotemeta($tokens->{'%SWAKS%'}), '%SWAKS_COMMAND%'); + munge_general(\@lines, '.?', quotemeta($tokens->{'%TEST_SERVER%'}), '%TEST_SERVER%'); open(O, ">$file") || die "Couldn't write to $file: $!\n"; print O join('', @lines); @@ -863,14 +888,27 @@ sub munge_open2_failure { munge_general($lines, 'open2: exec of', 'line \d+', 'line ###'); } +sub munge_tls_cipher { + my $lines = shift; + + munge_general($lines, 'TLS started with cipher', 'TLS started with cipher .*', 'TLS started with cipher VERSION:CIPHER:BITS'); +} + +sub munge_time_lapse { + my $lines = shift; + + munge_general($lines, '^=== response in', '^=== response in \d+\.\d+s', '=== response in FLOATs'); + munge_general($lines, '^=== response in', '^=== response in \d+s', '=== response in INTs'); +} + # this is just a convenience so I can add new munges without having to manually apply them to all test files sub munge_standard { my $lines = shift; my $consider = shift || '.?'; munge_globs($lines); - munge_dates($lines, '^(Subject|Date):'); - munge_message_ids($lines, '^Message-Id:'); + munge_dates($lines, '(Subject|Date):'); + munge_message_ids($lines, 'Message-Id:'); munge_version($lines, 'X-Mailer'); munge_mime_boundaries($lines); munge_paths($lines); @@ -879,4 +917,6 @@ sub munge_standard { munge_copyright($lines); munge_tls_available_protocols($lines); munge_open2_failure($lines); + munge_tls_cipher($lines); + munge_time_lapse($lines); } diff --git a/testing/regressions/bin/runenv b/testing/regressions/bin/runenv index 91a6a047..f3430d7e 100755 --- a/testing/regressions/bin/runenv +++ b/testing/regressions/bin/runenv @@ -1,7 +1,8 @@ #!/usr/bin/env bash export TEST_SWAKS=../../swaks -export PERL5LIB=lib/authen-ntlm-local +export SWAKS_EDITOR='/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' +export TEST_SERVER=../server/smtp-server.pl # this can be really convenient when you have a ton of small changes to accept. Don't have to (q)uit out of less #export PAGER=cat diff --git a/testing/regressions/bin/runenv.bat b/testing/regressions/bin/runenv.bat index 239b86a8..cf294485 100644 --- a/testing/regressions/bin/runenv.bat +++ b/testing/regressions/bin/runenv.bat @@ -4,7 +4,7 @@ set PATH=C:\Strawberry\perl\bin;%PATH% copy ..\..\swaks var\swaks.pl >NUL set TEST_SWAKS=var\swaks.pl -set PERL5LIB=lib\authen-ntlm-local +set TEST_SERVER=../server/smtp-server.pl rem set PAGER=more rem this can be really convenient when you have a ton of small changes to accept so you don't have to quit out of the pager rem set PAGER=cat diff --git a/testing/regressions/etc/README.txt b/testing/regressions/etc/README.txt index 07e1ecc2..bcd11337 100644 --- a/testing/regressions/etc/README.txt +++ b/testing/regressions/etc/README.txt @@ -19,19 +19,8 @@ environment/tooling: perl must be in your path. the Capture::Tiny perl module needs to be installed the Text::Diff perl module needs to be installed - all "optional" perl modules must be installed to run the test suite. (see Authen::NTLM note below) - --- - -Authen::NTLM - -I'm not even sure this module is distributed anymore. There are no tests for it, but I wanted to make a mandate that all modules need to be installed. -If you do not actually have Authen::NTLM installed, you can fake it for the purposes of testing by making sure that lib/authen-ntlm-local is in your -PERL5LIB: - -export PERL5LIB=lib/authen-ntlm-local - -This will load a fake version of the module that will make swaks happy for the purposes of testing + the Proc::Background perl module needs to be installed + all "optional" perl modules must be installed to run the test suite (that is, `swaks --support` must show every option supported) -- diff --git a/testing/regressions/etc/format.txt b/testing/regressions/etc/format.txt index f06517ab..0f960850 100644 --- a/testing/regressions/etc/format.txt +++ b/testing/regressions/etc/format.txt @@ -103,16 +103,20 @@ Action verbs: REMOVE_FILE FILE [FILE ...] unlink the specified file(s) - CMD EXECUTE STRING - executes the command and arguments. This is NOT executed by a shell + CMD COMMAND ARG [ARGS ...] + executes the COMMAND and arguments. This is NOT executed by a shell - CMD_CAPTURE EXECUTE STRING + CMD_CAPTURE COMMAND ARG [ARGS ...] [ STDIN: ] same as CMD but stdout and stderr will be automatically captured to %OUTDIR%/%TESTID%.stdout and .stderr. Because these file paths are static, this is really only usable once per test run. Room for improvement there... Note that if the execute string contains a component that looks like STDIN:/path/to/file.txt, the executed command will have its STDIN attached to /path/to/file.txt. Similarly, "STDIN:LITERAL:some\ntext\n" will send "some\ntext\n" to the executed command's STDIN, with the '\'+'n' characters replaces with real newlines. + FORK COMMAND ARG [ARGS ...] + Forks into the background and executes COMMAND and arguments. This is not processed by a shell. All forked processes + will be reaped automatically at the end of command execution. + CREATE_FILE FILE touch a file (but only if FILE does not already exist). mostly useful for making sure test files exist even if there's an execution error that prevents them from being created (prevents diff from barfing) diff --git a/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm b/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm deleted file mode 100644 index d47c473a..00000000 --- a/testing/regressions/lib/authen-ntlm-local/Authen/NTLM.pm +++ /dev/null @@ -1,6 +0,0 @@ - -# fake package just to make the test suite think it has NTLM support - -package NTLM; - -return 1; diff --git a/testing/server/scripts/part-banner-standard.txt b/testing/server/scripts/part-0000-connect-standard.txt similarity index 100% rename from testing/server/scripts/part-banner-standard.txt rename to testing/server/scripts/part-0000-connect-standard.txt diff --git a/testing/server/scripts/part-0001-connect-with-print.txt b/testing/server/scripts/part-0001-connect-with-print.txt new file mode 100644 index 00000000..6451deab --- /dev/null +++ b/testing/server/scripts/part-0001-connect-with-print.txt @@ -0,0 +1 @@ +send_line("220 SERVER ESMTP ready for peer $cxn{peer}{addr}($cxn{peer}{port})"); diff --git a/testing/server/scripts/part-ehlo-basic.txt b/testing/server/scripts/part-0100-ehlo-basic.txt similarity index 100% rename from testing/server/scripts/part-ehlo-basic.txt rename to testing/server/scripts/part-0100-ehlo-basic.txt diff --git a/testing/server/scripts/part-ehlo-all.txt b/testing/server/scripts/part-0101-ehlo-all.txt similarity index 95% rename from testing/server/scripts/part-ehlo-all.txt rename to testing/server/scripts/part-0101-ehlo-all.txt index 2c3fa446..96ff39ac 100644 --- a/testing/server/scripts/part-ehlo-all.txt +++ b/testing/server/scripts/part-0101-ehlo-all.txt @@ -3,7 +3,7 @@ get_line(); # EHLO send_line("250-SERVER Hello Server [1.1.1.1]"); send_line("250-STARTTLS"); send_line("250-PIPELINING"); -send_line("250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE-NAME"); +send_line("250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME"); send_line("250-PRDR"); send_line("250-AUTH CRAM-MD5"); send_line("250-AUTH CRAM-SHA1"); diff --git a/testing/server/scripts/part-0102-ehlo-xclient-fewer.txt b/testing/server/scripts/part-0102-ehlo-xclient-fewer.txt new file mode 100644 index 00000000..401f030f --- /dev/null +++ b/testing/server/scripts/part-0102-ehlo-xclient-fewer.txt @@ -0,0 +1,16 @@ +# advertize everything possible +get_line(); # EHLO +send_line("250-SERVER Hello Server [1.1.1.1]"); +send_line("250-STARTTLS"); +send_line("250-PIPELINING"); +send_line("250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT"); +send_line("250-PRDR"); +send_line("250-AUTH CRAM-MD5"); +send_line("250-AUTH CRAM-SHA1"); +send_line("250-AUTH PLAIN"); +send_line("250-AUTH LOGIN"); +send_line("250-AUTH NTLM"); +send_line("250-AUTH DIGEST-MD5"); +send_line("250-AUTH=login"); +send_line("250 HELP"); + diff --git a/testing/server/scripts/part-0103-ehlo-auth-extra.txt b/testing/server/scripts/part-0103-ehlo-auth-extra.txt new file mode 100644 index 00000000..79418880 --- /dev/null +++ b/testing/server/scripts/part-0103-ehlo-auth-extra.txt @@ -0,0 +1,17 @@ +# advertize everything possible +get_line(); # EHLO +send_line("250-SERVER Hello Server [1.1.1.1]"); +send_line("250-STARTTLS"); +send_line("250-PIPELINING"); +send_line("250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME"); +send_line("250-PRDR"); +send_line("250-AUTH CRAM-MD5"); +send_line("250-AUTH CRAM-SHA1"); +send_line("250-AUTH PLAIN"); +send_line("250-AUTH CUSTOM-PLAIN"); +send_line("250-AUTH LOGIN"); +send_line("250-AUTH NTLM"); +send_line("250-AUTH DIGEST-MD5"); +send_line("250-AUTH=login"); +send_line("250 HELP"); + diff --git a/testing/server/scripts/part-0104-ehlo-tls-only.txt b/testing/server/scripts/part-0104-ehlo-tls-only.txt new file mode 100644 index 00000000..35dc4f3f --- /dev/null +++ b/testing/server/scripts/part-0104-ehlo-tls-only.txt @@ -0,0 +1,6 @@ +# advertize everything possible +get_line(); # EHLO +send_line("250-SERVER Hello Server [1.1.1.1]"); +send_line("250-STARTTLS"); +send_line("250 HELP"); + diff --git a/testing/server/scripts/part-0105-ehlo-post-tls-info.txt b/testing/server/scripts/part-0105-ehlo-post-tls-info.txt new file mode 100644 index 00000000..65390edf --- /dev/null +++ b/testing/server/scripts/part-0105-ehlo-post-tls-info.txt @@ -0,0 +1,16 @@ +# advertize everything possible +get_line(); # EHLO +send_line("250-SERVER Hello Server [1.1.1.1]"); +send_line("250-TLS peer DN=$cxn{tls}{peer_cert_subject}"); +send_line("250-PIPELINING"); +send_line("250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME"); +send_line("250-PRDR"); +send_line("250-AUTH CRAM-MD5"); +send_line("250-AUTH CRAM-SHA1"); +send_line("250-AUTH PLAIN"); +send_line("250-AUTH LOGIN"); +send_line("250-AUTH NTLM"); +send_line("250-AUTH DIGEST-MD5"); +send_line("250-AUTH=login"); +send_line("250 HELP"); + diff --git a/testing/server/scripts/part-starttls-basic.txt b/testing/server/scripts/part-0200-starttls-basic.txt similarity index 60% rename from testing/server/scripts/part-starttls-basic.txt rename to testing/server/scripts/part-0200-starttls-basic.txt index f25004dd..7b9fe423 100644 --- a/testing/server/scripts/part-starttls-basic.txt +++ b/testing/server/scripts/part-0200-starttls-basic.txt @@ -1,4 +1,4 @@ get_line(); # STARTTLS send_line("220 TLS go ahead"); start_tls(); -include("$Bin/scripts/part-ehlo-all.txt"); +#include("$Bin/scripts/part-ehlo-all.txt"); diff --git a/testing/server/scripts/part-0201-intialize-tls.txt b/testing/server/scripts/part-0201-intialize-tls.txt new file mode 100644 index 00000000..dfef8a9f --- /dev/null +++ b/testing/server/scripts/part-0201-intialize-tls.txt @@ -0,0 +1,2 @@ +start_tls(); +#include("$Bin/scripts/part-ehlo-all.txt"); diff --git a/testing/server/scripts/part-0300-xclient-basic-accept.txt b/testing/server/scripts/part-0300-xclient-basic-accept.txt new file mode 100644 index 00000000..a5ff3c6b --- /dev/null +++ b/testing/server/scripts/part-0300-xclient-basic-accept.txt @@ -0,0 +1,2 @@ +get_line(); # XCLIENT +send_line("220 SERVER ESMTP ready"); diff --git a/testing/server/scripts/part-0301-xclient-basic-reject.txt b/testing/server/scripts/part-0301-xclient-basic-reject.txt new file mode 100644 index 00000000..dc58e3c5 --- /dev/null +++ b/testing/server/scripts/part-0301-xclient-basic-reject.txt @@ -0,0 +1,2 @@ +get_line(); # XCLIENT +send_line("501 5.5.4 Bad DESTADDR syntax"); diff --git a/testing/server/scripts/part-0500-prdr-start.txt b/testing/server/scripts/part-0500-prdr-start.txt new file mode 100644 index 00000000..b335fb77 --- /dev/null +++ b/testing/server/scripts/part-0500-prdr-start.txt @@ -0,0 +1 @@ +send_line("353 PRDR content analysis beginning"); diff --git a/testing/server/scripts/part-0501-prdr-addr-accept.txt b/testing/server/scripts/part-0501-prdr-addr-accept.txt new file mode 100644 index 00000000..1a827e96 --- /dev/null +++ b/testing/server/scripts/part-0501-prdr-addr-accept.txt @@ -0,0 +1 @@ +send_line("250 PRDR R=<..ADDR..> acceptance"); diff --git a/testing/server/scripts/part-0502-prdr-addr-reject.txt b/testing/server/scripts/part-0502-prdr-addr-reject.txt new file mode 100644 index 00000000..ac319cfc --- /dev/null +++ b/testing/server/scripts/part-0502-prdr-addr-reject.txt @@ -0,0 +1 @@ +send_line("550 PRDR R=<..ADDR..> refusal"); diff --git a/testing/server/scripts/part-0600-auth-plain-success.txt b/testing/server/scripts/part-0600-auth-plain-success.txt new file mode 100644 index 00000000..9d4304a4 --- /dev/null +++ b/testing/server/scripts/part-0600-auth-plain-success.txt @@ -0,0 +1,2 @@ +get_line(); # auth plain +send_line("235 Authentication succeeded"); diff --git a/testing/server/scripts/part-0601-auth-login-success.txt b/testing/server/scripts/part-0601-auth-login-success.txt new file mode 100644 index 00000000..39c68ace --- /dev/null +++ b/testing/server/scripts/part-0601-auth-login-success.txt @@ -0,0 +1,12 @@ +# -> AUTH LOGIN +get_line(); +# <- 334 VXNlcm5hbWU6 +send_line("334 VXNlcm5hbWU6"); +# -> dmFsaWR1c2Vy +get_line(); +# <- 334 UGFzc3dvcmQ6 +send_line("334 UGFzc3dvcmQ6"); +# -> dmFsaWRwYXNzd29yZA== +get_line(); +# <- 235 Authentication succeeded +send_line("235 Authentication succeeded"); diff --git a/testing/server/scripts/part-0602-auth-cram-md5-success.txt b/testing/server/scripts/part-0602-auth-cram-md5-success.txt new file mode 100644 index 00000000..16dd371c --- /dev/null +++ b/testing/server/scripts/part-0602-auth-cram-md5-success.txt @@ -0,0 +1,8 @@ +# -> AUTH CRAM-MD5 +get_line(); +# <- 334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+ +send_line("334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+"); +# -> dmFsaWR1c2VyIDFiNDQ4MzliOGIxNDA4ZDI5MDY4OGRkMTNhMDYxMGU3 +get_line(); +# <- 235 Authentication succeeded +send_line("235 Authentication succeeded"); diff --git a/testing/server/scripts/part-0603-auth-cram-sha1-success.txt b/testing/server/scripts/part-0603-auth-cram-sha1-success.txt new file mode 100644 index 00000000..cba1f3cb --- /dev/null +++ b/testing/server/scripts/part-0603-auth-cram-sha1-success.txt @@ -0,0 +1,9 @@ +# -> AUTH CRAM-SHA1 +get_line(); +# <- 334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg== +send_line("334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg=="); +# -> dmFsaWR1c2VyIGIwYzY0NTk4NGRjZGRhZjIzMGMwYmM3MzA0ZTUwNWUwMzg1ZWM1MDk= +get_line(); +# <- 235 Authentication succeeded +send_line("235 Authentication succeeded"); + diff --git a/testing/server/scripts/part-0605-auth-ntlm-success.txt b/testing/server/scripts/part-0605-auth-ntlm-success.txt new file mode 100644 index 00000000..e8e36d28 --- /dev/null +++ b/testing/server/scripts/part-0605-auth-ntlm-success.txt @@ -0,0 +1,13 @@ +# -> AUTH NTLM +get_line(); +# <- 334 NTLM supported +send_line("334 NTLM supported"); +# -> TlRMTVNTUAABAAAAB6IAAAAAAAAAAAAAAAAAAAAAAAA= +get_line(); +# <- 334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA +send_line("334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA"); +# -> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAAAwAAAAEgASAHAAAAASABIAggAAAAAAAABUAAAAAYIAAF04y7oOxMnniToro6WZVuz8Bc24XZ+nsDstHGUVU8b9U5zbT/L3SSnejSWJflzS2HYAYQBsAGkAZAB1AHMAZQByAHYAYQBsAGkAZAB1AHMAZQByAA== +get_line(); +# <- 235 Authentication succeeded +send_line("235 Authentication succeeded"); + diff --git a/testing/server/scripts/part-0610-auth-plain-fail.txt b/testing/server/scripts/part-0610-auth-plain-fail.txt new file mode 100644 index 00000000..66b21681 --- /dev/null +++ b/testing/server/scripts/part-0610-auth-plain-fail.txt @@ -0,0 +1,2 @@ +get_line(); # auth plain +send_line("535 Incorrect authentication data"); diff --git a/testing/server/scripts/part-0611-auth-login-fail.txt b/testing/server/scripts/part-0611-auth-login-fail.txt new file mode 100644 index 00000000..1eea9aa7 --- /dev/null +++ b/testing/server/scripts/part-0611-auth-login-fail.txt @@ -0,0 +1,11 @@ +# -> AUTH LOGIN +get_line(); +# <- 334 VXNlcm5hbWU6 +send_line("334 VXNlcm5hbWU6"); +# -> dmFsaWR1c2Vy +get_line(); +# <- 334 UGFzc3dvcmQ6 +send_line("334 UGFzc3dvcmQ6"); +# -> dmFsaWRwYXNzd29yZA== +get_line(); +send_line("535 Incorrect authentication data"); diff --git a/testing/server/scripts/part-0612-auth-cram-md5-fail.txt b/testing/server/scripts/part-0612-auth-cram-md5-fail.txt new file mode 100644 index 00000000..baab197c --- /dev/null +++ b/testing/server/scripts/part-0612-auth-cram-md5-fail.txt @@ -0,0 +1,7 @@ +# -> AUTH CRAM-MD5 +get_line(); +# <- 334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+ +send_line("334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+"); +# -> dmFsaWR1c2VyIDFiNDQ4MzliOGIxNDA4ZDI5MDY4OGRkMTNhMDYxMGU3 +get_line(); +send_line("535 Incorrect authentication data"); diff --git a/testing/server/scripts/part-0613-auth-cram-sha1-fail.txt b/testing/server/scripts/part-0613-auth-cram-sha1-fail.txt new file mode 100644 index 00000000..ac66e1d1 --- /dev/null +++ b/testing/server/scripts/part-0613-auth-cram-sha1-fail.txt @@ -0,0 +1,8 @@ +# -> AUTH CRAM-SHA1 +get_line(); +# <- 334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg== +send_line("334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg=="); +# -> dmFsaWR1c2VyIGIwYzY0NTk4NGRjZGRhZjIzMGMwYmM3MzA0ZTUwNWUwMzg1ZWM1MDk= +get_line(); +send_line("535 Incorrect authentication data"); + diff --git a/testing/server/scripts/part-0615-auth-ntlm-fail.txt b/testing/server/scripts/part-0615-auth-ntlm-fail.txt new file mode 100644 index 00000000..392c43b0 --- /dev/null +++ b/testing/server/scripts/part-0615-auth-ntlm-fail.txt @@ -0,0 +1,12 @@ +# -> AUTH NTLM +get_line(); +# <- 334 NTLM supported +send_line("334 NTLM supported"); +# -> TlRMTVNTUAABAAAAB6IAAAAAAAAAAAAAAAAAAAAAAAA= +get_line(); +# <- 334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA +send_line("334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA"); +# -> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAAAwAAAAEgASAHAAAAASABIAggAAAAAAAABUAAAAAYIAAF04y7oOxMnniToro6WZVuz8Bc24XZ+nsDstHGUVU8b9U5zbT/L3SSnejSWJflzS2HYAYQBsAGkAZAB1AHMAZQByAHYAYQBsAGkAZAB1AHMAZQByAA== +get_line(); +send_line("535 Incorrect authentication data"); + diff --git a/testing/server/scripts/part-0800-proxy-read.txt b/testing/server/scripts/part-0800-proxy-read.txt new file mode 100644 index 00000000..c7e6aa1e --- /dev/null +++ b/testing/server/scripts/part-0800-proxy-read.txt @@ -0,0 +1,2 @@ +# advertize everything possible +get_line(); # PROXY... diff --git a/testing/server/scripts/part-mail-basic.txt b/testing/server/scripts/part-1000-mail-basic.txt similarity index 100% rename from testing/server/scripts/part-mail-basic.txt rename to testing/server/scripts/part-1000-mail-basic.txt diff --git a/testing/server/scripts/part-1001-mail-reject.txt b/testing/server/scripts/part-1001-mail-reject.txt new file mode 100644 index 00000000..65ff83d0 --- /dev/null +++ b/testing/server/scripts/part-1001-mail-reject.txt @@ -0,0 +1,2 @@ +get_line(); # MAIL +send_line("550 rejected"); diff --git a/testing/server/scripts/part-1010-mail-pipeline-read.txt b/testing/server/scripts/part-1010-mail-pipeline-read.txt new file mode 100644 index 00000000..663beb27 --- /dev/null +++ b/testing/server/scripts/part-1010-mail-pipeline-read.txt @@ -0,0 +1 @@ +get_line(); # MAIL diff --git a/testing/server/scripts/part-1011-mail-pipeline-respond-success.txt b/testing/server/scripts/part-1011-mail-pipeline-respond-success.txt new file mode 100644 index 00000000..35fbdaac --- /dev/null +++ b/testing/server/scripts/part-1011-mail-pipeline-respond-success.txt @@ -0,0 +1 @@ +send_line("250 Accepted"); diff --git a/testing/server/scripts/part-1012-mail-pipeline-respond-failure.txt b/testing/server/scripts/part-1012-mail-pipeline-respond-failure.txt new file mode 100644 index 00000000..4b830a25 --- /dev/null +++ b/testing/server/scripts/part-1012-mail-pipeline-respond-failure.txt @@ -0,0 +1 @@ +send_line("550 rejected"); diff --git a/testing/server/scripts/part-rcpt-basic.txt b/testing/server/scripts/part-1100-rcpt-basic-accept.txt similarity index 100% rename from testing/server/scripts/part-rcpt-basic.txt rename to testing/server/scripts/part-1100-rcpt-basic-accept.txt diff --git a/testing/server/scripts/part-1101-rcpt-basic-reject.txt b/testing/server/scripts/part-1101-rcpt-basic-reject.txt new file mode 100644 index 00000000..a0739142 --- /dev/null +++ b/testing/server/scripts/part-1101-rcpt-basic-reject.txt @@ -0,0 +1,3 @@ +# include this multiple times from scripts for multiple recipients +get_line(); # RCPT +send_line("550 rejected"); diff --git a/testing/server/scripts/part-1110-rcpt-pipeline-read.txt b/testing/server/scripts/part-1110-rcpt-pipeline-read.txt new file mode 100644 index 00000000..f8efb9fe --- /dev/null +++ b/testing/server/scripts/part-1110-rcpt-pipeline-read.txt @@ -0,0 +1 @@ +get_line(); # RCPT diff --git a/testing/server/scripts/part-1111-rcpt-pipeline-respond-success.txt b/testing/server/scripts/part-1111-rcpt-pipeline-respond-success.txt new file mode 100644 index 00000000..35fbdaac --- /dev/null +++ b/testing/server/scripts/part-1111-rcpt-pipeline-respond-success.txt @@ -0,0 +1 @@ +send_line("250 Accepted"); diff --git a/testing/server/scripts/part-1112-rcpt-pipeline-respond-failure.txt b/testing/server/scripts/part-1112-rcpt-pipeline-respond-failure.txt new file mode 100644 index 00000000..4b830a25 --- /dev/null +++ b/testing/server/scripts/part-1112-rcpt-pipeline-respond-failure.txt @@ -0,0 +1 @@ +send_line("550 rejected"); diff --git a/testing/server/scripts/part-1113-rcpt-pipeline-respond-failure-cascade.txt b/testing/server/scripts/part-1113-rcpt-pipeline-respond-failure-cascade.txt new file mode 100644 index 00000000..f7b94fdb --- /dev/null +++ b/testing/server/scripts/part-1113-rcpt-pipeline-respond-failure-cascade.txt @@ -0,0 +1 @@ +send_line("503 sender not yet given"); diff --git a/testing/server/scripts/part-data.txt b/testing/server/scripts/part-2500-data-accept-basic.txt similarity index 100% rename from testing/server/scripts/part-data.txt rename to testing/server/scripts/part-2500-data-accept-basic.txt diff --git a/testing/server/scripts/part-2501-data-accept.txt b/testing/server/scripts/part-2501-data-accept.txt new file mode 100644 index 00000000..d2c74b4a --- /dev/null +++ b/testing/server/scripts/part-2501-data-accept.txt @@ -0,0 +1 @@ +send_line("250 OK id=fakeemail"); diff --git a/testing/server/scripts/part-2502-data-read.txt b/testing/server/scripts/part-2502-data-read.txt new file mode 100644 index 00000000..ad6c4206 --- /dev/null +++ b/testing/server/scripts/part-2502-data-read.txt @@ -0,0 +1,3 @@ +get_line(); # DATA (command, not actual data) +send_line("354 Enter message, ending with \".\" on a line by itself"); +get_line('^\.$'); # rest of email diff --git a/testing/server/scripts/part-2503-data-reject.txt b/testing/server/scripts/part-2503-data-reject.txt new file mode 100644 index 00000000..4b830a25 --- /dev/null +++ b/testing/server/scripts/part-2503-data-reject.txt @@ -0,0 +1 @@ +send_line("550 rejected"); diff --git a/testing/server/scripts/part-2504-data-data-only.txt b/testing/server/scripts/part-2504-data-data-only.txt new file mode 100644 index 00000000..e0a46fc7 --- /dev/null +++ b/testing/server/scripts/part-2504-data-data-only.txt @@ -0,0 +1,3 @@ +get_line(); # DATA (command, not actual data) +send_line("354 Enter message, ending with \".\" on a line by itself"); + diff --git a/testing/server/scripts/part-2505-data-message-only.txt b/testing/server/scripts/part-2505-data-message-only.txt new file mode 100644 index 00000000..f52e6639 --- /dev/null +++ b/testing/server/scripts/part-2505-data-message-only.txt @@ -0,0 +1,2 @@ +get_line('^\.$'); # rest of email +send_line("250 OK id=fakeemail"); diff --git a/testing/server/scripts/part-2510-data-pipeline-data-read.txt b/testing/server/scripts/part-2510-data-pipeline-data-read.txt new file mode 100644 index 00000000..e160a00b --- /dev/null +++ b/testing/server/scripts/part-2510-data-pipeline-data-read.txt @@ -0,0 +1 @@ +get_line(); # DATA (command, not actual data) diff --git a/testing/server/scripts/part-2511-data-pipeline-data-respond-success.txt b/testing/server/scripts/part-2511-data-pipeline-data-respond-success.txt new file mode 100644 index 00000000..0352065f --- /dev/null +++ b/testing/server/scripts/part-2511-data-pipeline-data-respond-success.txt @@ -0,0 +1 @@ +send_line("354 Enter message, ending with \".\" on a line by itself"); diff --git a/testing/server/scripts/part-2512-data-pipeline-data-respond-failure.txt b/testing/server/scripts/part-2512-data-pipeline-data-respond-failure.txt new file mode 100644 index 00000000..8a27dc56 --- /dev/null +++ b/testing/server/scripts/part-2512-data-pipeline-data-respond-failure.txt @@ -0,0 +1 @@ +send_line("550 Forced failure by sender"); diff --git a/testing/server/scripts/part-2513-data-pipeline-data-respond-failure-cascade.txt b/testing/server/scripts/part-2513-data-pipeline-data-respond-failure-cascade.txt new file mode 100644 index 00000000..a49c2cc4 --- /dev/null +++ b/testing/server/scripts/part-2513-data-pipeline-data-respond-failure-cascade.txt @@ -0,0 +1,2 @@ +send_line("503-something went wrong related to pipelining"); +send_line("503 something went wrong"); diff --git a/testing/server/scripts/part-close.txt b/testing/server/scripts/part-3000-shutdown-accept.txt similarity index 100% rename from testing/server/scripts/part-close.txt rename to testing/server/scripts/part-3000-shutdown-accept.txt diff --git a/testing/server/scripts/part-xclient-basic.txt b/testing/server/scripts/part-xclient-basic.txt deleted file mode 100644 index 9b7c26bc..00000000 --- a/testing/server/scripts/part-xclient-basic.txt +++ /dev/null @@ -1,3 +0,0 @@ -get_line(); # XCLIENT -include("$Bin/scripts/part-banner-standard.txt"); -include("$Bin/scripts/part-ehlo-all.txt"); diff --git a/testing/server/scripts/basic-successful-email.txt b/testing/server/scripts/script-basic-success.txt similarity index 54% rename from testing/server/scripts/basic-successful-email.txt rename to testing/server/scripts/script-basic-success.txt index 01693b5f..fd538df2 100644 --- a/testing/server/scripts/basic-successful-email.txt +++ b/testing/server/scripts/script-basic-success.txt @@ -3,17 +3,18 @@ # ./smtp-server.pl -p 8026 -f scripts/basic-successful-email.txt # ./swaks -s 127.0.0.1 -p 8026 -t foo@example.com -include("$Bin/scripts/part-banner-standard.txt"); +include("$scriptDir/part-0000-connect-standard.txt"); -include("$Bin/scripts/part-ehlo-basic.txt"); +include("$scriptDir/part-0100-ehlo-basic.txt"); -include("$Bin/scripts/part-mail-basic.txt"); +include("$scriptDir/part-1000-mail-basic.txt"); # single recipient -include("$Bin/scripts/part-rcpt-basic.txt"); +include("$scriptDir/part-1100-rcpt-basic-accept.txt"); # DATA command and the actual body -include("$Bin/scripts/part-data.txt"); +include("$scriptDir/part-2500-data-accept-basic.txt"); # receive the QUIT and acknowledge it -include("$Bin/scripts/part-close.txt"); +include("$scriptDir/part-3000-shutdown-accept.txt"); + diff --git a/testing/server/scripts/script-tls-success.txt b/testing/server/scripts/script-tls-success.txt new file mode 100644 index 00000000..465800e0 --- /dev/null +++ b/testing/server/scripts/script-tls-success.txt @@ -0,0 +1,22 @@ +# This is the default script that smtp-server.pl uses if no other is given +# These two commands will work with each other to appear to send an entire email: +# ./smtp-server.pl -p 8026 -f scripts/basic-successful-email.txt +# ./swaks -s 127.0.0.1 -p 8026 -t foo@example.com + +include("$scriptDir/part-0000-connect-standard.txt"); + +include("$scriptDir/part-0101-ehlo-all.txt"); +include("$scriptDir/part-0200-starttls-basic.txt"); +include("$scriptDir/part-0101-ehlo-all.txt"); + +include("$scriptDir/part-1000-mail-basic.txt"); + +# single recipient +include("$scriptDir/part-1100-rcpt-basic-accept.txt"); + +# DATA command and the actual body +include("$scriptDir/part-2500-data-accept-basic.txt"); + +# receive the QUIT and acknowledge it +include("$scriptDir/part-3000-shutdown-accept.txt"); + diff --git a/testing/server/smtp-server.pl b/testing/server/smtp-server.pl index 9968b5e6..0373e935 100755 --- a/testing/server/smtp-server.pl +++ b/testing/server/smtp-server.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # add tls support for all domains @@ -17,32 +17,64 @@ use strict; +no strict "subs"; use IO::Socket; -use Getopt::Std; +use Getopt::Long; use Net::SSLeay; use FindBin qw($Bin); my %opt = (); -getopts('t:p:i:d:f:s', \%opt) || mexit(1); +GetOptions(\%opt, 'port|p=s', 'interface|i=s', 'domain|d=s', 'silent|s!', 'include=s@', 'cert=s', 'key=s') || mexit(1); # p - port # i - interface (or socket file for unix domain) # d - domain (inet or unix or pipe) # s - silent (don't print transaction hints) +# include files - if specified even once, no command line file will be checked. If multiple, will be executed in order specified -my $scriptFile = shift; -if (!$scriptFile) { - $scriptFile = $Bin . '/scripts/basic-successful-email.txt'; +my $scriptDir = "$Bin/scripts"; +my @scriptFiles = (); +if (exists($opt{include}) && ref($opt{include}) eq 'ARRAY') { + @scriptFiles = @{$opt{include}}; } -if (!-f $scriptFile) { - mexit(1, "script file $scriptFile does not exist\n"); +elsif (scalar(@ARGV)) { + @scriptFiles = @ARGV; } +else { + @scriptFiles = ($scriptDir . '/script-basic-success.txt'); +} + +for (my $i = 0; $i < @scriptFiles; $i++) { + my($file, @tokens) = split(/::/, $scriptFiles[$i]); + if ($file !~ m%[/\\]%) { + $file = "$scriptDir/$file"; + } + + if (!-f $file) { + mexit(1, "script file $file does not exist\n"); + } + + my $info = { + file => $file, + tokens => {}, + }; + for (my $j = 0; $j < @tokens; $j++) { + my $token = $tokens[$j]; + my $value = $tokens[++$j]; + $value =~ s/([^\\])([\@\$\%])/$1\\$2/g; # not a huge fan of this, but since we're eval'ing this, protect perl sigils + $info->{tokens}{$token} = $value; + } + $scriptFiles[$i] = $info; +} + +my $keyFile = $opt{key} || $Bin . '/../certs/node.example.com.key'; +my $certFile = $opt{cert} || $Bin . '/../certs/node.example.com.crt'; -my $domain = lc($opt{d}) || 'inet'; +my $domain = lc($opt{domain}) || 'inet'; if ($domain !~ /^(unix|inet|pipe)$/) { mexit(1, "unknown domain $domain\n"); } -my $port = $opt{p} || 11111; -my $lint = $domain eq 'unix' ? $opt{i} || "/tmp/server.$>.$$" : $opt{i} || '0.0.0.0'; +my $port = $opt{port} || 11111; +my $lint = $domain eq 'unix' ? $opt{interface} || "/tmp/server.$>.$$" : $opt{interface} || '0.0.0.0'; $lint .= ":$port" if ($domain eq 'inet' && $lint !~ /:/); my %cxn = (); @@ -51,19 +83,29 @@ get_cxn(set_up_cxn($domain, $lint)); -handle_script_file($scriptFile); +foreach my $scriptFile (@scriptFiles) { + handle_script_file($scriptFile); +} exit; sub handle_script_file { - my $f = shift; - print "Run script file $f\n"; - open(my $fh, "<$f") || die "Can't open $f: $!\n"; + my $args = shift; + my $file = ref($args) ? $args->{file} : $args; + + print "Run script file $file\n" if (!$opt{silent}); + open(my $fh, "<$file") || die "Can't open $file: $!\n"; while (defined(my $l = <$fh>)) { - if ($l =~ /^include\(['"](?:\$Bin\/)?(.*)['"]\);/) { - handle_script_file($Bin . '/' . $1); + if ($l =~ /^include\(['"](?:\$scriptDir\/)?(.*)['"]\);/) { + handle_script_file($scriptDir . '/' . $1); } else { + if (ref($args)) { + foreach my $token (keys %{$args->{tokens}}) { + $l =~ s|\.\.$token\.\.|$args->{tokens}{$token}|g + } + } + eval($l); if ($@) { chomp($@); @@ -80,6 +122,10 @@ sub get_cxn { if ($s) { $cxn{cxn} = $s->accept(); $cxn{type} = "socket"; + if ($domain eq 'inet') { + $cxn{peer}{addr} = inet_ntoa($cxn{cxn}->peeraddr()); + $cxn{peer}{port} = $cxn{cxn}->peerport(); + } } else { $cxn{cxn_wr} = \*STDOUT; $cxn{cxn_re} = \*STDIN; @@ -103,12 +149,12 @@ sub set_up_cxn { warn("Couldn't be a unix domain server on $lint: $@"); exit(2); } - print L "listening on $lint pid $$\n"; + print L "listening on $lint pid $$\n" if (!$opt{silent}); } else { if (!($server = IO::Socket::INET->new(Proto => 'tcp', Listen => SOMAXCONN, ReuseAddr => 1, LocalAddr => $lint))) { mexit(2, "Couldn't be an inet domain server on $lint: $@"); } - print L "listening on $lint pid $$\n"; + print L "listening on $lint pid $$\n" if (!$opt{silent}); } return($server); } @@ -123,7 +169,7 @@ sub mexit { sub send_line { my $l = shift; - print L "> $l\n" if (!$opt{s}); + print L "> $l\n" if (!$opt{silent}); $l =~ s/([^\r])\n/$1\r\n/; if ($cxn{tls}{active}) { @@ -150,7 +196,7 @@ sub get_line { $l = <$s>; } $l =~ s/\r//g; - print L "< $l" if (!$opt{s}); + print L "< $l" if (!$opt{silent}); $r .= $l; } while ($e && $l && $l !~ /$e/ms); @@ -159,8 +205,8 @@ sub get_line { sub start_tls { $Net::SSLeay::trace = 9; - my $ssl_keyf = $Bin . '/test.key'; - my $ssl_certf = $Bin . '/test.crt'; + my $ssl_keyf = $keyFile; + my $ssl_certf = $certFile; Net::SSLeay::load_error_strings(); Net::SSLeay::SSLeay_add_ssl_algorithms(); @@ -169,6 +215,7 @@ sub start_tls { Net::SSLeay::CTX_set_options($cxn{tls}{ctx}, &Net::SSLeay::OP_ALL); Net::SSLeay::CTX_use_RSAPrivateKey_file ($cxn{tls}{ctx}, $ssl_keyf, &Net::SSLeay::FILETYPE_PEM); Net::SSLeay::CTX_use_certificate_file ($cxn{tls}{ctx}, $ssl_certf, &Net::SSLeay::FILETYPE_PEM); + # Net::SSLeay::set_verify($cxn{tls}{ctx}, Net::SSLeay::VERIFY_PEER, \&verify); $cxn{tls}{ssl} = Net::SSLeay::new($cxn{tls}{ctx}); if ($cxn{type} eq 'pipe') { @@ -178,6 +225,27 @@ sub start_tls { Net::SSLeay::set_fd($cxn{tls}{ssl}, fileno($cxn{cxn})); } my $err = Net::SSLeay::accept($cxn{tls}{ssl}) ; - print L "* Cipher '", Net::SSLeay::get_cipher($cxn{tls}{ssl}), "'\n" if (!$opt{s}); + # print "err in TLS accept: $err\n" if ($err); $cxn{tls}{active} = 1; + $cxn{tls}{cipher} = Net::SSLeay::get_cipher($cxn{tls}{ssl}); + $cxn{tls}{peer_cert} = Net::SSLeay::get_peer_certificate($cxn{tls}{ssl}); + if ($cxn{tls}{peer_cert}) { + $cxn{tls}{peer_cert_subject} = Net::SSLeay::X509_NAME_oneline(Net::SSLeay::X509_get_subject_name($cxn{tls}{peer_cert})); + } + else { + $cxn{tls}{peer_cert_subject} = "No client certificate present"; + } + print L "* Cipher '$cxn{tls}{cipher}'\n" if (!$opt{silent}); + + # my $err = Net::SSLeay::accept($cxn{tls}{ssl}); + # print "err in TLS accept: $err\n" if ($err); + # $cxn{tls}{active} = 1; + # $cxn{tls}{cipher} = Net::SSLeay::get_cipher($cxn{tls}{ssl}); + # $cxn{tls}{peer_cert} = Net::SSLeay::get_peer_certificate($cxn{tls}{ssl}); + # $cxn{tls}{peer_cert_subject} = Net::SSLeay::X509_NAME_oneline(Net::SSLeay::X509_get_subject_name($cxn{tls}{peer_cert})); + # print L "* Cipher '$cxn{tls}{cipher}'\n" if (!$opt{silent}); +} + +sub verify { + return 0; # 0 means ok } diff --git a/testing/server/trans-to-test.pl b/testing/server/trans-to-test.pl new file mode 100755 index 00000000..fa3c985d --- /dev/null +++ b/testing/server/trans-to-test.pl @@ -0,0 +1,45 @@ +#!/usr/bin/env perl + +# incredibly simple script to translate real swaks output transcript (used for reference) into a script (or partial script) that can be consumed by +# the test server + +# for instance: +my $foo = < part-601-auth-login-success.txt + -> AUTH LOGIN +<- 334 VXNlcm5hbWU6 + -> dmFsaWR1c2Vy +<- 334 UGFzc3dvcmQ6 + -> dmFsaWRwYXNzd29yZA== +<- 235 Authentication succeeded +EOM +cat part-601-auth-login-success.txt +# -> AUTH LOGIN +get_line(); +# <- 334 VXNlcm5hbWU6 +send_line("334 VXNlcm5hbWU6"); +# -> dmFsaWR1c2Vy +get_line(); +# <- 334 UGFzc3dvcmQ6 +send_line("334 UGFzc3dvcmQ6"); +# -> dmFsaWRwYXNzd29yZA== +get_line(); +# <- 235 Authentication succeeded +send_line("235 Authentication succeeded"); +EOCOMMENT + +while (my $line = <>) { + chomp($line); + my $oLine = $line; + + print "# $oLine\n"; + if ($line =~ s|^<[-~] ||) { + print "send_line(\"$line\");\n"; + } + elsif ($line =~ s|^ [-~]> ||) { + print "get_line();\n"; + } + else { + print "ERROR UNKNOWN LINE\n"; + } +} diff --git a/testing/test-raw_option_data.pl b/testing/test-raw_option_data.pl deleted file mode 100755 index 3d47e626..00000000 --- a/testing/test-raw_option_data.pl +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/perl - -my $args; -open(I, "<$ARGV[0]") || die "Couldn't open $ARGV[0]\n"; -while () { - next if (!/sub get_option_struct/); - while () { - last if (/return\(@G::raw_option_data/); - $args .= $_; - } - last; -} - -eval $args; -# print $args; - - -# use Data::Dumper; - -foreach my $o (@G::raw_option_data) { - $okeys{$o->{okey}}++; - map { $opts{$_}++; } (@{$o->{opts}}); -} - -foreach my $okey (keys %okeys) { - print "Collision okey $okey $okeys->{$okey}\n" if ($okeys{$okey} > 1); -} -foreach my $opt (keys %opts) { - print "Collision opts $opt $opts->{$opt}\n" if ($opts{$opt} > 1); -} From abc29ad00e6e6f038476dbbe4ea088ff73a3a6a6 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Mon, 21 Dec 2020 13:43:23 -0500 Subject: [PATCH 17/98] Create transaction testing --- Changes | 1 + .../regressions/_exec-transactions/00000.test | 13 + .../regressions/_exec-transactions/00001.test | 12 + .../regressions/_exec-transactions/00002.test | 15 + .../regressions/_exec-transactions/00003.test | 15 + .../regressions/_exec-transactions/00004.test | 14 + .../regressions/_exec-transactions/00010.test | 11 + .../regressions/_exec-transactions/00050.test | 18 ++ .../regressions/_exec-transactions/00051.test | 17 ++ .../regressions/_exec-transactions/00052.test | 17 ++ .../regressions/_exec-transactions/00053.test | 17 ++ .../regressions/_exec-transactions/00054.test | 20 ++ .../regressions/_exec-transactions/00055.test | 20 ++ .../regressions/_exec-transactions/00056.test | 19 ++ .../regressions/_exec-transactions/00200.test | 15 + .../regressions/_exec-transactions/00201.test | 11 + .../regressions/_exec-transactions/00202.test | 12 + .../regressions/_exec-transactions/00203.test | 14 + .../regressions/_exec-transactions/00204.test | 15 + .../regressions/_exec-transactions/00205.test | 12 + .../regressions/_exec-transactions/00206.test | 17 ++ .../regressions/_exec-transactions/00207.test | 13 + .../regressions/_exec-transactions/00208.test | 7 + .../regressions/_exec-transactions/00210.test | 16 ++ .../regressions/_exec-transactions/00211.test | 9 + .../regressions/_exec-transactions/00212.test | 14 + .../regressions/_exec-transactions/00213.test | 14 + .../regressions/_exec-transactions/00214.test | 14 + .../regressions/_exec-transactions/00300.test | 15 + .../regressions/_exec-transactions/00301.test | 16 ++ .../regressions/_exec-transactions/00302.test | 16 ++ .../regressions/_exec-transactions/00303.test | 15 + .../regressions/_exec-transactions/00304.test | 16 ++ .../regressions/_exec-transactions/00305.test | 17 ++ .../regressions/_exec-transactions/00306.test | 15 + .../regressions/_exec-transactions/00307.test | 15 + .../regressions/_exec-transactions/00308.test | 10 + .../regressions/_exec-transactions/00309.test | 15 + .../regressions/_exec-transactions/00310.test | 17 ++ .../regressions/_exec-transactions/00311.test | 17 ++ .../regressions/_exec-transactions/00312.test | 10 + .../regressions/_exec-transactions/00313.test | 13 + .../regressions/_exec-transactions/00314.test | 13 + .../regressions/_exec-transactions/00315.test | 11 + .../regressions/_exec-transactions/00316.test | 16 ++ .../regressions/_exec-transactions/00317.test | 11 + .../regressions/_exec-transactions/00500.test | 20 ++ .../regressions/_exec-transactions/00501.test | 20 ++ .../regressions/_exec-transactions/00502.test | 20 ++ .../regressions/_exec-transactions/00503.test | 20 ++ .../regressions/_exec-transactions/00504.test | 20 ++ .../regressions/_exec-transactions/00505.test | 20 ++ .../regressions/_exec-transactions/00506.test | 20 ++ .../regressions/_exec-transactions/00507.test | 20 ++ .../regressions/_exec-transactions/00510.test | 15 + .../regressions/_exec-transactions/00511.test | 14 + .../regressions/_exec-transactions/00512.test | 12 + .../regressions/_exec-transactions/00513.test | 19 ++ .../regressions/_exec-transactions/00514.test | 19 ++ .../regressions/_exec-transactions/00600.test | 13 + .../regressions/_exec-transactions/00601.test | 14 + .../regressions/_exec-transactions/00602.test | 14 + .../regressions/_exec-transactions/00603.test | 14 + .../regressions/_exec-transactions/00605.test | 13 + .../regressions/_exec-transactions/00610.test | 10 + .../regressions/_exec-transactions/00611.test | 11 + .../regressions/_exec-transactions/00612.test | 11 + .../regressions/_exec-transactions/00613.test | 11 + .../regressions/_exec-transactions/00615.test | 10 + .../regressions/_exec-transactions/00620.test | 14 + .../regressions/_exec-transactions/00621.test | 10 + .../regressions/_exec-transactions/00622.test | 13 + .../regressions/_exec-transactions/00623.test | 13 + .../regressions/_exec-transactions/00624.test | 14 + .../regressions/_exec-transactions/00625.test | 11 + .../regressions/_exec-transactions/00626.test | 15 + .../regressions/_exec-transactions/00634.test | 14 + .../regressions/_exec-transactions/00635.test | 13 + .../regressions/_exec-transactions/00636.test | 13 + .../regressions/_exec-transactions/00637.test | 13 + .../regressions/_exec-transactions/00800.test | 15 + .../regressions/_exec-transactions/00801.test | 15 + .../regressions/_exec-transactions/00802.test | 15 + .../regressions/_exec-transactions/00803.test | 15 + .../regressions/_exec-transactions/00804.test | 21 ++ .../regressions/_exec-transactions/05000.test | 9 + .../regressions/_exec-transactions/05001.test | 11 + .../regressions/_exec-transactions/05002.test | 11 + .../regressions/_exec-transactions/05003.test | 10 + .../regressions/_exec-transactions/05004.test | 10 + .../regressions/_exec-transactions/05005.test | 11 + .../regressions/_exec-transactions/05006.test | 11 + .../regressions/_exec-transactions/05007.test | 12 + .../regressions/_exec-transactions/05009.test | 10 + .../regressions/_exec-transactions/05010.test | 10 + .../regressions/_exec-transactions/05011.test | 10 + .../regressions/_exec-transactions/05012.test | 12 + .../regressions/_exec-transactions/05013.test | 12 + .../regressions/_exec-transactions/05014.test | 10 + .../regressions/_exec-transactions/05100.test | 8 + .../regressions/_exec-transactions/05101.test | 11 + .../regressions/_exec-transactions/05102.test | 10 + .../regressions/_exec-transactions/05103.test | 9 + .../regressions/_exec-transactions/05104.test | 9 + .../regressions/_exec-transactions/05105.test | 10 + .../regressions/_exec-transactions/05106.test | 10 + .../regressions/_exec-transactions/05107.test | 11 + .../regressions/_exec-transactions/05109.test | 9 + .../regressions/_exec-transactions/05110.test | 9 + .../regressions/_exec-transactions/05111.test | 9 + .../regressions/_exec-transactions/05112.test | 11 + .../regressions/_exec-transactions/05113.test | 12 + .../regressions/_exec-transactions/05114.test | 9 + .../regressions/_exec-transactions/05115.test | 12 + .../regressions/_exec-transactions/05116.test | 11 + .../regressions/_exec-transactions/05200.test | 8 + .../regressions/_exec-transactions/05201.test | 10 + .../regressions/_exec-transactions/05202.test | 10 + .../regressions/_exec-transactions/05203.test | 9 + .../regressions/_exec-transactions/05204.test | 9 + .../regressions/_exec-transactions/05205.test | 10 + .../regressions/_exec-transactions/05206.test | 10 + .../regressions/_exec-transactions/05207.test | 11 + .../regressions/_exec-transactions/05209.test | 9 + .../regressions/_exec-transactions/05210.test | 9 + .../regressions/_exec-transactions/05211.test | 9 + .../regressions/_exec-transactions/05212.test | 11 + .../regressions/_exec-transactions/05213.test | 12 + .../regressions/_exec-transactions/05214.test | 9 + .../regressions/_exec-transactions/05215.test | 12 + .../regressions/_exec-transactions/05216.test | 11 + .../regressions/_exec-transactions/05300.test | 14 + .../regressions/_exec-transactions/05301.test | 14 + .../regressions/_exec-transactions/05302.test | 14 + .../regressions/_exec-transactions/05303.test | 14 + .../regressions/_exec-transactions/05304.test | 14 + .../regressions/_exec-transactions/05305.test | 14 + .../regressions/_exec-transactions/05306.test | 14 + .../regressions/_exec-transactions/05307.test | 14 + .../regressions/_exec-transactions/05308.test | 14 + .../regressions/_exec-transactions/05309.test | 14 + .../regressions/_exec-transactions/05310.test | 14 + .../regressions/_exec-transactions/05311.test | 14 + .../regressions/_exec-transactions/05312.test | 14 + .../regressions/_exec-transactions/05313.test | 15 + .../regressions/_exec-transactions/05314.test | 15 + .../regressions/_exec-transactions/05315.test | 15 + .../regressions/_exec-transactions/05316.test | 15 + .../regressions/_exec-transactions/06000.test | 12 + .../regressions/_exec-transactions/06001.test | 14 + .../regressions/_exec-transactions/06005.test | 12 + .../regressions/_exec-transactions/07000.test | 12 + .../regressions/_exec-transactions/07001.test | 4 + .../_exec-transactions/out-ref/00000.stderr | 0 .../_exec-transactions/out-ref/00000.stdout | 27 ++ .../_exec-transactions/out-ref/00001.stderr | 0 .../_exec-transactions/out-ref/00001.stdout | 13 + .../_exec-transactions/out-ref/00002.stderr | 0 .../_exec-transactions/out-ref/00002.stdout | 31 ++ .../_exec-transactions/out-ref/00003.stderr | 0 .../_exec-transactions/out-ref/00003.stdout | 31 ++ .../_exec-transactions/out-ref/00004.stderr | 0 .../_exec-transactions/out-ref/00004.stdout | 17 ++ .../_exec-transactions/out-ref/00010.stderr | 0 .../_exec-transactions/out-ref/00010.stdout | 11 + .../_exec-transactions/out-ref/00050.stderr | 0 .../_exec-transactions/out-ref/00050.stdout | 38 +++ .../_exec-transactions/out-ref/00051.stderr | 0 .../_exec-transactions/out-ref/00051.stdout | 27 ++ .../_exec-transactions/out-ref/00052.stderr | 0 .../_exec-transactions/out-ref/00052.stdout | 27 ++ .../_exec-transactions/out-ref/00053.stderr | 0 .../_exec-transactions/out-ref/00053.stdout | 26 ++ .../_exec-transactions/out-ref/00054.stderr | 0 .../_exec-transactions/out-ref/00054.stdout | 40 +++ .../_exec-transactions/out-ref/00055.stderr | 0 .../_exec-transactions/out-ref/00055.stdout | 40 +++ .../_exec-transactions/out-ref/00056.stderr | 0 .../_exec-transactions/out-ref/00056.stdout | 29 ++ .../_exec-transactions/out-ref/00200.stderr | 0 .../_exec-transactions/out-ref/00200.stdout | 57 ++++ .../_exec-transactions/out-ref/00201.stderr | 1 + .../_exec-transactions/out-ref/00201.stdout | 9 + .../_exec-transactions/out-ref/00202.stderr | 2 + .../_exec-transactions/out-ref/00202.stdout | 19 ++ .../_exec-transactions/out-ref/00203.stderr | 1 + .../_exec-transactions/out-ref/00203.stdout | 27 ++ .../_exec-transactions/out-ref/00204.stderr | 0 .../_exec-transactions/out-ref/00204.stdout | 0 .../_exec-transactions/out-ref/00205.stderr | 1 + .../_exec-transactions/out-ref/00205.stdout | 27 ++ .../_exec-transactions/out-ref/00206.stderr | 0 .../_exec-transactions/out-ref/00206.stdout | 0 .../_exec-transactions/out-ref/00207.stderr | 0 .../_exec-transactions/out-ref/00207.stdout | 41 +++ .../_exec-transactions/out-ref/00208.stderr | 1 + .../_exec-transactions/out-ref/00208.stdout | 2 + .../_exec-transactions/out-ref/00209.stderr | 0 .../_exec-transactions/out-ref/00209.stdout | 0 .../_exec-transactions/out-ref/00210.stderr | 0 .../_exec-transactions/out-ref/00210.stdout | 0 .../_exec-transactions/out-ref/00211.stderr | 2 + .../_exec-transactions/out-ref/00211.stdout | 19 ++ .../_exec-transactions/out-ref/00212.stderr | 0 .../_exec-transactions/out-ref/00212.stdout | 57 ++++ .../_exec-transactions/out-ref/00213.stderr | 0 .../_exec-transactions/out-ref/00213.stdout | 80 ++++++ .../_exec-transactions/out-ref/00214.cert | 23 ++ .../_exec-transactions/out-ref/00214.stderr | 0 .../_exec-transactions/out-ref/00214.stdout | 57 ++++ .../_exec-transactions/out-ref/00300.stderr | 0 .../_exec-transactions/out-ref/00300.stdout | 54 ++++ .../_exec-transactions/out-ref/00301.stderr | 0 .../_exec-transactions/out-ref/00301.stdout | 56 ++++ .../_exec-transactions/out-ref/00302.stderr | 0 .../_exec-transactions/out-ref/00302.stdout | 56 ++++ .../_exec-transactions/out-ref/00303.stderr | 0 .../_exec-transactions/out-ref/00303.stdout | 54 ++++ .../_exec-transactions/out-ref/00304.stderr | 0 .../_exec-transactions/out-ref/00304.stdout | 56 ++++ .../_exec-transactions/out-ref/00305.stderr | 0 .../_exec-transactions/out-ref/00305.stdout | 58 ++++ .../_exec-transactions/out-ref/00306.stderr | 0 .../_exec-transactions/out-ref/00306.stdout | 54 ++++ .../_exec-transactions/out-ref/00307.stderr | 0 .../_exec-transactions/out-ref/00307.stdout | 54 ++++ .../_exec-transactions/out-ref/00308.stderr | 1 + .../_exec-transactions/out-ref/00308.stdout | 20 ++ .../_exec-transactions/out-ref/00309.stderr | 0 .../_exec-transactions/out-ref/00309.stdout | 54 ++++ .../_exec-transactions/out-ref/00310.stderr | 0 .../_exec-transactions/out-ref/00310.stdout | 73 +++++ .../_exec-transactions/out-ref/00311.stderr | 0 .../_exec-transactions/out-ref/00311.stdout | 73 +++++ .../_exec-transactions/out-ref/00312.stderr | 1 + .../_exec-transactions/out-ref/00312.stdout | 9 + .../_exec-transactions/out-ref/00313.stderr | 1 + .../_exec-transactions/out-ref/00313.stdout | 27 ++ .../_exec-transactions/out-ref/00314.stderr | 1 + .../_exec-transactions/out-ref/00314.stdout | 27 ++ .../_exec-transactions/out-ref/00315.stderr | 1 + .../_exec-transactions/out-ref/00315.stdout | 22 ++ .../_exec-transactions/out-ref/00316.stderr | 0 .../_exec-transactions/out-ref/00316.stdout | 0 .../_exec-transactions/out-ref/00317.stderr | 1 + .../_exec-transactions/out-ref/00317.stdout | 22 ++ .../_exec-transactions/out-ref/00500.stderr | 0 .../_exec-transactions/out-ref/00500.stdout | 46 +++ .../_exec-transactions/out-ref/00501.stderr | 0 .../_exec-transactions/out-ref/00501.stdout | 46 +++ .../_exec-transactions/out-ref/00502.stderr | 0 .../_exec-transactions/out-ref/00502.stdout | 46 +++ .../_exec-transactions/out-ref/00503.stderr | 0 .../_exec-transactions/out-ref/00503.stdout | 46 +++ .../_exec-transactions/out-ref/00504.stderr | 0 .../_exec-transactions/out-ref/00504.stdout | 46 +++ .../_exec-transactions/out-ref/00505.stderr | 0 .../_exec-transactions/out-ref/00505.stdout | 46 +++ .../_exec-transactions/out-ref/00506.stderr | 0 .../_exec-transactions/out-ref/00506.stdout | 46 +++ .../_exec-transactions/out-ref/00507.stderr | 0 .../_exec-transactions/out-ref/00507.stdout | 46 +++ .../_exec-transactions/out-ref/00510.stderr | 0 .../_exec-transactions/out-ref/00510.stdout | 40 +++ .../_exec-transactions/out-ref/00511.stderr | 0 .../_exec-transactions/out-ref/00511.stdout | 38 +++ .../_exec-transactions/out-ref/00512.stderr | 0 .../_exec-transactions/out-ref/00512.stdout | 24 ++ .../_exec-transactions/out-ref/00513.stderr | 0 .../_exec-transactions/out-ref/00513.stdout | 45 +++ .../_exec-transactions/out-ref/00514.stderr | 0 .../_exec-transactions/out-ref/00514.stdout | 45 +++ .../_exec-transactions/out-ref/00600.stderr | 0 .../_exec-transactions/out-ref/00600.stdout | 40 +++ .../_exec-transactions/out-ref/00601.stderr | 0 .../_exec-transactions/out-ref/00601.stdout | 44 +++ .../_exec-transactions/out-ref/00602.stderr | 0 .../_exec-transactions/out-ref/00602.stdout | 42 +++ .../_exec-transactions/out-ref/00603.stderr | 0 .../_exec-transactions/out-ref/00603.stdout | 42 +++ .../_exec-transactions/out-ref/00605.stderr | 0 .../_exec-transactions/out-ref/00605.stdout | 44 +++ .../_exec-transactions/out-ref/00610.stderr | 1 + .../_exec-transactions/out-ref/00610.stdout | 22 ++ .../_exec-transactions/out-ref/00611.stderr | 1 + .../_exec-transactions/out-ref/00611.stdout | 26 ++ .../_exec-transactions/out-ref/00612.stderr | 1 + .../_exec-transactions/out-ref/00612.stdout | 24 ++ .../_exec-transactions/out-ref/00613.stderr | 1 + .../_exec-transactions/out-ref/00613.stdout | 24 ++ .../_exec-transactions/out-ref/00615.stderr | 1 + .../_exec-transactions/out-ref/00615.stdout | 26 ++ .../_exec-transactions/out-ref/00620.stderr | 0 .../_exec-transactions/out-ref/00620.stdout | 42 +++ .../_exec-transactions/out-ref/00621.stderr | 1 + .../_exec-transactions/out-ref/00621.stdout | 9 + .../_exec-transactions/out-ref/00622.stderr | 1 + .../_exec-transactions/out-ref/00622.stdout | 27 ++ .../_exec-transactions/out-ref/00623.stderr | 1 + .../_exec-transactions/out-ref/00623.stdout | 27 ++ .../_exec-transactions/out-ref/00624.stderr | 1 + .../_exec-transactions/out-ref/00624.stdout | 40 +++ .../_exec-transactions/out-ref/00625.stderr | 1 + .../_exec-transactions/out-ref/00625.stdout | 22 ++ .../_exec-transactions/out-ref/00626.stderr | 0 .../_exec-transactions/out-ref/00626.stdout | 49 ++++ .../_exec-transactions/out-ref/00634.stderr | 0 .../_exec-transactions/out-ref/00634.stdout | 41 +++ .../_exec-transactions/out-ref/00635.stderr | 0 .../_exec-transactions/out-ref/00635.stdout | 44 +++ .../_exec-transactions/out-ref/00636.stderr | 0 .../_exec-transactions/out-ref/00636.stdout | 40 +++ .../_exec-transactions/out-ref/00637.stderr | 0 .../_exec-transactions/out-ref/00637.stdout | 44 +++ .../_exec-transactions/out-ref/00800.stderr | 0 .../_exec-transactions/out-ref/00800.stdout | 39 +++ .../_exec-transactions/out-ref/00801.stderr | 0 .../_exec-transactions/out-ref/00801.stdout | 39 +++ .../_exec-transactions/out-ref/00802.stderr | 0 .../_exec-transactions/out-ref/00802.stdout | 39 +++ .../_exec-transactions/out-ref/00803.stderr | 0 .../_exec-transactions/out-ref/00803.stdout | 0 .../_exec-transactions/out-ref/00804.stderr | 0 .../_exec-transactions/out-ref/00804.stdout | 0 .../_exec-transactions/out-ref/05000.stderr | 0 .../_exec-transactions/out-ref/05000.stdout | 6 + .../_exec-transactions/out-ref/05001.stderr | 0 .../_exec-transactions/out-ref/05001.stdout | 22 ++ .../_exec-transactions/out-ref/05002.stderr | 0 .../_exec-transactions/out-ref/05002.stdout | 25 ++ .../_exec-transactions/out-ref/05003.stderr | 0 .../_exec-transactions/out-ref/05003.stdout | 8 + .../_exec-transactions/out-ref/05004.stderr | 0 .../_exec-transactions/out-ref/05004.stdout | 20 ++ .../_exec-transactions/out-ref/05005.stderr | 0 .../_exec-transactions/out-ref/05005.stdout | 22 ++ .../_exec-transactions/out-ref/05006.stderr | 0 .../_exec-transactions/out-ref/05006.stdout | 22 ++ .../_exec-transactions/out-ref/05007.stderr | 0 .../_exec-transactions/out-ref/05007.stdout | 24 ++ .../_exec-transactions/out-ref/05008.stderr | 0 .../_exec-transactions/out-ref/05008.stdout | 0 .../_exec-transactions/out-ref/05009.stderr | 0 .../_exec-transactions/out-ref/05009.stdout | 20 ++ .../_exec-transactions/out-ref/05010.stderr | 0 .../_exec-transactions/out-ref/05010.stdout | 20 ++ .../_exec-transactions/out-ref/05011.stderr | 0 .../_exec-transactions/out-ref/05011.stdout | 20 ++ .../_exec-transactions/out-ref/05012.stderr | 0 .../_exec-transactions/out-ref/05012.stdout | 39 +++ .../_exec-transactions/out-ref/05014.stderr | 0 .../_exec-transactions/out-ref/05014.stdout | 20 ++ .../_exec-transactions/out-ref/05100.stderr | 0 .../_exec-transactions/out-ref/05100.stdout | 4 + .../_exec-transactions/out-ref/05101.stderr | 0 .../_exec-transactions/out-ref/05101.stdout | 20 ++ .../_exec-transactions/out-ref/05102.stderr | 0 .../_exec-transactions/out-ref/05102.stdout | 23 ++ .../_exec-transactions/out-ref/05103.stderr | 0 .../_exec-transactions/out-ref/05103.stdout | 6 + .../_exec-transactions/out-ref/05104.stderr | 0 .../_exec-transactions/out-ref/05104.stdout | 18 ++ .../_exec-transactions/out-ref/05105.stderr | 0 .../_exec-transactions/out-ref/05105.stdout | 20 ++ .../_exec-transactions/out-ref/05106.stderr | 0 .../_exec-transactions/out-ref/05106.stdout | 20 ++ .../_exec-transactions/out-ref/05107.stderr | 0 .../_exec-transactions/out-ref/05107.stdout | 22 ++ .../_exec-transactions/out-ref/05109.stderr | 0 .../_exec-transactions/out-ref/05109.stdout | 18 ++ .../_exec-transactions/out-ref/05110.stderr | 0 .../_exec-transactions/out-ref/05110.stdout | 18 ++ .../_exec-transactions/out-ref/05111.stderr | 0 .../_exec-transactions/out-ref/05111.stdout | 18 ++ .../_exec-transactions/out-ref/05112.stderr | 0 .../_exec-transactions/out-ref/05112.stdout | 37 +++ .../_exec-transactions/out-ref/05114.stderr | 0 .../_exec-transactions/out-ref/05114.stdout | 18 ++ .../_exec-transactions/out-ref/05115.stderr | 0 .../_exec-transactions/out-ref/05115.stdout | 24 ++ .../_exec-transactions/out-ref/05116.stderr | 0 .../_exec-transactions/out-ref/05116.stdout | 36 +++ .../_exec-transactions/out-ref/05200.stderr | 0 .../_exec-transactions/out-ref/05200.stdout | 0 .../_exec-transactions/out-ref/05201.stderr | 0 .../_exec-transactions/out-ref/05201.stdout | 0 .../_exec-transactions/out-ref/05202.stderr | 0 .../_exec-transactions/out-ref/05202.stdout | 19 ++ .../_exec-transactions/out-ref/05203.stderr | 0 .../_exec-transactions/out-ref/05203.stdout | 0 .../_exec-transactions/out-ref/05204.stderr | 0 .../_exec-transactions/out-ref/05204.stdout | 0 .../_exec-transactions/out-ref/05205.stderr | 0 .../_exec-transactions/out-ref/05205.stdout | 19 ++ .../_exec-transactions/out-ref/05206.stderr | 0 .../_exec-transactions/out-ref/05206.stdout | 19 ++ .../_exec-transactions/out-ref/05207.stderr | 0 .../_exec-transactions/out-ref/05207.stdout | 21 ++ .../_exec-transactions/out-ref/05209.stderr | 0 .../_exec-transactions/out-ref/05209.stdout | 5 + .../_exec-transactions/out-ref/05210.stderr | 0 .../_exec-transactions/out-ref/05210.stdout | 5 + .../_exec-transactions/out-ref/05211.stderr | 0 .../_exec-transactions/out-ref/05211.stdout | 0 .../_exec-transactions/out-ref/05212.stderr | 0 .../_exec-transactions/out-ref/05212.stdout | 24 ++ .../_exec-transactions/out-ref/05214.stderr | 0 .../_exec-transactions/out-ref/05214.stdout | 0 .../_exec-transactions/out-ref/05215.stderr | 0 .../_exec-transactions/out-ref/05215.stdout | 23 ++ .../_exec-transactions/out-ref/05216.stderr | 0 .../_exec-transactions/out-ref/05216.stdout | 35 +++ .../_exec-transactions/out-ref/05300.stderr | 0 .../_exec-transactions/out-ref/05300.stdout | 17 ++ .../_exec-transactions/out-ref/05301.stderr | 0 .../_exec-transactions/out-ref/05301.stdout | 34 +++ .../_exec-transactions/out-ref/05302.stderr | 0 .../_exec-transactions/out-ref/05302.stdout | 34 +++ .../_exec-transactions/out-ref/05303.stderr | 0 .../_exec-transactions/out-ref/05303.stdout | 27 ++ .../_exec-transactions/out-ref/05304.stderr | 0 .../_exec-transactions/out-ref/05304.stdout | 27 ++ .../_exec-transactions/out-ref/05305.stderr | 0 .../_exec-transactions/out-ref/05305.stdout | 27 ++ .../_exec-transactions/out-ref/05306.stderr | 0 .../_exec-transactions/out-ref/05306.stdout | 27 ++ .../_exec-transactions/out-ref/05307.stderr | 0 .../_exec-transactions/out-ref/05307.stdout | 49 ++++ .../_exec-transactions/out-ref/05308.stderr | 0 .../_exec-transactions/out-ref/05308.stdout | 19 ++ .../_exec-transactions/out-ref/05309.stderr | 0 .../_exec-transactions/out-ref/05309.stdout | 11 + .../_exec-transactions/out-ref/05310.stderr | 0 .../_exec-transactions/out-ref/05310.stdout | 24 ++ .../_exec-transactions/out-ref/05311.stderr | 0 .../_exec-transactions/out-ref/05311.stdout | 0 .../_exec-transactions/out-ref/05312.stderr | 0 .../_exec-transactions/out-ref/05312.stdout | 0 .../_exec-transactions/out-ref/05313.stderr | 1 + .../_exec-transactions/out-ref/05313.stdout | 22 ++ .../_exec-transactions/out-ref/05314.stderr | 1 + .../_exec-transactions/out-ref/05314.stdout | 22 ++ .../_exec-transactions/out-ref/05315.stderr | 1 + .../_exec-transactions/out-ref/05315.stdout | 1 + .../_exec-transactions/out-ref/05316.stderr | 0 .../_exec-transactions/out-ref/05316.stdout | 0 .../_exec-transactions/out-ref/06000.stderr | 0 .../_exec-transactions/out-ref/06000.stdout | 27 ++ .../_exec-transactions/out-ref/06001.stderr | 0 .../_exec-transactions/out-ref/06001.stdout | 0 .../_exec-transactions/out-ref/06005.stderr | 0 .../_exec-transactions/out-ref/06005.stdout | 27 ++ .../_exec-transactions/out-ref/07000.stderr | 0 .../_exec-transactions/out-ref/07000.stdout | 27 ++ .../_exec-transactions/out-ref/07001.stderr | 2 + .../_exec-transactions/out-ref/07001.stdout | 1 + .../regressions/_exec-transactions/test.txt | 264 ++++++++++++++++++ 457 files changed, 6394 insertions(+) create mode 100644 testing/regressions/_exec-transactions/00000.test create mode 100644 testing/regressions/_exec-transactions/00001.test create mode 100644 testing/regressions/_exec-transactions/00002.test create mode 100644 testing/regressions/_exec-transactions/00003.test create mode 100644 testing/regressions/_exec-transactions/00004.test create mode 100644 testing/regressions/_exec-transactions/00010.test create mode 100644 testing/regressions/_exec-transactions/00050.test create mode 100644 testing/regressions/_exec-transactions/00051.test create mode 100644 testing/regressions/_exec-transactions/00052.test create mode 100644 testing/regressions/_exec-transactions/00053.test create mode 100644 testing/regressions/_exec-transactions/00054.test create mode 100644 testing/regressions/_exec-transactions/00055.test create mode 100644 testing/regressions/_exec-transactions/00056.test create mode 100644 testing/regressions/_exec-transactions/00200.test create mode 100644 testing/regressions/_exec-transactions/00201.test create mode 100644 testing/regressions/_exec-transactions/00202.test create mode 100644 testing/regressions/_exec-transactions/00203.test create mode 100644 testing/regressions/_exec-transactions/00204.test create mode 100644 testing/regressions/_exec-transactions/00205.test create mode 100644 testing/regressions/_exec-transactions/00206.test create mode 100644 testing/regressions/_exec-transactions/00207.test create mode 100644 testing/regressions/_exec-transactions/00208.test create mode 100644 testing/regressions/_exec-transactions/00210.test create mode 100644 testing/regressions/_exec-transactions/00211.test create mode 100644 testing/regressions/_exec-transactions/00212.test create mode 100644 testing/regressions/_exec-transactions/00213.test create mode 100644 testing/regressions/_exec-transactions/00214.test create mode 100644 testing/regressions/_exec-transactions/00300.test create mode 100644 testing/regressions/_exec-transactions/00301.test create mode 100644 testing/regressions/_exec-transactions/00302.test create mode 100644 testing/regressions/_exec-transactions/00303.test create mode 100644 testing/regressions/_exec-transactions/00304.test create mode 100644 testing/regressions/_exec-transactions/00305.test create mode 100644 testing/regressions/_exec-transactions/00306.test create mode 100644 testing/regressions/_exec-transactions/00307.test create mode 100644 testing/regressions/_exec-transactions/00308.test create mode 100644 testing/regressions/_exec-transactions/00309.test create mode 100644 testing/regressions/_exec-transactions/00310.test create mode 100644 testing/regressions/_exec-transactions/00311.test create mode 100644 testing/regressions/_exec-transactions/00312.test create mode 100644 testing/regressions/_exec-transactions/00313.test create mode 100644 testing/regressions/_exec-transactions/00314.test create mode 100644 testing/regressions/_exec-transactions/00315.test create mode 100644 testing/regressions/_exec-transactions/00316.test create mode 100644 testing/regressions/_exec-transactions/00317.test create mode 100644 testing/regressions/_exec-transactions/00500.test create mode 100644 testing/regressions/_exec-transactions/00501.test create mode 100644 testing/regressions/_exec-transactions/00502.test create mode 100644 testing/regressions/_exec-transactions/00503.test create mode 100644 testing/regressions/_exec-transactions/00504.test create mode 100644 testing/regressions/_exec-transactions/00505.test create mode 100644 testing/regressions/_exec-transactions/00506.test create mode 100644 testing/regressions/_exec-transactions/00507.test create mode 100644 testing/regressions/_exec-transactions/00510.test create mode 100644 testing/regressions/_exec-transactions/00511.test create mode 100644 testing/regressions/_exec-transactions/00512.test create mode 100644 testing/regressions/_exec-transactions/00513.test create mode 100644 testing/regressions/_exec-transactions/00514.test create mode 100644 testing/regressions/_exec-transactions/00600.test create mode 100644 testing/regressions/_exec-transactions/00601.test create mode 100644 testing/regressions/_exec-transactions/00602.test create mode 100644 testing/regressions/_exec-transactions/00603.test create mode 100644 testing/regressions/_exec-transactions/00605.test create mode 100644 testing/regressions/_exec-transactions/00610.test create mode 100644 testing/regressions/_exec-transactions/00611.test create mode 100644 testing/regressions/_exec-transactions/00612.test create mode 100644 testing/regressions/_exec-transactions/00613.test create mode 100644 testing/regressions/_exec-transactions/00615.test create mode 100644 testing/regressions/_exec-transactions/00620.test create mode 100644 testing/regressions/_exec-transactions/00621.test create mode 100644 testing/regressions/_exec-transactions/00622.test create mode 100644 testing/regressions/_exec-transactions/00623.test create mode 100644 testing/regressions/_exec-transactions/00624.test create mode 100644 testing/regressions/_exec-transactions/00625.test create mode 100644 testing/regressions/_exec-transactions/00626.test create mode 100644 testing/regressions/_exec-transactions/00634.test create mode 100644 testing/regressions/_exec-transactions/00635.test create mode 100644 testing/regressions/_exec-transactions/00636.test create mode 100644 testing/regressions/_exec-transactions/00637.test create mode 100644 testing/regressions/_exec-transactions/00800.test create mode 100644 testing/regressions/_exec-transactions/00801.test create mode 100644 testing/regressions/_exec-transactions/00802.test create mode 100644 testing/regressions/_exec-transactions/00803.test create mode 100644 testing/regressions/_exec-transactions/00804.test create mode 100644 testing/regressions/_exec-transactions/05000.test create mode 100644 testing/regressions/_exec-transactions/05001.test create mode 100644 testing/regressions/_exec-transactions/05002.test create mode 100644 testing/regressions/_exec-transactions/05003.test create mode 100644 testing/regressions/_exec-transactions/05004.test create mode 100644 testing/regressions/_exec-transactions/05005.test create mode 100644 testing/regressions/_exec-transactions/05006.test create mode 100644 testing/regressions/_exec-transactions/05007.test create mode 100644 testing/regressions/_exec-transactions/05009.test create mode 100644 testing/regressions/_exec-transactions/05010.test create mode 100644 testing/regressions/_exec-transactions/05011.test create mode 100644 testing/regressions/_exec-transactions/05012.test create mode 100644 testing/regressions/_exec-transactions/05013.test create mode 100644 testing/regressions/_exec-transactions/05014.test create mode 100644 testing/regressions/_exec-transactions/05100.test create mode 100644 testing/regressions/_exec-transactions/05101.test create mode 100644 testing/regressions/_exec-transactions/05102.test create mode 100644 testing/regressions/_exec-transactions/05103.test create mode 100644 testing/regressions/_exec-transactions/05104.test create mode 100644 testing/regressions/_exec-transactions/05105.test create mode 100644 testing/regressions/_exec-transactions/05106.test create mode 100644 testing/regressions/_exec-transactions/05107.test create mode 100644 testing/regressions/_exec-transactions/05109.test create mode 100644 testing/regressions/_exec-transactions/05110.test create mode 100644 testing/regressions/_exec-transactions/05111.test create mode 100644 testing/regressions/_exec-transactions/05112.test create mode 100644 testing/regressions/_exec-transactions/05113.test create mode 100644 testing/regressions/_exec-transactions/05114.test create mode 100644 testing/regressions/_exec-transactions/05115.test create mode 100644 testing/regressions/_exec-transactions/05116.test create mode 100644 testing/regressions/_exec-transactions/05200.test create mode 100644 testing/regressions/_exec-transactions/05201.test create mode 100644 testing/regressions/_exec-transactions/05202.test create mode 100644 testing/regressions/_exec-transactions/05203.test create mode 100644 testing/regressions/_exec-transactions/05204.test create mode 100644 testing/regressions/_exec-transactions/05205.test create mode 100644 testing/regressions/_exec-transactions/05206.test create mode 100644 testing/regressions/_exec-transactions/05207.test create mode 100644 testing/regressions/_exec-transactions/05209.test create mode 100644 testing/regressions/_exec-transactions/05210.test create mode 100644 testing/regressions/_exec-transactions/05211.test create mode 100644 testing/regressions/_exec-transactions/05212.test create mode 100644 testing/regressions/_exec-transactions/05213.test create mode 100644 testing/regressions/_exec-transactions/05214.test create mode 100644 testing/regressions/_exec-transactions/05215.test create mode 100644 testing/regressions/_exec-transactions/05216.test create mode 100644 testing/regressions/_exec-transactions/05300.test create mode 100644 testing/regressions/_exec-transactions/05301.test create mode 100644 testing/regressions/_exec-transactions/05302.test create mode 100644 testing/regressions/_exec-transactions/05303.test create mode 100644 testing/regressions/_exec-transactions/05304.test create mode 100644 testing/regressions/_exec-transactions/05305.test create mode 100644 testing/regressions/_exec-transactions/05306.test create mode 100644 testing/regressions/_exec-transactions/05307.test create mode 100644 testing/regressions/_exec-transactions/05308.test create mode 100644 testing/regressions/_exec-transactions/05309.test create mode 100644 testing/regressions/_exec-transactions/05310.test create mode 100644 testing/regressions/_exec-transactions/05311.test create mode 100644 testing/regressions/_exec-transactions/05312.test create mode 100644 testing/regressions/_exec-transactions/05313.test create mode 100644 testing/regressions/_exec-transactions/05314.test create mode 100644 testing/regressions/_exec-transactions/05315.test create mode 100644 testing/regressions/_exec-transactions/05316.test create mode 100644 testing/regressions/_exec-transactions/06000.test create mode 100644 testing/regressions/_exec-transactions/06001.test create mode 100644 testing/regressions/_exec-transactions/06005.test create mode 100644 testing/regressions/_exec-transactions/07000.test create mode 100644 testing/regressions/_exec-transactions/07001.test create mode 100644 testing/regressions/_exec-transactions/out-ref/00000.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00000.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00001.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00001.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00002.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00002.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00003.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00003.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00004.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00004.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00010.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00010.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00050.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00050.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00051.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00051.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00052.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00052.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00053.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00053.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00054.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00054.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00055.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00055.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00056.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00056.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00200.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00200.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00201.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00201.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00202.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00202.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00203.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00203.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00204.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00204.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00205.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00205.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00206.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00206.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00207.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00207.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00208.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00208.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00209.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00209.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00210.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00210.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00211.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00211.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00212.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00212.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00213.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00213.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00214.cert create mode 100644 testing/regressions/_exec-transactions/out-ref/00214.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00214.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00300.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00300.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00301.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00301.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00302.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00302.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00303.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00303.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00304.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00304.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00305.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00305.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00306.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00306.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00307.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00307.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00308.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00308.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00309.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00309.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00310.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00310.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00311.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00311.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00312.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00312.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00313.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00313.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00314.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00314.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00315.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00315.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00316.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00316.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00317.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00317.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00500.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00500.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00501.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00501.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00502.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00502.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00503.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00503.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00504.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00504.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00505.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00505.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00506.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00506.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00507.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00507.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00510.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00510.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00511.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00511.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00512.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00512.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00513.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00513.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00514.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00514.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00600.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00600.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00601.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00601.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00602.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00602.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00603.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00603.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00605.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00605.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00610.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00610.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00611.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00611.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00612.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00612.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00613.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00613.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00615.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00615.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00620.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00620.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00621.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00621.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00622.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00622.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00623.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00623.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00624.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00624.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00625.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00625.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00626.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00626.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00634.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00634.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00635.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00635.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00636.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00636.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00637.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00637.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00800.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00800.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00801.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00801.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00802.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00802.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00803.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00803.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/00804.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00804.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05000.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05000.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05001.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05001.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05002.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05002.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05003.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05003.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05004.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05004.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05005.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05005.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05006.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05006.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05007.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05007.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05008.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05008.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05009.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05009.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05010.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05010.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05011.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05011.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05012.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05012.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05014.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05014.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05100.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05100.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05101.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05101.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05102.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05102.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05103.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05103.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05104.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05104.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05105.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05105.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05106.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05106.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05107.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05107.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05109.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05109.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05110.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05110.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05111.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05111.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05112.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05112.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05114.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05114.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05115.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05115.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05116.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05116.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05200.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05200.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05201.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05201.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05202.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05202.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05203.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05203.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05204.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05204.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05205.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05205.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05206.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05206.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05207.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05207.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05209.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05209.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05210.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05210.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05211.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05211.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05212.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05212.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05214.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05214.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05215.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05215.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05216.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05216.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05300.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05300.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05301.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05301.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05302.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05302.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05303.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05303.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05304.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05304.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05305.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05305.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05306.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05306.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05307.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05307.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05308.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05308.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05309.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05309.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05310.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05310.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05311.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05311.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05312.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05312.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05313.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05313.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05314.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05314.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05315.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05315.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/05316.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05316.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/06000.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/06000.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/06001.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/06001.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/06005.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/06005.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/07000.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/07000.stdout create mode 100644 testing/regressions/_exec-transactions/out-ref/07001.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/07001.stdout create mode 100644 testing/regressions/_exec-transactions/test.txt diff --git a/Changes b/Changes index 1edfad6c..554a8e94 100644 --- a/Changes +++ b/Changes @@ -963,3 +963,4 @@ file if it already existed. * 20201126 --port and --local-port should override a port set in --server or --local-port. +* 20201222 Add transaction-level tests diff --git a/testing/regressions/_exec-transactions/00000.test b/testing/regressions/_exec-transactions/00000.test new file mode 100644 index 00000000..34deed8a --- /dev/null +++ b/testing/regressions/_exec-transactions/00000.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00001.test b/testing/regressions/_exec-transactions/00001.test new file mode 100644 index 00000000..8306969f --- /dev/null +++ b/testing/regressions/_exec-transactions/00001.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1101-rcpt-basic-reject.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00002.test b/testing/regressions/_exec-transactions/00002.test new file mode 100644 index 00000000..9e21a531 --- /dev/null +++ b/testing/regressions/_exec-transactions/00002.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00003.test b/testing/regressions/_exec-transactions/00003.test new file mode 100644 index 00000000..dee332b7 --- /dev/null +++ b/testing/regressions/_exec-transactions/00003.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00004.test b/testing/regressions/_exec-transactions/00004.test new file mode 100644 index 00000000..9ef4b6f2 --- /dev/null +++ b/testing/regressions/_exec-transactions/00004.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1101-rcpt-basic-reject.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00010.test b/testing/regressions/_exec-transactions/00010.test new file mode 100644 index 00000000..ddbf9f44 --- /dev/null +++ b/testing/regressions/_exec-transactions/00010.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1001-mail-reject.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00050.test b/testing/regressions/_exec-transactions/00050.test new file mode 100644 index 00000000..56770cd3 --- /dev/null +++ b/testing/regressions/_exec-transactions/00050.test @@ -0,0 +1,18 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-2511-data-pipeline-data-respond-success.txt \ + part-2505-data-message-only.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00051.test b/testing/regressions/_exec-transactions/00051.test new file mode 100644 index 00000000..14a93810 --- /dev/null +++ b/testing/regressions/_exec-transactions/00051.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1012-mail-pipeline-respond-failure.txt \ + part-1113-rcpt-pipeline-respond-failure-cascade.txt \ + part-2513-data-pipeline-data-respond-failure-cascade.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00052.test b/testing/regressions/_exec-transactions/00052.test new file mode 100644 index 00000000..62617886 --- /dev/null +++ b/testing/regressions/_exec-transactions/00052.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1112-rcpt-pipeline-respond-failure.txt \ + part-2513-data-pipeline-data-respond-failure-cascade.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00053.test b/testing/regressions/_exec-transactions/00053.test new file mode 100644 index 00000000..3bafcec9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00053.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-2512-data-pipeline-data-respond-failure.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00054.test b/testing/regressions/_exec-transactions/00054.test new file mode 100644 index 00000000..74d572d1 --- /dev/null +++ b/testing/regressions/_exec-transactions/00054.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-2511-data-pipeline-data-respond-success.txt \ + part-2505-data-message-only.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00055.test b/testing/regressions/_exec-transactions/00055.test new file mode 100644 index 00000000..7ae164c9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00055.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-1112-rcpt-pipeline-respond-failure.txt \ + part-2511-data-pipeline-data-respond-success.txt \ + part-2505-data-message-only.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00056.test b/testing/regressions/_exec-transactions/00056.test new file mode 100644 index 00000000..40528d75 --- /dev/null +++ b/testing/regressions/_exec-transactions/00056.test @@ -0,0 +1,19 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --pipeline \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1010-mail-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-2510-data-pipeline-data-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1112-rcpt-pipeline-respond-failure.txt \ + part-1112-rcpt-pipeline-respond-failure.txt \ + part-2513-data-pipeline-data-respond-failure-cascade.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00200.test b/testing/regressions/_exec-transactions/00200.test new file mode 100644 index 00000000..5e24ddfd --- /dev/null +++ b/testing/regressions/_exec-transactions/00200.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --tls \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00201.test b/testing/regressions/_exec-transactions/00201.test new file mode 100644 index 00000000..3dc0ca72 --- /dev/null +++ b/testing/regressions/_exec-transactions/00201.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00202.test b/testing/regressions/_exec-transactions/00202.test new file mode 100644 index 00000000..2fa4f0a9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00202.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +# this relies on a kludge - if we provide invalid cert/key to the server, TLS negotiation will fail. This might be fragile + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls \ + --pipe '%TEST_SERVER% --silent --domain pipe --key %TESTDIR%/test-server-keyX.dat --cert %TESTDIR%/test-server-certX.dat \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00203.test b/testing/regressions/_exec-transactions/00203.test new file mode 100644 index 00000000..307fddea --- /dev/null +++ b/testing/regressions/_exec-transactions/00203.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-optional \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00204.test b/testing/regressions/_exec-transactions/00204.test new file mode 100644 index 00000000..ff40ca67 --- /dev/null +++ b/testing/regressions/_exec-transactions/00204.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: it's unclear to me whether swaks is wrong or smtp-server.pl is wrong, but we're dropping the connection before I expected it + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-optional \ + --pipe '%TEST_SERVER% --silent --domain pipe --key %TESTDIR%/test-server-keyX.dat --cert %TESTDIR%/test-server-certX.dat \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00205.test b/testing/regressions/_exec-transactions/00205.test new file mode 100644 index 00000000..932053fd --- /dev/null +++ b/testing/regressions/_exec-transactions/00205.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-optional-strict \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00206.test b/testing/regressions/_exec-transactions/00206.test new file mode 100644 index 00000000..d785e131 --- /dev/null +++ b/testing/regressions/_exec-transactions/00206.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +# this relies on a kludge - if we provide invalid cert/key to the server, TLS negotiation will fail. This might be fragile +skip: see also 204, I think smtp-server.pl might be handling the tls failure incorrectly + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-optional-strict \ + --pipe '%TEST_SERVER% --silent --domain pipe --key %TESTDIR%/test-server-keyX.dat --cert %TESTDIR%/test-server-certX.dat \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00207.test b/testing/regressions/_exec-transactions/00207.test new file mode 100644 index 00000000..234417d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/00207.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls-on-connect \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0201-intialize-tls.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00208.test b/testing/regressions/_exec-transactions/00208.test new file mode 100644 index 00000000..11510a9f --- /dev/null +++ b/testing/regressions/_exec-transactions/00208.test @@ -0,0 +1,7 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls-on-connect \ + --pipe '%TEST_SERVER% --silent --domain pipe --key %TESTDIR%/test-server-keyX.dat --cert %TESTDIR%/test-server-certX.dat \ + part-0201-intialize-tls.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00210.test b/testing/regressions/_exec-transactions/00210.test new file mode 100644 index 00000000..bdd190df --- /dev/null +++ b/testing/regressions/_exec-transactions/00210.test @@ -0,0 +1,16 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: I can see that swaks can see the certs, but I want the server to prove that it can see them. Possible I have a bug in swaks, need to spend more time here + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-cert %CERTDIR%/unsigned.example.com.crt --tls-key %CERTDIR%/unsigned.example.com.key \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0105-ehlo-post-tls-info.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00211.test b/testing/regressions/_exec-transactions/00211.test new file mode 100644 index 00000000..59dee769 --- /dev/null +++ b/testing/regressions/_exec-transactions/00211.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-verify \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00212.test b/testing/regressions/_exec-transactions/00212.test new file mode 100644 index 00000000..4d111c33 --- /dev/null +++ b/testing/regressions/_exec-transactions/00212.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-verify --tls-ca-path %CERTDIR%/ca.pem \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0105-ehlo-post-tls-info.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00213.test b/testing/regressions/_exec-transactions/00213.test new file mode 100644 index 00000000..ab3f564c --- /dev/null +++ b/testing/regressions/_exec-transactions/00213.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-get-peer-cert \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00214.test b/testing/regressions/_exec-transactions/00214.test new file mode 100644 index 00000000..09194a1b --- /dev/null +++ b/testing/regressions/_exec-transactions/00214.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr %TESTID%.cert + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls --tls-get-peer-cert %OUTDIR%/%TESTID%.cert \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00300.test b/testing/regressions/_exec-transactions/00300.test new file mode 100644 index 00000000..4eee008c --- /dev/null +++ b/testing/regressions/_exec-transactions/00300.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name 'test.server' --xclient-addr 1.1.1.1 --xclient-port 333 --xclient-proto ESMTP --xclient-destaddr 3.3.3.3 --xclient-destport 444 --xclient-helo helo_string --xclient-login username --xclient-reverse-name reverse_name \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00301.test b/testing/regressions/_exec-transactions/00301.test new file mode 100644 index 00000000..fd7a2ec2 --- /dev/null +++ b/testing/regressions/_exec-transactions/00301.test @@ -0,0 +1,16 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name 'test.server' --xclient-delim --xclient-addr 1.1.1.1 --xclient-port 333 \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00302.test b/testing/regressions/_exec-transactions/00302.test new file mode 100644 index 00000000..2632423c --- /dev/null +++ b/testing/regressions/_exec-transactions/00302.test @@ -0,0 +1,16 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-delim --xclient-name 'test.server' --xclient-delim --xclient-delim --xclient-addr 1.1.1.1 --xclient-port 333 --xclient-delim --xclient-delim \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00303.test b/testing/regressions/_exec-transactions/00303.test new file mode 100644 index 00000000..706bdb3c --- /dev/null +++ b/testing/regressions/_exec-transactions/00303.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient 'ADDR=1.1.1.1 PORT=333' \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00304.test b/testing/regressions/_exec-transactions/00304.test new file mode 100644 index 00000000..f11f272e --- /dev/null +++ b/testing/regressions/_exec-transactions/00304.test @@ -0,0 +1,16 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name foo --xclient 'ADDR=1.1.1.1 PORT=333' \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00305.test b/testing/regressions/_exec-transactions/00305.test new file mode 100644 index 00000000..3fabb57c --- /dev/null +++ b/testing/regressions/_exec-transactions/00305.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name foo --xclient-delim --xclient-helo helo_string --xclient 'ADDR=1.1.1.1 PORT=333' \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0300-xclient-basic-accept.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00306.test b/testing/regressions/_exec-transactions/00306.test new file mode 100644 index 00000000..e4896591 --- /dev/null +++ b/testing/regressions/_exec-transactions/00306.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient 'NONSENSE=gobbledegook ADDR=1.1.1.1 PORT=333' \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00307.test b/testing/regressions/_exec-transactions/00307.test new file mode 100644 index 00000000..d078b395 --- /dev/null +++ b/testing/regressions/_exec-transactions/00307.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient 'LOGIN=jetmore' \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0102-ehlo-xclient-fewer.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00308.test b/testing/regressions/_exec-transactions/00308.test new file mode 100644 index 00000000..be376a42 --- /dev/null +++ b/testing/regressions/_exec-transactions/00308.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-login jetmore \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0102-ehlo-xclient-fewer.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00309.test b/testing/regressions/_exec-transactions/00309.test new file mode 100644 index 00000000..ef36610a --- /dev/null +++ b/testing/regressions/_exec-transactions/00309.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-login jetmore --xclient-no-verify \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0102-ehlo-xclient-fewer.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00310.test b/testing/regressions/_exec-transactions/00310.test new file mode 100644 index 00000000..34083958 --- /dev/null +++ b/testing/regressions/_exec-transactions/00310.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient 'ADDR=1.1.1.1 PORT=333' --tls \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00311.test b/testing/regressions/_exec-transactions/00311.test new file mode 100644 index 00000000..baf11425 --- /dev/null +++ b/testing/regressions/_exec-transactions/00311.test @@ -0,0 +1,17 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient 'ADDR=1.1.1.1 PORT=333' --tls --xclient-before-starttls \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00312.test b/testing/regressions/_exec-transactions/00312.test new file mode 100644 index 00000000..5653c5f8 --- /dev/null +++ b/testing/regressions/_exec-transactions/00312.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name foo \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00313.test b/testing/regressions/_exec-transactions/00313.test new file mode 100644 index 00000000..715e8fb7 --- /dev/null +++ b/testing/regressions/_exec-transactions/00313.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name foo --xclient-optional \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00314.test b/testing/regressions/_exec-transactions/00314.test new file mode 100644 index 00000000..3079577e --- /dev/null +++ b/testing/regressions/_exec-transactions/00314.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-name foo --xclient-optional-strict \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00315.test b/testing/regressions/_exec-transactions/00315.test new file mode 100644 index 00000000..eb0445b8 --- /dev/null +++ b/testing/regressions/_exec-transactions/00315.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-destaddr foo \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0301-xclient-basic-reject.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00316.test b/testing/regressions/_exec-transactions/00316.test new file mode 100644 index 00000000..7a6ea935 --- /dev/null +++ b/testing/regressions/_exec-transactions/00316.test @@ -0,0 +1,16 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: work on this before accepting, it should not print "XCLIENT attempted but failed. Exiting" to stderr since it continues + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-destaddr foo --xclient-optional \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0301-xclient-basic-reject.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00317.test b/testing/regressions/_exec-transactions/00317.test new file mode 100644 index 00000000..02d253c7 --- /dev/null +++ b/testing/regressions/_exec-transactions/00317.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-destaddr foo --xclient-optional-strict \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0301-xclient-basic-reject.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00500.test b/testing/regressions/_exec-transactions/00500.test new file mode 100644 index 00000000..e85622e5 --- /dev/null +++ b/testing/regressions/_exec-transactions/00500.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00501.test b/testing/regressions/_exec-transactions/00501.test new file mode 100644 index 00000000..5d0a2fef --- /dev/null +++ b/testing/regressions/_exec-transactions/00501.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00502.test b/testing/regressions/_exec-transactions/00502.test new file mode 100644 index 00000000..70261d0a --- /dev/null +++ b/testing/regressions/_exec-transactions/00502.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00503.test b/testing/regressions/_exec-transactions/00503.test new file mode 100644 index 00000000..836e4b0d --- /dev/null +++ b/testing/regressions/_exec-transactions/00503.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00504.test b/testing/regressions/_exec-transactions/00504.test new file mode 100644 index 00000000..0a906032 --- /dev/null +++ b/testing/regressions/_exec-transactions/00504.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00505.test b/testing/regressions/_exec-transactions/00505.test new file mode 100644 index 00000000..fe520f31 --- /dev/null +++ b/testing/regressions/_exec-transactions/00505.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00506.test b/testing/regressions/_exec-transactions/00506.test new file mode 100644 index 00000000..0a638f2c --- /dev/null +++ b/testing/regressions/_exec-transactions/00506.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00507.test b/testing/regressions/_exec-transactions/00507.test new file mode 100644 index 00000000..6fa37db5 --- /dev/null +++ b/testing/regressions/_exec-transactions/00507.test @@ -0,0 +1,20 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net \ + part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2503-data-reject.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00510.test b/testing/regressions/_exec-transactions/00510.test new file mode 100644 index 00000000..fffedc38 --- /dev/null +++ b/testing/regressions/_exec-transactions/00510.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1101-rcpt-basic-reject.txt \ + part-2502-data-read.txt \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00511.test b/testing/regressions/_exec-transactions/00511.test new file mode 100644 index 00000000..3de2c14b --- /dev/null +++ b/testing/regressions/_exec-transactions/00511.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00512.test b/testing/regressions/_exec-transactions/00512.test new file mode 100644 index 00000000..4c1c74c9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00512.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1101-rcpt-basic-reject.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00513.test b/testing/regressions/_exec-transactions/00513.test new file mode 100644 index 00000000..cf7d79fd --- /dev/null +++ b/testing/regressions/_exec-transactions/00513.test @@ -0,0 +1,19 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00514.test b/testing/regressions/_exec-transactions/00514.test new file mode 100644 index 00000000..175f0695 --- /dev/null +++ b/testing/regressions/_exec-transactions/00514.test @@ -0,0 +1,19 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver --prdr\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + part-0500-prdr-start.txt \ + part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net \ + part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net \ + part-2501-data-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00600.test b/testing/regressions/_exec-transactions/00600.test new file mode 100644 index 00000000..9f156618 --- /dev/null +++ b/testing/regressions/_exec-transactions/00600.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00601.test b/testing/regressions/_exec-transactions/00601.test new file mode 100644 index 00000000..1e781491 --- /dev/null +++ b/testing/regressions/_exec-transactions/00601.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth LOGIN --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0601-auth-login-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00602.test b/testing/regressions/_exec-transactions/00602.test new file mode 100644 index 00000000..421abb32 --- /dev/null +++ b/testing/regressions/_exec-transactions/00602.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth CRAM-MD5 --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0602-auth-cram-md5-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00603.test b/testing/regressions/_exec-transactions/00603.test new file mode 100644 index 00000000..ca795e1a --- /dev/null +++ b/testing/regressions/_exec-transactions/00603.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth CRAM-SHA1 --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0603-auth-cram-sha1-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00605.test b/testing/regressions/_exec-transactions/00605.test new file mode 100644 index 00000000..2e614fc7 --- /dev/null +++ b/testing/regressions/_exec-transactions/00605.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth NTLM --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0605-auth-ntlm-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00610.test b/testing/regressions/_exec-transactions/00610.test new file mode 100644 index 00000000..0e2e6da3 --- /dev/null +++ b/testing/regressions/_exec-transactions/00610.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00611.test b/testing/regressions/_exec-transactions/00611.test new file mode 100644 index 00000000..3fa67d5f --- /dev/null +++ b/testing/regressions/_exec-transactions/00611.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth LOGIN --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0611-auth-login-fail.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00612.test b/testing/regressions/_exec-transactions/00612.test new file mode 100644 index 00000000..368ba1a9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00612.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth CRAM-MD5 --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0612-auth-cram-md5-fail.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00613.test b/testing/regressions/_exec-transactions/00613.test new file mode 100644 index 00000000..5670918f --- /dev/null +++ b/testing/regressions/_exec-transactions/00613.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth CRAM-SHA1 --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0613-auth-cram-sha1-fail.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00615.test b/testing/regressions/_exec-transactions/00615.test new file mode 100644 index 00000000..9964fea9 --- /dev/null +++ b/testing/regressions/_exec-transactions/00615.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth NTLM --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0615-auth-ntlm-fail.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00620.test b/testing/regressions/_exec-transactions/00620.test new file mode 100644 index 00000000..e44aaf32 --- /dev/null +++ b/testing/regressions/_exec-transactions/00620.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0602-auth-cram-md5-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00621.test b/testing/regressions/_exec-transactions/00621.test new file mode 100644 index 00000000..18b38610 --- /dev/null +++ b/testing/regressions/_exec-transactions/00621.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00622.test b/testing/regressions/_exec-transactions/00622.test new file mode 100644 index 00000000..2eeb7e87 --- /dev/null +++ b/testing/regressions/_exec-transactions/00622.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth --auth-optional --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00623.test b/testing/regressions/_exec-transactions/00623.test new file mode 100644 index 00000000..e04baadb --- /dev/null +++ b/testing/regressions/_exec-transactions/00623.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth --auth-optional-strict --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00624.test b/testing/regressions/_exec-transactions/00624.test new file mode 100644 index 00000000..02f39e5c --- /dev/null +++ b/testing/regressions/_exec-transactions/00624.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-optional --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00625.test b/testing/regressions/_exec-transactions/00625.test new file mode 100644 index 00000000..dea13bb0 --- /dev/null +++ b/testing/regressions/_exec-transactions/00625.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-optional-strict --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00626.test b/testing/regressions/_exec-transactions/00626.test new file mode 100644 index 00000000..94512d7c --- /dev/null +++ b/testing/regressions/_exec-transactions/00626.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-user validuser --auth-password validpassword --tls \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0104-ehlo-tls-only.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00634.test b/testing/regressions/_exec-transactions/00634.test new file mode 100644 index 00000000..ba84016f --- /dev/null +++ b/testing/regressions/_exec-transactions/00634.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth CUSTOM-PLAIN --auth-map CUSTOM-PLAIN=PLAIN --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0103-ehlo-auth-extra.txt \ + part-0600-auth-plain-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/00635.test b/testing/regressions/_exec-transactions/00635.test new file mode 100644 index 00000000..91d5208c --- /dev/null +++ b/testing/regressions/_exec-transactions/00635.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth LOGIN --auth-plaintext --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0601-auth-login-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00636.test b/testing/regressions/_exec-transactions/00636.test new file mode 100644 index 00000000..dab8a9fb --- /dev/null +++ b/testing/regressions/_exec-transactions/00636.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth PLAIN --auth-hide-password --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00637.test b/testing/regressions/_exec-transactions/00637.test new file mode 100644 index 00000000..913a4ed1 --- /dev/null +++ b/testing/regressions/_exec-transactions/00637.test @@ -0,0 +1,13 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --auth LOGIN --auth-hide-password --auth-plaintext --auth-user validuser --auth-password validpassword \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0601-auth-login-success.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00800.test b/testing/regressions/_exec-transactions/00800.test new file mode 100644 index 00000000..42fa2de8 --- /dev/null +++ b/testing/regressions/_exec-transactions/00800.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --proxy-dest 2.2.2.2 --proxy-dest-port 222 --proxy-source 1.1.1.1 --proxy-source-port 111 --proxy-family TCP4 \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0800-proxy-read.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00801.test b/testing/regressions/_exec-transactions/00801.test new file mode 100644 index 00000000..0b7efbd7 --- /dev/null +++ b/testing/regressions/_exec-transactions/00801.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --proxy-version 1 --proxy "TCP4 3.3.3.3 4.4.4.4 333 444" \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0800-proxy-read.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00802.test b/testing/regressions/_exec-transactions/00802.test new file mode 100644 index 00000000..1c4c1214 --- /dev/null +++ b/testing/regressions/_exec-transactions/00802.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --proxy-version 2 --proxy-dest 2.2.2.2 --proxy-dest-port 222 --proxy-source 1.1.1.1 --proxy-source-port 111 --proxy-family AF_INET \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0800-proxy-read.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00803.test b/testing/regressions/_exec-transactions/00803.test new file mode 100644 index 00000000..15ce369a --- /dev/null +++ b/testing/regressions/_exec-transactions/00803.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: need to be able to pass this value in somehow. b64? from file? + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --proxy-version 2 --proxy "TCP4 3.3.3.3 4.4.4.4 333 444" \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0800-proxy-read.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/00804.test b/testing/regressions/_exec-transactions/00804.test new file mode 100644 index 00000000..9eed2174 --- /dev/null +++ b/testing/regressions/_exec-transactions/00804.test @@ -0,0 +1,21 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: why isn't this working? + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --tls-on-connect \ + --proxy-dest 2.2.2.2 --proxy-dest-port 222 --proxy-source 1.1.1.1 --proxy-source-port 111 --proxy-family TCP4 \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0800-proxy-read.txt \ + part-0201-intialize-tls.txt \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' + + +# swaks itself works, this feels like an issue with my test server +# ../../swaks -to accept@node.example.com -s g3:1025 -proxy-dest 192.168.0.3 --proxy-dest-port 123 --proxy-source 1.1.1.1 --proxy-source-port 123 --proxy-version 2 --proxy-family AF_INET --tlsc diff --git a/testing/regressions/_exec-transactions/05000.test b/testing/regressions/_exec-transactions/05000.test new file mode 100644 index 00000000..7f5515c8 --- /dev/null +++ b/testing/regressions/_exec-transactions/05000.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after connect --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05001.test b/testing/regressions/_exec-transactions/05001.test new file mode 100644 index 00000000..cd7b23a8 --- /dev/null +++ b/testing/regressions/_exec-transactions/05001.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after xclient --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05002.test b/testing/regressions/_exec-transactions/05002.test new file mode 100644 index 00000000..994efa99 --- /dev/null +++ b/testing/regressions/_exec-transactions/05002.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after tls --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05003.test b/testing/regressions/_exec-transactions/05003.test new file mode 100644 index 00000000..07254c38 --- /dev/null +++ b/testing/regressions/_exec-transactions/05003.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after tls --tlsc --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0201-intialize-tls.txt \ + part-0000-connect-standard.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05004.test b/testing/regressions/_exec-transactions/05004.test new file mode 100644 index 00000000..710617d9 --- /dev/null +++ b/testing/regressions/_exec-transactions/05004.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05005.test b/testing/regressions/_exec-transactions/05005.test new file mode 100644 index 00000000..2e8f0ce6 --- /dev/null +++ b/testing/regressions/_exec-transactions/05005.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after auth --auth plain --au USERNAME --ap PASSWORD --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05006.test b/testing/regressions/_exec-transactions/05006.test new file mode 100644 index 00000000..46420ae7 --- /dev/null +++ b/testing/regressions/_exec-transactions/05006.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after mail --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05007.test b/testing/regressions/_exec-transactions/05007.test new file mode 100644 index 00000000..c932600e --- /dev/null +++ b/testing/regressions/_exec-transactions/05007.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after rcpt --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05009.test b/testing/regressions/_exec-transactions/05009.test new file mode 100644 index 00000000..26983201 --- /dev/null +++ b/testing/regressions/_exec-transactions/05009.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after first-helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05010.test b/testing/regressions/_exec-transactions/05010.test new file mode 100644 index 00000000..e929ebbc --- /dev/null +++ b/testing/regressions/_exec-transactions/05010.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after first-helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05011.test b/testing/regressions/_exec-transactions/05011.test new file mode 100644 index 00000000..c79599cf --- /dev/null +++ b/testing/regressions/_exec-transactions/05011.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05012.test b/testing/regressions/_exec-transactions/05012.test new file mode 100644 index 00000000..befd74bb --- /dev/null +++ b/testing/regressions/_exec-transactions/05012.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05013.test b/testing/regressions/_exec-transactions/05013.test new file mode 100644 index 00000000..c6028a3b --- /dev/null +++ b/testing/regressions/_exec-transactions/05013.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: this should be sending quit after second helo (as documented) but it's doing it after first helo + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after helo --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05014.test b/testing/regressions/_exec-transactions/05014.test new file mode 100644 index 00000000..c1da6251 --- /dev/null +++ b/testing/regressions/_exec-transactions/05014.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after auth --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05100.test b/testing/regressions/_exec-transactions/05100.test new file mode 100644 index 00000000..7c188495 --- /dev/null +++ b/testing/regressions/_exec-transactions/05100.test @@ -0,0 +1,8 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after connect --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05101.test b/testing/regressions/_exec-transactions/05101.test new file mode 100644 index 00000000..32d3b4ce --- /dev/null +++ b/testing/regressions/_exec-transactions/05101.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after xclient --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05102.test b/testing/regressions/_exec-transactions/05102.test new file mode 100644 index 00000000..f2cc5412 --- /dev/null +++ b/testing/regressions/_exec-transactions/05102.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after tls --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05103.test b/testing/regressions/_exec-transactions/05103.test new file mode 100644 index 00000000..f1b5dfd0 --- /dev/null +++ b/testing/regressions/_exec-transactions/05103.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after tls --tlsc --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0201-intialize-tls.txt \ + part-0000-connect-standard.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05104.test b/testing/regressions/_exec-transactions/05104.test new file mode 100644 index 00000000..b4093705 --- /dev/null +++ b/testing/regressions/_exec-transactions/05104.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05105.test b/testing/regressions/_exec-transactions/05105.test new file mode 100644 index 00000000..0be1abf2 --- /dev/null +++ b/testing/regressions/_exec-transactions/05105.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after auth --auth plain --au USERNAME --ap PASSWORD --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05106.test b/testing/regressions/_exec-transactions/05106.test new file mode 100644 index 00000000..15ffc1f0 --- /dev/null +++ b/testing/regressions/_exec-transactions/05106.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after mail --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05107.test b/testing/regressions/_exec-transactions/05107.test new file mode 100644 index 00000000..03c29b62 --- /dev/null +++ b/testing/regressions/_exec-transactions/05107.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after rcpt --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05109.test b/testing/regressions/_exec-transactions/05109.test new file mode 100644 index 00000000..9abe1cd1 --- /dev/null +++ b/testing/regressions/_exec-transactions/05109.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after first-helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05110.test b/testing/regressions/_exec-transactions/05110.test new file mode 100644 index 00000000..60251f74 --- /dev/null +++ b/testing/regressions/_exec-transactions/05110.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after first-helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05111.test b/testing/regressions/_exec-transactions/05111.test new file mode 100644 index 00000000..52c91f5d --- /dev/null +++ b/testing/regressions/_exec-transactions/05111.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05112.test b/testing/regressions/_exec-transactions/05112.test new file mode 100644 index 00000000..fe062d2d --- /dev/null +++ b/testing/regressions/_exec-transactions/05112.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05113.test b/testing/regressions/_exec-transactions/05113.test new file mode 100644 index 00000000..c6028a3b --- /dev/null +++ b/testing/regressions/_exec-transactions/05113.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: this should be sending quit after second helo (as documented) but it's doing it after first helo + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after helo --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05114.test b/testing/regressions/_exec-transactions/05114.test new file mode 100644 index 00000000..5d8ae3e7 --- /dev/null +++ b/testing/regressions/_exec-transactions/05114.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after auth --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05115.test b/testing/regressions/_exec-transactions/05115.test new file mode 100644 index 00000000..1e44c42b --- /dev/null +++ b/testing/regressions/_exec-transactions/05115.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after data --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2504-data-data-only.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05116.test b/testing/regressions/_exec-transactions/05116.test new file mode 100644 index 00000000..7c4f80ae --- /dev/null +++ b/testing/regressions/_exec-transactions/05116.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after dot --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05200.test b/testing/regressions/_exec-transactions/05200.test new file mode 100644 index 00000000..14e0d0d9 --- /dev/null +++ b/testing/regressions/_exec-transactions/05200.test @@ -0,0 +1,8 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: `--drop-after-send connect` seems to be broken + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send connect --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05201.test b/testing/regressions/_exec-transactions/05201.test new file mode 100644 index 00000000..ec572cd5 --- /dev/null +++ b/testing/regressions/_exec-transactions/05201.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: this seems to be trying to do an extra read. + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after xclient --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05202.test b/testing/regressions/_exec-transactions/05202.test new file mode 100644 index 00000000..e7433500 --- /dev/null +++ b/testing/regressions/_exec-transactions/05202.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send tls --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05203.test b/testing/regressions/_exec-transactions/05203.test new file mode 100644 index 00000000..abf856f8 --- /dev/null +++ b/testing/regressions/_exec-transactions/05203.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: `--drop-after-send tls` (with --tlsc) seems to be broken + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send tls --tlsc --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0201-intialize-tls.txt \ + part-0000-connect-standard.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05204.test b/testing/regressions/_exec-transactions/05204.test new file mode 100644 index 00000000..1484a273 --- /dev/null +++ b/testing/regressions/_exec-transactions/05204.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: why does `--drop-after-send helo` behave like --drop-after and read the helo response? + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05205.test b/testing/regressions/_exec-transactions/05205.test new file mode 100644 index 00000000..19359478 --- /dev/null +++ b/testing/regressions/_exec-transactions/05205.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send auth --auth plain --au USERNAME --ap PASSWORD --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0600-auth-plain-success.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05206.test b/testing/regressions/_exec-transactions/05206.test new file mode 100644 index 00000000..ea0fc275 --- /dev/null +++ b/testing/regressions/_exec-transactions/05206.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send mail --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05207.test b/testing/regressions/_exec-transactions/05207.test new file mode 100644 index 00000000..96d0f68d --- /dev/null +++ b/testing/regressions/_exec-transactions/05207.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send rcpt --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05209.test b/testing/regressions/_exec-transactions/05209.test new file mode 100644 index 00000000..da41959c --- /dev/null +++ b/testing/regressions/_exec-transactions/05209.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send first-helo --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05210.test b/testing/regressions/_exec-transactions/05210.test new file mode 100644 index 00000000..fa68835d --- /dev/null +++ b/testing/regressions/_exec-transactions/05210.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send first-helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05211.test b/testing/regressions/_exec-transactions/05211.test new file mode 100644 index 00000000..cb366123 --- /dev/null +++ b/testing/regressions/_exec-transactions/05211.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: something is weird with this - either document that `--drop-after-send tls` doesn't work when no tls tried, or just make it behave like `--drop-after tls` + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05212.test b/testing/regressions/_exec-transactions/05212.test new file mode 100644 index 00000000..df6e6d0e --- /dev/null +++ b/testing/regressions/_exec-transactions/05212.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send helo --tls --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05213.test b/testing/regressions/_exec-transactions/05213.test new file mode 100644 index 00000000..c6028a3b --- /dev/null +++ b/testing/regressions/_exec-transactions/05213.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: this should be sending quit after second helo (as documented) but it's doing it after first helo + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --quit-after helo --xclient-name 'foo' --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0300-xclient-basic-accept.txt \ + part-0101-ehlo-all.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05214.test b/testing/regressions/_exec-transactions/05214.test new file mode 100644 index 00000000..9a8b407a --- /dev/null +++ b/testing/regressions/_exec-transactions/05214.test @@ -0,0 +1,9 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: something is weird with this - either document that `--drop-after-send auth` doesn't work when no auth tried, or just make it behave like `--drop-after auth` + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send auth --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05215.test b/testing/regressions/_exec-transactions/05215.test new file mode 100644 index 00000000..21c061dc --- /dev/null +++ b/testing/regressions/_exec-transactions/05215.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send data --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2504-data-data-only.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05216.test b/testing/regressions/_exec-transactions/05216.test new file mode 100644 index 00000000..76447dfc --- /dev/null +++ b/testing/regressions/_exec-transactions/05216.test @@ -0,0 +1,11 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --drop-after-send dot --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2502-data-read.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05300.test b/testing/regressions/_exec-transactions/05300.test new file mode 100644 index 00000000..69c0192f --- /dev/null +++ b/testing/regressions/_exec-transactions/05300.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --suppress-data \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05301.test b/testing/regressions/_exec-transactions/05301.test new file mode 100644 index 00000000..93748264 --- /dev/null +++ b/testing/regressions/_exec-transactions/05301.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --show-time-lapse \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05302.test b/testing/regressions/_exec-transactions/05302.test new file mode 100644 index 00000000..81d1e6e7 --- /dev/null +++ b/testing/regressions/_exec-transactions/05302.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --show-time-lapse i\ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05303.test b/testing/regressions/_exec-transactions/05303.test new file mode 100644 index 00000000..7e87ae84 --- /dev/null +++ b/testing/regressions/_exec-transactions/05303.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --no-info-hints \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05304.test b/testing/regressions/_exec-transactions/05304.test new file mode 100644 index 00000000..3f045f8b --- /dev/null +++ b/testing/regressions/_exec-transactions/05304.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --no-send-hints \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05305.test b/testing/regressions/_exec-transactions/05305.test new file mode 100644 index 00000000..2e4f68d1 --- /dev/null +++ b/testing/regressions/_exec-transactions/05305.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --no-receive-hints \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05306.test b/testing/regressions/_exec-transactions/05306.test new file mode 100644 index 00000000..99502383 --- /dev/null +++ b/testing/regressions/_exec-transactions/05306.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --no-hints \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05307.test b/testing/regressions/_exec-transactions/05307.test new file mode 100644 index 00000000..5c860bc6 --- /dev/null +++ b/testing/regressions/_exec-transactions/05307.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --show-raw-text --data "Subject: foo%NEWLINE%%NEWLINE%body" \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05308.test b/testing/regressions/_exec-transactions/05308.test new file mode 100644 index 00000000..2c0b5bc2 --- /dev/null +++ b/testing/regressions/_exec-transactions/05308.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --hide-receive \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05309.test b/testing/regressions/_exec-transactions/05309.test new file mode 100644 index 00000000..b38761ce --- /dev/null +++ b/testing/regressions/_exec-transactions/05309.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --hide-send \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05310.test b/testing/regressions/_exec-transactions/05310.test new file mode 100644 index 00000000..856e356c --- /dev/null +++ b/testing/regressions/_exec-transactions/05310.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --hide-informational \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05311.test b/testing/regressions/_exec-transactions/05311.test new file mode 100644 index 00000000..2e356712 --- /dev/null +++ b/testing/regressions/_exec-transactions/05311.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --hide-all \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05312.test b/testing/regressions/_exec-transactions/05312.test new file mode 100644 index 00000000..315b3389 --- /dev/null +++ b/testing/regressions/_exec-transactions/05312.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --silent \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05313.test b/testing/regressions/_exec-transactions/05313.test new file mode 100644 index 00000000..16019d62 --- /dev/null +++ b/testing/regressions/_exec-transactions/05313.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --silent --auth PLAIN --auth-optional --auth-user foo --auth-pass bar \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05314.test b/testing/regressions/_exec-transactions/05314.test new file mode 100644 index 00000000..f08c29c0 --- /dev/null +++ b/testing/regressions/_exec-transactions/05314.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --silent 1 --auth PLAIN --auth-optional --auth-user foo --auth-pass bar \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05315.test b/testing/regressions/_exec-transactions/05315.test new file mode 100644 index 00000000..3ce631c9 --- /dev/null +++ b/testing/regressions/_exec-transactions/05315.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --silent 2 --auth PLAIN --auth-optional --auth-user foo --auth-pass bar \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/05316.test b/testing/regressions/_exec-transactions/05316.test new file mode 100644 index 00000000..215db99d --- /dev/null +++ b/testing/regressions/_exec-transactions/05316.test @@ -0,0 +1,15 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + + + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --silent 3 --auth PLAIN --auth-optional --auth-user foo --auth-pass bar \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0610-auth-plain-fail.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + ' diff --git a/testing/regressions/_exec-transactions/06000.test b/testing/regressions/_exec-transactions/06000.test new file mode 100644 index 00000000..13148c8f --- /dev/null +++ b/testing/regressions/_exec-transactions/06000.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: FORK %TEST_SERVER% --silent -i 127.0.0.1 -p 8125 \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --server 127.0.0.1 --port 8125 diff --git a/testing/regressions/_exec-transactions/06001.test b/testing/regressions/_exec-transactions/06001.test new file mode 100644 index 00000000..ad37a982 --- /dev/null +++ b/testing/regressions/_exec-transactions/06001.test @@ -0,0 +1,14 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +skip: I think there's something wrong with SMTP server here + +test action: FORK %TEST_SERVER% --silent -i ::1 -p 8125 \ + part-0000-connect-standard.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --server ::1 --port 8125 diff --git a/testing/regressions/_exec-transactions/06005.test b/testing/regressions/_exec-transactions/06005.test new file mode 100644 index 00000000..aa7f1b8c --- /dev/null +++ b/testing/regressions/_exec-transactions/06005.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: FORK %TEST_SERVER% --silent -i 127.0.0.1 -p 8125 \ + part-0001-connect-with-print.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --server 127.0.0.1 --port 8125 --local-interface 127.0.0.1 --local-port 8126 diff --git a/testing/regressions/_exec-transactions/07000.test b/testing/regressions/_exec-transactions/07000.test new file mode 100644 index 00000000..ca0b1af5 --- /dev/null +++ b/testing/regressions/_exec-transactions/07000.test @@ -0,0 +1,12 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: FORK %TEST_SERVER% --silent --domain unix --interface %OUTDIR%/%TESTID%.sock \ + part-0001-connect-with-print.txt \ + part-0100-ehlo-basic.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --socket %OUTDIR%/%TESTID%.sock diff --git a/testing/regressions/_exec-transactions/07001.test b/testing/regressions/_exec-transactions/07001.test new file mode 100644 index 00000000..da57b860 --- /dev/null +++ b/testing/regressions/_exec-transactions/07001.test @@ -0,0 +1,4 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --socket %OUTDIR%/%TESTID%.sock diff --git a/testing/regressions/_exec-transactions/out-ref/00000.stderr b/testing/regressions/_exec-transactions/out-ref/00000.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00000.stdout b/testing/regressions/_exec-transactions/out-ref/00000.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00000.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00001.stderr b/testing/regressions/_exec-transactions/out-ref/00001.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00001.stdout b/testing/regressions/_exec-transactions/out-ref/00001.stdout new file mode 100644 index 00000000..cb7dafae --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00001.stdout @@ -0,0 +1,13 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00002.stderr b/testing/regressions/_exec-transactions/out-ref/00002.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00002.stdout b/testing/regressions/_exec-transactions/out-ref/00002.stdout new file mode 100644 index 00000000..b6019587 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00002.stdout @@ -0,0 +1,31 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00003.stderr b/testing/regressions/_exec-transactions/out-ref/00003.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00003.stdout b/testing/regressions/_exec-transactions/out-ref/00003.stdout new file mode 100644 index 00000000..b48d67f4 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00003.stdout @@ -0,0 +1,31 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00004.stderr b/testing/regressions/_exec-transactions/out-ref/00004.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00004.stdout b/testing/regressions/_exec-transactions/out-ref/00004.stdout new file mode 100644 index 00000000..7635d726 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00004.stdout @@ -0,0 +1,17 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-1101-rcpt-basic-reject.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-1101-rcpt-basic-reject.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> RCPT TO: +<** 550 rejected + -> RCPT TO: +<** 550 rejected + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00010.stderr b/testing/regressions/_exec-transactions/out-ref/00010.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00010.stdout b/testing/regressions/_exec-transactions/out-ref/00010.stdout new file mode 100644 index 00000000..ee2ada02 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00010.stdout @@ -0,0 +1,11 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1001-mail-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1001-mail-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<** 550 rejected + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00050.stderr b/testing/regressions/_exec-transactions/out-ref/00050.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00050.stdout b/testing/regressions/_exec-transactions/out-ref/00050.stdout new file mode 100644 index 00000000..d5a66a63 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00050.stdout @@ -0,0 +1,38 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> DATA +<- 250 Accepted +<- 250 Accepted +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00051.stderr b/testing/regressions/_exec-transactions/out-ref/00051.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00051.stdout b/testing/regressions/_exec-transactions/out-ref/00051.stdout new file mode 100644 index 00000000..7711c366 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00051.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1012-mail-pipeline-respond-failure.txt part-1113-rcpt-pipeline-respond-failure-cascade.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1012-mail-pipeline-respond-failure.txt part-1113-rcpt-pipeline-respond-failure-cascade.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> DATA +<** 550 rejected +<** 503 sender not yet given +<** 503-something went wrong related to pipelining +<** 503 something went wrong + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00052.stderr b/testing/regressions/_exec-transactions/out-ref/00052.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00052.stdout b/testing/regressions/_exec-transactions/out-ref/00052.stdout new file mode 100644 index 00000000..3470e7f8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00052.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> DATA +<- 250 Accepted +<** 550 rejected +<** 503-something went wrong related to pipelining +<** 503 something went wrong + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00053.stderr b/testing/regressions/_exec-transactions/out-ref/00053.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00053.stdout b/testing/regressions/_exec-transactions/out-ref/00053.stdout new file mode 100644 index 00000000..d42366c3 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00053.stdout @@ -0,0 +1,26 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2512-data-pipeline-data-respond-failure.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2512-data-pipeline-data-respond-failure.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> DATA +<- 250 Accepted +<- 250 Accepted +<** 550 Forced failure by sender + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00054.stderr b/testing/regressions/_exec-transactions/out-ref/00054.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00054.stdout b/testing/regressions/_exec-transactions/out-ref/00054.stdout new file mode 100644 index 00000000..8385e26e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00054.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> RCPT TO: + -> DATA +<- 250 Accepted +<- 250 Accepted +<- 250 Accepted +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00055.stderr b/testing/regressions/_exec-transactions/out-ref/00055.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00055.stdout b/testing/regressions/_exec-transactions/out-ref/00055.stdout new file mode 100644 index 00000000..a8f917ce --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00055.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1111-rcpt-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-2511-data-pipeline-data-respond-success.txt part-2505-data-message-only.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> RCPT TO: + -> DATA +<- 250 Accepted +<- 250 Accepted +<** 550 rejected +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net,user1@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00056.stderr b/testing/regressions/_exec-transactions/out-ref/00056.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00056.stdout b/testing/regressions/_exec-transactions/out-ref/00056.stdout new file mode 100644 index 00000000..1f38e1e7 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00056.stdout @@ -0,0 +1,29 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-1112-rcpt-pipeline-respond-failure.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1010-mail-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-1110-rcpt-pipeline-read.txt part-2510-data-pipeline-data-read.txt part-1011-mail-pipeline-respond-success.txt part-1112-rcpt-pipeline-respond-failure.txt part-1112-rcpt-pipeline-respond-failure.txt part-2513-data-pipeline-data-respond-failure-cascade.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: + -> RCPT TO: + -> RCPT TO: + -> DATA +<- 250 Accepted +<** 550 rejected +<** 550 rejected +<** 503-something went wrong related to pipelining +<** 503 something went wrong + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00200.stderr b/testing/regressions/_exec-transactions/out-ref/00200.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00200.stdout b/testing/regressions/_exec-transactions/out-ref/00200.stdout new file mode 100644 index 00000000..99e82859 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00200.stdout @@ -0,0 +1,57 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00201.stderr b/testing/regressions/_exec-transactions/out-ref/00201.stderr new file mode 100644 index 00000000..80068a4e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00201.stderr @@ -0,0 +1 @@ +*** Host did not advertise STARTTLS diff --git a/testing/regressions/_exec-transactions/out-ref/00201.stdout b/testing/regressions/_exec-transactions/out-ref/00201.stdout new file mode 100644 index 00000000..44cb366c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00201.stdout @@ -0,0 +1,9 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00202.stderr b/testing/regressions/_exec-transactions/out-ref/00202.stderr new file mode 100644 index 00000000..85830f6d --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00202.stderr @@ -0,0 +1,2 @@ +*** TLS startup failed (connect(): error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure) +*** STARTTLS attempted but failed diff --git a/testing/regressions/_exec-transactions/out-ref/00202.stdout b/testing/regressions/_exec-transactions/out-ref/00202.stdout new file mode 100644 index 00000000..ee98c8af --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00202.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe --key /path/to/TESTDIR/test-server-keyX.dat --cert /path/to/TESTDIR/test-server-certX.dat part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe --key /path/to/TESTDIR/test-server-keyX.dat --cert /path/to/TESTDIR/test-server-certX.dat part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead diff --git a/testing/regressions/_exec-transactions/out-ref/00203.stderr b/testing/regressions/_exec-transactions/out-ref/00203.stderr new file mode 100644 index 00000000..80068a4e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00203.stderr @@ -0,0 +1 @@ +*** Host did not advertise STARTTLS diff --git a/testing/regressions/_exec-transactions/out-ref/00203.stdout b/testing/regressions/_exec-transactions/out-ref/00203.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00203.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00204.stderr b/testing/regressions/_exec-transactions/out-ref/00204.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00204.stdout b/testing/regressions/_exec-transactions/out-ref/00204.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00205.stderr b/testing/regressions/_exec-transactions/out-ref/00205.stderr new file mode 100644 index 00000000..80068a4e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00205.stderr @@ -0,0 +1 @@ +*** Host did not advertise STARTTLS diff --git a/testing/regressions/_exec-transactions/out-ref/00205.stdout b/testing/regressions/_exec-transactions/out-ref/00205.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00205.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00206.stderr b/testing/regressions/_exec-transactions/out-ref/00206.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00206.stdout b/testing/regressions/_exec-transactions/out-ref/00206.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00207.stderr b/testing/regressions/_exec-transactions/out-ref/00207.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00207.stdout b/testing/regressions/_exec-transactions/out-ref/00207.stdout new file mode 100644 index 00000000..579bc8b6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00207.stdout @@ -0,0 +1,41 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" +<~ 220 SERVER ESMTP ready + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00208.stderr b/testing/regressions/_exec-transactions/out-ref/00208.stderr new file mode 100644 index 00000000..93d72f56 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00208.stderr @@ -0,0 +1 @@ +*** TLS startup failed (connect(): error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure) diff --git a/testing/regressions/_exec-transactions/out-ref/00208.stdout b/testing/regressions/_exec-transactions/out-ref/00208.stdout new file mode 100644 index 00000000..d6084b1d --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00208.stdout @@ -0,0 +1,2 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe --key /path/to/TESTDIR/test-server-keyX.dat --cert /path/to/TESTDIR/test-server-certX.dat part-0201-intialize-tls.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe --key /path/to/TESTDIR/test-server-keyX.dat --cert /path/to/TESTDIR/test-server-certX.dat part-0201-intialize-tls.txt . diff --git a/testing/regressions/_exec-transactions/out-ref/00209.stderr b/testing/regressions/_exec-transactions/out-ref/00209.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00209.stdout b/testing/regressions/_exec-transactions/out-ref/00209.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00210.stderr b/testing/regressions/_exec-transactions/out-ref/00210.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00210.stdout b/testing/regressions/_exec-transactions/out-ref/00210.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00211.stderr b/testing/regressions/_exec-transactions/out-ref/00211.stderr new file mode 100644 index 00000000..36037cb9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00211.stderr @@ -0,0 +1,2 @@ +*** TLS startup failed (connect(): error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed) +*** STARTTLS attempted but failed diff --git a/testing/regressions/_exec-transactions/out-ref/00211.stdout b/testing/regressions/_exec-transactions/out-ref/00211.stdout new file mode 100644 index 00000000..934039bc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00211.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead diff --git a/testing/regressions/_exec-transactions/out-ref/00212.stderr b/testing/regressions/_exec-transactions/out-ref/00212.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00212.stdout b/testing/regressions/_exec-transactions/out-ref/00212.stdout new file mode 100644 index 00000000..c4071726 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00212.stdout @@ -0,0 +1,57 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0105-ehlo-post-tls-info.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0105-ehlo-post-tls-info.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-TLS peer DN=No client certificate present +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00213.stderr b/testing/regressions/_exec-transactions/out-ref/00213.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00213.stdout b/testing/regressions/_exec-transactions/out-ref/00213.stdout new file mode 100644 index 00000000..09a5c317 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00213.stdout @@ -0,0 +1,80 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" +=== -----BEGIN CERTIFICATE----- +=== MIID3TCCAsWgAwIBAgIUFQU5NT2EO9gtC5YP96Fa9d8vFTcwDQYJKoZIhvcNAQEL +=== BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +=== YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +=== hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE2MzExMFoX +=== DTMwMTAyMjE2MzExMFowfTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmEx +=== GjAYBgNVBAoMEVN3YWtzIERldmVsb3BtZW50MRkwFwYDVQQDDBBub2RlLmV4YW1w +=== bGUuY29tMSUwIwYJKoZIhvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MIIB +=== IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtk8opJgeWgaE7EugTv0lO10Z +=== dG2IgOF/9oHgy4VE1ViL2vKkng87zNju6B7cZXTh+UmIj6nKD31FTZlMvluD83BP +=== nksPSrlGa7+5Tx5AgCHewQYS2G8dkxHUEB867AkWfOQVAdNPDd4czEwUqjWkPJhp +=== tIveT+yxv9jVwcf5ggjJ9NVu6SF6sflpd/QwPcEObRIEMyG/ARKLrbmBZibrJSB6 +=== XuSEWCTM8nml1OfpO6on1kd1+2a9Rtt0keCg7ydRBS4xDfKLYvgsNdSiRCrfEMhM +=== wXxKyGx/v8HcGbOCECbEZBCoN+pAwLi+EUhBUndrA05AByZdzLokKoYq6KqyBwID +=== AQABo1gwVjAfBgNVHSMEGDAWgBQK0ikrqvXVxOvKWIHtPtiIFSzsfjAJBgNVHRME +=== AjAAMAsGA1UdDwQEAwIE8DAbBgNVHREEFDASghBub2RlLmV4YW1wbGUuY29tMA0G +=== CSqGSIb3DQEBCwUAA4IBAQA54XEux2wDyyMPHJqjgMIYsAAetS+fzgJxlEIDVnPl +=== 4SA6zwLLQc1PgpzyVo2LOwUc/zpX+6aMrFrMu5wCEAC0S2/pBXn2lJPXCW6T1dK8 +=== h//a6Ceup9OBeuTMhtyNLUa7bqnW1iNsK9V0ur7jlClNNAHZ+Q1zYJjBudMHLTuT +=== 1wAsYnWK2cTKqpOjg9uiZ1NQP3EpOvuvUAmo8TCMDBD4KNtAj8LotlwengfolChG +=== Rg/SXzYMtMv1nlbJXi62OtLqj/IeYTTQ5OfARVHX3FBlwY0VIjHFYKNAcUtRRBfm +=== ZRps3SucdulE1rliU1S6PNOrBhpvns8wqswyAAx8b3y4 +=== -----END CERTIFICATE----- + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00214.cert b/testing/regressions/_exec-transactions/out-ref/00214.cert new file mode 100644 index 00000000..823d02f2 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00214.cert @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIUFQU5NT2EO9gtC5YP96Fa9d8vFTcwDQYJKoZIhvcNAQEL +BQAwejELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmExGjAYBgNVBAoMEVN3 +YWtzIERldmVsb3BtZW50MRYwFAYDVQQDDA1Td2FrcyBSb290IENBMSUwIwYJKoZI +hvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MB4XDTIwMTIxMzE2MzExMFoX +DTMwMTAyMjE2MzExMFowfTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0luZGlhbmEx +GjAYBgNVBAoMEVN3YWtzIERldmVsb3BtZW50MRkwFwYDVQQDDBBub2RlLmV4YW1w +bGUuY29tMSUwIwYJKoZIhvcNAQkBFhZwcm9qLXN3YWtzQGpldG1vcmUubmV0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtk8opJgeWgaE7EugTv0lO10Z +dG2IgOF/9oHgy4VE1ViL2vKkng87zNju6B7cZXTh+UmIj6nKD31FTZlMvluD83BP +nksPSrlGa7+5Tx5AgCHewQYS2G8dkxHUEB867AkWfOQVAdNPDd4czEwUqjWkPJhp +tIveT+yxv9jVwcf5ggjJ9NVu6SF6sflpd/QwPcEObRIEMyG/ARKLrbmBZibrJSB6 +XuSEWCTM8nml1OfpO6on1kd1+2a9Rtt0keCg7ydRBS4xDfKLYvgsNdSiRCrfEMhM +wXxKyGx/v8HcGbOCECbEZBCoN+pAwLi+EUhBUndrA05AByZdzLokKoYq6KqyBwID +AQABo1gwVjAfBgNVHSMEGDAWgBQK0ikrqvXVxOvKWIHtPtiIFSzsfjAJBgNVHRME +AjAAMAsGA1UdDwQEAwIE8DAbBgNVHREEFDASghBub2RlLmV4YW1wbGUuY29tMA0G +CSqGSIb3DQEBCwUAA4IBAQA54XEux2wDyyMPHJqjgMIYsAAetS+fzgJxlEIDVnPl +4SA6zwLLQc1PgpzyVo2LOwUc/zpX+6aMrFrMu5wCEAC0S2/pBXn2lJPXCW6T1dK8 +h//a6Ceup9OBeuTMhtyNLUa7bqnW1iNsK9V0ur7jlClNNAHZ+Q1zYJjBudMHLTuT +1wAsYnWK2cTKqpOjg9uiZ1NQP3EpOvuvUAmo8TCMDBD4KNtAj8LotlwengfolChG +Rg/SXzYMtMv1nlbJXi62OtLqj/IeYTTQ5OfARVHX3FBlwY0VIjHFYKNAcUtRRBfm +ZRps3SucdulE1rliU1S6PNOrBhpvns8wqswyAAx8b3y4 +-----END CERTIFICATE----- diff --git a/testing/regressions/_exec-transactions/out-ref/00214.stderr b/testing/regressions/_exec-transactions/out-ref/00214.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00214.stdout b/testing/regressions/_exec-transactions/out-ref/00214.stdout new file mode 100644 index 00000000..99e82859 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00214.stdout @@ -0,0 +1,57 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00300.stderr b/testing/regressions/_exec-transactions/out-ref/00300.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00300.stdout b/testing/regressions/_exec-transactions/out-ref/00300.stdout new file mode 100644 index 00000000..ecd8cd13 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00300.stdout @@ -0,0 +1,54 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=test.server ADDR=1.1.1.1 PORT=333 PROTO=ESMTP DESTADDR=3.3.3.3 DESTPORT=444 HELO=helo_string LOGIN=username REVERSE_NAME=reverse_name +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00301.stderr b/testing/regressions/_exec-transactions/out-ref/00301.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00301.stdout b/testing/regressions/_exec-transactions/out-ref/00301.stdout new file mode 100644 index 00000000..f6f9f72b --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00301.stdout @@ -0,0 +1,56 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=test.server +<- 220 SERVER ESMTP ready + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00302.stderr b/testing/regressions/_exec-transactions/out-ref/00302.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00302.stdout b/testing/regressions/_exec-transactions/out-ref/00302.stdout new file mode 100644 index 00000000..f6f9f72b --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00302.stdout @@ -0,0 +1,56 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=test.server +<- 220 SERVER ESMTP ready + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00303.stderr b/testing/regressions/_exec-transactions/out-ref/00303.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00303.stdout b/testing/regressions/_exec-transactions/out-ref/00303.stdout new file mode 100644 index 00000000..874e0378 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00303.stdout @@ -0,0 +1,54 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00304.stderr b/testing/regressions/_exec-transactions/out-ref/00304.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00304.stdout b/testing/regressions/_exec-transactions/out-ref/00304.stdout new file mode 100644 index 00000000..0b6fc7e9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00304.stdout @@ -0,0 +1,56 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=foo +<- 220 SERVER ESMTP ready + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00305.stderr b/testing/regressions/_exec-transactions/out-ref/00305.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00305.stdout b/testing/regressions/_exec-transactions/out-ref/00305.stdout new file mode 100644 index 00000000..76882abc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00305.stdout @@ -0,0 +1,58 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=foo +<- 220 SERVER ESMTP ready + -> XCLIENT HELO=helo_string +<- 220 SERVER ESMTP ready + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00306.stderr b/testing/regressions/_exec-transactions/out-ref/00306.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00306.stdout b/testing/regressions/_exec-transactions/out-ref/00306.stdout new file mode 100644 index 00000000..bef4a2a5 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00306.stdout @@ -0,0 +1,54 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NONSENSE=gobbledegook ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00307.stderr b/testing/regressions/_exec-transactions/out-ref/00307.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00307.stdout b/testing/regressions/_exec-transactions/out-ref/00307.stdout new file mode 100644 index 00000000..97470952 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00307.stdout @@ -0,0 +1,54 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT LOGIN=jetmore +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00308.stderr b/testing/regressions/_exec-transactions/out-ref/00308.stderr new file mode 100644 index 00000000..55203002 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00308.stderr @@ -0,0 +1 @@ +*** Host did not advertise requested XCLIENT attributes diff --git a/testing/regressions/_exec-transactions/out-ref/00308.stdout b/testing/regressions/_exec-transactions/out-ref/00308.stdout new file mode 100644 index 00000000..1f5149b5 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00308.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00309.stderr b/testing/regressions/_exec-transactions/out-ref/00309.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00309.stdout b/testing/regressions/_exec-transactions/out-ref/00309.stdout new file mode 100644 index 00000000..97470952 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00309.stdout @@ -0,0 +1,54 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT LOGIN=jetmore +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00310.stderr b/testing/regressions/_exec-transactions/out-ref/00310.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00310.stdout b/testing/regressions/_exec-transactions/out-ref/00310.stdout new file mode 100644 index 00000000..b94bb42d --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00310.stdout @@ -0,0 +1,73 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> XCLIENT ADDR=1.1.1.1 PORT=333 +<~ 220 SERVER ESMTP ready + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00311.stderr b/testing/regressions/_exec-transactions/out-ref/00311.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00311.stdout b/testing/regressions/_exec-transactions/out-ref/00311.stdout new file mode 100644 index 00000000..9932a11a --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00311.stdout @@ -0,0 +1,73 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT ADDR=1.1.1.1 PORT=333 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00312.stderr b/testing/regressions/_exec-transactions/out-ref/00312.stderr new file mode 100644 index 00000000..2fec4841 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00312.stderr @@ -0,0 +1 @@ +*** Host did not advertise XCLIENT diff --git a/testing/regressions/_exec-transactions/out-ref/00312.stdout b/testing/regressions/_exec-transactions/out-ref/00312.stdout new file mode 100644 index 00000000..44cb366c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00312.stdout @@ -0,0 +1,9 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00313.stderr b/testing/regressions/_exec-transactions/out-ref/00313.stderr new file mode 100644 index 00000000..2fec4841 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00313.stderr @@ -0,0 +1 @@ +*** Host did not advertise XCLIENT diff --git a/testing/regressions/_exec-transactions/out-ref/00313.stdout b/testing/regressions/_exec-transactions/out-ref/00313.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00313.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00314.stderr b/testing/regressions/_exec-transactions/out-ref/00314.stderr new file mode 100644 index 00000000..2fec4841 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00314.stderr @@ -0,0 +1 @@ +*** Host did not advertise XCLIENT diff --git a/testing/regressions/_exec-transactions/out-ref/00314.stdout b/testing/regressions/_exec-transactions/out-ref/00314.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00314.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00315.stderr b/testing/regressions/_exec-transactions/out-ref/00315.stderr new file mode 100644 index 00000000..f60f1757 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00315.stderr @@ -0,0 +1 @@ +*** XCLIENT attempted but failed. Exiting diff --git a/testing/regressions/_exec-transactions/out-ref/00315.stdout b/testing/regressions/_exec-transactions/out-ref/00315.stdout new file mode 100644 index 00000000..21555b8e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00315.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT DESTADDR=foo +<** 501 5.5.4 Bad DESTADDR syntax + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00316.stderr b/testing/regressions/_exec-transactions/out-ref/00316.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00316.stdout b/testing/regressions/_exec-transactions/out-ref/00316.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00317.stderr b/testing/regressions/_exec-transactions/out-ref/00317.stderr new file mode 100644 index 00000000..f60f1757 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00317.stderr @@ -0,0 +1 @@ +*** XCLIENT attempted but failed. Exiting diff --git a/testing/regressions/_exec-transactions/out-ref/00317.stdout b/testing/regressions/_exec-transactions/out-ref/00317.stdout new file mode 100644 index 00000000..21555b8e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00317.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT DESTADDR=foo +<** 501 5.5.4 Bad DESTADDR syntax + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00500.stderr b/testing/regressions/_exec-transactions/out-ref/00500.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00500.stdout b/testing/regressions/_exec-transactions/out-ref/00500.stdout new file mode 100644 index 00000000..430ab5f7 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00500.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<- 250 PRDR R= acceptance +<- 250 PRDR R= acceptance +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00501.stderr b/testing/regressions/_exec-transactions/out-ref/00501.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00501.stdout b/testing/regressions/_exec-transactions/out-ref/00501.stdout new file mode 100644 index 00000000..305316ce --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00501.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<- 250 PRDR R= acceptance +<- 250 PRDR R= acceptance +<** 550 PRDR R= refusal +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00502.stderr b/testing/regressions/_exec-transactions/out-ref/00502.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00502.stdout b/testing/regressions/_exec-transactions/out-ref/00502.stdout new file mode 100644 index 00000000..e6e05628 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00502.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<- 250 PRDR R= acceptance +<** 550 PRDR R= refusal +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00503.stderr b/testing/regressions/_exec-transactions/out-ref/00503.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00503.stdout b/testing/regressions/_exec-transactions/out-ref/00503.stdout new file mode 100644 index 00000000..1d2ded64 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00503.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<- 250 PRDR R= acceptance +<** 550 PRDR R= refusal +<** 550 PRDR R= refusal +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00504.stderr b/testing/regressions/_exec-transactions/out-ref/00504.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00504.stdout b/testing/regressions/_exec-transactions/out-ref/00504.stdout new file mode 100644 index 00000000..92f7399a --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00504.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<** 550 PRDR R= refusal +<- 250 PRDR R= acceptance +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00505.stderr b/testing/regressions/_exec-transactions/out-ref/00505.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00505.stdout b/testing/regressions/_exec-transactions/out-ref/00505.stdout new file mode 100644 index 00000000..977840dd --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00505.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<** 550 PRDR R= refusal +<- 250 PRDR R= acceptance +<** 550 PRDR R= refusal +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00506.stderr b/testing/regressions/_exec-transactions/out-ref/00506.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00506.stdout b/testing/regressions/_exec-transactions/out-ref/00506.stdout new file mode 100644 index 00000000..cf76d06e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00506.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<** 550 PRDR R= refusal +<** 550 PRDR R= refusal +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00507.stderr b/testing/regressions/_exec-transactions/out-ref/00507.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00507.stdout b/testing/regressions/_exec-transactions/out-ref/00507.stdout new file mode 100644 index 00000000..f47d0a9b --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00507.stdout @@ -0,0 +1,46 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2503-data-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user2@host1.nodns.test.swaks.net part-0502-prdr-addr-reject.txt::ADDR::user3@host1.nodns.test.swaks.net part-2503-data-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<** 550 PRDR R= refusal +<** 550 PRDR R= refusal +<** 550 PRDR R= refusal +<** 550 rejected + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00510.stderr b/testing/regressions/_exec-transactions/out-ref/00510.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00510.stdout b/testing/regressions/_exec-transactions/out-ref/00510.stdout new file mode 100644 index 00000000..e0b7a596 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00510.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-2502-data-read.txt part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-2502-data-read.txt part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00511.stderr b/testing/regressions/_exec-transactions/out-ref/00511.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00511.stdout b/testing/regressions/_exec-transactions/out-ref/00511.stdout new file mode 100644 index 00000000..23ee74e3 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00511.stdout @@ -0,0 +1,38 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00512.stderr b/testing/regressions/_exec-transactions/out-ref/00512.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00512.stdout b/testing/regressions/_exec-transactions/out-ref/00512.stdout new file mode 100644 index 00000000..371da8be --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00512.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1101-rcpt-basic-reject.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00513.stderr b/testing/regressions/_exec-transactions/out-ref/00513.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00513.stdout b/testing/regressions/_exec-transactions/out-ref/00513.stdout new file mode 100644 index 00000000..cc457aa8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00513.stdout @@ -0,0 +1,45 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0501-prdr-addr-accept.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<- 250 PRDR R= acceptance +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00514.stderr b/testing/regressions/_exec-transactions/out-ref/00514.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00514.stdout b/testing/regressions/_exec-transactions/out-ref/00514.stdout new file mode 100644 index 00000000..2247feb9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00514.stdout @@ -0,0 +1,45 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-1101-rcpt-basic-reject.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt part-0500-prdr-start.txt part-0502-prdr-addr-reject.txt::ADDR::user1@host1.nodns.test.swaks.net part-0501-prdr-addr-accept.txt::ADDR::user3@host1.nodns.test.swaks.net part-2501-data-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: PRDR +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> RCPT TO: +<** 550 rejected + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user1@host1.nodns.test.swaks.net,user2@host1.nodns.test.swaks.net,user3@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 353 PRDR content analysis beginning +<** 550 PRDR R= refusal +<- 250 PRDR R= acceptance +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00600.stderr b/testing/regressions/_exec-transactions/out-ref/00600.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00600.stdout b/testing/regressions/_exec-transactions/out-ref/00600.stdout new file mode 100644 index 00000000..4c1fcc46 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00600.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00601.stderr b/testing/regressions/_exec-transactions/out-ref/00601.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00601.stdout b/testing/regressions/_exec-transactions/out-ref/00601.stdout new file mode 100644 index 00000000..a7e1ba4f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00601.stdout @@ -0,0 +1,44 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH LOGIN +<- 334 VXNlcm5hbWU6 + -> dmFsaWR1c2Vy +<- 334 UGFzc3dvcmQ6 + -> dmFsaWRwYXNzd29yZA== +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00602.stderr b/testing/regressions/_exec-transactions/out-ref/00602.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00602.stdout b/testing/regressions/_exec-transactions/out-ref/00602.stdout new file mode 100644 index 00000000..ec75e78c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00602.stdout @@ -0,0 +1,42 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0602-auth-cram-md5-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0602-auth-cram-md5-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CRAM-MD5 +<- 334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+ + -> dmFsaWR1c2VyIDFiNDQ4MzliOGIxNDA4ZDI5MDY4OGRkMTNhMDYxMGU3 +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00603.stderr b/testing/regressions/_exec-transactions/out-ref/00603.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00603.stdout b/testing/regressions/_exec-transactions/out-ref/00603.stdout new file mode 100644 index 00000000..5b91398e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00603.stdout @@ -0,0 +1,42 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0603-auth-cram-sha1-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0603-auth-cram-sha1-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CRAM-SHA1 +<- 334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg== + -> dmFsaWR1c2VyIGIwYzY0NTk4NGRjZGRhZjIzMGMwYmM3MzA0ZTUwNWUwMzg1ZWM1MDk= +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00605.stderr b/testing/regressions/_exec-transactions/out-ref/00605.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00605.stdout b/testing/regressions/_exec-transactions/out-ref/00605.stdout new file mode 100644 index 00000000..3c560ced --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00605.stdout @@ -0,0 +1,44 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0605-auth-ntlm-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0605-auth-ntlm-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH NTLM +<- 334 NTLM supported + -> TlRMTVNTUAABAAAAB6IAAAAAAAAAAAAAAAAAAAAAAAA= +<- 334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA + -> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAAAwAAAAEgASAHAAAAASABIAggAAAAAAAABUAAAAAYIAAF04y7oOxMnniToro6WZVuz8Bc24XZ+nsDstHGUVU8b9U5zbT/L3SSnejSWJflzS2HYAYQBsAGkAZAB1AHMAZQByAHYAYQBsAGkAZAB1AHMAZQByAA== +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00610.stderr b/testing/regressions/_exec-transactions/out-ref/00610.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00610.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00610.stdout b/testing/regressions/_exec-transactions/out-ref/00610.stdout new file mode 100644 index 00000000..c1b9bb6c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00610.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00611.stderr b/testing/regressions/_exec-transactions/out-ref/00611.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00611.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00611.stdout b/testing/regressions/_exec-transactions/out-ref/00611.stdout new file mode 100644 index 00000000..5caf7bbd --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00611.stdout @@ -0,0 +1,26 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0611-auth-login-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0611-auth-login-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH LOGIN +<- 334 VXNlcm5hbWU6 + -> dmFsaWR1c2Vy +<- 334 UGFzc3dvcmQ6 + -> dmFsaWRwYXNzd29yZA== +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00612.stderr b/testing/regressions/_exec-transactions/out-ref/00612.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00612.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00612.stdout b/testing/regressions/_exec-transactions/out-ref/00612.stdout new file mode 100644 index 00000000..cd72bffb --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00612.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0612-auth-cram-md5-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0612-auth-cram-md5-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CRAM-MD5 +<- 334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+ + -> dmFsaWR1c2VyIDFiNDQ4MzliOGIxNDA4ZDI5MDY4OGRkMTNhMDYxMGU3 +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00613.stderr b/testing/regressions/_exec-transactions/out-ref/00613.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00613.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00613.stdout b/testing/regressions/_exec-transactions/out-ref/00613.stdout new file mode 100644 index 00000000..6ace7fde --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00613.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0613-auth-cram-sha1-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0613-auth-cram-sha1-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CRAM-SHA1 +<- 334 PDI2NDYuMTYwNzQ3MzI2MUBub2RlLmV4YW1wbGUuY29tPg== + -> dmFsaWR1c2VyIGIwYzY0NTk4NGRjZGRhZjIzMGMwYmM3MzA0ZTUwNWUwMzg1ZWM1MDk= +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00615.stderr b/testing/regressions/_exec-transactions/out-ref/00615.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00615.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00615.stdout b/testing/regressions/_exec-transactions/out-ref/00615.stdout new file mode 100644 index 00000000..43b7b037 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00615.stdout @@ -0,0 +1,26 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0615-auth-ntlm-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0615-auth-ntlm-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH NTLM +<- 334 NTLM supported + -> TlRMTVNTUAABAAAAB6IAAAAAAAAAAAAAAAAAAAAAAAA= +<- 334 TlRMTVNTUAACAAAAAAAAAAAoAAABggAAbco4uro6HnYAAAAAAAAAAAAAAAAAAAAA + -> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAAAwAAAAEgASAHAAAAASABIAggAAAAAAAABUAAAAAYIAAF04y7oOxMnniToro6WZVuz8Bc24XZ+nsDstHGUVU8b9U5zbT/L3SSnejSWJflzS2HYAYQBsAGkAZAB1AHMAZQByAHYAYQBsAGkAZAB1AHMAZQByAA== +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00620.stderr b/testing/regressions/_exec-transactions/out-ref/00620.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00620.stdout b/testing/regressions/_exec-transactions/out-ref/00620.stdout new file mode 100644 index 00000000..ec75e78c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00620.stdout @@ -0,0 +1,42 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0602-auth-cram-md5-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0602-auth-cram-md5-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CRAM-MD5 +<- 334 PDQ1Ny4xNjA3NDY1NzMzQG5vZGUuZXhhbXBsZS5jb20+ + -> dmFsaWR1c2VyIDFiNDQ4MzliOGIxNDA4ZDI5MDY4OGRkMTNhMDYxMGU3 +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00621.stderr b/testing/regressions/_exec-transactions/out-ref/00621.stderr new file mode 100644 index 00000000..c5c5165f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00621.stderr @@ -0,0 +1 @@ +*** Host did not advertise authentication diff --git a/testing/regressions/_exec-transactions/out-ref/00621.stdout b/testing/regressions/_exec-transactions/out-ref/00621.stdout new file mode 100644 index 00000000..44cb366c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00621.stdout @@ -0,0 +1,9 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00622.stderr b/testing/regressions/_exec-transactions/out-ref/00622.stderr new file mode 100644 index 00000000..c5c5165f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00622.stderr @@ -0,0 +1 @@ +*** Host did not advertise authentication diff --git a/testing/regressions/_exec-transactions/out-ref/00622.stdout b/testing/regressions/_exec-transactions/out-ref/00622.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00622.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00623.stderr b/testing/regressions/_exec-transactions/out-ref/00623.stderr new file mode 100644 index 00000000..c5c5165f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00623.stderr @@ -0,0 +1 @@ +*** Host did not advertise authentication diff --git a/testing/regressions/_exec-transactions/out-ref/00623.stdout b/testing/regressions/_exec-transactions/out-ref/00623.stdout new file mode 100644 index 00000000..60b1c5dc --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00623.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00624.stderr b/testing/regressions/_exec-transactions/out-ref/00624.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00624.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00624.stdout b/testing/regressions/_exec-transactions/out-ref/00624.stdout new file mode 100644 index 00000000..f3fb6ce7 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00624.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<** 535 Incorrect authentication data + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00625.stderr b/testing/regressions/_exec-transactions/out-ref/00625.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00625.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/00625.stdout b/testing/regressions/_exec-transactions/out-ref/00625.stdout new file mode 100644 index 00000000..c1b9bb6c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00625.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0610-auth-plain-fail.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<** 535 Incorrect authentication data + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00626.stderr b/testing/regressions/_exec-transactions/out-ref/00626.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00626.stdout b/testing/regressions/_exec-transactions/out-ref/00626.stdout new file mode 100644 index 00000000..acce966e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00626.stdout @@ -0,0 +1,49 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0104-ehlo-tls-only.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0104-ehlo-tls-only.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> AUTH PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<~ 235 Authentication succeeded + ~> MAIL FROM: +<~ 250 Accepted + ~> RCPT TO: +<~ 250 Accepted + ~> DATA +<~ 354 Enter message, ending with "." on a line by itself + ~> Date: Wed, 03 Nov 1999 11:24:29 -0500 + ~> To: user@host1.nodns.test.swaks.net + ~> From: recip@host1.nodns.test.swaks.net + ~> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + ~> Message-Id: <19991103112429.047942@localhost> + ~> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + ~> + ~> This is a test mailing + ~> + ~> + ~> . +<~ 250 OK id=fakeemail + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00634.stderr b/testing/regressions/_exec-transactions/out-ref/00634.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00634.stdout b/testing/regressions/_exec-transactions/out-ref/00634.stdout new file mode 100644 index 00000000..d7115335 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00634.stdout @@ -0,0 +1,41 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0103-ehlo-auth-extra.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0103-ehlo-auth-extra.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH CUSTOM-PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH CUSTOM-PLAIN AHZhbGlkdXNlcgB2YWxpZHBhc3N3b3Jk +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00635.stderr b/testing/regressions/_exec-transactions/out-ref/00635.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00635.stdout b/testing/regressions/_exec-transactions/out-ref/00635.stdout new file mode 100644 index 00000000..93057866 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00635.stdout @@ -0,0 +1,44 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH LOGIN +<- 334 Username: + -> validuser +<- 334 Password: + -> validpassword +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00636.stderr b/testing/regressions/_exec-transactions/out-ref/00636.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00636.stdout b/testing/regressions/_exec-transactions/out-ref/00636.stdout new file mode 100644 index 00000000..fe361005 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00636.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AHZhbGlkdXNlcgBQUk9WSURFRF9CVVRfUkVNT1ZFRA== +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00637.stderr b/testing/regressions/_exec-transactions/out-ref/00637.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00637.stdout b/testing/regressions/_exec-transactions/out-ref/00637.stdout new file mode 100644 index 00000000..3063b2ab --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00637.stdout @@ -0,0 +1,44 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0601-auth-login-success.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH LOGIN +<- 334 Username: + -> validuser +<- 334 Password: + -> PROVIDED_BUT_REMOVED +<- 235 Authentication succeeded + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00800.stderr b/testing/regressions/_exec-transactions/out-ref/00800.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00800.stdout b/testing/regressions/_exec-transactions/out-ref/00800.stdout new file mode 100644 index 00000000..f0133d9e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00800.stdout @@ -0,0 +1,39 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . + -> PROXY TCP4 1.1.1.1 2.2.2.2 111 222 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00801.stderr b/testing/regressions/_exec-transactions/out-ref/00801.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00801.stdout b/testing/regressions/_exec-transactions/out-ref/00801.stdout new file mode 100644 index 00000000..738419d0 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00801.stdout @@ -0,0 +1,39 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . + -> PROXY TCP4 3.3.3.3 4.4.4.4 333 444 +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00802.stderr b/testing/regressions/_exec-transactions/out-ref/00802.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00802.stdout b/testing/regressions/_exec-transactions/out-ref/00802.stdout new file mode 100644 index 00000000..0becb8b9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00802.stdout @@ -0,0 +1,39 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0800-proxy-read.txt part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . + -> DQoNCgANClFVSVQKIREADAEBAQECAgICAG8A3g== +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00803.stderr b/testing/regressions/_exec-transactions/out-ref/00803.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00803.stdout b/testing/regressions/_exec-transactions/out-ref/00803.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00804.stderr b/testing/regressions/_exec-transactions/out-ref/00804.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/00804.stdout b/testing/regressions/_exec-transactions/out-ref/00804.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05000.stderr b/testing/regressions/_exec-transactions/out-ref/05000.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05000.stdout b/testing/regressions/_exec-transactions/out-ref/05000.stdout new file mode 100644 index 00000000..23cb5a8e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05000.stdout @@ -0,0 +1,6 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05001.stderr b/testing/regressions/_exec-transactions/out-ref/05001.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05001.stdout b/testing/regressions/_exec-transactions/out-ref/05001.stdout new file mode 100644 index 00000000..7af98307 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05001.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=foo +<- 220 SERVER ESMTP ready + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05002.stderr b/testing/regressions/_exec-transactions/out-ref/05002.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05002.stdout b/testing/regressions/_exec-transactions/out-ref/05002.stdout new file mode 100644 index 00000000..1ccdbbc3 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05002.stdout @@ -0,0 +1,25 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05003.stderr b/testing/regressions/_exec-transactions/out-ref/05003.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05003.stdout b/testing/regressions/_exec-transactions/out-ref/05003.stdout new file mode 100644 index 00000000..e982ee72 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05003.stdout @@ -0,0 +1,8 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt part-3000-shutdown-accept.txt . +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> QUIT +<~* 220 SERVER ESMTP ready +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05004.stderr b/testing/regressions/_exec-transactions/out-ref/05004.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05004.stdout b/testing/regressions/_exec-transactions/out-ref/05004.stdout new file mode 100644 index 00000000..a25e022c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05004.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05005.stderr b/testing/regressions/_exec-transactions/out-ref/05005.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05005.stdout b/testing/regressions/_exec-transactions/out-ref/05005.stdout new file mode 100644 index 00000000..76915bd4 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05005.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AFVTRVJOQU1FAFBBU1NXT1JE +<- 235 Authentication succeeded + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05006.stderr b/testing/regressions/_exec-transactions/out-ref/05006.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05006.stdout b/testing/regressions/_exec-transactions/out-ref/05006.stdout new file mode 100644 index 00000000..3c11dd3f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05006.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05007.stderr b/testing/regressions/_exec-transactions/out-ref/05007.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05007.stdout b/testing/regressions/_exec-transactions/out-ref/05007.stdout new file mode 100644 index 00000000..8902590f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05007.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05008.stderr b/testing/regressions/_exec-transactions/out-ref/05008.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05008.stdout b/testing/regressions/_exec-transactions/out-ref/05008.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05009.stderr b/testing/regressions/_exec-transactions/out-ref/05009.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05009.stdout b/testing/regressions/_exec-transactions/out-ref/05009.stdout new file mode 100644 index 00000000..a25e022c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05009.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05010.stderr b/testing/regressions/_exec-transactions/out-ref/05010.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05010.stdout b/testing/regressions/_exec-transactions/out-ref/05010.stdout new file mode 100644 index 00000000..a25e022c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05010.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05011.stderr b/testing/regressions/_exec-transactions/out-ref/05011.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05011.stdout b/testing/regressions/_exec-transactions/out-ref/05011.stdout new file mode 100644 index 00000000..a25e022c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05011.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05012.stderr b/testing/regressions/_exec-transactions/out-ref/05012.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05012.stdout b/testing/regressions/_exec-transactions/out-ref/05012.stdout new file mode 100644 index 00000000..075df5ac --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05012.stdout @@ -0,0 +1,39 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP + ~> QUIT +<~ 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05014.stderr b/testing/regressions/_exec-transactions/out-ref/05014.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05014.stdout b/testing/regressions/_exec-transactions/out-ref/05014.stdout new file mode 100644 index 00000000..a25e022c --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05014.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05100.stderr b/testing/regressions/_exec-transactions/out-ref/05100.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05100.stdout b/testing/regressions/_exec-transactions/out-ref/05100.stdout new file mode 100644 index 00000000..207180e9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05100.stdout @@ -0,0 +1,4 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt . +<- 220 SERVER ESMTP ready +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05101.stderr b/testing/regressions/_exec-transactions/out-ref/05101.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05101.stdout b/testing/regressions/_exec-transactions/out-ref/05101.stdout new file mode 100644 index 00000000..80602c8b --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05101.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0300-xclient-basic-accept.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT NAME=foo +<- 220 SERVER ESMTP ready +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05102.stderr b/testing/regressions/_exec-transactions/out-ref/05102.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05102.stdout b/testing/regressions/_exec-transactions/out-ref/05102.stdout new file mode 100644 index 00000000..6c8dfadd --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05102.stdout @@ -0,0 +1,23 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05103.stderr b/testing/regressions/_exec-transactions/out-ref/05103.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05103.stdout b/testing/regressions/_exec-transactions/out-ref/05103.stdout new file mode 100644 index 00000000..74189530 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05103.stdout @@ -0,0 +1,6 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0201-intialize-tls.txt part-0000-connect-standard.txt . +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05104.stderr b/testing/regressions/_exec-transactions/out-ref/05104.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05104.stdout b/testing/regressions/_exec-transactions/out-ref/05104.stdout new file mode 100644 index 00000000..451e41d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05104.stdout @@ -0,0 +1,18 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05105.stderr b/testing/regressions/_exec-transactions/out-ref/05105.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05105.stdout b/testing/regressions/_exec-transactions/out-ref/05105.stdout new file mode 100644 index 00000000..128017d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05105.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AFVTRVJOQU1FAFBBU1NXT1JE +<- 235 Authentication succeeded +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05106.stderr b/testing/regressions/_exec-transactions/out-ref/05106.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05106.stdout b/testing/regressions/_exec-transactions/out-ref/05106.stdout new file mode 100644 index 00000000..8b242dfa --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05106.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05107.stderr b/testing/regressions/_exec-transactions/out-ref/05107.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05107.stdout b/testing/regressions/_exec-transactions/out-ref/05107.stdout new file mode 100644 index 00000000..0384acea --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05107.stdout @@ -0,0 +1,22 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05109.stderr b/testing/regressions/_exec-transactions/out-ref/05109.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05109.stdout b/testing/regressions/_exec-transactions/out-ref/05109.stdout new file mode 100644 index 00000000..451e41d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05109.stdout @@ -0,0 +1,18 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05110.stderr b/testing/regressions/_exec-transactions/out-ref/05110.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05110.stdout b/testing/regressions/_exec-transactions/out-ref/05110.stdout new file mode 100644 index 00000000..451e41d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05110.stdout @@ -0,0 +1,18 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05111.stderr b/testing/regressions/_exec-transactions/out-ref/05111.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05111.stdout b/testing/regressions/_exec-transactions/out-ref/05111.stdout new file mode 100644 index 00000000..451e41d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05111.stdout @@ -0,0 +1,18 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05112.stderr b/testing/regressions/_exec-transactions/out-ref/05112.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05112.stdout b/testing/regressions/_exec-transactions/out-ref/05112.stdout new file mode 100644 index 00000000..f789d941 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05112.stdout @@ -0,0 +1,37 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +<~ 250-SERVER Hello Server [1.1.1.1] +<~ 250-STARTTLS +<~ 250-PIPELINING +<~ 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<~ 250-PRDR +<~ 250-AUTH CRAM-MD5 +<~ 250-AUTH CRAM-SHA1 +<~ 250-AUTH PLAIN +<~ 250-AUTH LOGIN +<~ 250-AUTH NTLM +<~ 250-AUTH DIGEST-MD5 +<~ 250-AUTH=login +<~ 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05114.stderr b/testing/regressions/_exec-transactions/out-ref/05114.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05114.stdout b/testing/regressions/_exec-transactions/out-ref/05114.stdout new file mode 100644 index 00000000..451e41d8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05114.stdout @@ -0,0 +1,18 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05115.stderr b/testing/regressions/_exec-transactions/out-ref/05115.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05115.stdout b/testing/regressions/_exec-transactions/out-ref/05115.stdout new file mode 100644 index 00000000..b1e9f5a7 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05115.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2504-data-data-only.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2504-data-data-only.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05116.stderr b/testing/regressions/_exec-transactions/out-ref/05116.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05116.stdout b/testing/regressions/_exec-transactions/out-ref/05116.stdout new file mode 100644 index 00000000..bad23fe1 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05116.stdout @@ -0,0 +1,36 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05200.stderr b/testing/regressions/_exec-transactions/out-ref/05200.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05200.stdout b/testing/regressions/_exec-transactions/out-ref/05200.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05201.stderr b/testing/regressions/_exec-transactions/out-ref/05201.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05201.stdout b/testing/regressions/_exec-transactions/out-ref/05201.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05202.stderr b/testing/regressions/_exec-transactions/out-ref/05202.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05202.stdout b/testing/regressions/_exec-transactions/out-ref/05202.stdout new file mode 100644 index 00000000..0842f6e4 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05202.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05203.stderr b/testing/regressions/_exec-transactions/out-ref/05203.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05203.stdout b/testing/regressions/_exec-transactions/out-ref/05203.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05204.stderr b/testing/regressions/_exec-transactions/out-ref/05204.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05204.stdout b/testing/regressions/_exec-transactions/out-ref/05204.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05205.stderr b/testing/regressions/_exec-transactions/out-ref/05205.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05205.stdout b/testing/regressions/_exec-transactions/out-ref/05205.stdout new file mode 100644 index 00000000..c63a9ebd --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05205.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0600-auth-plain-success.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> AUTH PLAIN AFVTRVJOQU1FAFBBU1NXT1JE +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05206.stderr b/testing/regressions/_exec-transactions/out-ref/05206.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05206.stdout b/testing/regressions/_exec-transactions/out-ref/05206.stdout new file mode 100644 index 00000000..f0829ae8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05206.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05207.stderr b/testing/regressions/_exec-transactions/out-ref/05207.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05207.stdout b/testing/regressions/_exec-transactions/out-ref/05207.stdout new file mode 100644 index 00000000..c51da195 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05207.stdout @@ -0,0 +1,21 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05209.stderr b/testing/regressions/_exec-transactions/out-ref/05209.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05209.stdout b/testing/regressions/_exec-transactions/out-ref/05209.stdout new file mode 100644 index 00000000..02d0f8f2 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05209.stdout @@ -0,0 +1,5 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05210.stderr b/testing/regressions/_exec-transactions/out-ref/05210.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05210.stdout b/testing/regressions/_exec-transactions/out-ref/05210.stdout new file mode 100644 index 00000000..02d0f8f2 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05210.stdout @@ -0,0 +1,5 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05211.stderr b/testing/regressions/_exec-transactions/out-ref/05211.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05211.stdout b/testing/regressions/_exec-transactions/out-ref/05211.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05212.stderr b/testing/regressions/_exec-transactions/out-ref/05212.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05212.stdout b/testing/regressions/_exec-transactions/out-ref/05212.stdout new file mode 100644 index 00000000..8cafdbaf --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05212.stdout @@ -0,0 +1,24 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0200-starttls-basic.txt part-0101-ehlo-all.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> STARTTLS +<- 220 TLS go ahead +=== TLS started with cipher VERSION:CIPHER:BITS +=== TLS no local certificate set +=== TLS peer DN="/C=US/ST=Indiana/O=Swaks Development/CN=node.example.com/emailAddress=proj-swaks@jetmore.net" + ~> EHLO hserver +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05214.stderr b/testing/regressions/_exec-transactions/out-ref/05214.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05214.stdout b/testing/regressions/_exec-transactions/out-ref/05214.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05215.stderr b/testing/regressions/_exec-transactions/out-ref/05215.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05215.stdout b/testing/regressions/_exec-transactions/out-ref/05215.stdout new file mode 100644 index 00000000..8e43558f --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05215.stdout @@ -0,0 +1,23 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2504-data-data-only.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2504-data-data-only.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05216.stderr b/testing/regressions/_exec-transactions/out-ref/05216.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05216.stdout b/testing/regressions/_exec-transactions/out-ref/05216.stdout new file mode 100644 index 00000000..6e09cb23 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05216.stdout @@ -0,0 +1,35 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2502-data-read.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +=== Dropping connection diff --git a/testing/regressions/_exec-transactions/out-ref/05300.stderr b/testing/regressions/_exec-transactions/out-ref/05300.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05300.stdout b/testing/regressions/_exec-transactions/out-ref/05300.stdout new file mode 100644 index 00000000..4373bd69 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05300.stdout @@ -0,0 +1,17 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> 11 lines sent +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05301.stderr b/testing/regressions/_exec-transactions/out-ref/05301.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05301.stdout b/testing/regressions/_exec-transactions/out-ref/05301.stdout new file mode 100644 index 00000000..a408fd07 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05301.stdout @@ -0,0 +1,34 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +=== response in FLOATs +<- 220 SERVER ESMTP ready + -> EHLO hserver +=== response in FLOATs +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +=== response in FLOATs +<- 250 Accepted + -> RCPT TO: +=== response in FLOATs +<- 250 Accepted + -> DATA +=== response in FLOATs +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +=== response in FLOATs +<- 250 OK id=fakeemail + -> QUIT +=== response in FLOATs +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05302.stderr b/testing/regressions/_exec-transactions/out-ref/05302.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05302.stdout b/testing/regressions/_exec-transactions/out-ref/05302.stdout new file mode 100644 index 00000000..0ff1c2ca --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05302.stdout @@ -0,0 +1,34 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +=== response in INTs +<- 220 SERVER ESMTP ready + -> EHLO hserver +=== response in INTs +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +=== response in INTs +<- 250 Accepted + -> RCPT TO: +=== response in INTs +<- 250 Accepted + -> DATA +=== response in INTs +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +=== response in INTs +<- 250 OK id=fakeemail + -> QUIT +=== response in INTs +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05303.stderr b/testing/regressions/_exec-transactions/out-ref/05303.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05303.stdout b/testing/regressions/_exec-transactions/out-ref/05303.stdout new file mode 100644 index 00000000..3dcbe5a6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05303.stdout @@ -0,0 +1,27 @@ +Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05304.stderr b/testing/regressions/_exec-transactions/out-ref/05304.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05304.stdout b/testing/regressions/_exec-transactions/out-ref/05304.stdout new file mode 100644 index 00000000..19c80a91 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05304.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready +EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP +MAIL FROM: +<- 250 Accepted +RCPT TO: +<- 250 Accepted +DATA +<- 354 Enter message, ending with "." on a line by itself +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + +. +<- 250 OK id=fakeemail +QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05305.stderr b/testing/regressions/_exec-transactions/out-ref/05305.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05305.stdout b/testing/regressions/_exec-transactions/out-ref/05305.stdout new file mode 100644 index 00000000..27985ce5 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05305.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +220 SERVER ESMTP ready + -> EHLO hserver +250-SERVER Hello Server [1.1.1.1] +250 HELP + -> MAIL FROM: +250 Accepted + -> RCPT TO: +250 Accepted + -> DATA +354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +250 OK id=fakeemail + -> QUIT +221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05306.stderr b/testing/regressions/_exec-transactions/out-ref/05306.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05306.stdout b/testing/regressions/_exec-transactions/out-ref/05306.stdout new file mode 100644 index 00000000..f14623a9 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05306.stdout @@ -0,0 +1,27 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +220 SERVER ESMTP ready +EHLO hserver +250-SERVER Hello Server [1.1.1.1] +250 HELP +MAIL FROM: +250 Accepted +RCPT TO: +250 Accepted +DATA +354 Enter message, ending with "." on a line by itself +Date: Wed, 03 Nov 1999 11:24:29 -0500 +To: user@host1.nodns.test.swaks.net +From: recip@host1.nodns.test.swaks.net +Subject: test Wed, 03 Nov 1999 11:24:29 -0500 +Message-Id: <19991103112429.047942@localhost> +X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + +This is a test mailing + + +. +250 OK id=fakeemail +QUIT +221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05307.stderr b/testing/regressions/_exec-transactions/out-ref/05307.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05307.stdout b/testing/regressions/_exec-transactions/out-ref/05307.stdout new file mode 100644 index 00000000..4606aef5 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05307.stdout @@ -0,0 +1,49 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +< 0000: 32 32 30 20 53 45 52 56 45 52 20 45 53 4D 54 50 220.SERVER.ESMTP +< 0016: 20 72 65 61 64 79 0D 0A .ready.. +<- 220 SERVER ESMTP ready + -> EHLO hserver + > 0000: 45 48 4C 4F 20 68 73 65 72 76 65 72 0D 0A EHLO.hserver.. +< 0000: 32 35 30 2D 53 45 52 56 45 52 20 48 65 6C 6C 6F 250-SERVER.Hello +< 0016: 20 53 65 72 76 65 72 20 5B 31 2E 31 2E 31 2E 31 .Server.[1.1.1.1 +< 0032: 5D 0D 0A ].. +< 0000: 32 35 30 20 48 45 4C 50 0D 0A 250.HELP.. +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: + > 0000: 4D 41 49 4C 20 46 52 4F 4D 3A 3C 72 65 63 69 70 MAIL.FROM: 0016: 40 68 6F 73 74 31 2E 6E 6F 64 6E 73 2E 74 65 73 @host1.nodns.tes + > 0032: 74 2E 73 77 61 6B 73 2E 6E 65 74 3E 0D 0A t.swaks.net>.. +< 0000: 32 35 30 20 41 63 63 65 70 74 65 64 0D 0A 250.Accepted.. +<- 250 Accepted + -> RCPT TO: + > 0000: 52 43 50 54 20 54 4F 3A 3C 75 73 65 72 40 68 6F RCPT.TO: 0016: 73 74 31 2E 6E 6F 64 6E 73 2E 74 65 73 74 2E 73 st1.nodns.test.s + > 0032: 77 61 6B 73 2E 6E 65 74 3E 0D 0A waks.net>.. +< 0000: 32 35 30 20 41 63 63 65 70 74 65 64 0D 0A 250.Accepted.. +<- 250 Accepted + -> DATA + > 0000: 44 41 54 41 0D 0A DATA.. +< 0000: 33 35 34 20 45 6E 74 65 72 20 6D 65 73 73 61 67 354.Enter.messag +< 0016: 65 2C 20 65 6E 64 69 6E 67 20 77 69 74 68 20 22 e,.ending.with." +< 0032: 2E 22 20 6F 6E 20 61 20 6C 69 6E 65 20 62 79 20 .".on.a.line.by. +< 0048: 69 74 73 65 6C 66 0D 0A itself.. +<- 354 Enter message, ending with "." on a line by itself + -> Subject: foo + -> + -> body + -> + -> + -> . + > 0000: 53 75 62 6A 65 63 74 3A 20 66 6F 6F 0D 0A 0D 0A Subject:.foo.... + > 0016: 62 6F 64 79 0D 0A 0D 0A 0D 0A 2E 0D 0A body......... +< 0000: 32 35 30 20 4F 4B 20 69 64 3D 66 61 6B 65 65 6D 250.OK.id=fakeem +< 0016: 61 69 6C 0D 0A ail.. +<- 250 OK id=fakeemail + -> QUIT + > 0000: 51 55 49 54 0D 0A QUIT.. +< 0000: 32 32 31 20 53 45 52 56 45 52 20 63 6C 6F 73 69 221.SERVER.closi +< 0016: 6E 67 20 63 6F 6E 6E 65 63 74 69 6F 6E 0D 0A ng.connection.. +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05308.stderr b/testing/regressions/_exec-transactions/out-ref/05308.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05308.stdout b/testing/regressions/_exec-transactions/out-ref/05308.stdout new file mode 100644 index 00000000..cb5886b0 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05308.stdout @@ -0,0 +1,19 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . + -> EHLO hserver + -> MAIL FROM: + -> RCPT TO: + -> DATA + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . + -> QUIT +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05309.stderr b/testing/regressions/_exec-transactions/out-ref/05309.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05309.stdout b/testing/regressions/_exec-transactions/out-ref/05309.stdout new file mode 100644 index 00000000..8c190c8e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05309.stdout @@ -0,0 +1,11 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0100-ehlo-basic.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP +<- 250 Accepted +<- 250 Accepted +<- 354 Enter message, ending with "." on a line by itself +<- 250 OK id=fakeemail +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05310.stderr b/testing/regressions/_exec-transactions/out-ref/05310.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05310.stdout b/testing/regressions/_exec-transactions/out-ref/05310.stdout new file mode 100644 index 00000000..02efd940 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05310.stdout @@ -0,0 +1,24 @@ +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection diff --git a/testing/regressions/_exec-transactions/out-ref/05311.stderr b/testing/regressions/_exec-transactions/out-ref/05311.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05311.stdout b/testing/regressions/_exec-transactions/out-ref/05311.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05312.stderr b/testing/regressions/_exec-transactions/out-ref/05312.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05312.stdout b/testing/regressions/_exec-transactions/out-ref/05312.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05313.stderr b/testing/regressions/_exec-transactions/out-ref/05313.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05313.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/05313.stdout b/testing/regressions/_exec-transactions/out-ref/05313.stdout new file mode 100644 index 00000000..0c92e916 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05313.stdout @@ -0,0 +1,22 @@ +<** 535 Incorrect authentication data + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05314.stderr b/testing/regressions/_exec-transactions/out-ref/05314.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05314.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/05314.stdout b/testing/regressions/_exec-transactions/out-ref/05314.stdout new file mode 100644 index 00000000..0c92e916 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05314.stdout @@ -0,0 +1,22 @@ +<** 535 Incorrect authentication data + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/05315.stderr b/testing/regressions/_exec-transactions/out-ref/05315.stderr new file mode 100644 index 00000000..9f64b7d6 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05315.stderr @@ -0,0 +1 @@ +*** No authentication type succeeded diff --git a/testing/regressions/_exec-transactions/out-ref/05315.stdout b/testing/regressions/_exec-transactions/out-ref/05315.stdout new file mode 100644 index 00000000..65a409c8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/05315.stdout @@ -0,0 +1 @@ +<** 535 Incorrect authentication data diff --git a/testing/regressions/_exec-transactions/out-ref/05316.stderr b/testing/regressions/_exec-transactions/out-ref/05316.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/05316.stdout b/testing/regressions/_exec-transactions/out-ref/05316.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/06000.stderr b/testing/regressions/_exec-transactions/out-ref/06000.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/06000.stdout b/testing/regressions/_exec-transactions/out-ref/06000.stdout new file mode 100644 index 00000000..f3d9b84e --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/06000.stdout @@ -0,0 +1,27 @@ +=== Trying 127.0.0.1:8125... +=== Connected to 127.0.0.1. +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with remote host. diff --git a/testing/regressions/_exec-transactions/out-ref/06001.stderr b/testing/regressions/_exec-transactions/out-ref/06001.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/06001.stdout b/testing/regressions/_exec-transactions/out-ref/06001.stdout new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/06005.stderr b/testing/regressions/_exec-transactions/out-ref/06005.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/06005.stdout b/testing/regressions/_exec-transactions/out-ref/06005.stdout new file mode 100644 index 00000000..4c2baeb8 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/06005.stdout @@ -0,0 +1,27 @@ +=== Trying 127.0.0.1:8125... +=== Connected to 127.0.0.1. +<- 220 SERVER ESMTP ready for peer 127.0.0.1(8126) + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with remote host. diff --git a/testing/regressions/_exec-transactions/out-ref/07000.stderr b/testing/regressions/_exec-transactions/out-ref/07000.stderr new file mode 100644 index 00000000..e69de29b diff --git a/testing/regressions/_exec-transactions/out-ref/07000.stdout b/testing/regressions/_exec-transactions/out-ref/07000.stdout new file mode 100644 index 00000000..00ba6e1a --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/07000.stdout @@ -0,0 +1,27 @@ +=== Trying /path/to/OUTDIR/07000.sock... +=== Connected to /path/to/OUTDIR/07000.sock. +<- 220 SERVER ESMTP ready for peer () + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250 HELP + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with remote host. diff --git a/testing/regressions/_exec-transactions/out-ref/07001.stderr b/testing/regressions/_exec-transactions/out-ref/07001.stderr new file mode 100644 index 00000000..9cbe6dd0 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/07001.stderr @@ -0,0 +1,2 @@ +*** Error connecting to /path/to/OUTDIR/07001.sock: +*** connect: No such file or directory diff --git a/testing/regressions/_exec-transactions/out-ref/07001.stdout b/testing/regressions/_exec-transactions/out-ref/07001.stdout new file mode 100644 index 00000000..116a4ace --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/07001.stdout @@ -0,0 +1 @@ +=== Trying /path/to/OUTDIR/07001.sock... diff --git a/testing/regressions/_exec-transactions/test.txt b/testing/regressions/_exec-transactions/test.txt new file mode 100644 index 00000000..ee5d1b3f --- /dev/null +++ b/testing/regressions/_exec-transactions/test.txt @@ -0,0 +1,264 @@ + +00000 - basic send + 0 happy path + 1 RCPT single recip (failed) + 2 RCPT multiple recips (success) + 3 RCPT multiple recips (mixed success) + 4 RCPT multiple recips (all failed) + 10 MAIL rejected + 50 --pipeline success + 51 --pipeline MAIL failure + 52 --pipeline RCPT failure + 53 --pipeline DATA failure + 54 --pipeline multiple RCPT: accept accept + 55 --pipeline multiple RCPT: accept fail + 56 --pipeline multiple RCPT: fail fail + +00200 - tls + 0 --tls success + 1 --tls fail (not advertised) + 2 --tls fail (something protocol related, not sure what yet) (NOTE THAT WE JUST EXIT, NOT QUIT - IS THAT CORRECT?) + 3 --tls --tls-optional unadvertised (should succeed) +# 4 --tls --tls-optional protocol (should succeed) + 5 --tls --tls-optional-strict unadvertised (should succeed) +# 6 --tls --tls-optional-strict protocol (should fail) + 7 --tls-on-connect success + 8 --tls-on-connect failure +# 10 --tls-cert --tls-key + 11 --tls-verify (should fail - server's key is not signed by a known CA) + 12 --tls-verify --tls-ca-path (should succeed - server's key is signed by the ca) + 13 --tls-get-peer-cert (STDOUT) + 14 --tls-get-peer-cert (FILE) +# 15 --tls-sni +# 16 --tls-protocol (this might be difficult to get cross-platform reproducibility) +# 17 --tls-cipher (this might be difficult to get cross-platform reproducibility) + +00300 - xclient (COMPLETE) + 0 happy path + 1 --xclient-delim + 2 --xclient-delim at beginning, end, consecutive are noops + 3 --xclient + 4 --xclient mixed with --xclient-SPECIFIC + 5 --xclient, --xclient-SPECIFIC, --xclient-delim + 6 --xclient allows invalid SPECIFIC + 7 --xclient allows unadvertised SPECIFIC + 8 --xclient-SPECIFIC fails when SPECIFIC isn't available + 9 --xclient-no-verify allows --xclient-SPECIFIC to work even when SPECIFIC isn't available + 10 --xclient + --tls + 11 --xclient-before-starttls + --xclient + --tls + 12 --xclient not advertised + 13 --xclient not advertised --xclient-optional + 14 --xclient not advertised --xclient-optional-strict + 15 --xclient failed +## 16 --xclient failed --xclient-optional (THIS HAS A WEIRD MESSAGE, SKIPPING FOR NOW) + 17 --xclient failed --xclient-optional-strict +# 18 --xclient --pipeline success - it's unclear to me the practical purpose of using xclient with pipelining, or how to really test +# 19 --xclient --pipeline failure + +00500 - prdr (COMPLETE) + 0 happy path - 3 addrs, 3 accepts + 1 accept accept fail (all fails post-PRDR) + 2 accept fail accept (all fails post-PRDR) + 3 accept fail fail (all fails post-PRDR) + 4 fail accept accept (all fails post-PRDR) + 5 fail accept fail (all fails post-PRDR) + 6 fail fail accept (all fails post-PRDR) + 7 fail fail fail (all fails post-PRDR) + 10 accept fail (fail is in rcpt) (message downscales to non-PRDR if only one accepted recipient) + 11 accept (message downscales to non-PRDR if only one accepted recipient) + 12 fail (message downscales to non-PRDR if no accepted recipients) + 13 accept fail accept (fail is in rcpt) (note the rcpt-failed address isn't shown at all for prdr) + 14 fail-prdr fail-rcpt accept + + +00600 - auth + 0 PLAIN success + 1 LOGIN success + 2 CRAM-MD5 success + 3 CRAM-SHA1 success +## 4 DIGEST-MD5 success + 5 NTLM success + 10 PLAIN failed + 11 LOGIN failed + 12 CRAM-MD5 failed + 13 CRAM-SHA1 failure +# 14 DIGEST-MD5 failure + 15 NTLM failure + 20 --auth -> choose protocol (this relies on the fact that CRAM-MD5 is tried first in the code) + 21 --auth not advertised + 22 --auth not advertised --auth-optional + 23 --auth-not-advertised --auth-optional-strict + 24 --auth failed --auth-optional + 25 --auth failed --auth-optional-strict + 26 --auth pulls capabilities from second EHLO when --tls is used +# 27 --auth-extra domain DIGEST-MD5 +# 28 --auth-extra realm DIGEST-MD5 +# 29 --auth-extra dmd5-serv-type DIGEST-MD5 +# 30 --auth-extra dmd5-host DIGEST-MD5 +# 31 --auth-extra dmd5-serv-name DIGEST-MD5 +## 32 --auth-extra domain NTLM - leave off for now, doesn't seem to get sent even when we specify it, either a library or protocol issue +## 33 --auth-extra realm NTLM - leave off for now, doesn't seem to get sent even when we specify it, either a library or protocol issue + 34 --auth-map + 35 --auth-plaintext + 36 --auth-hide-password + 37 --auth-plaintext --auth-hide-password + +00800 - proxy + 0 v1 (implicit), --proxy-*, success + 1 v1 (explicit), --proxy, success + 2 v2, --proxy-*, success +# 3 v2, --proxy, success +# 4 proxy + tls-on-connect + + + + +05000 - misc stuff + +05000 - --quit-after + 0 --quit-after connect + 1 --quit-after xclient + 2 --quit-after tls (with --tls) + 3 --quit-after tls (with --tls-on-connect) ## This sends QUIT out of sync with the protocol but I think it's ok. Either use --drop-after to not care about the protocol, or use `--tlsc --quit-after connect` to be in sync + 4 --quit-after helo + 5 --quit-after auth + 6 --quit-after mail + 7 --quit-after rcpt +## 8 --quit-after xclient (not using xclient) (unlike tls and auth, this isn't documented to fail no matter what - need to understand what's up) + 9 --quit-after first-helo (without --tls) + 10 --quit-after first-helo (with --tls) + 11 --quit-after tls (nt using tls) + 12 --quit-after helo (with --tls) +## 13 --quit-after helo (with --xclient) (SEEMS TO BE BROKEN - SHOULD BE QUITTING AT SECOND HELO, NOT FIRST) + 14 --quit-after auth (not using auth) + +05100 - --drop-after + 100 --drop-after connect + 1 --drop-after xclient + 2 --drop-after tls (with --tls) + 3 --drop-after tls (with --tls-on-connect) + 4 --drop-after helo + 5 --drop-after auth + 6 --drop-after mail + 7 --drop-after rcpt +## 8 --drop-after xclient (not using xclient) (unlike tls and auth, this isn't documented to fail no matter what - need to understand what's up) + 9 --drop-after first-helo (without --tls) + 10 --drop-after first-helo (with --tls) + 11 --drop-after tls (nt using tls) + 12 --drop-after helo (with --tls) +## 13 --drop-after helo (with --xclient) (SEEMS TO BE BROKEN - SHOULD BE QUITTING AT SECOND HELO, NOT FIRST) + 14 --drop-after auth (not using auth) + 15 --drop-after data + 16 --drop-after dot + +05200 - --drop-after-send + 200 --drop-after connect +## 1 --drop-after xclient - pending figuring out the right server actions for xclient + 2 --drop-after tls (with --tls) + 3 --drop-after tls (with --tls-on-connect) + 4 --drop-after helo + 5 --drop-after auth + 6 --drop-after mail + 7 --drop-after rcpt +## 8 --drop-after xclient (not using xclient) (unlike tls and auth, this isn't documented to fail no matter what - need to understand what's up) + 9 --drop-after first-helo (without --tls) + 10 --drop-after first-helo (with --tls) + 11 --drop-after tls (nt using tls) + 12 --drop-after helo (with --tls) +## 13 --drop-after helo (with --xclient) (SEEMS TO BE BROKEN - SHOULD BE QUITTING AT SECOND HELO, NOT FIRST) + 14 --drop-after auth (not using auth) + 15 --drop-after data + 16 --drop-after dot + +05300 - output options + 0 --suppress-data + 1 --show-time-lapse + 2 --show-time-lapse i + 3 --no-info-hints + 4 --no-send-hints + 5 --no-receive-hints + 6 --no-hints + 7 --show-raw-text + 8 --hide-receive + 9 --hide-send + 10 --hide-informational + 11 --hide-all + 12 --silent (no errors) + 13 --silent (errors) + 14 --silent 1 (errors) + 15 --silent 2 (errors) + 16 --silent 3 (errors) + +# this needs fleshing out with failures (what if the local interface doesn't exist. What if nothing's listing at the server or port? What about IPv6?) but it's +# finicky so I'm just getting the happy path for now +06000 - tcp specific + 0 --server --port (127.0.0.1) +# 1 --server --port (::1) skip for now, definitely something weird with test server and ::1 +# 2 --server --port -4 +# 3 --server --port -6 + 5 --server --port --local-interface --local-port succeed + + +07000 - unix socket specific + 0 happy path + 1 nothing listening on the socket + + + + part-0000-connect-standard.txt \ + part-0101-ehlo-all.txt \ + part-0200-starttls-basic.txt \ + part-0101-ehlo-all.txt \ + part-1000-mail-basic.txt \ + part-1100-rcpt-basic-accept.txt \ + part-2500-data-accept-basic.txt \ + part-3000-shutdown-accept.txt \ + + part-0000-connect-standard.txt \ + part-0001-connect-with-print.txt \ + part-0100-ehlo-basic.txt \ + part-0101-ehlo-all.txt \ + part-0102-ehlo-xclient-fewer.txt \ + part-0103-ehlo-auth-extra.txt \ + part-0104-ehlo-tls-only.txt \ + part-0105-ehlo-post-tls-info.txt \ + part-0200-starttls-basic.txt \ + part-0201-intialize-tls.txt \ + part-0300-xclient-basic-accept.txt \ + part-0301-xclient-basic-reject.txt \ + part-0500-prdr-start.txt \ + part-0501-prdr-addr-accept.txt \ + part-0502-prdr-addr-reject.txt \ + part-0600-auth-plain-success.txt \ + part-0601-auth-login-success.txt \ + part-0602-auth-cram-md5-success.txt \ + part-0603-auth-cram-sha1-success.txt \ + part-0605-auth-ntlm-success.txt \ + part-0610-auth-plain-fail.txt \ + part-0611-auth-login-fail.txt \ + part-0612-auth-cram-md5-fail.txt \ + part-0613-auth-cram-sha1-fail.txt \ + part-0615-auth-ntlm-fail.txt \ + part-0800-proxy-read.txt \ + part-1000-mail-basic.txt \ + part-1001-mail-reject.txt \ + part-1010-mail-pipeline-read.txt \ + part-1011-mail-pipeline-respond-success.txt \ + part-1012-mail-pipeline-respond-failure.txt \ + part-1100-rcpt-basic-accept.txt \ + part-1101-rcpt-basic-reject.txt \ + part-1110-rcpt-pipeline-read.txt \ + part-1111-rcpt-pipeline-respond-success.txt \ + part-1112-rcpt-pipeline-respond-failure.txt \ + part-1113-rcpt-pipeline-respond-failure-cascade.txt \ + part-2500-data-accept-basic.txt \ + part-2501-data-accept.txt \ + part-2502-data-read.txt \ + part-2503-data-reject.txt \ + part-2504-data-data-only.txt \ + part-2505-data-message-only.txt \ + part-2510-data-pipeline-data-read.txt \ + part-2511-data-pipeline-data-respond-success.txt \ + part-2512-data-pipeline-data-respond-failure.txt \ + part-2513-data-pipeline-data-respond-failure-cascade.txt \ + part-3000-shutdown-accept.txt \ From 0ef11f9b435baac4ec423703539c0ac7dc0e1b3d Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Wed, 23 Dec 2020 08:47:34 -0500 Subject: [PATCH 18/98] Add missing option hints from --proxy-version documentation --- Changes | 1 + doc/base.pod | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index 554a8e94..00659faa 100644 --- a/Changes +++ b/Changes @@ -964,3 +964,4 @@ * 20201126 --port and --local-port should override a port set in --server or --local-port. * 20201222 Add transaction-level tests +* 20201223 Add missing option hints from --proxy-version documentation diff --git a/doc/base.pod b/doc/base.pod index bede92f0..46dc73ab 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -695,7 +695,7 @@ When C<--proxy> is not used, all of C<--proxy-family>, C<--proxy-source>, C<--pr =item --proxy-version [ 1 | 2 ] -Whether to use version 1 (human readable) or version 2 (binary) of the Proxy protocol. Version 1 is the default. Version 2 is only implemented through the "address block", and is roughly on par with the information provided in version 1. +Whether to use version 1 (human readable) or version 2 (binary) of the Proxy protocol. Version 1 is the default. Version 2 is only implemented through the "address block", and is roughly on par with the information provided in version 1. (Arg-Required, From-Prompt) =item --proxy [] From 936c73bde43e3033179f0495471f599d9eef5c83 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Wed, 23 Dec 2020 08:49:40 -0500 Subject: [PATCH 19/98] Remove documentation note about which Authen::NTLM version to use --- Changes | 2 ++ doc/base.pod | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index 00659faa..1d7330cb 100644 --- a/Changes +++ b/Changes @@ -965,3 +965,5 @@ --local-port. * 20201222 Add transaction-level tests * 20201223 Add missing option hints from --proxy-version documentation +* 20201223 Remove documentation note about which Authen::NTLM version to use, + there's only one on CPAN anymore. diff --git a/doc/base.pod b/doc/base.pod index 46dc73ab..45f315e7 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -555,7 +555,7 @@ The CRAM-SHA1 authenticator requires the L module. This type has o =item NTLM/SPA/MSN -These authenticators require the Authen::NTLM module. Note that there are two modules using the L namespace on CPAN. The Mark Bush implementation (Authen/NTLM-1.03.tar.gz) is the version required by Swaks. This type has been tested against Exim, Communigate, and Exchange 2007. +These authenticators require the Authen::NTLM module. This type has been tested against Exim, Communigate, and Exchange 2007. In addition to the standard username and password, this authentication type can also recognize a "domain". The domain can be set using the C<--auth-extra> "domain" keyword. Note that this has never been tested with a mail server that doesn't ignore DOMAIN so this may be implemented incorrectly. From 889c0c5f39695f681d7d8110d36314c3685905e6 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Wed, 23 Dec 2020 10:57:33 -0500 Subject: [PATCH 20/98] When an unsupported XCLIENT attribute is requested, print the missing attribute in the error --- Changes | 2 ++ swaks | 29 ++++++++++++++----- .../regressions/_exec-transactions/00320.test | 10 +++++++ .../_exec-transactions/out-ref/00308.stderr | 2 +- .../_exec-transactions/out-ref/00320.stderr | 1 + .../_exec-transactions/out-ref/00320.stdout | 20 +++++++++++++ .../regressions/_exec-transactions/test.txt | 1 + 7 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 testing/regressions/_exec-transactions/00320.test create mode 100644 testing/regressions/_exec-transactions/out-ref/00320.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/00320.stdout diff --git a/Changes b/Changes index 1d7330cb..47ea8b38 100644 --- a/Changes +++ b/Changes @@ -967,3 +967,5 @@ * 20201223 Add missing option hints from --proxy-version documentation * 20201223 Remove documentation note about which Authen::NTLM version to use, there's only one on CPAN anymore. +* 20201223 When an unsupported XCLIENT attribute is requested, print the + missing attribute in the error. diff --git a/swaks b/swaks index 43e37035..a5bb14e6 100755 --- a/swaks +++ b/swaks @@ -342,13 +342,17 @@ sub xclient_try { # 3 - xclient attempted but did not succeed $G::drop_before_read = 1 if ($G::drop_after_send eq 'xclient'); my $result = do_smtp_xclient($ehlo); - if ($result == 1) { + if ($result->{code} == 1) { ptrans(12, "Host did not advertise XCLIENT"); do_smtp_quit(1, 33) if (!$G::xclient{optional}); - } elsif ($result == 2) { - ptrans(12, "Host did not advertise requested XCLIENT attributes"); + } elsif ($result->{code} == 2) { + my $error = 'Host did not advertise requested XCLIENT attributes'; + if (exists($result->{missing_attrs}) && ref($result->{missing_attrs}) eq 'ARRAY' && scalar(@{$result->{missing_attrs}})) { + $error .= ' (' . join(', ', sort(@{$result->{missing_attrs}})) . ')'; + } + ptrans(12, $error); do_smtp_quit(1, 33) if (!$G::xclient{optional}); - } elsif ($result == 3) { + } elsif ($result->{code} == 3) { ptrans(12, "XCLIENT attempted but failed. Exiting"); do_smtp_quit(1, 33) if ($G::xclient{optional} != 1); } else { @@ -653,26 +657,35 @@ sub do_smtp_tls { sub do_smtp_xclient { my $e = shift; + my $return = { code => 0 }; # 0 - xclient succeeded normally # 1 - xclient not advertised # 2 - xclient advertised but not attempted, mismatch in requested attrs # 3 - xclient attempted but did not succeed if (!$e->{XCLIENT}) { - return(1); + $return->{code} = 1; + return($return); } my @parts = (); foreach my $attr (keys %{$G::xclient{attr}}) { if (!$e->{XCLIENT}{$attr}) { - return(2) if (!$G::xclient{no_verify}); + if (!$G::xclient{no_verify}) { + $return->{code} = 2; + push(@{$return->{missing_attrs}}, $attr); + } } } + return($return) if ($return->{code} != 0); foreach my $string (@{$G::xclient{strings}}) { my $str = "XCLIENT " . $string; - do_smtp_gen($str, '220') || return(3); + if (!do_smtp_gen($str, '220')) { + $return->{code} = 3; + return($return); + } } - return(0); + return($return); } # see xtext encoding in http://tools.ietf.org/html/rfc1891 diff --git a/testing/regressions/_exec-transactions/00320.test b/testing/regressions/_exec-transactions/00320.test new file mode 100644 index 00000000..72cbd41c --- /dev/null +++ b/testing/regressions/_exec-transactions/00320.test @@ -0,0 +1,10 @@ +auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr + +test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ + --xclient-login jetmore --xclient-helo foo --xclient-reverse-name bar --xclient-addr 1.1.1.1 \ + --pipe '%TEST_SERVER% --silent --domain pipe \ + part-0000-connect-standard.txt \ + part-0102-ehlo-xclient-fewer.txt \ + part-3000-shutdown-accept.txt \ + ' + diff --git a/testing/regressions/_exec-transactions/out-ref/00308.stderr b/testing/regressions/_exec-transactions/out-ref/00308.stderr index 55203002..121ce122 100644 --- a/testing/regressions/_exec-transactions/out-ref/00308.stderr +++ b/testing/regressions/_exec-transactions/out-ref/00308.stderr @@ -1 +1 @@ -*** Host did not advertise requested XCLIENT attributes +*** Host did not advertise requested XCLIENT attributes (LOGIN) diff --git a/testing/regressions/_exec-transactions/out-ref/00320.stderr b/testing/regressions/_exec-transactions/out-ref/00320.stderr new file mode 100644 index 00000000..0b3585ed --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00320.stderr @@ -0,0 +1 @@ +*** Host did not advertise requested XCLIENT attributes (HELO, LOGIN, REVERSE_NAME) diff --git a/testing/regressions/_exec-transactions/out-ref/00320.stdout b/testing/regressions/_exec-transactions/out-ref/00320.stdout new file mode 100644 index 00000000..1f5149b5 --- /dev/null +++ b/testing/regressions/_exec-transactions/out-ref/00320.stdout @@ -0,0 +1,20 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0102-ehlo-xclient-fewer.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/test.txt b/testing/regressions/_exec-transactions/test.txt index ee5d1b3f..8a427763 100644 --- a/testing/regressions/_exec-transactions/test.txt +++ b/testing/regressions/_exec-transactions/test.txt @@ -54,6 +54,7 @@ 17 --xclient failed --xclient-optional-strict # 18 --xclient --pipeline success - it's unclear to me the practical purpose of using xclient with pipelining, or how to really test # 19 --xclient --pipeline failure + 20 --xclient-SPECIFIC fails when SPECIFIC isn't available (multiple SPECIFICS) 00500 - prdr (COMPLETE) 0 happy path - 3 addrs, 3 accepts From 18eb8f61b9b4541e66fb01c658acec909fd284b4 Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Wed, 23 Dec 2020 11:04:29 -0500 Subject: [PATCH 21/98] Don't print "Exiting" in the XCLIENT attempted but failed message --- Changes | 3 ++ swaks | 2 +- .../regressions/_exec-transactions/00316.test | 2 - .../_exec-transactions/out-ref/00315.stderr | 2 +- .../_exec-transactions/out-ref/00316.stderr | 1 + .../_exec-transactions/out-ref/00316.stdout | 40 +++++++++++++++++++ .../_exec-transactions/out-ref/00317.stderr | 2 +- .../regressions/_exec-transactions/test.txt | 2 +- 8 files changed, 48 insertions(+), 6 deletions(-) diff --git a/Changes b/Changes index 47ea8b38..f6ca007b 100644 --- a/Changes +++ b/Changes @@ -969,3 +969,6 @@ there's only one on CPAN anymore. * 20201223 When an unsupported XCLIENT attribute is requested, print the missing attribute in the error. +* 20201223 Don't print "Exiting" in the XCLIENT attempted but failed message. + It is always unnecessary (Auth doesn't print it) and is wrong + when --xclient-optional is in use. diff --git a/swaks b/swaks index a5bb14e6..cae3c4ed 100755 --- a/swaks +++ b/swaks @@ -353,7 +353,7 @@ sub xclient_try { ptrans(12, $error); do_smtp_quit(1, 33) if (!$G::xclient{optional}); } elsif ($result->{code} == 3) { - ptrans(12, "XCLIENT attempted but failed. Exiting"); + ptrans(12, "XCLIENT attempted but failed"); do_smtp_quit(1, 33) if ($G::xclient{optional} != 1); } else { do_smtp_drop() if ($G::drop_after eq 'xclient'); diff --git a/testing/regressions/_exec-transactions/00316.test b/testing/regressions/_exec-transactions/00316.test index 7a6ea935..005f776b 100644 --- a/testing/regressions/_exec-transactions/00316.test +++ b/testing/regressions/_exec-transactions/00316.test @@ -1,7 +1,5 @@ auto: REMOVE_FILE,CREATE_FILE,MUNGE,COMPARE_FILE %TESTID%.stdout %TESTID%.stderr -skip: work on this before accepting, it should not print "XCLIENT attempted but failed. Exiting" to stderr since it continues - test action: CMD_CAPTURE %SWAKS% --to user@host1.nodns.test.swaks.net --from recip@host1.nodns.test.swaks.net --helo hserver \ --xclient-destaddr foo --xclient-optional \ --pipe '%TEST_SERVER% --silent --domain pipe \ diff --git a/testing/regressions/_exec-transactions/out-ref/00315.stderr b/testing/regressions/_exec-transactions/out-ref/00315.stderr index f60f1757..4a807d5d 100644 --- a/testing/regressions/_exec-transactions/out-ref/00315.stderr +++ b/testing/regressions/_exec-transactions/out-ref/00315.stderr @@ -1 +1 @@ -*** XCLIENT attempted but failed. Exiting +*** XCLIENT attempted but failed diff --git a/testing/regressions/_exec-transactions/out-ref/00316.stderr b/testing/regressions/_exec-transactions/out-ref/00316.stderr index e69de29b..4a807d5d 100644 --- a/testing/regressions/_exec-transactions/out-ref/00316.stderr +++ b/testing/regressions/_exec-transactions/out-ref/00316.stderr @@ -0,0 +1 @@ +*** XCLIENT attempted but failed diff --git a/testing/regressions/_exec-transactions/out-ref/00316.stdout b/testing/regressions/_exec-transactions/out-ref/00316.stdout index e69de29b..2894865c 100644 --- a/testing/regressions/_exec-transactions/out-ref/00316.stdout +++ b/testing/regressions/_exec-transactions/out-ref/00316.stdout @@ -0,0 +1,40 @@ +=== Trying pipe to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt ... +=== Connected to %TEST_SERVER% --silent --domain pipe part-0000-connect-standard.txt part-0101-ehlo-all.txt part-0301-xclient-basic-reject.txt part-1000-mail-basic.txt part-1100-rcpt-basic-accept.txt part-2500-data-accept-basic.txt part-3000-shutdown-accept.txt . +<- 220 SERVER ESMTP ready + -> EHLO hserver +<- 250-SERVER Hello Server [1.1.1.1] +<- 250-STARTTLS +<- 250-PIPELINING +<- 250-XCLIENT ADDR NAME PORT PROTO DESTADDR DESTPORT HELO LOGIN REVERSE_NAME +<- 250-PRDR +<- 250-AUTH CRAM-MD5 +<- 250-AUTH CRAM-SHA1 +<- 250-AUTH PLAIN +<- 250-AUTH LOGIN +<- 250-AUTH NTLM +<- 250-AUTH DIGEST-MD5 +<- 250-AUTH=login +<- 250 HELP + -> XCLIENT DESTADDR=foo +<** 501 5.5.4 Bad DESTADDR syntax + -> MAIL FROM: +<- 250 Accepted + -> RCPT TO: +<- 250 Accepted + -> DATA +<- 354 Enter message, ending with "." on a line by itself + -> Date: Wed, 03 Nov 1999 11:24:29 -0500 + -> To: user@host1.nodns.test.swaks.net + -> From: recip@host1.nodns.test.swaks.net + -> Subject: test Wed, 03 Nov 1999 11:24:29 -0500 + -> Message-Id: <19991103112429.047942@localhost> + -> X-Mailer: swaks v99999999.9 jetmore.org/john/code/swaks/ + -> + -> This is a test mailing + -> + -> + -> . +<- 250 OK id=fakeemail + -> QUIT +<- 221 SERVER closing connection +=== Connection closed with child process. diff --git a/testing/regressions/_exec-transactions/out-ref/00317.stderr b/testing/regressions/_exec-transactions/out-ref/00317.stderr index f60f1757..4a807d5d 100644 --- a/testing/regressions/_exec-transactions/out-ref/00317.stderr +++ b/testing/regressions/_exec-transactions/out-ref/00317.stderr @@ -1 +1 @@ -*** XCLIENT attempted but failed. Exiting +*** XCLIENT attempted but failed diff --git a/testing/regressions/_exec-transactions/test.txt b/testing/regressions/_exec-transactions/test.txt index 8a427763..cb4ea195 100644 --- a/testing/regressions/_exec-transactions/test.txt +++ b/testing/regressions/_exec-transactions/test.txt @@ -50,7 +50,7 @@ 13 --xclient not advertised --xclient-optional 14 --xclient not advertised --xclient-optional-strict 15 --xclient failed -## 16 --xclient failed --xclient-optional (THIS HAS A WEIRD MESSAGE, SKIPPING FOR NOW) + 16 --xclient failed --xclient-optional 17 --xclient failed --xclient-optional-strict # 18 --xclient --pipeline success - it's unclear to me the practical purpose of using xclient with pipelining, or how to really test # 19 --xclient --pipeline failure From 5661db9b502f1a7391ae8e9875d244192d51b49d Mon Sep 17 00:00:00 2001 From: John Jetmore Date: Thu, 24 Dec 2020 09:32:38 -0500 Subject: [PATCH 22/98] Fix several --drop-after-send bugs and inconsistencies --drop-after-send connect -- never worked, now drops after connect but before reading banner --drop-after-send tls (with --tlsc) never sent quit, now mimics --drop-after since we don't have access to the TLS negotiation --drop-after-send helo will read the helo response if there's only one helo in the transaction. Document this behavior and suggest first-helo instead --drop-after-send tls (without --tls) never sent quit, now mimics --drop-after --drop-after-send auth (without --auth) never sent quit, now mimics --drop-after --- Changes | 1 + doc/base.pod | 18 +++++++++- swaks | 7 ++-- .../regressions/_exec-transactions/05200.test | 2 -- .../regressions/_exec-transactions/05201.test | 4 +-- .../regressions/_exec-transactions/05203.test | 2 -- .../regressions/_exec-transactions/05204.test | 2 -- .../regressions/_exec-transactions/05211.test | 2 -- .../regressions/_exec-transactions/05214.test | 2 -- .../_exec-transactions/out-ref/05200.stdout | 3 ++ .../_exec-transactions/out-ref/05201.stdout | 19 ++++++++++ .../_exec-transactions/out-ref/05203.stdout | 6 ++++ .../_exec-transactions/out-ref/05204.stdout | 18 ++++++++++ .../_exec-transactions/out-ref/05211.stdout | 18 ++++++++++ .../_exec-transactions/out-ref/05213.stderr | 0 .../_exec-transactions/out-ref/05213.stdout | 0 .../_exec-transactions/out-ref/05214.stdout | 18 ++++++++++ .../regressions/_exec-transactions/test.txt | 35 ++++++++++--------- 18 files changed, 123 insertions(+), 34 deletions(-) create mode 100644 testing/regressions/_exec-transactions/out-ref/05213.stderr create mode 100644 testing/regressions/_exec-transactions/out-ref/05213.stdout diff --git a/Changes b/Changes index f6ca007b..483ea32e 100644 --- a/Changes +++ b/Changes @@ -972,3 +972,4 @@ * 20201223 Don't print "Exiting" in the XCLIENT attempted but failed message. It is always unnecessary (Auth doesn't print it) and is wrong when --xclient-optional is in use. +* 20201223 Fix several --drop-after-send bugs and inconsistencies. diff --git a/doc/base.pod b/doc/base.pod index 45f315e7..e09f385e 100644 --- a/doc/base.pod +++ b/doc/base.pod @@ -373,7 +373,23 @@ Quit after the final '.' of the message is sent. =item --das, --drop-after-send -This option is similar to C<--drop-after>, but instead of dropping the connection after reading a response to the stop-point, it drops the connection immediately after sending stop-point. It accepts the same stop-points as C<--drop-after>. (Arg-Required) +This option is similar to C<--drop-after>, but instead of dropping the connection after reading a response to the stop-point, it drops the connection immediately after sending stop-point. It accepts the same stop-points as C<--drop-after>. If the stop-point is for an optional part of the transaction which is not actually sent (for instance STARTTLS or AUTH), this option will behave identically to C<--drop-after>. See below for specific details. (Arg-Required) + +=over 4 + +=item CONNECT + +Connect to the server and then drops the connection before receiving the server's banner. + +=item STARTTLS, TLS + +Behaves identically to C<--drop-after>. + +=item HELO, EHLO, LHLO + +Doesn't necessarily work as expected. If it appears to read the HELO response incorrectly, use FIRST-HELO instead. + +=back =item --timeout [