diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | UPGRADING | 3 | ||||
-rw-r--r-- | ext/curl/interface.c | 44 |
3 files changed, 6 insertions, 43 deletions
@@ -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 @@ -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 dc4a97197e..c7112a091a 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"); } |