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