From: Daniel Lowrey Date: Thu, 5 Mar 2015 17:27:11 +0000 (-0700) Subject: Merge branch 'PHP-5.6' X-Git-Tag: PRE_PHP7_NSAPI_REMOVAL~800 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c34ee4b146e008aa6439279cefec11159345a690;p=php Merge branch 'PHP-5.6' * PHP-5.6: Fix bug #67403 (Add signatureType to openssl_x509_parse) 5.5.24 now Conflicts: ext/openssl/openssl.c --- c34ee4b146e008aa6439279cefec11159345a690 diff --cc ext/openssl/openssl.c index 956f36171f,290b480eaa..bce3f202f6 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@@ -1935,13 -1924,13 +1935,13 @@@ static int openssl_x509v3_subjectAltNam Returns an array of the fields/values of the CERT */ PHP_FUNCTION(openssl_x509_parse) { - zval ** zcert; + zval * zcert; X509 * cert = NULL; - long certresource = -1; + zend_resource *certresource = NULL; - int i; + int i, sig_nid; zend_bool useshortnames = 1; char * tmpstr; - zval * subitem; + zval subitem; X509_EXTENSION *extension; char *extname; BIO *bio_out; @@@ -1983,14 -1972,16 +1983,14 @@@ tmpstr = (char *)X509_alias_get0(cert, NULL); if (tmpstr) { - add_assoc_string(return_value, "alias", tmpstr, 1); + add_assoc_string(return_value, "alias", tmpstr); } - /* - add_assoc_long(return_value, "signaturetypeLONG", X509_get_signature_type(cert)); - add_assoc_string(return_value, "signaturetype", OBJ_nid2sn(X509_get_signature_type(cert))); - add_assoc_string(return_value, "signaturetypeLN", OBJ_nid2ln(X509_get_signature_type(cert))); - */ + + sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm); - add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1); - add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1); - add_assoc_long(return_value, "signatureTypeNID", sig_nid TSRMLS_CC); - - MAKE_STD_ZVAL(subitem); - array_init(subitem); ++ add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid)); ++ add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid)); ++ add_assoc_long(return_value, "signatureTypeNID", sig_nid); + array_init(&subitem); /* NOTE: the purposes are added as integer keys - the keys match up to the X509_PURPOSE_SSL_XXX defines in x509v3.h */