diff options
author | Máté Kocsis <kocsismate@woohoolabs.com> | 2019-11-08 23:29:12 +0100 |
---|---|---|
committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2019-11-11 14:54:55 +0100 |
commit | 27e83d0fb87c04b61441fb77e963dd4e14ad187e (patch) | |
tree | 1b35b21c48c54f353e643d29dd2306d8e1ba084a /ext/openssl | |
parent | 2804ea612779b89d3c62d974eb35783dd31f7dee (diff) | |
download | php-git-27e83d0fb87c04b61441fb77e963dd4e14ad187e.tar.gz |
Add union return types for function stubs
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/openssl.stub.php | 81 | ||||
-rw-r--r-- | ext/openssl/openssl_arginfo.h | 45 |
2 files changed, 50 insertions, 76 deletions
diff --git a/ext/openssl/openssl.stub.php b/ext/openssl/openssl.stub.php index 484e8c6bd7..e75f79c906 100644 --- a/ext/openssl/openssl.stub.php +++ b/ext/openssl/openssl.stub.php @@ -4,24 +4,20 @@ function openssl_x509_export_to_file($x509, string $outfilename, bool $notext = function openssl_x509_export($x509 , &$out, bool $notext = true): bool {} -/** @return string|false */ -function openssl_x509_fingerprint($x509, string $method = 'sha1', bool $raw_output = false) {} +function openssl_x509_fingerprint($x509, string $method = 'sha1', bool $raw_output = false): string|false {} function openssl_x509_check_private_key($cert, $key): bool {} function openssl_x509_verify($cert, $key): int {} -/** @return array|false */ -function openssl_x509_parse($x509, bool $shortname = true) {} +function openssl_x509_parse($x509, bool $shortname = true): array|false {} -/** @return bool|int */ -function openssl_x509_checkpurpose($x509cert, int $purpose, ?array $cainfo = [], string $untrustedfile = UNKNOWN) {} +function openssl_x509_checkpurpose($x509cert, int $purpose, ?array $cainfo = [], string $untrustedfile = UNKNOWN): bool|int {} /** @return resource|false */ function openssl_x509_read($cert) {} -/** @return false|void */ -function openssl_x509_free($x509) {} +function openssl_x509_free($x509): ?bool {} /** * @param resource|string $x509cert @@ -54,11 +50,8 @@ function openssl_csr_sign($csr, $cacert = null, $priv_key, int $days, ?array $co /** @return resource|false */ function openssl_csr_new(array $dn, &$privkey, ?array $configargs = null, ?array $extraattribs = null) {} -/** - * @param resource|string $csr - * @return array|false - */ -function openssl_csr_get_subject($csr, bool $use_shortnames = true) {} +/** @param resource|string $csr */ +function openssl_csr_get_subject($csr, bool $use_shortnames = true): array|false {} /** * @param resource|string $csr @@ -75,7 +68,7 @@ function openssl_pkey_export_to_file($key, string $outfilename, ?string $passphr /** @param resource|string|array $key */ function openssl_pkey_export($key, &$out, ?string $passphrase = null, ?array $configargs = null): bool {} -/** +/** * @param resource|string|array $cert * @return resource|false */ @@ -90,17 +83,12 @@ function openssl_pkey_free($key): void {} */ function openssl_pkey_get_private($key, string $passphrase = UNKNOWN) {} -/** - * @param resource $key - * @return array|false - */ -function openssl_pkey_get_details($key) {} +/** @param resource $key */ +function openssl_pkey_get_details($key): array|false {} -/** @return string|false */ -function openssl_pbkdf2(string $password, string $salt, int $key_length, int $iterations, string $digest_algorithm = 'sha1') {} +function openssl_pbkdf2(string $password, string $salt, int $key_length, int $iterations, string $digest_algorithm = 'sha1'): string|false {} -/** @return bool|int */ -function openssl_pkcs7_verify(string $filename, int $flags, string $signerscerts = UNKNOWN, array $cainfo = UNKNOWN, string $extracerts = UNKNOWN, string $content = UNKNOWN, string $pk7 = UNKNOWN) {} +function openssl_pkcs7_verify(string $filename, int $flags, string $signerscerts = UNKNOWN, array $cainfo = UNKNOWN, string $extracerts = UNKNOWN, string $content = UNKNOWN, string $pk7 = UNKNOWN): bool|int {} /** @param resource|string|array $recipcerts */ function openssl_pkcs7_encrypt(string $infile, string $outfile, $recipcerts, ?array $headers, int $flags = 0, int $cipher = OPENSSL_CIPHER_RC2_40): bool {} @@ -131,8 +119,7 @@ function openssl_public_encrypt(string $data, &$crypted, $key, int $padding = OP /** @param resource|string|array $key */ function openssl_public_decrypt(string $data, &$crypted, $key, int $padding = OPENSSL_PKCS1_PADDING): bool {} -/** @return string|false */ -function openssl_error_string() {} +function openssl_error_string(): string|false {} /** * @param resource|string|array $key @@ -143,12 +130,10 @@ function openssl_sign(string $data, &$signature, $key, $method = OPENSSL_ALGO_SH /** * @param resource|string|array $key * @param int|string $method - * @return int|false */ -function openssl_verify(string $data, string $signature, $key, $method = OPENSSL_ALGO_SHA1) {} +function openssl_verify(string $data, string $signature, $key, $method = OPENSSL_ALGO_SHA1): int|false {} -/** @return int|false */ -function openssl_seal(string $data, &$sealdata, &$ekeys, array $pubkeys, string $method = UNKNOWN, &$iv = UNKNOWN) {} +function openssl_seal(string $data, &$sealdata, &$ekeys, array $pubkeys, string $method = UNKNOWN, &$iv = UNKNOWN): int|false {} /** @param resource|string|array $privkey */ function openssl_open(string $data, &$opendata, string $ekey, $privkey, string $method = UNKNOWN, string $iv = UNKNOWN): bool {} @@ -158,49 +143,35 @@ function openssl_get_md_methods($aliases = false): array {} function openssl_get_cipher_methods($aliases = false): array {} #ifdef HAVE_EVP_PKEY_EC -/** @return array|false */ -function openssl_get_curve_names() {} +function openssl_get_curve_names(): array|false {} #endif -/** @return string|false */ -function openssl_digest(string $data, string $method, bool $raw_output = false) {} +function openssl_digest(string $data, string $method, bool $raw_output = false): string|false {} -/** @return string|false */ -function openssl_encrypt(string $data, string $method, string $password, int $options = 0, string $iv = '', &$tag = UNKNOWN, string $aad = '', int $tag_length = 16) {} +function openssl_encrypt(string $data, string $method, string $password, int $options = 0, string $iv = '', &$tag = UNKNOWN, string $aad = '', int $tag_length = 16): string|false {} -/** @return string|false */ -function openssl_decrypt(string $data, string $method, string $password, int $options = 0, string $iv = '', string $tag = UNKNOWN, string $aad = '') {} +function openssl_decrypt(string $data, string $method, string $password, int $options = 0, string $iv = '', string $tag = UNKNOWN, string $aad = ''): string|false {} -/** @return int|false */ -function openssl_cipher_iv_length(string $method) {} +function openssl_cipher_iv_length(string $method): int|false {} -/** - * @param resource $dh_key - * @return string|false - */ -function openssl_dh_compute_key(string $pub_key, $dh_key) {} +/** @param resource $dh_key */ +function openssl_dh_compute_key(string $pub_key, $dh_key): string|false {} /** * @param resource|string|array $peer_pub_key * @param resource|string|array $priv_key - * @return string|false */ -function openssl_pkey_derive($peer_pub_key, $priv_key, int $keylen = 0) {} +function openssl_pkey_derive($peer_pub_key, $priv_key, int $keylen = 0): string|false {} function openssl_random_pseudo_bytes(int $length, &$result_is_strong = UNKNOWN): string {} -/** - * @param resource $privkey - * @return string|false - */ -function openssl_spki_new($privkey, string $challenge, int $algo = OPENSSL_ALGO_MD5) {} +/** @param resource $privkey */ +function openssl_spki_new($privkey, string $challenge, int $algo = OPENSSL_ALGO_MD5): string|false {} function openssl_spki_verify(string $spki): bool {} -/** @return string|false */ -function openssl_spki_export(string $spki) {} +function openssl_spki_export(string $spki): string|false {} -/** @return string|false */ -function openssl_spki_export_challenge(string $spki) {} +function openssl_spki_export_challenge(string $spki): string|false {} function openssl_get_cert_locations(): array {} diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h index d14215bb25..9f8835ec13 100644 --- a/ext/openssl/openssl_arginfo.h +++ b/ext/openssl/openssl_arginfo.h @@ -12,7 +12,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export, 0, 2, _IS_B ZEND_ARG_TYPE_INFO(0, notext, _IS_BOOL, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_x509_fingerprint, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_fingerprint, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_INFO(0, x509) ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, raw_output, _IS_BOOL, 0) @@ -28,12 +28,12 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_verify, 0, 2, IS_LO ZEND_ARG_INFO(0, key) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_x509_parse, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_parse, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_INFO(0, x509) ZEND_ARG_TYPE_INFO(0, shortname, _IS_BOOL, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_x509_checkpurpose, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_checkpurpose, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_INFO(0, x509cert) ZEND_ARG_TYPE_INFO(0, purpose, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, cainfo, IS_ARRAY, 1) @@ -44,7 +44,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_x509_read, 0, 0, 1) ZEND_ARG_INFO(0, cert) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_x509_free, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_free, 0, 1, _IS_BOOL, 1) ZEND_ARG_INFO(0, x509) ZEND_END_ARG_INFO() @@ -98,12 +98,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_csr_new, 0, 0, 2) ZEND_ARG_TYPE_INFO(0, extraattribs, IS_ARRAY, 1) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_csr_get_subject, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_csr_get_subject, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_INFO(0, csr) ZEND_ARG_TYPE_INFO(0, use_shortnames, _IS_BOOL, 0) ZEND_END_ARG_INFO() -#define arginfo_openssl_csr_get_public_key arginfo_openssl_csr_get_subject +ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_csr_get_public_key, 0, 0, 1) + ZEND_ARG_INFO(0, csr) + ZEND_ARG_TYPE_INFO(0, use_shortnames, _IS_BOOL, 0) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkey_new, 0, 0, 0) ZEND_ARG_TYPE_INFO(0, configargs, IS_ARRAY, 1) @@ -134,11 +137,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkey_get_private, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkey_get_details, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkey_get_details, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_INFO(0, key) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pbkdf2, 0, 0, 4) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pbkdf2, 0, 4, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, salt, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, key_length, IS_LONG, 0) @@ -146,7 +149,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pbkdf2, 0, 0, 4) ZEND_ARG_TYPE_INFO(0, digest_algorithm, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkcs7_verify, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkcs7_verify, 0, 2, MAY_BE_BOOL|MAY_BE_LONG) ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, signerscerts, IS_STRING, 0) @@ -200,7 +203,7 @@ ZEND_END_ARG_INFO() #define arginfo_openssl_public_decrypt arginfo_openssl_private_encrypt -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_error_string, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_error_string, 0, 0, MAY_BE_STRING|MAY_BE_FALSE) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_sign, 0, 3, _IS_BOOL, 0) @@ -210,14 +213,14 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_sign, 0, 3, _IS_BOOL, 0) ZEND_ARG_INFO(0, method) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_verify, 0, 0, 3) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_verify, 0, 3, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, signature, IS_STRING, 0) ZEND_ARG_INFO(0, key) ZEND_ARG_INFO(0, method) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_seal, 0, 0, 4) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_seal, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_ARG_INFO(1, sealdata) ZEND_ARG_INFO(1, ekeys) @@ -242,17 +245,17 @@ ZEND_END_ARG_INFO() #define arginfo_openssl_get_cipher_methods arginfo_openssl_get_md_methods #if defined(HAVE_EVP_PKEY_EC) -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_get_curve_names, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_get_curve_names, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_END_ARG_INFO() #endif -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_digest, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_digest, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, raw_output, _IS_BOOL, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_encrypt, 0, 0, 3) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_encrypt, 0, 3, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) @@ -263,7 +266,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_encrypt, 0, 0, 3) ZEND_ARG_TYPE_INFO(0, tag_length, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_decrypt, 0, 0, 3) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_decrypt, 0, 3, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) @@ -273,16 +276,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_decrypt, 0, 0, 3) ZEND_ARG_TYPE_INFO(0, aad, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_cipher_iv_length, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_cipher_iv_length, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_dh_compute_key, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_dh_compute_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, pub_key, IS_STRING, 0) ZEND_ARG_INFO(0, dh_key) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkey_derive, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkey_derive, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_INFO(0, peer_pub_key) ZEND_ARG_INFO(0, priv_key) ZEND_ARG_TYPE_INFO(0, keylen, IS_LONG, 0) @@ -293,7 +296,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_random_pseudo_bytes, 0, ZEND_ARG_INFO(1, result_is_strong) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_spki_new, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_spki_new, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_INFO(0, privkey) ZEND_ARG_TYPE_INFO(0, challenge, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, algo, IS_LONG, 0) @@ -303,7 +306,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_spki_verify, 0, 1, _IS_B ZEND_ARG_TYPE_INFO(0, spki, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_spki_export, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_spki_export, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, spki, IS_STRING, 0) ZEND_END_ARG_INFO() |