summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/openssl/openssl.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 9e3d372520..fec048fa1a 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -112,7 +112,7 @@ PHP_FUNCTION(openssl_read_privatekey)
}
convert_to_string_ex(key);
- b = BIO_new_mem_buf((*key)->value.str.val, -1);
+ b = BIO_new_mem_buf(Z_STRVAL_PP(key), -1);
if (b == NULL) {
RETURN_FALSE;
}
@@ -145,7 +145,7 @@ PHP_FUNCTION(openssl_get_publickey)
}
convert_to_string_ex(cert);
- b = BIO_new_mem_buf((*cert)->value.str.val, -1);
+ b = BIO_new_mem_buf(Z_STRVAL_PP(cert), -1);
if (b == NULL) {
RETURN_FALSE;
}
@@ -183,7 +183,7 @@ PHP_FUNCTION(openssl_free_key)
}
ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, key, -1, "OpenSSL key", le_key);
- zend_list_delete((*key)->value.lval);
+ zend_list_delete(Z_LVAL_PP(key));
}
/* }}} */
@@ -225,7 +225,7 @@ PHP_FUNCTION(openssl_read_x509)
}
convert_to_string_ex(cert);
- b = BIO_new_mem_buf((*cert)->value.str.val, -1);
+ b = BIO_new_mem_buf(Z_STRVAL_PP(cert), -1);
if (b == NULL) {
RETURN_FALSE;
}
@@ -255,8 +255,7 @@ PHP_FUNCTION(openssl_free_x509)
WRONG_PARAM_COUNT;
}
ZEND_FETCH_RESOURCE(cert, X509 *, x509, -1, "OpenSSL X.509", le_x509);
-
- zend_list_delete((*x509)->value.lval);
+ zend_list_delete(Z_LVAL_PP(x509));
}
/* }}} */
#endif
@@ -285,8 +284,7 @@ PHP_FUNCTION(openssl_sign)
}
EVP_SignInit(&md_ctx, EVP_sha1());
- EVP_SignUpdate(&md_ctx, (*data)->value.str.val,
- (*data)->value.str.len);
+ EVP_SignUpdate(&md_ctx, Z_STRVAL_PP(data), Z_STRLEN_PP(data));
if (EVP_SignFinal (&md_ctx, sigbuf, &siglen, pkey)) {
zval_dtor(*signature);
sigbuf[siglen] = '\0';
@@ -318,10 +316,9 @@ PHP_FUNCTION(openssl_verify)
ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, key, -1, "OpenSSL key", le_key);
EVP_VerifyInit (&md_ctx, EVP_sha1());
- EVP_VerifyUpdate (&md_ctx, (*data)->value.str.val,
- (*data)->value.str.len);
- err = EVP_VerifyFinal (&md_ctx, (*signature)->value.str.val,
- (*signature)->value.str.len, pkey);
+ EVP_VerifyUpdate (&md_ctx, Z_STRVAL_PP(data), Z_STRLEN_PP(data));
+ err = EVP_VerifyFinal (&md_ctx, Z_STRVAL_PP(signature),
+ Z_STRLEN_PP(signature), pkey);
RETURN_LONG(err);
}
/* }}} */
@@ -422,7 +419,7 @@ PHP_FUNCTION(openssl_seal)
}
#endif
/* allocate one byte extra to make room for \0 */
- buf = emalloc((*data)->value.str.len + EVP_CIPHER_CTX_block_size(&ctx));
+ buf = emalloc(Z_STRLEN_PP(data) + EVP_CIPHER_CTX_block_size(&ctx));
if (buf == NULL) {
for (i=0; i<nkeys; i++) {
efree(eks[i]);
@@ -434,8 +431,8 @@ PHP_FUNCTION(openssl_seal)
}
if (!EVP_SealInit(&ctx, EVP_rc4(), eks, eksl, NULL, pkeys, nkeys) ||
- !EVP_SealUpdate(&ctx, buf, &len1, (*data)->value.str.val,
- (*data)->value.str.len)) {
+ !EVP_SealUpdate(&ctx, buf, &len1, Z_STRVAL_PP(data),
+ Z_STRLEN_PP(data))) {
efree(buf);
for (i=0; i<nkeys; i++) {
efree(eks[i]);
@@ -521,21 +518,21 @@ PHP_FUNCTION(openssl_open)
ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, privkey, -1, "OpenSSL key",
le_key);
- buf = emalloc((*data)->value.str.len + 1);
+ buf = emalloc(Z_STRLEN_PP(data) + 1);
if (buf == NULL) {
RETURN_FALSE;
}
- if (!EVP_OpenInit(&ctx, EVP_rc4(), (*ekey)->value.str.val,
- (*ekey)->value.str.len, NULL, pkey) ||
- !EVP_OpenUpdate(&ctx, buf, &len1, (*data)->value.str.val,
- (*data)->value.str.len) ||
+ if (!EVP_OpenInit(&ctx, EVP_rc4(), Z_STRVAL_PP(ekey),
+ Z_STRLEN_PP(ekey), NULL, pkey) ||
+ !EVP_OpenUpdate(&ctx, buf, &len1, Z_STRVAL_PP(data),
+ Z_STRLEN_PP(data)) ||
!EVP_OpenFinal(&ctx, buf + len1, &len2) ||
(len1 + len2 == 0)) {
efree(buf);
RETURN_FALSE;
}
-
+
zval_dtor(*opendata);
buf[len1 + len2] = '\0';
ZVAL_STRINGL(*opendata, erealloc(buf, len1 + len2 + 1), len1 + len2, 0);