pajoye Fri, 01 Apr 2011 17:19:08 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=309881
Log: - add CURLINFO_REDIRECT_URL Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/curl/interface.c U php/php-src/trunk/ext/curl/interface.c Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2011-04-01 17:10:52 UTC (rev 309880) +++ php/php-src/branches/PHP_5_3/NEWS 2011-04-01 17:19:08 UTC (rev 309881) @@ -13,6 +13,8 @@ (tomas dot brastavicius at quantum dot lt, Pierrick) . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using TMPDIR on Windows). (Pierre) +- cURL + . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre) - DateTime extension: . Fixed bug #54340 (DateTime::add() method bug). (Adam) Modified: php/php-src/branches/PHP_5_3/ext/curl/interface.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-04-01 17:10:52 UTC (rev 309880) +++ php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-04-01 17:19:08 UTC (rev 309881) @@ -331,6 +331,13 @@ ZEND_GET_MODULE (curl) #endif +/* {{{ PHP_INI_BEGIN */ +PHP_INI_BEGIN() + PHP_INI_ENTRY("curl.cainfo", "", PHP_INI_SYSTEM, NULL) +PHP_INI_END() +/* }}} */ + +/* }}} */ /* {{{ PHP_MINFO_FUNCTION */ PHP_MINFO_FUNCTION(curl) @@ -458,6 +465,8 @@ le_curl = zend_register_list_destructors_ex(_php_curl_close, NULL, "curl", module_number); le_curl_multi_handle = zend_register_list_destructors_ex(_php_curl_multi_close, NULL, "curl_multi", module_number); + REGISTER_INI_ENTRIES(); + /* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions or curl src/docs/libcurl/symbols-in-versions for a (almost) complete list of options and which version they were introduced */ @@ -632,7 +641,11 @@ #if LIBCURL_VERSION_NUM > 0x071301 REGISTER_CURL_CONSTANT(CURLINFO_CERTINFO); #endif +#if LIBCURL_VERSION_NUM >= 0x071202 + REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_URL); +#endif + /* cURL protocol constants (curl_version) */ REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6); REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS4); @@ -879,6 +892,7 @@ php_curl_openssl_tsl = NULL; } #endif + UNREGISTER_INI_ENTRIES(); return SUCCESS; } /* }}} */ @@ -1427,6 +1441,7 @@ zval *clone; char *url = NULL; int url_len = 0; + char *cainfo; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &url, &url_len) == FAILURE) { return; @@ -1453,6 +1468,8 @@ MAKE_STD_ZVAL(clone); ch->clone = clone; + + curl_easy_setopt(ch->cp, CURLOPT_NOPROGRESS, 1); curl_easy_setopt(ch->cp, CURLOPT_VERBOSE, 0); curl_easy_setopt(ch->cp, CURLOPT_ERRORBUFFER, ch->err.str); @@ -1465,6 +1482,12 @@ curl_easy_setopt(ch->cp, CURLOPT_DNS_USE_GLOBAL_CACHE, 1); curl_easy_setopt(ch->cp, CURLOPT_DNS_CACHE_TIMEOUT, 120); curl_easy_setopt(ch->cp, CURLOPT_MAXREDIRS, 20); /* prevent infinite redirects */ + + cainfo = INI_STR("curl.cainfo"); + if (cainfo && strlen(cainfo) > 0) { + curl_easy_setopt(ch->cp, CURLOPT_CAINFO, cainfo); + } + #if defined(ZTS) curl_easy_setopt(ch->cp, CURLOPT_NOSIGNAL, 1); #endif @@ -2306,6 +2329,11 @@ CAAZ("certinfo", listcode); } #endif +#if LIBCURL_VERSION_NUM >= 0x071202 + if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_URL, &s_code) == CURLE_OK) { + CAAS("redirect_url", s_code); + } +#endif if (ch->header.str_len > 0) { CAAS("request_header", ch->header.str); } @@ -2313,7 +2341,11 @@ switch (option) { case CURLINFO_PRIVATE: case CURLINFO_EFFECTIVE_URL: - case CURLINFO_CONTENT_TYPE: { + case CURLINFO_CONTENT_TYPE: +#if LIBCURL_VERSION_NUM >= 0x071202 + case CURLINFO_REDIRECT_URL: +#endif + { char *s_code = NULL; if (curl_easy_getinfo(ch->cp, option, &s_code) == CURLE_OK && s_code) { Modified: php/php-src/trunk/ext/curl/interface.c =================================================================== --- php/php-src/trunk/ext/curl/interface.c 2011-04-01 17:10:52 UTC (rev 309880) +++ php/php-src/trunk/ext/curl/interface.c 2011-04-01 17:19:08 UTC (rev 309881) @@ -644,7 +644,11 @@ #if LIBCURL_VERSION_NUM > 0x071301 REGISTER_CURL_CONSTANT(CURLINFO_CERTINFO); #endif +#if LIBCURL_VERSION_NUM >= 0x071202 + REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_URL); +#endif + /* cURL protocol constants (curl_version) */ REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6); REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS4); @@ -2347,6 +2351,11 @@ CAAL("local_port", l_code); } #endif +#if LIBCURL_VERSION_NUM >= 0x071202 + if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_URL, &s_code) == CURLE_OK) { + CAAS("redirect_url", s_code); + } +#endif if (ch->header.str_len > 0) { CAAS("request_header", ch->header.str); } @@ -2361,7 +2370,11 @@ #endif case CURLINFO_PRIVATE: case CURLINFO_EFFECTIVE_URL: - case CURLINFO_CONTENT_TYPE: { + case CURLINFO_CONTENT_TYPE: +#if LIBCURL_VERSION_NUM >= 0x071202 + case CURLINFO_REDIRECT_URL: +#endif + { char *s_code = NULL; if (curl_easy_getinfo(ch->cp, option, &s_code) == CURLE_OK && s_code) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php