diff options
-rw-r--r-- | ext/curl/interface.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/curl/interface.c b/ext/curl/interface.c index ad163d7cd0..b9ceac2e9b 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2315,12 +2315,33 @@ PHP_FUNCTION(curl_getinfo) create_certinfo(ci, listcode TSRMLS_CC); CAAZ("certinfo", listcode); } + if (curl_easy_getinfo(ch->cp, CURLINFO_PRIMARY_IP, &s_code) == CURLE_OK) { + CAAS("primary_ip", s_code); + } +#endif +#if LIBCURL_VERSION_NUM > 0x071500 + if (curl_easy_getinfo(ch->cp, CURLINFO_PRIMARY_PORT, &l_code) == CURLE_OK) { + CAAL("primary_port", l_code); + } + if (curl_easy_getinfo(ch->cp, CURLINFO_LOCAL_IP, &s_code) == CURLE_OK) { + CAAS("local_ip", s_code); + } + if (curl_easy_getinfo(ch->cp, CURLINFO_LOCAL_PORT, &l_code) == CURLE_OK) { + CAAL("local_port", l_code); + } #endif if (ch->header.str_len > 0) { CAAS("request_header", ch->header.str); } } else { switch (option) { + /* string variable types */ +#if LIBCURL_VERSION_NUM >= 0x071500 + case CURLINFO_PRIMARY_IP: +#endif +#if LIBCURL_VERSION_NUM >= 0x071500 + case CURLINFO_LOCAL_IP: +#endif case CURLINFO_PRIVATE: case CURLINFO_EFFECTIVE_URL: case CURLINFO_CONTENT_TYPE: { @@ -2333,6 +2354,11 @@ PHP_FUNCTION(curl_getinfo) } break; } + /* Long variable types */ +#if LIBCURL_VERSION_NUM >= 0x071500 + case CURLINFO_PRIMARY_PORT: + case CURLINFO_LOCAL_PORT: +#endif case CURLINFO_HTTP_CODE: case CURLINFO_HEADER_SIZE: case CURLINFO_REQUEST_SIZE: @@ -2348,6 +2374,7 @@ PHP_FUNCTION(curl_getinfo) } break; } + /* Double variable types */ case CURLINFO_TOTAL_TIME: case CURLINFO_NAMELOOKUP_TIME: case CURLINFO_CONNECT_TIME: |