mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Add constants from curl 7.56 to 7.61
This commit is contained in:
parent
d982bbe175
commit
64881a1e64
4 changed files with 167 additions and 3 deletions
2
NEWS
2
NEWS
|
@ -3,7 +3,7 @@ PHP NEWS
|
|||
?? ??? ????, PHP 7.3.0RC3
|
||||
|
||||
- CURL:
|
||||
. Expose curl constants from curl 7.50 to 7.55. (Pierrick)
|
||||
. Expose curl constants from curl 7.50 to 7.61. (Pierrick)
|
||||
|
||||
- Core:
|
||||
. Fixed bug #76846 (Segfault in shutdown function after memory limit error).
|
||||
|
|
36
UPGRADING
36
UPGRADING
|
@ -486,20 +486,35 @@ PCRE:
|
|||
========================================
|
||||
|
||||
Curl:
|
||||
. CURLAUTH_BEARER
|
||||
. CURLAUTH_GSSAPI
|
||||
. CURLE_WEIRD_SERVER_REPLY
|
||||
. CURLINFO_APPCONNECT_TIME_T
|
||||
. CURLINFO_CONNECT_TIME_T
|
||||
. CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
|
||||
. CURLINFO_CONTENT_LENGTH_UPLOAD_T
|
||||
. CURLINFO_FILETIME_T
|
||||
. CURLINFO_HTTP_VERSION
|
||||
. CURLINFO_NAMELOOKUP_TIME_T
|
||||
. CURLINFO_PRETRANSFER_TIME_T
|
||||
. CURLINFO_PROTOCOL
|
||||
. CURLINFO_PROXY_SSL_VERIFYRESULT
|
||||
. CURLINFO_REDIRECT_TIME_T
|
||||
. CURLINFO_SCHEME
|
||||
. CURLINFO_SIZE_DOWNLOAD_T
|
||||
. CURLINFO_SIZE_UPLOAD_T
|
||||
. CURLINFO_SPEED_DOWNLOAD_T
|
||||
. CURLINFO_SPEED_UPLOAD_T
|
||||
. CURLINFO_STARTTRANSFER_TIME_T
|
||||
. CURLINFO_TOTAL_TIME_T
|
||||
. CURL_LOCK_DATA_CONNECT
|
||||
. CURL_LOCK_DATA_PSL
|
||||
. CURL_MAX_READ_SIZE
|
||||
. CURLOPT_ABSTRACT_UNIX_SOCKET
|
||||
. CURLOPT_DISALLOW_USERNAME_IN_URL
|
||||
. CURLOPT_DNS_SHUFFLE_ADDRESSES
|
||||
. CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
|
||||
. CURLOPT_HAPROXYPROTOCOL
|
||||
. CURLOPT_KEEP_SENDING_ON_ERROR
|
||||
. CURLOPT_PRE_PROXY
|
||||
. CURLOPT_PROXY_CAINFO
|
||||
|
@ -516,13 +531,18 @@ Curl:
|
|||
. CURLOPT_PROXY_SSL_VERIFYHOST
|
||||
. CURLOPT_PROXY_SSL_VERIFYPEER
|
||||
. CURLOPT_PROXY_SSLVERSION
|
||||
. CURLOPT_PROXY_TLS13_CIPHERS
|
||||
. CURLOPT_PROXY_TLSAUTH_PASSWORD
|
||||
. CURLOPT_PROXY_TLSAUTH_TYPE
|
||||
. CURLOPT_PROXY_TLSAUTH_USERNAME
|
||||
. CURLOPT_REQUEST_TARGET
|
||||
. CURLOPT_SOCKS5_AUTH
|
||||
. CURLOPT_SSH_COMPRESSION
|
||||
. CURLOPT_SUPPRESS_CONNECT_HEADERS
|
||||
. CURLOPT_TIMEVALUE_LARGE
|
||||
. CURLOPT_TLS13_CIPHERS
|
||||
. CURLPROXY_HTTPS
|
||||
. CURLSSH_AUTH_GSSAPI
|
||||
. CURL_SSLVERSION_MAX_DEFAULT
|
||||
. CURL_SSLVERSION_MAX_NONE
|
||||
. CURL_SSLVERSION_MAX_TLSv1_0
|
||||
|
@ -530,7 +550,23 @@ Curl:
|
|||
. CURL_SSLVERSION_MAX_TLSv1_2
|
||||
. CURL_SSLVERSION_MAX_TLSv1_3
|
||||
. CURL_SSLVERSION_TLSv1_3
|
||||
. CURL_VERSION_ASYNCHDNS
|
||||
. CURL_VERSION_BROTLI
|
||||
. CURL_VERSION_CONV
|
||||
. CURL_VERSION_DEBUG
|
||||
. CURL_VERSION_GSSAPI
|
||||
. CURL_VERSION_GSSNEGOTIATE
|
||||
. CURL_VERSION_HTTPS_PROXY
|
||||
. CURL_VERSION_IDN
|
||||
. CURL_VERSION_KERBEROS5
|
||||
. CURL_VERSION_LARGEFILE
|
||||
. CURL_VERSION_MULTI_SSL
|
||||
. CURL_VERSION_NTLM
|
||||
. CURL_VERSION_NTLM_WB
|
||||
. CURL_VERSION_SPNEGO
|
||||
. CURL_VERSION_SSPI
|
||||
. CURL_VERSION_TLSAUTH_SRP
|
||||
. CURL_VERSION_UNIX_SOCKETS
|
||||
|
||||
JSON:
|
||||
. JSON_THROW_ON_ERROR
|
||||
|
|
|
@ -571,6 +571,12 @@ PHP_MINFO_FUNCTION(curl)
|
|||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
|
||||
{"HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY},
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */
|
||||
{"MULTI_SSL", CURL_VERSION_MULTI_SSL},
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073900 /* 7.57.0 */
|
||||
{"BROTLI", CURL_VERSION_BROTLI},
|
||||
#endif
|
||||
{NULL, 0}
|
||||
};
|
||||
|
@ -889,10 +895,19 @@ PHP_MINIT_FUNCTION(curl)
|
|||
REGISTER_CURL_CONSTANT(CURL_TIMECOND_NONE);
|
||||
|
||||
/* Curl version constants */
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_ASYNCHDNS);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_CONV);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_DEBUG);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_GSSNEGOTIATE);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_IDN);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS4);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_LARGEFILE);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_LIBZ);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_SPNEGO);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_SSL);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_SSPI);
|
||||
|
||||
/* Available since 7.10.6 */
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_HTTPAUTH);
|
||||
|
@ -1183,6 +1198,7 @@ PHP_MINIT_FUNCTION(curl)
|
|||
REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_TYPE);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_USERNAME);
|
||||
REGISTER_CURL_CONSTANT(CURL_TLSAUTH_SRP);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_TLSAUTH_SRP);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x071506 /* Available since 7.21.6 */
|
||||
|
@ -1195,6 +1211,7 @@ PHP_MINIT_FUNCTION(curl)
|
|||
REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_FLAG);
|
||||
REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_POLICY_FLAG);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_GSSAPI_DELEGATION);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM_WB);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x071800 /* Available since 7.24.0 */
|
||||
|
@ -1264,6 +1281,7 @@ PHP_MINIT_FUNCTION(curl)
|
|||
|
||||
#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLAUTH_NEGOTIATE);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_GSSAPI);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */
|
||||
|
@ -1272,9 +1290,10 @@ PHP_MINIT_FUNCTION(curl)
|
|||
|
||||
#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_UNIX_SOCKET_PATH);
|
||||
|
||||
REGISTER_CURL_CONSTANT(CURLPROTO_SMB);
|
||||
REGISTER_CURL_CONSTANT(CURLPROTO_SMBS);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS5);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_UNIX_SOCKETS);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */
|
||||
|
@ -1393,6 +1412,46 @@ PHP_MINIT_FUNCTION(curl)
|
|||
REGISTER_CURL_CONSTANT(CURLOPT_SOCKS5_AUTH);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_SSH_COMPRESSION);
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_MULTI_SSL);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
|
||||
REGISTER_CURL_CONSTANT(CURL_VERSION_BROTLI);
|
||||
REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_CONNECT);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLSSH_AUTH_GSSAPI);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_FILETIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_TIMEVALUE_LARGE);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_DNS_SHUFFLE_ADDRESSES);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_HAPROXYPROTOCOL);
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
|
||||
REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_PSL);
|
||||
REGISTER_CURL_CONSTANT(CURLAUTH_BEARER);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_APPCONNECT_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_CONNECT_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_NAMELOOKUP_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_PRETRANSFER_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_STARTTRANSFER_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLINFO_TOTAL_TIME_T);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_DISALLOW_USERNAME_IN_URL);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLS13_CIPHERS);
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_TLS13_CIPHERS);
|
||||
#endif
|
||||
|
||||
REGISTER_CURL_CONSTANT(CURLOPT_SAFE_UPLOAD);
|
||||
|
||||
#ifdef PHP_CURL_NEED_OPENSSL_TSL
|
||||
|
@ -1833,6 +1892,25 @@ PHP_FUNCTION(curl_version)
|
|||
}
|
||||
CAAZ("protocols", &protocol_list);
|
||||
}
|
||||
if (d->age >= 1) {
|
||||
CAAS("ares", d->ares);
|
||||
CAAL("ares_num", d->ares_num);
|
||||
}
|
||||
if (d->age >= 2) {
|
||||
CAAS("libidn", d->libidn);
|
||||
}
|
||||
#if LIBCURL_VERSION_NUM >= 0x071001 /* Available since 7.16.1 */
|
||||
if (d->age >= 3) {
|
||||
CAAL("iconv_ver_num", d->iconv_ver_num);
|
||||
CAAS("libssh_version", d->libssh_version);
|
||||
}
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */
|
||||
if (d->age >= 4) {
|
||||
CAAL("brotli_ver_num", d->brotli_ver_num);
|
||||
CAAS("brotli_version", d->brotli_version);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
@ -2267,7 +2345,19 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{
|
|||
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
|
||||
case CURLOPT_SOCKS5_AUTH:
|
||||
#endif
|
||||
|
||||
#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */
|
||||
case CURLOPT_SSH_COMPRESSION:
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
|
||||
case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS:
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */
|
||||
case CURLOPT_DNS_SHUFFLE_ADDRESSES:
|
||||
case CURLOPT_HAPROXYPROTOCOL:
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
|
||||
case CURLOPT_DISALLOW_USERNAME_IN_URL:
|
||||
#endif
|
||||
lval = zval_get_long(zvalue);
|
||||
#if LIBCURL_VERSION_NUM >= 0x071304
|
||||
if ((option == CURLOPT_PROTOCOLS || option == CURLOPT_REDIR_PROTOCOLS) &&
|
||||
|
@ -2379,6 +2469,10 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{
|
|||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */
|
||||
case CURLOPT_REQUEST_TARGET:
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
|
||||
case CURLOPT_PROXY_TLS13_CIPHERS:
|
||||
case CURLOPT_TLS13_CIPHERS:
|
||||
#endif
|
||||
{
|
||||
zend_string *tmp_str;
|
||||
|
@ -2819,8 +2913,12 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{
|
|||
ch->handlers->write->method = PHP_CURL_USER;
|
||||
break;
|
||||
|
||||
/* Curl off_t options */
|
||||
case CURLOPT_MAX_RECV_SPEED_LARGE:
|
||||
case CURLOPT_MAX_SEND_SPEED_LARGE:
|
||||
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
|
||||
case CURLOPT_TIMEVALUE_LARGE:
|
||||
#endif
|
||||
lval = zval_get_long(zvalue);
|
||||
error = curl_easy_setopt(ch->cp, option, (curl_off_t)lval);
|
||||
break;
|
||||
|
@ -3215,6 +3313,34 @@ PHP_FUNCTION(curl_getinfo)
|
|||
if (curl_easy_getinfo(ch->cp, CURLINFO_SPEED_UPLOAD_T, &co) == CURLE_OK) {
|
||||
CAAL("speed_upload", co);
|
||||
}
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_FILETIME_T, &co) == CURLE_OK) {
|
||||
CAAL("filetime", co);
|
||||
}
|
||||
#endif
|
||||
#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_APPCONNECT_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("appconnect_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_CONNECT_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("connect_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_NAMELOOKUP_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("namelookup_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_PRETRANSFER_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("pretransfer_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_REDIRECT_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("redirect_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_STARTTRANSFER_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("starttransfer_time", co);
|
||||
}
|
||||
if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME_T, &co) == CURLE_OK) {
|
||||
CAAL("total_time", co);
|
||||
}
|
||||
#endif
|
||||
if (ch->header.str) {
|
||||
CAASTR("request_header", ch->header.str);
|
||||
|
|
|
@ -46,6 +46,8 @@ KERBEROS5 => Yes
|
|||
UNIX_SOCKETS => No
|
||||
PSL => No
|
||||
HTTPS_PROXY => Yes
|
||||
MULTI_SSL => %s
|
||||
BROTLI => %s
|
||||
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
|
||||
Host => %s-pc-win32
|
||||
SSL Version => OpenSSL/%s
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue