Skip to content

Commit 36aed21

Browse files
committed
Code review changes
1 parent aadb707 commit 36aed21

File tree

3 files changed

+37
-43
lines changed

3 files changed

+37
-43
lines changed

ext/openssl/openssl.c

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ static void php_openssl_request_free_obj(zend_object *object)
199199

200200
/* OpenSSLAsymmetricKey class */
201201

202-
typedef struct _openssl_key_object {
202+
typedef struct _php_openssl_pkey_object {
203203
EVP_PKEY *pkey;
204204
zend_object std;
205205
} php_openssl_pkey_object;
@@ -265,6 +265,7 @@ ZEND_GET_MODULE(openssl)
265265

266266
/* {{{ OpenSSL compatibility functions and macros */
267267
#if PHP_OPENSSL_API_VERSION < 0x10100
268+
268269
#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa
269270
#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh
270271
#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa
@@ -381,18 +382,18 @@ static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1)
381382
return M_ASN1_STRING_data(asn1);
382383
}
383384

385+
static int EVP_PKEY_up_ref(EVP_PKEY *pkey)
386+
{
387+
return CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
388+
}
389+
384390
#if PHP_OPENSSL_API_VERSION < 0x10002
385391

386392
static int X509_get_signature_nid(const X509 *x)
387393
{
388394
return OBJ_obj2nid(x->sig_alg->algorithm);
389395
}
390396

391-
static int EVP_PKEY_up_ref(EVP_PKEY *pkey)
392-
{
393-
return CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
394-
}
395-
396397
#endif
397398

398399
#define OpenSSL_version SSLeay_version
@@ -1460,14 +1461,14 @@ static X509 *php_openssl_x509_from_param(zend_object *cert_obj, zend_string *cer
14601461

14611462
static X509 *php_openssl_x509_from_zval(zval *val, bool *free_cert)
14621463
{
1463-
*free_cert = 1;
1464-
14651464
if (Z_TYPE_P(val) == IS_OBJECT && Z_OBJCE_P(val) == php_openssl_certificate_ce) {
14661465
*free_cert = 0;
14671466

14681467
return php_openssl_certificate_from_obj(Z_OBJ_P(val))->x509;
14691468
}
14701469

1470+
*free_cert = 1;
1471+
14711472
if (!try_convert_to_string(val)) {
14721473
return NULL;
14731474
}
@@ -1616,17 +1617,10 @@ PHP_FUNCTION(openssl_spki_new)
16161617
if (spki != NULL) {
16171618
NETSCAPE_SPKI_free(spki);
16181619
}
1619-
if (free_pkey && pkey != NULL) {
1620-
EVP_PKEY_free(pkey);
1621-
}
16221620

16231621
if (s && ZSTR_LEN(s) <= 0) {
16241622
RETVAL_FALSE;
16251623
}
1626-
1627-
if (free_pkey && s != NULL) {
1628-
zend_string_release_ex(s, 0);
1629-
}
16301624
}
16311625
/* }}} */
16321626

ext/openssl/openssl.stub.php

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ function openssl_x509_export(OpenSSLCertificate|string $x509, &$out, bool $notex
2020

2121
function openssl_x509_fingerprint(OpenSSLCertificate|string $x509, string $method = "sha1", bool $raw_output = false): string|false {}
2222

23-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key */
23+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key */
2424
function openssl_x509_check_private_key(OpenSSLCertificate|string $x509, $key): bool {}
2525

26-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key */
26+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key */
2727
function openssl_x509_verify(OpenSSLCertificate|string $x509, $key): int {}
2828

2929
function openssl_x509_parse(OpenSSLCertificate|string $x509, bool $shortname = true): array|false {}
@@ -35,10 +35,10 @@ function openssl_x509_read(OpenSSLCertificate|string $x509): OpenSSLCertificate|
3535
/** @deprecated */
3636
function openssl_x509_free(OpenSSLCertificate $x509): void {}
3737

38-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $priv_key */
38+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $priv_key */
3939
function openssl_pkcs12_export_to_file(OpenSSLCertificate|string $x509cert, string $filename, $priv_key, string $pass, array $args = []): bool {}
4040

41-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $priv_key */
41+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $priv_key */
4242
function openssl_pkcs12_export(OpenSSLCertificate|string $x509, &$out, $priv_key, string $pass, array $args = []): bool {}
4343

4444
/** @param array $certs */
@@ -49,7 +49,7 @@ function openssl_csr_export_to_file(OpenSSLCertificateSigningRequest|string $csr
4949
/** @param OpenSSLAsymmetricKey $out */
5050
function openssl_csr_export(OpenSSLCertificateSigningRequest|string $csr, &$out, bool $notext = true): bool {}
5151

52-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $priv_key */
52+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $priv_key */
5353
function openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $cacert, $priv_key, int $days, ?array $config_args = null, int $serial = 0): OpenSSLCertificate|false {}
5454

5555
/** @param OpenSSLAsymmetricKey $privkey */
@@ -62,22 +62,22 @@ function openssl_csr_get_public_key(OpenSSLCertificateSigningRequest|string $csr
6262
function openssl_pkey_new(?array $configargs = null): OpenSSLAsymmetricKey|false {}
6363

6464
/**
65-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
65+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
6666
* @param string $out
6767
*/
6868
function openssl_pkey_export_to_file($key, string $outfilename, ?string $passphrase = null, ?array $configargs = null): bool {}
6969

7070
/**
71-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
71+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
7272
* @param string $out
7373
*/
7474
function openssl_pkey_export($key, &$out, ?string $passphrase = null, ?array $configargs = null): bool {}
7575

76-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $cert */
76+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $cert */
7777
function openssl_pkey_get_public($cert): OpenSSLAsymmetricKey|false {}
7878

7979
/**
80-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $cert
80+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $cert
8181
* @alias openssl_pkey_get_public
8282
*/
8383
function openssl_get_publickey($cert): OpenSSLAsymmetricKey|false {}
@@ -91,11 +91,11 @@ function openssl_pkey_free(OpenSSLAsymmetricKey $key): void {}
9191
*/
9292
function openssl_free_key(OpenSSLAsymmetricKey $key): void {}
9393

94-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key */
94+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key */
9595
function openssl_pkey_get_private($key, string $passphrase = UNKNOWN): OpenSSLAsymmetricKey|false {}
9696

9797
/**
98-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
98+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
9999
* @alias openssl_pkey_get_private
100100
*/
101101
function openssl_get_privatekey($key, string $passphrase = UNKNOWN): OpenSSLAsymmetricKey|false {}
@@ -106,81 +106,81 @@ function openssl_pbkdf2(string $password, string $salt, int $key_length, int $it
106106

107107
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 {}
108108

109-
/** @param OpenSSLCertificate|string|array $recipcerts */
109+
/** @param OpenSSLCertificate|array|string $recipcerts */
110110
function openssl_pkcs7_encrypt(string $infile, string $outfile, $recipcerts, ?array $headers, int $flags = 0, int $cipher = OPENSSL_CIPHER_RC2_40): bool {}
111111

112-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $signkey */
112+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
113113
function openssl_pkcs7_sign(string $infile, string $outfile, OpenSSLCertificate|string $signcert, $signkey, ?array $headers, int $flags = PKCS7_DETACHED, ?string $extracertsfilename = null): bool {}
114114

115-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array|null $recipkey */
115+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $recipkey */
116116
function openssl_pkcs7_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey = null): bool {}
117117

118118
function openssl_pkcs7_read(string $infilename, &$certs): bool {}
119119

120120
function openssl_cms_verify(string $filename, int $flags = 0, ?string $signerscerts = null, ?array $cainfo = null, ?string $extracerts = null, ?string $content = null, ?string $pk7 = null, ?string $sigfile = null, $encoding = OPENSSL_ENCODING_SMIME): bool {}
121121

122-
/** @param OpenSSLCertificate|string|array $recipcerts */
122+
/** @param OpenSSLCertificate|array|string $recipcerts */
123123
function openssl_cms_encrypt(string $infile, string $outfile, $recipcerts, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, int $cipher = OPENSSL_CIPHER_RC2_40): bool {}
124124

125-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $signkey */
125+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $signkey */
126126
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 {}
127127

128-
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $recipkey */
128+
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $recipkey */
129129
function openssl_cms_decrypt(string $infilename, string $outfilename, OpenSSLCertificate|string $recipcert, $recipkey, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
130130

131131
/** @param array $certs */
132132
function openssl_cms_read(string $infilename, &$certs): bool {}
133133

134134
/**
135135
* @param string $crypted
136-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
136+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
137137
*/
138138
function openssl_private_encrypt(string $data, &$crypted, $key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
139139

140140
/**
141141
* @param string $crypted
142-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
142+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
143143
*/
144144
function openssl_private_decrypt(string $data, &$crypted, $key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
145145

146146
/**
147147
* @param string $crypted
148-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
148+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
149149
*/
150150
function openssl_public_encrypt(string $data, &$crypted, $key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
151151

152152
/**
153153
* @param string $crypted
154-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
154+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
155155
*/
156156
function openssl_public_decrypt(string $data, &$crypted, $key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
157157

158158
function openssl_error_string(): string|false {}
159159

160160
/**
161161
* @param string $signature
162-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
162+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
163163
* @param int|string $method
164164
*/
165165
function openssl_sign(string $data, &$signature, $key, $method = OPENSSL_ALGO_SHA1): bool {}
166166

167167
/**
168-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $key
168+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
169169
* @param int|string $method
170170
*/
171171
function openssl_verify(string $data, string $signature, $key, $method = OPENSSL_ALGO_SHA1): int|false {}
172172

173173
/**
174174
* @param string $sealdata
175175
* @param array $ekeys
176-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $pubkeys
176+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $pubkeys
177177
* @param string $iv
178178
*/
179179
function openssl_seal(string $data, &$sealdata, &$ekeys, array $pubkeys, string $method = UNKNOWN, &$iv = UNKNOWN): int|false {}
180180

181181
/**
182182
* @param string $opendata
183-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $privkey
183+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $privkey
184184
*/
185185
function openssl_open(string $data, &$opendata, string $ekey, $privkey, string $method = UNKNOWN, string $iv = UNKNOWN): bool {}
186186

@@ -204,8 +204,8 @@ function openssl_cipher_iv_length(string $method): int|false {}
204204
function openssl_dh_compute_key(string $pub_key, OpenSSLAsymmetricKey $dh_key): string|false {}
205205

206206
/**
207-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $peer_pub_key
208-
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|string|array $priv_key
207+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $peer_pub_key
208+
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $priv_key
209209
*/
210210
function openssl_pkey_derive($peer_pub_key, $priv_key, int $keylen = 0): string|false {}
211211

ext/openssl/openssl_arginfo.h

Lines changed: 1 addition & 1 deletion
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: 1d6c7e5e46e09f28ec41cc0fe440383ede11ee3e */
2+
* Stub hash: 5189cc18305417d2566fe594f69806f72899c355 */
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)

0 commit comments

Comments
 (0)