diff -Nru php-composer-ca-bundle-1.2.6/debian/changelog php-composer-ca-bundle-1.2.7/debian/changelog --- php-composer-ca-bundle-1.2.6/debian/changelog 2020-02-02 19:08:44.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/debian/changelog 2020-04-13 09:44:05.000000000 +0000 @@ -1,3 +1,10 @@ +php-composer-ca-bundle (1.2.7-1) unstable; urgency=medium + + [ AnrDaemon ] + * Fixed validation of TRUSTED CA bundles + + -- David Prévot Sun, 12 Apr 2020 23:44:05 -1000 + php-composer-ca-bundle (1.2.6-1) unstable; urgency=medium [ Graham Campbell ] diff -Nru php-composer-ca-bundle-1.2.6/debian/patches/0001-Adapt-res-path.patch php-composer-ca-bundle-1.2.7/debian/patches/0001-Adapt-res-path.patch --- php-composer-ca-bundle-1.2.6/debian/patches/0001-Adapt-res-path.patch 2020-02-02 19:08:08.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/debian/patches/0001-Adapt-res-path.patch 2020-04-13 09:42:40.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CaBundle.php b/src/CaBundle.php -index 29da6e8..f9ad69f 100644 +index ea8d793..fec2109 100644 --- a/src/CaBundle.php +++ b/src/CaBundle.php @@ -123,7 +123,7 @@ class CaBundle diff -Nru php-composer-ca-bundle-1.2.6/debian/patches/0002-Add-PHPUnit-path-to-open_basedir-for-tests.patch php-composer-ca-bundle-1.2.7/debian/patches/0002-Add-PHPUnit-path-to-open_basedir-for-tests.patch --- php-composer-ca-bundle-1.2.6/debian/patches/0002-Add-PHPUnit-path-to-open_basedir-for-tests.patch 2020-02-02 19:08:08.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/debian/patches/0002-Add-PHPUnit-path-to-open_basedir-for-tests.patch 2020-04-13 09:42:40.000000000 +0000 @@ -7,10 +7,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CaBundleTest.php b/tests/CaBundleTest.php -index d9291e2..4fbf8b2 100644 +index 731d418..d1c387a 100644 --- a/tests/CaBundleTest.php +++ b/tests/CaBundleTest.php -@@ -104,7 +104,7 @@ class CaBundleTest extends TestCase +@@ -113,7 +113,7 @@ class CaBundleTest extends TestCase public function testOpenBaseDir() { $oldValue = ini_get('open_basedir'); diff -Nru php-composer-ca-bundle-1.2.6/src/CaBundle.php php-composer-ca-bundle-1.2.7/src/CaBundle.php --- php-composer-ca-bundle-1.2.6/src/CaBundle.php 2020-02-02 19:06:36.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/src/CaBundle.php 2020-04-13 09:42:21.000000000 +0000 @@ -174,6 +174,7 @@ $isValid = !empty($contents); } else { + $contents = preg_replace("/^(\\-+(?:BEGIN|END))\\s+TRUSTED\\s+(CERTIFICATE\\-+)\$/m", '$1 $2', $contents); $isValid = (bool) openssl_x509_parse($contents); } diff -Nru php-composer-ca-bundle-1.2.6/tests/CaBundleTest.php php-composer-ca-bundle-1.2.7/tests/CaBundleTest.php --- php-composer-ca-bundle-1.2.6/tests/CaBundleTest.php 2020-02-02 19:06:36.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/tests/CaBundleTest.php 2020-04-13 09:42:21.000000000 +0000 @@ -85,6 +85,15 @@ $this->assertTrue($validResult); } + public function testValidateTrustedCaFile() + { + $certFilePath = __DIR__.'/Fixtures/ca-bundle.trust.crt'; + $caBundle = new CaBundle(); + $validResult = $caBundle::validateCaFile($certFilePath, null); + + $this->assertTrue($validResult); + } + public function testIsOpensslParseSafeTrue() { $stub = $this->getMockBuilder('Composer\CaBundle\CaBundleMock')->getMock(); diff -Nru php-composer-ca-bundle-1.2.6/tests/Fixtures/ca-bundle.trust.crt php-composer-ca-bundle-1.2.7/tests/Fixtures/ca-bundle.trust.crt --- php-composer-ca-bundle-1.2.6/tests/Fixtures/ca-bundle.trust.crt 1970-01-01 00:00:00.000000000 +0000 +++ php-composer-ca-bundle-1.2.7/tests/Fixtures/ca-bundle.trust.crt 2020-04-13 09:42:21.000000000 +0000 @@ -0,0 +1,46 @@ +# ACCVRAIZ1 +-----BEGIN TRUSTED CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7MCEwFAYIKwYB +BQUHAwQGCCsGAQUFBwMBDAlBQ0NWUkFJWjE= +-----END TRUSTED CERTIFICATE-----