- 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
. 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.
/* }}} */
#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)
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");
}