]> granicus.if.org Git - php/commitdiff
Fix types in openssl stub
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 14 Aug 2020 12:42:54 +0000 (14:42 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 14 Aug 2020 13:19:18 +0000 (15:19 +0200)
These two $recipcert parameters don't use proper union types
right now. They are a bit tricky due to the $recipkey -> $recipcert
fallback.

ext/openssl/openssl.stub.php
ext/openssl/openssl_arginfo.h

index 3d2b0d87f8507a20d2c3f1470beafdb3ddc9132b..c4a9d2b2b19ed6543a427c580ed355a390c28726 100644 (file)
@@ -116,8 +116,11 @@ function openssl_pkcs7_encrypt(string $infile, string $outfile, $recipcerts, ?ar
 /** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
 function openssl_pkcs7_sign(string $infile, string $outfile, OpenSSLCertificate|string $signcert, $signkey, ?array $headers, int $flags = PKCS7_DETACHED, ?string $extracertsfilename = null): bool {}
 
-/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $recipkey */
-function openssl_pkcs7_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey = null): bool {}
+/**
+ * @param OpenSSLCertificate|string $recipcert
+ * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $recipkey
+ */
+function openssl_pkcs7_decrypt(string $infilename, string $outfilename, $recipcert, $recipkey = null): bool {}
 
 /** @param array $certs */
 function openssl_pkcs7_read(string $infilename, &$certs): bool {}
@@ -130,8 +133,11 @@ function openssl_cms_encrypt(string $infile, string $outfile, $recipcerts, ?arra
 /** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
 function openssl_cms_sign(string $infile, string $outfile, OpenSSLCertificate|string $signcert, $signkey, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, ?string $extracertsfilename = null): bool {}
 
-/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $recipkey */
-function openssl_cms_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
+/**
+ * @param OpenSSLCertificate|string $recipcert
+ * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $recipkey
+ */
+function openssl_cms_decrypt(string $infilename, string $outfilename, $recipcert, $recipkey = UNKNOWN, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
 
 /** @param array $certs */
 function openssl_cms_read(string $infilename, &$certs): bool {}
index 07f0d2539176c85ed52df2977b84060d29a8efe8..1800a8f1284ceb33b7931f306df5137c5af4969e 100644 (file)
@@ -1,5 +1,5 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: ed45da0e8786db9b20fd33d574b20f3d41304e0a */
+ * Stub hash: 10a514c9947313694296c6ec9ec6f2fa8e6c850b */
 
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0)
        ZEND_ARG_OBJ_TYPE_MASK(0, x509, OpenSSLCertificate, MAY_BE_STRING, NULL)
@@ -190,7 +190,7 @@ ZEND_END_ARG_INFO()
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_decrypt, 0, 3, _IS_BOOL, 0)
        ZEND_ARG_TYPE_INFO(0, infilename, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, outfilename, IS_STRING, 0)
-       ZEND_ARG_OBJ_TYPE_MASK(0, recipcert, OpenSSLCertificate, MAY_BE_STRING, NULL)
+       ZEND_ARG_INFO(0, recipcert)
        ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, recipkey, "null")
 ZEND_END_ARG_INFO()
 
@@ -232,10 +232,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_sign, 0, 5, _IS_BOOL
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, extracertsfilename, IS_STRING, 1, "null")
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 4, _IS_BOOL, 0)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 3, _IS_BOOL, 0)
        ZEND_ARG_TYPE_INFO(0, infilename, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, outfilename, IS_STRING, 0)
-       ZEND_ARG_OBJ_TYPE_MASK(0, recipcert, OpenSSLCertificate, MAY_BE_STRING, NULL)
+       ZEND_ARG_INFO(0, recipcert)
        ZEND_ARG_INFO(0, recipkey)
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
 ZEND_END_ARG_INFO()