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

Reply via email to