test: add test case for deadlock reported in #19643
authorPauli <pauli@openssl.org>
Sun, 13 Nov 2022 23:31:23 +0000 (10:31 +1100)
committerTomas Mraz <tomas@openssl.org>
Thu, 8 Dec 2022 10:11:11 +0000 (11:11 +0100)
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19652)

test/certs/pkitsta.pem [new file with mode: 0644]
test/recipes/80-test_cms.t
test/smime-eml/SignedInvalidMappingFromanyPolicyTest7.eml [new file with mode: 0644]

diff --git a/test/certs/pkitsta.pem b/test/certs/pkitsta.pem
new file mode 100644 (file)
index 0000000..4cb5ec5
--- /dev/null
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDRzCCAi+gAwIBAgIBATANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJVUzEf
+MB0GA1UEChMWVGVzdCBDZXJ0aWZpY2F0ZXMgMjAxMTEVMBMGA1UEAxMMVHJ1c3Qg
+QW5jaG9yMB4XDTEwMDEwMTA4MzAwMFoXDTMwMTIzMTA4MzAwMFowRTELMAkGA1UE
+BhMCVVMxHzAdBgNVBAoTFlRlc3QgQ2VydGlmaWNhdGVzIDIwMTExFTATBgNVBAMT
+DFRydXN0IEFuY2hvcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALmZ
+UYkRR+DNRbmEJ4ITAhbNRDmqrNsJw97iLE7bpFeflDUoNcJrZPZbC208bG+g5M0A
+TzV0vOqg88Ds1/FjFDK1oPItqsiDImJIq0xb/et5w72WNPxHVrcsr7Ap6DHfdwLp
+NMncqtzX92hU/iGVHLE/w/OCWwAIIbTHaxdrGMUG7DkJJ6iI7mzqpcyPvyAAo9O3
+SHjJr+uw5vSrHRretnV2un0bohvGslN64MY/UIiRnPFwd2gD76byDzoM1ioyLRCl
+lfBJ5sRDz9xrUHNigTAUdlblb6yrnNtNJmkrROYvkh6sLETUh9EYh0Ar+94fZVXf
+GVi57Sw7x1jyANTlA40CAwEAAaNCMEAwHQYDVR0OBBYEFOR9X9FclYYILAWuvnW2
+ZafZXahmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
+DQEBCwUAA4IBAQCYoa9uR55KJTkpwyPihIgXHq7/Z8dx3qZlCJQwE5qQBZXIsf5e
+C8Va/QjnTHOC4Gt4MwpnqqmoDqyqSW8pBVQgAUFAXqO91nLCQb4+/yfjiiNjzprp
+xQlcqIZYjJSVtckH1IDWFLFeuGW+OgPPEFgN4hjU5YFIsE2r1i4+ixkeuorxxsK1
+D/jYbVwQMXLqn1pjJttOPJwuA8+ho1f2c8FrKlqjHgOwxuHhsiGN6MKgs1baalpR
+/lnNFCIpq+/+3cnhufDjvxMy5lg+cwgMCiGzCxn4n4dBMw41C+4KhNF7ZtKuKSZ1
+eczztXD9NUkGUGw3LzpLDJazz3JhlZ/9pXzF
+-----END CERTIFICATE-----
index 28d96b8eda0e1e0d4d4b1848c7a9d40c9fcc2e4e..5d755c989d77555d5106bacd65b4217bd8916df3 100644 (file)
@@ -50,7 +50,7 @@ my ($no_des, $no_dh, $no_dsa, $no_ec, $no_ec2m, $no_rc2, $no_zlib)
 
 $no_rc2 = 1 if disabled("legacy");
 
-plan tests => 15;
+plan tests => 16;
 
 ok(run(test(["pkcs7_test"])), "test pkcs7");
 
@@ -1081,3 +1081,14 @@ sub check_availability {
 
     return "";
 }
+
+# Test case for the locking problem reported in #19643.
+# This will fail if the fix is in and deadlock on Windows (and possibly
+# other platforms) if not.
+ok(!run(app(['openssl', 'cms', '-verify',
+             '-CAfile', srctop_file("test/certs", "pkitsta.pem"),
+             '-policy', 'anyPolicy',
+             '-in', srctop_file("test/smime-eml",
+                                "SignedInvalidMappingFromanyPolicyTest7.eml")
+            ])),
+   "issue#19643");
diff --git a/test/smime-eml/SignedInvalidMappingFromanyPolicyTest7.eml b/test/smime-eml/SignedInvalidMappingFromanyPolicyTest7.eml
new file mode 100644 (file)
index 0000000..5d6b49d
--- /dev/null
@@ -0,0 +1,93 @@
+To: recipient@testcertificates.gov
+From: sender@testcertificates.gov
+Subject: Invalid Mapping From anyPolicy Test7
+MIME-Version: 1.0
+Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="----C124D5D1A319E09E6A4BB51A44961168"
+
+This is an S/MIME signed message
+
+------C124D5D1A319E09E6A4BB51A44961168
+Content-Type: text/plain\r
+\r
+This is a sample signed message.\r
+
+------C124D5D1A319E09E6A4BB51A44961168
+Content-Type: application/pkcs7-signature; name="smime.p7s"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7s"
+
+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
+yg==
+
+------C124D5D1A319E09E6A4BB51A44961168--
+