Skip to content

Commit ca20f36

Browse files
committed
Fix types in openssl stub
These two $recipcert parameters don't use proper union types right now. They are a bit tricky due to the $recipkey -> $recipcert fallback.
1 parent 64368f4 commit ca20f36

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

ext/openssl/openssl.stub.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,11 @@ function openssl_pkcs7_encrypt(string $infile, string $outfile, $recipcerts, ?ar
116116
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
117117
function openssl_pkcs7_sign(string $infile, string $outfile, OpenSSLCertificate|string $signcert, $signkey, ?array $headers, int $flags = PKCS7_DETACHED, ?string $extracertsfilename = null): bool {}
118118

119-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $recipkey */
120-
function openssl_pkcs7_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey = null): bool {}
119+
/**
120+
* @param OpenSSLCertificate|string $recipcert
121+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $recipkey
122+
*/
123+
function openssl_pkcs7_decrypt(string $infilename, string $outfilename, $recipcert, $recipkey = null): bool {}
121124

122125
/** @param array $certs */
123126
function openssl_pkcs7_read(string $infilename, &$certs): bool {}
@@ -130,8 +133,11 @@ function openssl_cms_encrypt(string $infile, string $outfile, $recipcerts, ?arra
130133
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
131134
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 {}
132135

133-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $recipkey */
134-
function openssl_cms_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
136+
/**
137+
* @param OpenSSLCertificate|string $recipcert
138+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $recipkey
139+
*/
140+
function openssl_cms_decrypt(string $infilename, string $outfilename, $recipcert, $recipkey = UNKNOWN, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
135141

136142
/** @param array $certs */
137143
function openssl_cms_read(string $infilename, &$certs): bool {}

ext/openssl/openssl_arginfo.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: ed45da0e8786db9b20fd33d574b20f3d41304e0a */
2+
* Stub hash: 10a514c9947313694296c6ec9ec6f2fa8e6c850b */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0)
55
ZEND_ARG_OBJ_TYPE_MASK(0, x509, OpenSSLCertificate, MAY_BE_STRING, NULL)
@@ -190,7 +190,7 @@ ZEND_END_ARG_INFO()
190190
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_decrypt, 0, 3, _IS_BOOL, 0)
191191
ZEND_ARG_TYPE_INFO(0, infilename, IS_STRING, 0)
192192
ZEND_ARG_TYPE_INFO(0, outfilename, IS_STRING, 0)
193-
ZEND_ARG_OBJ_TYPE_MASK(0, recipcert, OpenSSLCertificate, MAY_BE_STRING, NULL)
193+
ZEND_ARG_INFO(0, recipcert)
194194
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, recipkey, "null")
195195
ZEND_END_ARG_INFO()
196196

@@ -232,10 +232,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_sign, 0, 5, _IS_BOOL
232232
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, extracertsfilename, IS_STRING, 1, "null")
233233
ZEND_END_ARG_INFO()
234234

235-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 4, _IS_BOOL, 0)
235+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 3, _IS_BOOL, 0)
236236
ZEND_ARG_TYPE_INFO(0, infilename, IS_STRING, 0)
237237
ZEND_ARG_TYPE_INFO(0, outfilename, IS_STRING, 0)
238-
ZEND_ARG_OBJ_TYPE_MASK(0, recipcert, OpenSSLCertificate, MAY_BE_STRING, NULL)
238+
ZEND_ARG_INFO(0, recipcert)
239239
ZEND_ARG_INFO(0, recipkey)
240240
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
241241
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)