Testsuite: add with-dkim case to DMARC testcase
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 20 Aug 2023 12:12:26 +0000 (13:12 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 20 Aug 2023 13:23:41 +0000 (14:23 +0100)
src/src/dmarc.c
test/confs/4650
test/log/4650
test/scripts/4650-DMARC/4650
test/scripts/4650-DMARC/REQUIRES
test/stdout/4650

index 48a72541fe71e111a337e36478b7968c7fb01812..07088511190f4dc15f5eff446b364d54c48c90e2 100644 (file)
@@ -272,7 +272,7 @@ if (spf_response)
   g = string_fmt_append(g, "spf %d\n", dmarc_spf_ares_result);
 
 if (dkim_history_buffer)
   g = string_fmt_append(g, "spf %d\n", dmarc_spf_ares_result);
 
 if (dkim_history_buffer)
-  g = string_fmt_append(g, "%s\n", dkim_history_buffer);
+  g = string_cat(g, dkim_history_buffer);
 
 g = string_fmt_append(g, "pdomain %s\npolicy %d\n",
   dmarc_used_domain, dmarc_policy);
 
 g = string_fmt_append(g, "pdomain %s\npolicy %d\n",
   dmarc_used_domain, dmarc_policy);
index 5ad7adbc8ebe249360331a88735276edd332b495..d6a637adb3844d8e37ff7a219c957861204945ab 100644 (file)
@@ -19,6 +19,7 @@ primary_hostname = myhost.test.ex
 
 dmarc_tld_file = DIR/aux-fixed/TESTNUM.tldfile
 dmarc_history_file = DIR/tmp/TESTNUM.hist.dmarc
 
 dmarc_tld_file = DIR/aux-fixed/TESTNUM.tldfile
 dmarc_history_file = DIR/tmp/TESTNUM.hist.dmarc
+dkim_verify_hashes = sha256 : sha512 : sha1
 
 acl_smtp_rcpt = accept
 acl_smtp_data = check_data
 
 acl_smtp_rcpt = accept
 acl_smtp_data = check_data
index 900f36156b4842cc0175b387abfa0b6e9e7815d8..f9c6bd38faee9f0ae1cd33a2179d52c963a3500c 100644 (file)
@@ -8,3 +8,10 @@
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 dmarc_domain_policy <none>
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 Authentication-Results: myhost.test.ex;\n  spf=none smtp.mailfrom=test.ex;\n       dmarc=none header.from=test.ex
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 <= a@test.ex H=(testclient) [ip4.ip4.ip4.ip4] P=smtp S=sss
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 dmarc_domain_policy <none>
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 Authentication-Results: myhost.test.ex;\n  spf=none smtp.mailfrom=test.ex;\n       dmarc=none header.from=test.ex
 1999-03-02 09:44:33 10HmaX-000000005vi-0000 <= a@test.ex H=(testclient) [ip4.ip4.ip4.ip4] P=smtp S=sss
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 DMARC results: spf_domain=bloggs.com dmarc_domain=test.ex spf_align=no dkim_align=yes enforcement='Accept'
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 dmarc_status <accept>
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 dmarc_status_text <Accept>
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 dmarc_used_domain <test.ex>
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 dmarc_domain_policy <none>
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 Authentication-Results: myhost.test.ex;\n  spf=none smtp.mailfrom=bloggs.com;\n    dkim=pass header.d=test.ex header.s=sel header.a=rsa-sha1;\n    dmarc=pass header.from=test.ex
+1999-03-02 09:44:33 10HmaY-000000005vi-0000 <= CALLER@bloggs.com H=(testclient) [ip4.ip4.ip4.ip4] P=smtp S=sss DKIM=test.ex id=qwerty1234@disco-zombie.net
index 40df619f3ce24742907c12fc2590bf69d5b0613c..04e5d0ae712c1397b9764512dc6865a8656fa4b7 100644 (file)
@@ -11,6 +11,9 @@ sudo chmod 777 DIR/tmp
 #
 exim -bd -DSERVER=server -oX PORT_D
 ****
 #
 exim -bd -DSERVER=server -oX PORT_D
 ****
+#
+#
+# Without a dkim signing, then with (copied from 4500)
 client HOSTIPV4 PORT_D
 ??? 220
 HELO testclient
 client HOSTIPV4 PORT_D
 ??? 220
 HELO testclient
@@ -20,13 +23,35 @@ MAIL FROM:<a@test.ex>
 RCPT TO:<fred@test.ex>
 ??? 250
 DATA
 RCPT TO:<fred@test.ex>
 ??? 250
 DATA
-??? 3
+??? 354
 Subject: test
 From: <z@test.ex>
 
 body line
 .
 ??? 250
 Subject: test
 From: <z@test.ex>
 
 body line
 .
 ??? 250
+RSET
+??? 250
+MAIL FROM:<CALLER@bloggs.com>
+??? 250
+RCPT TO:<a@test.ex>
+??? 250
+DATA
+??? 354
+DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=test.ex; h=from:to
+       :date:message-id:subject; s=sel; bh=OB9dZVu7+5/ufs3TH9leIcEpXSo=; b=
+       CoaRNB2Z59hSnhTzT8bYbMIN3P57XAVcFeV5oGEl4aKmhm6Mtu2uIc7B2z9k5+A/
+       +KFIE9HRj7eg9kPzagoPIvI84WE5PN5yRehMjJI6WqhM3V+bQDHkb8ubSmiaYxY5
+       B2Pd/kEGgHUlMDB0Hug4FMMt7GcFxagKspthOT/Pso0=
+From: mrgus@test.ex
+To: bakawolf@yahoo.com
+Date: Thu, 19 Nov 2015 17:00:07 -0700
+Message-ID: <qwerty1234@disco-zombie.net>
+Subject: simple test
+
+This is a simple test.
+.
+??? 250
 QUIT
 ****
 #
 QUIT
 ****
 #
index fe9e7b34255497676d120bf60b6e5f90c7148b66..bd50f8494f9d5a41bacd5387516e82a52ed3678f 100644 (file)
@@ -1 +1,3 @@
 support DMARC
 support DMARC
+support DKIM
+support SPF
index 3ee5a77821955f962ac0cd5d311b2f2d5fb8b0f0..fcdb257f2855997bc71e8de9937ee66166bd2ec8 100644 (file)
@@ -11,7 +11,7 @@ Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected
 ??? 250
 <<< 250 Accepted
 >>> DATA
 ??? 250
 <<< 250 Accepted
 >>> DATA
-??? 3
+??? 354
 <<< 354 Enter message, ending with "." on a line by itself
 >>> Subject: test
 >>> From: <z@test.ex>
 <<< 354 Enter message, ending with "." on a line by itself
 >>> Subject: test
 >>> From: <z@test.ex>
@@ -20,6 +20,33 @@ Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected
 >>> .
 ??? 250
 <<< 250 OK id=10HmaX-000000005vi-0000
 >>> .
 ??? 250
 <<< 250 OK id=10HmaX-000000005vi-0000
+>>> RSET
+??? 250
+<<< 250 Reset OK
+>>> MAIL FROM:<CALLER@bloggs.com>
+??? 250
+<<< 250 OK
+>>> RCPT TO:<a@test.ex>
+??? 250
+<<< 250 Accepted
+>>> DATA
+??? 354
+<<< 354 Enter message, ending with "." on a line by itself
+>>> DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=test.ex; h=from:to
+>>>    :date:message-id:subject; s=sel; bh=OB9dZVu7+5/ufs3TH9leIcEpXSo=; b=
+>>>    CoaRNB2Z59hSnhTzT8bYbMIN3P57XAVcFeV5oGEl4aKmhm6Mtu2uIc7B2z9k5+A/
+>>>    +KFIE9HRj7eg9kPzagoPIvI84WE5PN5yRehMjJI6WqhM3V+bQDHkb8ubSmiaYxY5
+>>>    B2Pd/kEGgHUlMDB0Hug4FMMt7GcFxagKspthOT/Pso0=
+>>> From: mrgus@test.ex
+>>> To: bakawolf@yahoo.com
+>>> Date: Tue, 2 Mar 1999 09:44:33 +0000
+>>> Message-ID: <qwerty1234@disco-zombie.net>
+>>> Subject: simple test
+>>> 
+>>> This is a simple test.
+>>> .
+??? 250
+<<< 250 OK id=10HmaY-000000005vi-0000
 >>> QUIT
 End of script
 job 10HmaX-000000005vi-0000
 >>> QUIT
 End of script
 job 10HmaX-000000005vi-0000
@@ -40,3 +67,22 @@ sp 0
 align_dkim 5
 align_spf 5
 action 2
 align_dkim 5
 align_spf 5
 action 2
+job 10HmaY-000000005vi-0000
+reporter myhost.test.ex
+received 1692480217
+ipaddr ip4.ip4.ip4.ip4
+from test.ex
+mfrom bloggs.com
+spf 6
+dkim test.ex 0
+pdomain test.ex
+policy 15
+rua -
+pct 100
+adkim 114
+aspf 114
+p 110
+sp 0
+align_dkim 4
+align_spf 5
+action 2