com php-src: Fixed bug #71929 (CURLINFO_CERTINFO data p arsing error).: NEWS UPGRADING ext/curl/interface .c

From: Date: Thu, 28 Jul 2016 03:30:20 +0000
Subject: com php-src: Fixed bug #71929 (CURLINFO_CERTINFO data p arsing error).: NEWS UPGRADING ext/curl/interface .c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-93438@lists.php.net to get a copy of this message
Commit: 30a5ed3a7979f1b865f6633cb16b5f3e78371df1 Author: Pierrick Charron <pierrick@php.net> Wed, 27 Jul 2016 23:30:20 -0400 Parents: ed16f2fed526df9bac870605db5a4e602b78a579 Branches: PHP-5.6 PHP-7.0 PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=30a5ed3a7979f1b865f6633cb16b5f3e78371df1 Log: Fixed bug #71929 (CURLINFO_CERTINFO data parsing error). Bugs: https://bugs.php..net/71929 Changed paths: M NEWS M UPGRADING M ext/curl/interface.c Diff: diff --git a/NEWS b/NEWS index 04f89c4..6c22dd9 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,8 @@ PHP NEWS - Curl: . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) + . Fixed bug #71929 (Certification information (CERTINFO) data parsing error). + (Pierrick) - Date: . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails diff --git a/UPGRADING b/UPGRADING index dbf6501..353ffa7 100644 --- a/UPGRADING +++ b/UPGRADING @@ -218,6 +218,9 @@ PHP 5.6 UPGRADE NOTES . CURLOPT_KRBLEVEL . CURLOPT_KRB4LEVEL + curl_getinfo($ch, CURLINFO_CERTINFO) returns certificate Subject and Issuer + as a string (PHP >= 5.6.25) + - Strings: substr_compare() now allows $length to be zero. pack() and unpack() now support 64-bit format specifiers: q, Q, J and P. diff --git a/ext/curl/interface.c b/ext/curl/interface.c index dc4a971..c7112a0 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1833,38 +1833,6 @@ static void alloc_curl_handle(php_curl **ch) /* }}} */ #if LIBCURL_VERSION_NUM >= 0x071301 /* Available since 7.19.1 */ -/* {{{ split_certinfo - */ -static void split_certinfo(char *string, zval *hash) -{ - char *org = estrdup(string); - char *s = org; - char *split; - - if(org) { - do { - char *key; - char *val; - char *tmp; - - split = strstr(s, "; "); - if(split) - *split = '\0'; - - key = s; - tmp = memchr(key, '=', 64); - if(tmp) { - *tmp = '\0'; - val = tmp+1; - add_assoc_string(hash, key, val, 1); - } - s = split+2; - } while(split); - efree(org); - } -} -/* }}} */ - /* {{{ create_certinfo */ static void create_certinfo(struct curl_certinfo *ci, zval *listcode TSRMLS_DC) @@ -1888,17 +1856,7 @@ static void create_certinfo(struct curl_certinfo *ci, zval *listcode TSRMLS_DC) if(tmp) { *tmp = '\0'; len = strlen(s); - if(!strcmp(s, "Subject") || !strcmp(s, "Issuer")) { - zval *hash; - - MAKE_STD_ZVAL(hash); - array_init(hash); - - split_certinfo(&slist->data[len+1], hash); - add_assoc_zval(certhash, s, hash); - } else { - add_assoc_string(certhash, s, &slist->data[len+1], 1); - } + add_assoc_string(certhash, s, &slist->data[len+1], 1); } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not extract hash key from certificate info"); }

« previous php.cvs (#93438) next »