diff --git a/NEWS b/NEWS index cbcdcc7ac2569..e6d784d935d52 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,7 @@ Core: Curl: . Deprecated the CURLOPT_BINARYTRANSFER constant. (divinity76) + . Bumped required libcurl version to 7.61.0. (Ayesh) Date: . Added DateTime[Immutable]::createFromTimestamp. (Marc Bennewitz) diff --git a/UPGRADING b/UPGRADING index 752724bfe1ce7..745182d66be3f 100644 --- a/UPGRADING +++ b/UPGRADING @@ -392,6 +392,9 @@ PDO_SQLITE: 9. Other Changes to Extensions ======================================== +- Curl: + . The Curl extension now requires at least libcurl 7.61.0. + - Intl: . The class constants are typed now. diff --git a/ext/curl/config.m4 b/ext/curl/config.m4 index 3b11739654bd6..cec9d242a7733 100644 --- a/ext/curl/config.m4 +++ b/ext/curl/config.m4 @@ -4,7 +4,7 @@ PHP_ARG_WITH([curl], [Include cURL support])]) if test "$PHP_CURL" != "no"; then - PKG_CHECK_MODULES([CURL], [libcurl >= 7.29.0]) + PKG_CHECK_MODULES([CURL], [libcurl >= 7.61.0]) PKG_CHECK_VAR([CURL_FEATURES], [libcurl], [supported_features]) PHP_EVAL_LIBLINE($CURL_LIBS, CURL_SHARED_LIBADD) diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php index 1726d4b50736d..5709a404afe97 100644 --- a/ext/curl/curl.stub.php +++ b/ext/curl/curl.stub.php @@ -472,13 +472,11 @@ * @cvalue CURLOPT_WRITEHEADER */ const CURLOPT_WRITEHEADER = UNKNOWN; -#if LIBCURL_VERSION_NUM >= 0x072000 /** * @var int * @cvalue CURLOPT_XFERINFOFUNCTION */ const CURLOPT_XFERINFOFUNCTION = UNKNOWN; -#endif /* */ /** @@ -776,13 +774,11 @@ * @cvalue CURLE_SSL_PEER_CERTIFICATE */ const CURLE_SSL_PEER_CERTIFICATE = UNKNOWN; -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ /** * @var int * @cvalue CURLE_SSL_PINNEDPUBKEYNOTMATCH */ const CURLE_SSL_PINNEDPUBKEYNOTMATCH = UNKNOWN; -#endif /** * @var int * @cvalue CURLE_TELNET_OPTION_SYNTAX @@ -998,13 +994,11 @@ * @cvalue CURLM_OUT_OF_MEMORY */ const CURLM_OUT_OF_MEMORY = UNKNOWN; -#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ /** * @var int * @cvalue CURLM_ADDED_ALREADY */ const CURLM_ADDED_ALREADY = UNKNOWN; -#endif /* Curl proxy constants */ /** @@ -2385,7 +2379,6 @@ */ const CURLSSH_AUTH_AGENT = UNKNOWN; -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ /** * @var int * @cvalue CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE @@ -2411,17 +2404,13 @@ * @cvalue CURLMOPT_MAX_TOTAL_CONNECTIONS */ const CURLMOPT_MAX_TOTAL_CONNECTIONS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ /** * @var int * @cvalue CURLOPT_SASL_IR */ const CURLOPT_SASL_IR = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ /** * @var int * @cvalue CURLOPT_DNS_INTERFACE @@ -2453,9 +2442,7 @@ * @cvalue CURL_VERSION_HTTP2 */ const CURL_VERSION_HTTP2 = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ /** * @var int * @cvalue CURLOPT_LOGIN_OPTIONS @@ -2477,9 +2464,7 @@ * @cvalue CURL_SSLVERSION_TLSv1_2 */ const CURL_SSLVERSION_TLSv1_2 = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ /** * @var int * @cvalue CURLOPT_EXPECT_100_TIMEOUT_MS @@ -2495,9 +2480,7 @@ * @cvalue CURLOPT_SSL_ENABLE_NPN */ const CURLOPT_SSL_ENABLE_NPN = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ /** * @var int * @cvalue CURLHEADER_SEPARATE @@ -2518,9 +2501,7 @@ * @cvalue CURLOPT_PROXYHEADER */ const CURLOPT_PROXYHEADER = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ /** * @var int * @cvalue CURLAUTH_NEGOTIATE @@ -2531,17 +2512,13 @@ * @cvalue CURL_VERSION_GSSAPI */ const CURL_VERSION_GSSAPI = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ /** * @var int * @cvalue CURLOPT_PINNEDPUBLICKEY */ const CURLOPT_PINNEDPUBLICKEY = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ /** * @var int * @cvalue CURLOPT_UNIX_SOCKET_PATH @@ -2567,17 +2544,13 @@ * @cvalue CURL_VERSION_UNIX_SOCKETS */ const CURL_VERSION_UNIX_SOCKETS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ /** * @var int * @cvalue CURLOPT_SSL_VERIFYSTATUS */ const CURLOPT_SSL_VERIFYSTATUS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ /** * @var int * @cvalue CURLOPT_PATH_AS_IS @@ -2588,9 +2561,7 @@ * @cvalue CURLOPT_SSL_FALSESTART */ const CURLOPT_SSL_FALSESTART = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ /** * @var int * @cvalue CURL_HTTP_VERSION_2 @@ -2628,25 +2599,19 @@ * @cvalue CURLPIPE_MULTIPLEX */ const CURLPIPE_MULTIPLEX = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ /** * @var int * @cvalue CURLSSLOPT_NO_REVOKE */ const CURLSSLOPT_NO_REVOKE = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ /** * @var int * @cvalue CURLOPT_DEFAULT_PROTOCOL */ const CURLOPT_DEFAULT_PROTOCOL = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ /** * @var int * @cvalue CURLOPT_STREAM_WEIGHT @@ -2667,9 +2632,7 @@ * @cvalue CURL_PUSH_DENY */ const CURL_PUSH_DENY = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ /** * @var int * @cvalue CURL_HTTP_VERSION_2TLS @@ -2680,17 +2643,13 @@ * @cvalue CURL_VERSION_PSL */ const CURL_VERSION_PSL = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ /** * @var int * @cvalue CURLOPT_TFTP_NO_OPTIONS */ const CURLOPT_TFTP_NO_OPTIONS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ /** * @var int * @cvalue CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE @@ -2706,17 +2665,13 @@ * @cvalue CURLOPT_TCP_FASTOPEN */ const CURLOPT_TCP_FASTOPEN = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ /** * @var int * @cvalue CURLINFO_HTTP_VERSION */ const CURLINFO_HTTP_VERSION = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ /** * @var int * @cvalue CURLE_WEIRD_SERVER_REPLY @@ -2727,9 +2682,7 @@ * @cvalue CURLOPT_KEEP_SENDING_ON_ERROR */ const CURLOPT_KEEP_SENDING_ON_ERROR = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ /** * @var int * @cvalue CURL_SSLVERSION_TLSv1_3 @@ -2850,9 +2803,7 @@ * @cvalue CURLPROXY_HTTPS */ const CURLPROXY_HTTPS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ /** * @var int * @cvalue CURL_MAX_READ_SIZE @@ -2863,9 +2814,7 @@ * @cvalue CURLOPT_ABSTRACT_UNIX_SOCKET */ const CURLOPT_ABSTRACT_UNIX_SOCKET = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ /** * @var int * @cvalue CURL_SSLVERSION_MAX_DEFAULT @@ -2901,17 +2850,13 @@ * @cvalue CURLOPT_SUPPRESS_CONNECT_HEADERS */ const CURLOPT_SUPPRESS_CONNECT_HEADERS = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ /** * @var int * @cvalue CURLAUTH_GSSAPI */ const CURLAUTH_GSSAPI = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ /** * @var int * @cvalue CURLINFO_CONTENT_LENGTH_DOWNLOAD_T @@ -2952,9 +2897,7 @@ * @cvalue CURLOPT_SOCKS5_AUTH */ const CURLOPT_SOCKS5_AUTH = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ /** * @var int * @cvalue CURLOPT_SSH_COMPRESSION @@ -2965,9 +2908,7 @@ * @cvalue CURL_VERSION_MULTI_SSL */ const CURL_VERSION_MULTI_SSL = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ /** * @var int * @cvalue CURL_VERSION_BROTLI @@ -2978,17 +2919,13 @@ * @cvalue CURL_LOCK_DATA_CONNECT */ const CURL_LOCK_DATA_CONNECT = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ /** * @var int * @cvalue CURLSSH_AUTH_GSSAPI */ const CURLSSH_AUTH_GSSAPI = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ /** * @var int * @cvalue CURLINFO_FILETIME_T @@ -3004,9 +2941,7 @@ * @cvalue CURLOPT_TIMEVALUE_LARGE */ const CURLOPT_TIMEVALUE_LARGE = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ /** * @var int * @cvalue CURLOPT_DNS_SHUFFLE_ADDRESSES @@ -3017,9 +2952,7 @@ * @cvalue CURLOPT_HAPROXYPROTOCOL */ const CURLOPT_HAPROXYPROTOCOL = UNKNOWN; -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ /** * @var int * @cvalue CURL_LOCK_DATA_PSL @@ -3080,7 +3013,6 @@ * @cvalue CURLOPT_TLS13_CIPHERS */ const CURLOPT_TLS13_CIPHERS = UNKNOWN; -#endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ /** diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h index f868ad505021d..20c407323adb2 100644 --- a/ext/curl/curl_arginfo.h +++ b/ext/curl/curl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: aebc4c2673203a4af49f55dd6eaf0bdbb4cafd68 */ + * Stub hash: 92f4985790d0dad4216be837571e41c86711b6f8 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0) @@ -325,9 +325,7 @@ static void register_curl_symbols(int module_number) REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_WRITEHEADER", CURLOPT_WRITEHEADER, CONST_PERSISTENT); -#if LIBCURL_VERSION_NUM >= 0x072000 REGISTER_LONG_CONSTANT("CURLOPT_XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CONST_PERSISTENT); -#endif REGISTER_LONG_CONSTANT("CURLE_ABORTED_BY_CALLBACK", CURLE_ABORTED_BY_CALLBACK, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_BAD_CALLING_ORDER", CURLE_BAD_CALLING_ORDER, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_BAD_CONTENT_ENCODING", CURLE_BAD_CONTENT_ENCODING, CONST_PERSISTENT); @@ -387,9 +385,7 @@ static void register_curl_symbols(int module_number) REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_NOTFOUND", CURLE_SSL_ENGINE_NOTFOUND, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_SETFAILED", CURLE_SSL_ENGINE_SETFAILED, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_SSL_PEER_CERTIFICATE", CURLE_SSL_PEER_CERTIFICATE, CONST_PERSISTENT); -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ REGISTER_LONG_CONSTANT("CURLE_SSL_PINNEDPUBKEYNOTMATCH", CURLE_SSL_PINNEDPUBKEYNOTMATCH, CONST_PERSISTENT); -#endif REGISTER_LONG_CONSTANT("CURLE_TELNET_OPTION_SYNTAX", CURLE_TELNET_OPTION_SYNTAX, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_TOO_MANY_REDIRECTS", CURLE_TOO_MANY_REDIRECTS, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLE_UNKNOWN_TELNET_OPTION", CURLE_UNKNOWN_TELNET_OPTION, CONST_PERSISTENT); @@ -437,9 +433,7 @@ static void register_curl_symbols(int module_number) REGISTER_LONG_CONSTANT("CURLM_INTERNAL_ERROR", CURLM_INTERNAL_ERROR, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLM_OK", CURLM_OK, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLM_OUT_OF_MEMORY", CURLM_OUT_OF_MEMORY, CONST_PERSISTENT); -#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ REGISTER_LONG_CONSTANT("CURLM_ADDED_ALREADY", CURLM_ADDED_ALREADY, CONST_PERSISTENT); -#endif REGISTER_LONG_CONSTANT("CURLPROXY_HTTP", CURLPROXY_HTTP, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4", CURLPROXY_SOCKS4, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5", CURLPROXY_SOCKS5, CONST_PERSISTENT); @@ -694,366 +688,126 @@ static void register_curl_symbols(int module_number) REGISTER_LONG_CONSTANT("CURLSSLOPT_ALLOW_BEAST", CURLSSLOPT_ALLOW_BEAST, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURL_REDIR_POST_303", CURL_REDIR_POST_303, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLSSH_AUTH_AGENT", CURLSSH_AUTH_AGENT, CONST_PERSISTENT); -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE", CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE", CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_MAX_HOST_CONNECTIONS", CURLMOPT_MAX_HOST_CONNECTIONS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_MAX_PIPELINE_LENGTH", CURLMOPT_MAX_PIPELINE_LENGTH, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_MAX_TOTAL_CONNECTIONS", CURLMOPT_MAX_TOTAL_CONNECTIONS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SASL_IR", CURLOPT_SASL_IR, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DNS_INTERFACE", CURLOPT_DNS_INTERFACE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP4", CURLOPT_DNS_LOCAL_IP4, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP6", CURLOPT_DNS_LOCAL_IP6, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURLOPT_XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_0", CURL_HTTP_VERSION_2_0, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP2", CURL_VERSION_HTTP2, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ REGISTER_LONG_CONSTANT("CURLOPT_LOGIN_OPTIONS", CURLOPT_LOGIN_OPTIONS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_0", CURL_SSLVERSION_TLSv1_0, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_1", CURL_SSLVERSION_TLSv1_1, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_2", CURL_SSLVERSION_TLSv1_2, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ REGISTER_LONG_CONSTANT("CURLOPT_EXPECT_100_TIMEOUT_MS", CURLOPT_EXPECT_100_TIMEOUT_MS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_ALPN", CURLOPT_SSL_ENABLE_ALPN, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_NPN", CURLOPT_SSL_ENABLE_NPN, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ REGISTER_LONG_CONSTANT("CURLHEADER_SEPARATE", CURLHEADER_SEPARATE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ REGISTER_LONG_CONSTANT("CURLHEADER_UNIFIED", CURLHEADER_UNIFIED, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ REGISTER_LONG_CONSTANT("CURLOPT_HEADEROPT", CURLOPT_HEADEROPT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXYHEADER", CURLOPT_PROXYHEADER, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ REGISTER_LONG_CONSTANT("CURLAUTH_NEGOTIATE", CURLAUTH_NEGOTIATE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_GSSAPI", CURL_VERSION_GSSAPI, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PINNEDPUBLICKEY", CURLOPT_PINNEDPUBLICKEY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ REGISTER_LONG_CONSTANT("CURLOPT_UNIX_SOCKET_PATH", CURLOPT_UNIX_SOCKET_PATH, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ REGISTER_LONG_CONSTANT("CURLPROTO_SMB", CURLPROTO_SMB, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ REGISTER_LONG_CONSTANT("CURLPROTO_SMBS", CURLPROTO_SMBS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS5", CURL_VERSION_KERBEROS5, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_UNIX_SOCKETS", CURL_VERSION_UNIX_SOCKETS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYSTATUS", CURLOPT_SSL_VERIFYSTATUS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PATH_AS_IS", CURLOPT_PATH_AS_IS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SSL_FALSESTART", CURLOPT_SSL_FALSESTART, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2", CURL_HTTP_VERSION_2, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PIPEWAIT", CURLOPT_PIPEWAIT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SERVICE_NAME", CURLOPT_PROXY_SERVICE_NAME, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SERVICE_NAME", CURLOPT_SERVICE_NAME, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLPIPE_NOTHING", CURLPIPE_NOTHING, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLPIPE_HTTP1", CURLPIPE_HTTP1, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ REGISTER_LONG_CONSTANT("CURLPIPE_MULTIPLEX", CURLPIPE_MULTIPLEX, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_REVOKE", CURLSSLOPT_NO_REVOKE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ REGISTER_LONG_CONSTANT("CURLOPT_STREAM_WEIGHT", CURLOPT_STREAM_WEIGHT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ REGISTER_LONG_CONSTANT("CURLMOPT_PUSHFUNCTION", CURLMOPT_PUSHFUNCTION, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ REGISTER_LONG_CONSTANT("CURL_PUSH_OK", CURL_PUSH_OK, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ REGISTER_LONG_CONSTANT("CURL_PUSH_DENY", CURL_PUSH_DENY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2TLS", CURL_HTTP_VERSION_2TLS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_PSL", CURL_VERSION_PSL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ REGISTER_LONG_CONSTANT("CURLOPT_TFTP_NO_OPTIONS", CURLOPT_TFTP_NO_OPTIONS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE", CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_TO", CURLOPT_CONNECT_TO, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ REGISTER_LONG_CONSTANT("CURLOPT_TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ REGISTER_LONG_CONSTANT("CURLINFO_HTTP_VERSION", CURLINFO_HTTP_VERSION, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ REGISTER_LONG_CONSTANT("CURLE_WEIRD_SERVER_REPLY", CURLE_WEIRD_SERVER_REPLY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ REGISTER_LONG_CONSTANT("CURLOPT_KEEP_SENDING_ON_ERROR", CURLOPT_KEEP_SENDING_ON_ERROR, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_3", CURL_SSLVERSION_TLSv1_3, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLINFO_PROTOCOL", CURLINFO_PROTOCOL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLINFO_PROXY_SSL_VERIFYRESULT", CURLINFO_PROXY_SSL_VERIFYRESULT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLINFO_SCHEME", CURLINFO_SCHEME, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PRE_PROXY", CURLOPT_PRE_PROXY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO", CURLOPT_PROXY_CAINFO, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAPATH", CURLOPT_PROXY_CAPATH, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CRLFILE", CURLOPT_PROXY_CRLFILE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_KEYPASSWD", CURLOPT_PROXY_KEYPASSWD, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_PINNEDPUBLICKEY", CURLOPT_PROXY_PINNEDPUBLICKEY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_CIPHER_LIST", CURLOPT_PROXY_SSL_CIPHER_LIST, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_OPTIONS", CURLOPT_PROXY_SSL_OPTIONS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYHOST", CURLOPT_PROXY_SSL_VERIFYHOST, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYPEER", CURLOPT_PROXY_SSL_VERIFYPEER, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT", CURLOPT_PROXY_SSLCERT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERTTYPE", CURLOPT_PROXY_SSLCERTTYPE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY", CURLOPT_PROXY_SSLKEY, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEYTYPE", CURLOPT_PROXY_SSLKEYTYPE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLVERSION", CURLOPT_PROXY_SSLVERSION, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_PASSWORD", CURLOPT_PROXY_TLSAUTH_PASSWORD, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_TYPE", CURLOPT_PROXY_TLSAUTH_TYPE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_USERNAME", CURLOPT_PROXY_TLSAUTH_USERNAME, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ REGISTER_LONG_CONSTANT("CURLPROXY_HTTPS", CURLPROXY_HTTPS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ REGISTER_LONG_CONSTANT("CURL_MAX_READ_SIZE", CURL_MAX_READ_SIZE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ REGISTER_LONG_CONSTANT("CURLOPT_ABSTRACT_UNIX_SOCKET", CURLOPT_ABSTRACT_UNIX_SOCKET, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_DEFAULT", CURL_SSLVERSION_MAX_DEFAULT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_NONE", CURL_SSLVERSION_MAX_NONE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_0", CURL_SSLVERSION_MAX_TLSv1_0, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_1", CURL_SSLVERSION_MAX_TLSv1_1, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_2", CURL_SSLVERSION_MAX_TLSv1_2, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_3", CURL_SSLVERSION_MAX_TLSv1_3, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SUPPRESS_CONNECT_HEADERS", CURLOPT_SUPPRESS_CONNECT_HEADERS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ REGISTER_LONG_CONSTANT("CURLAUTH_GSSAPI", CURLAUTH_GSSAPI, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD_T", CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD_T", CURLINFO_CONTENT_LENGTH_UPLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD_T", CURLINFO_SIZE_DOWNLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD_T", CURLINFO_SIZE_UPLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD_T", CURLINFO_SPEED_DOWNLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD_T", CURLINFO_SPEED_UPLOAD_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLOPT_REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ REGISTER_LONG_CONSTANT("CURLOPT_SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_MULTI_SSL", CURL_VERSION_MULTI_SSL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ REGISTER_LONG_CONSTANT("CURL_VERSION_BROTLI", CURL_VERSION_BROTLI, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_CONNECT", CURL_LOCK_DATA_CONNECT, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ REGISTER_LONG_CONSTANT("CURLSSH_AUTH_GSSAPI", CURLSSH_AUTH_GSSAPI, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ REGISTER_LONG_CONSTANT("CURLINFO_FILETIME_T", CURLINFO_FILETIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ REGISTER_LONG_CONSTANT("CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS", CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE_LARGE", CURLOPT_TIMEVALUE_LARGE, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DNS_SHUFFLE_ADDRESSES", CURLOPT_DNS_SHUFFLE_ADDRESSES, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ REGISTER_LONG_CONSTANT("CURLOPT_HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_PSL", CURL_LOCK_DATA_PSL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLAUTH_BEARER", CURLAUTH_BEARER, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME_T", CURLINFO_APPCONNECT_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME_T", CURLINFO_CONNECT_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME_T", CURLINFO_NAMELOOKUP_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME_T", CURLINFO_PRETRANSFER_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME_T", CURLINFO_REDIRECT_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME_T", CURLINFO_STARTTRANSFER_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME_T", CURLINFO_TOTAL_TIME_T, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CONST_PERSISTENT); -#endif -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ REGISTER_LONG_CONSTANT("CURLOPT_TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS, CONST_PERSISTENT); -#endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ REGISTER_LONG_CONSTANT("CURLOPT_DOH_URL", CURLOPT_DOH_URL, CONST_PERSISTENT); #endif diff --git a/ext/curl/curl_private.h b/ext/curl/curl_private.h index 3800d6533e555..aeef5937a0de8 100644 --- a/ext/curl/curl_private.h +++ b/ext/curl/curl_private.h @@ -73,11 +73,9 @@ typedef struct { php_curl_read *read; zval std_err; php_curl_callback *progress; -#if LIBCURL_VERSION_NUM >= 0x072000 php_curl_callback *xferinfo; -#endif php_curl_callback *fnmatch; -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ php_curl_callback *sshhostkey; #endif } php_curl_handlers; @@ -94,9 +92,6 @@ struct _php_curl_send_headers { struct _php_curl_free { zend_llist post; zend_llist stream; -#if LIBCURL_VERSION_NUM < 0x073800 /* 7.56.0 */ - zend_llist buffers; -#endif HashTable *slist; }; diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 44284b7a29670..a4c8b941adc3b 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -123,7 +123,7 @@ static zend_result php_curl_option_url(php_curl *ch, const zend_string *url) /* curl_easy_setopt(ch->cp, CURLOPT_PROTOCOLS, CURLPROTO_ALL & ~CURLPROTO_FILE); } -#if LIBCURL_VERSION_NUM > 0x073800 && defined(PHP_WIN32) +#ifdef PHP_WIN32 if ( zend_string_starts_with_literal_ci(url, "file://") && '/' != ZSTR_VAL(url)[sizeof("file://") - 1] @@ -285,42 +285,28 @@ PHP_MINFO_FUNCTION(curl) {"SSL", CURL_VERSION_SSL}, {"SSPI", CURL_VERSION_SSPI}, {"TLS-SRP", CURL_VERSION_TLSAUTH_SRP}, -#if LIBCURL_VERSION_NUM >= 0x072100 /* 7.33.0 */ {"HTTP2", CURL_VERSION_HTTP2}, -#endif -#if LIBCURL_VERSION_NUM >= 0x072600 /* 7.38.0 */ {"GSSAPI", CURL_VERSION_GSSAPI}, -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* 7.40.0 */ {"KERBEROS5", CURL_VERSION_KERBEROS5}, {"UNIX_SOCKETS", CURL_VERSION_UNIX_SOCKETS}, -#endif -#if LIBCURL_VERSION_NUM >= 0x072f00 /* 7.47.0 */ {"PSL", CURL_VERSION_PSL}, -#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 -#if LIBCURL_VERSION_NUM >= 0x074001 /* 7.64.1 */ +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ {"ALTSVC", CURL_VERSION_ALTSVC}, #endif -#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */ +#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ {"HTTP3", CURL_VERSION_HTTP3}, #endif -#if LIBCURL_VERSION_NUM >= 0x074800 /* 7.72.0 */ +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ {"UNICODE", CURL_VERSION_UNICODE}, {"ZSTD", CURL_VERSION_ZSTD}, #endif -#if LIBCURL_VERSION_NUM >= 0x074a00 /* 7.74.0 */ +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ {"HSTS", CURL_VERSION_HSTS}, #endif -#if LIBCURL_VERSION_NUM >= 0x074c00 /* 7.76.0 */ +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ {"GSASL", CURL_VERSION_GSASL}, #endif {NULL, 0} @@ -505,17 +491,15 @@ static HashTable *curl_get_gc(zend_object *object, zval **table, int *n) zend_get_gc_buffer_add_zval(gc_buffer, &curl->handlers.progress->func_name); } -#if LIBCURL_VERSION_NUM >= 0x072000 if (curl->handlers.xferinfo) { zend_get_gc_buffer_add_zval(gc_buffer, &curl->handlers.xferinfo->func_name); } -#endif if (curl->handlers.fnmatch) { zend_get_gc_buffer_add_zval(gc_buffer, &curl->handlers.fnmatch->func_name); } -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ if (curl->handlers.sshhostkey) { zend_get_gc_buffer_add_zval(gc_buffer, &curl->handlers.sshhostkey->func_name); } @@ -724,7 +708,6 @@ static size_t curl_progress(void *clientp, double dltotal, double dlnow, double } /* }}} */ -#if LIBCURL_VERSION_NUM >= 0x072000 /* {{{ curl_xferinfo */ static size_t curl_xferinfo(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { @@ -772,9 +755,8 @@ static size_t curl_xferinfo(void *clientp, curl_off_t dltotal, curl_off_t dlnow, return rval; } /* }}} */ -#endif -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ static int curl_ssh_hostkeyfunction(void *clientp, int keytype, const char *key, size_t keylen) { php_curl *ch = (php_curl *)clientp; @@ -974,11 +956,7 @@ static int curl_debug(CURL *cp, curl_infotype type, char *buf, size_t buf_len, v /* {{{ curl_free_post */ static void curl_free_post(void **post) { -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ curl_mime_free((curl_mime *)*post); -#else - curl_formfree((struct HttpPost *)*post); -#endif } /* }}} */ @@ -998,15 +976,6 @@ static void curl_free_cb_arg(void **cb_arg_p) } /* }}} */ -#if LIBCURL_VERSION_NUM < 0x073800 /* 7.56.0 */ -/* {{{ curl_free_buffers */ -static void curl_free_buffers(void **buffer) -{ - zend_string_release((zend_string *) *buffer); -} -/* }}} */ -#endif - /* {{{ curl_free_slist */ static void curl_free_slist(zval *el) { @@ -1060,12 +1029,10 @@ PHP_FUNCTION(curl_version) CAAL("iconv_ver_num", d->iconv_ver_num); CAAS("libssh_version", d->libssh_version); } -#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 } /* }}} */ @@ -1088,11 +1055,9 @@ void init_curl_handle(php_curl *ch) ch->handlers.write_header = ecalloc(1, sizeof(php_curl_write)); ch->handlers.read = ecalloc(1, sizeof(php_curl_read)); ch->handlers.progress = NULL; -#if LIBCURL_VERSION_NUM >= 0x072000 ch->handlers.xferinfo = NULL; -#endif ch->handlers.fnmatch = NULL; -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ ch->handlers.sshhostkey = NULL; #endif ch->clone = emalloc(sizeof(uint32_t)); @@ -1103,10 +1068,6 @@ void init_curl_handle(php_curl *ch) zend_llist_init(&ch->to_free->post, sizeof(struct HttpPost *), (llist_dtor_func_t)curl_free_post, 0); zend_llist_init(&ch->to_free->stream, sizeof(struct mime_data_cb_arg *), (llist_dtor_func_t)curl_free_cb_arg, 0); -#if LIBCURL_VERSION_NUM < 0x073800 /* 7.56.0 */ - zend_llist_init(&ch->to_free->buffers, sizeof(zend_string *), (llist_dtor_func_t)curl_free_buffers, 0); -#endif - ch->to_free->slist = emalloc(sizeof(HashTable)); zend_hash_init(ch->to_free->slist, 4, NULL, curl_free_slist, 0); ZVAL_UNDEF(&ch->postfields); @@ -1270,11 +1231,9 @@ void _php_setup_easy_copy_handlers(php_curl *ch, php_curl *source) curl_easy_setopt(ch->cp, CURLOPT_DEBUGDATA, (void *) ch); _php_copy_callback(ch, &ch->handlers.progress, source->handlers.progress, CURLOPT_PROGRESSDATA); -#if LIBCURL_VERSION_NUM >= 0x072000 _php_copy_callback(ch, &ch->handlers.xferinfo, source->handlers.xferinfo, CURLOPT_XFERINFODATA); -#endif _php_copy_callback(ch, &ch->handlers.fnmatch, source->handlers.fnmatch, CURLOPT_FNMATCH_DATA); -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ _php_copy_callback(ch, &ch->handlers.sshhostkey, source->handlers.sshhostkey, CURLOPT_SSH_HOSTKEYDATA); #endif @@ -1290,7 +1249,6 @@ void _php_setup_easy_copy_handlers(php_curl *ch, php_curl *source) (*source->clone)++; } -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ static size_t read_cb(char *buffer, size_t size, size_t nitems, void *arg) /* {{{ */ { struct mime_data_cb_arg *cb_arg = (struct mime_data_cb_arg *) arg; @@ -1334,26 +1292,16 @@ static void free_cb(void *arg) /* {{{ */ } } /* }}} */ -#endif -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ static inline CURLcode add_simple_field(curl_mime *mime, zend_string *string_key, zval *current) -#else -static inline CURLcode add_simple_field(struct HttpPost **first, struct HttpPost **last, zend_string *string_key, zval *current) -#endif { CURLcode error = CURLE_OK; -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ curl_mimepart *part; CURLcode form_error; -#else - CURLFORMcode form_error; -#endif zend_string *postval, *tmp_postval; postval = zval_get_tmp_string(current, &tmp_postval); -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ part = curl_mime_addpart(mime); if (part == NULL) { zend_tmp_string_release(tmp_postval); @@ -1364,23 +1312,7 @@ static inline CURLcode add_simple_field(struct HttpPost **first, struct HttpPost || (form_error = curl_mime_data(part, ZSTR_VAL(postval), ZSTR_LEN(postval))) != CURLE_OK) { error = form_error; } -#else - /* The arguments after _NAMELENGTH and _CONTENTSLENGTH - * must be explicitly cast to long in curl_formadd - * use since curl needs a long not an int. */ - form_error = curl_formadd(first, last, - CURLFORM_COPYNAME, ZSTR_VAL(string_key), - CURLFORM_NAMELENGTH, ZSTR_LEN(string_key), - CURLFORM_COPYCONTENTS, ZSTR_VAL(postval), - CURLFORM_CONTENTSLENGTH, ZSTR_LEN(postval), - CURLFORM_END - ); - - if (form_error != CURL_FORMADD_OK) { - /* Not nice to convert between enums but we only have place for one error type */ - error = (CURLcode)form_error; - } -#endif + zend_tmp_string_release(tmp_postval); return error; @@ -1393,24 +1325,16 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo zval *current; zend_string *string_key; zend_ulong num_key; -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ curl_mime *mime = NULL; curl_mimepart *part; CURLcode form_error; -#else - struct HttpPost *first = NULL; - struct HttpPost *last = NULL; - CURLFORMcode form_error; -#endif -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ if (zend_hash_num_elements(postfields) > 0) { mime = curl_mime_init(ch->cp); if (mime == NULL) { return FAILURE; } } -#endif ZEND_HASH_FOREACH_KEY_VAL(postfields, num_key, string_key, current) { zend_string *postval; @@ -1427,13 +1351,11 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo /* new-style file upload */ zval *prop, rv; char *type = NULL, *filename = NULL; -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ struct mime_data_cb_arg *cb_arg; php_stream *stream; php_stream_statbuf ssb; size_t filesize = -1; curl_seek_callback seekfunc = seek_cb; -#endif prop = zend_read_property_ex(curl_CURLFile_class, Z_OBJ_P(current), ZSTR_KNOWN(ZEND_STR_NAME), /* silent */ false, &rv); ZVAL_DEREF(prop); @@ -1457,7 +1379,6 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo filename = Z_STRVAL_P(prop); } -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ zval_ptr_dtor(&ch->postfields); ZVAL_COPY(&ch->postfields, zpostfields); @@ -1485,19 +1406,6 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo error = form_error; } zend_llist_add_element(&ch->to_free->stream, &cb_arg); -#else - form_error = curl_formadd(&first, &last, - CURLFORM_COPYNAME, ZSTR_VAL(string_key), - CURLFORM_NAMELENGTH, ZSTR_LEN(string_key), - CURLFORM_FILENAME, filename ? filename : ZSTR_VAL(postval), - CURLFORM_CONTENTTYPE, type ? type : "application/octet-stream", - CURLFORM_FILE, ZSTR_VAL(postval), - CURLFORM_END); - if (form_error != CURL_FORMADD_OK) { - /* Not nice to convert between enums but we only have place for one error type */ - error = (CURLcode)form_error; - } -#endif } zend_string_release_ex(string_key, 0); @@ -1539,7 +1447,6 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo postval = Z_STR_P(prop); -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ zval_ptr_dtor(&ch->postfields); ZVAL_COPY(&ch->postfields, zpostfields); @@ -1554,23 +1461,6 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo || (form_error = curl_mime_type(part, type)) != CURLE_OK) { error = form_error; } -#else - postval = zend_string_copy(postval); - zend_llist_add_element(&ch->to_free->buffers, &postval); - - form_error = curl_formadd(&first, &last, - CURLFORM_COPYNAME, ZSTR_VAL(string_key), - CURLFORM_NAMELENGTH, ZSTR_LEN(string_key), - CURLFORM_BUFFER, filename, - CURLFORM_CONTENTTYPE, type, - CURLFORM_BUFFERPTR, ZSTR_VAL(postval), - CURLFORM_BUFFERLENGTH, ZSTR_LEN(postval), - CURLFORM_END); - if (form_error != CURL_FORMADD_OK) { - /* Not nice to convert between enums but we only have place for one error type */ - error = (CURLcode)form_error; - } -#endif zend_string_release_ex(string_key, 0); continue; @@ -1580,22 +1470,14 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo zval *current_element; ZEND_HASH_FOREACH_VAL(HASH_OF(current), current_element) { -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ add_simple_field(mime, string_key, current_element); -#else - add_simple_field(&first, &last, string_key, current_element); -#endif } ZEND_HASH_FOREACH_END(); zend_string_release_ex(string_key, 0); continue; } -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ add_simple_field(mime, string_key, current); -#else - add_simple_field(&first, &last, string_key, current); -#endif zend_string_release_ex(string_key, 0); } ZEND_HASH_FOREACH_END(); @@ -1608,13 +1490,8 @@ static inline zend_result build_mime_structure_from_hash(php_curl *ch, zval *zpo if ((*ch->clone) == 1) { zend_llist_clean(&ch->to_free->post); } -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ zend_llist_add_element(&ch->to_free->post, &mime); error = curl_easy_setopt(ch->cp, CURLOPT_MIMEPOST, mime); -#else - zend_llist_add_element(&ch->to_free->post, &first); - error = curl_easy_setopt(ch->cp, CURLOPT_HTTPPOST, first); -#endif SAVE_CURL_ERROR(ch, error); return error == CURLE_OK ? SUCCESS : FAILURE; @@ -1758,64 +1635,30 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_TCP_KEEPALIVE: case CURLOPT_TCP_KEEPIDLE: case CURLOPT_TCP_KEEPINTVL: -#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ case CURLOPT_SASL_IR: -#endif -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ case CURLOPT_EXPECT_100_TIMEOUT_MS: case CURLOPT_SSL_ENABLE_ALPN: case CURLOPT_SSL_ENABLE_NPN: -#endif -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ case CURLOPT_HEADEROPT: -#endif -#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ case CURLOPT_SSL_VERIFYSTATUS: -#endif -#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ case CURLOPT_PATH_AS_IS: case CURLOPT_SSL_FALSESTART: -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ case CURLOPT_PIPEWAIT: -#endif -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ case CURLOPT_STREAM_WEIGHT: -#endif -#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ case CURLOPT_TFTP_NO_OPTIONS: -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ case CURLOPT_TCP_FASTOPEN: -#endif -#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ case CURLOPT_KEEP_SENDING_ON_ERROR: -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ case CURLOPT_PROXY_SSL_OPTIONS: case CURLOPT_PROXY_SSL_VERIFYHOST: case CURLOPT_PROXY_SSL_VERIFYPEER: case CURLOPT_PROXY_SSLVERSION: -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ case CURLOPT_SUPPRESS_CONNECT_HEADERS: -#endif -#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 #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ case CURLOPT_UPKEEP_INTERVAL_MS: case CURLOPT_UPLOAD_BUFFERSIZE: @@ -1910,20 +1753,11 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_TRANSFER_ENCODING: case CURLOPT_DNS_SERVERS: case CURLOPT_MAIL_AUTH: -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ case CURLOPT_LOGIN_OPTIONS: -#endif -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ case CURLOPT_PINNEDPUBLICKEY: -#endif -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ case CURLOPT_PROXY_SERVICE_NAME: case CURLOPT_SERVICE_NAME: -#endif -#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ case CURLOPT_DEFAULT_PROTOCOL: -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ case CURLOPT_PRE_PROXY: case CURLOPT_PROXY_CAINFO: case CURLOPT_PROXY_CAPATH: @@ -1938,17 +1772,10 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_PROXY_TLSAUTH_PASSWORD: case CURLOPT_PROXY_TLSAUTH_TYPE: case CURLOPT_PROXY_TLSAUTH_USERNAME: -#endif -#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ case CURLOPT_ABSTRACT_UNIX_SOCKET: -#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 #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ case CURLOPT_ALTSVC: #endif @@ -1993,15 +1820,11 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_FTP_ACCOUNT: case CURLOPT_RTSP_SESSION_ID: case CURLOPT_ACCEPT_ENCODING: -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ case CURLOPT_DNS_INTERFACE: case CURLOPT_DNS_LOCAL_IP4: case CURLOPT_DNS_LOCAL_IP6: case CURLOPT_XOAUTH2_BEARER: -#endif -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ case CURLOPT_UNIX_SOCKET_PATH: -#endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ case CURLOPT_DOH_URL: #endif @@ -2146,12 +1969,8 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_TELNETOPTIONS: case CURLOPT_MAIL_RCPT: case CURLOPT_RESOLVE: -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ case CURLOPT_PROXYHEADER: -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ case CURLOPT_CONNECT_TO: -#endif { zval *current; HashTable *ph; @@ -2185,16 +2004,12 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue case CURLOPT_RESOLVE: name = "CURLOPT_RESOLVE"; break; -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ case CURLOPT_PROXYHEADER: name = "CURLOPT_PROXYHEADER"; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ case CURLOPT_CONNECT_TO: name = "CURLOPT_CONNECT_TO"; break; -#endif } zend_type_error("%s(): The %s option must have an array value", get_active_function_name(), name); @@ -2316,7 +2131,6 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue ch->handlers.write->method = PHP_CURL_USER; break; -#if LIBCURL_VERSION_NUM >= 0x072000 case CURLOPT_XFERINFOFUNCTION: curl_easy_setopt(ch->cp, CURLOPT_XFERINFOFUNCTION, curl_xferinfo); curl_easy_setopt(ch->cp, CURLOPT_XFERINFODATA, ch); @@ -2328,15 +2142,12 @@ static zend_result _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue } ZVAL_COPY(&ch->handlers.xferinfo->func_name, zvalue); break; -#endif /* Curl off_t options */ case CURLOPT_MAX_RECV_SPEED_LARGE: case CURLOPT_MAX_SEND_SPEED_LARGE: case CURLOPT_MAXFILESIZE_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; @@ -2608,9 +2419,7 @@ PHP_FUNCTION(curl_getinfo) double d_code; struct curl_certinfo *ci = NULL; zval listcode; -#if LIBCURL_VERSION_NUM >= 0x073d00 /* 7.61.0 */ curl_off_t co; -#endif array_init(return_value); @@ -2700,12 +2509,9 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_LOCAL_PORT, &l_code) == CURLE_OK) { CAAL("local_port", l_code); } -#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ if (curl_easy_getinfo(ch->cp, CURLINFO_HTTP_VERSION, &l_code) == CURLE_OK) { CAAL("http_version", l_code); } -#endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ if (curl_easy_getinfo(ch->cp, CURLINFO_PROTOCOL, &l_code) == CURLE_OK) { CAAL("protocol", l_code); } @@ -2715,8 +2521,6 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_SCHEME, &s_code) == CURLE_OK) { CAAS("scheme", s_code); } -#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_us", co); } @@ -2738,7 +2542,6 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME_T, &co) == CURLE_OK) { CAAL("total_time_us", co); } -#endif if (ch->header.str) { CAASTR("request_header", ch->header.str); } @@ -2834,7 +2637,6 @@ PHP_FUNCTION(curl_getinfo) } break; } -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ case CURLINFO_OFF_T: { curl_off_t c_off; @@ -2845,7 +2647,6 @@ PHP_FUNCTION(curl_getinfo) } break; } -#endif default: RETURN_FALSE; } @@ -2956,10 +2757,6 @@ static void curl_free_obj(zend_object *object) zend_llist_clean(&ch->to_free->post); zend_llist_clean(&ch->to_free->stream); -#if LIBCURL_VERSION_NUM < 0x073800 /* 7.56.0 */ - zend_llist_clean(&ch->to_free->buffers); -#endif - zend_hash_destroy(ch->to_free->slist); efree(ch->to_free->slist); efree(ch->to_free); @@ -2984,11 +2781,9 @@ static void curl_free_obj(zend_object *object) efree(ch->handlers.read); _php_curl_free_callback(ch->handlers.progress); -#if LIBCURL_VERSION_NUM >= 0x072000 _php_curl_free_callback(ch->handlers.xferinfo); -#endif _php_curl_free_callback(ch->handlers.fnmatch); -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ _php_curl_free_callback(ch->handlers.sshhostkey); #endif @@ -3059,13 +2854,11 @@ static void _php_curl_reset_handlers(php_curl *ch) ch->handlers.progress = NULL; } -#if LIBCURL_VERSION_NUM >= 0x072000 if (ch->handlers.xferinfo) { zval_ptr_dtor(&ch->handlers.xferinfo->func_name); efree(ch->handlers.xferinfo); ch->handlers.xferinfo = NULL; } -#endif if (ch->handlers.fnmatch) { zval_ptr_dtor(&ch->handlers.fnmatch->func_name); @@ -3073,7 +2866,7 @@ static void _php_curl_reset_handlers(php_curl *ch) ch->handlers.fnmatch = NULL; } -#if LIBCURL_VERSION_NUM >= 0x075400 +#if LIBCURL_VERSION_NUM >= 0x075400 /* Available since 7.84.0 */ if (ch->handlers.sshhostkey) { zval_ptr_dtor(&ch->handlers.sshhostkey->func_name); efree(ch->handlers.sshhostkey); diff --git a/ext/curl/multi.c b/ext/curl/multi.c index 73cb37bab3604..a61066b5a6c7c 100644 --- a/ext/curl/multi.c +++ b/ext/curl/multi.c @@ -365,7 +365,6 @@ PHP_FUNCTION(curl_multi_strerror) } /* }}} */ -#if LIBCURL_VERSION_NUM >= 0x072C00 /* Available since 7.44.0 */ static int _php_server_push_callback(CURL *parent_ch, CURL *easy, size_t num_headers, struct curl_pushheaders *push_headers, void *userp) /* {{{ */ { @@ -431,8 +430,6 @@ static int _php_server_push_callback(CURL *parent_ch, CURL *easy, size_t num_hea } /* }}} */ -#endif - static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue, zval *return_value) /* {{{ */ { CURLMcode error = CURLM_OK; @@ -440,13 +437,11 @@ static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue switch (option) { case CURLMOPT_PIPELINING: case CURLMOPT_MAXCONNECTS: -#if LIBCURL_VERSION_NUM >= 0x071e00 /* 7.30.0 */ case CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE: case CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE: case CURLMOPT_MAX_HOST_CONNECTIONS: case CURLMOPT_MAX_PIPELINE_LENGTH: case CURLMOPT_MAX_TOTAL_CONNECTIONS: -#endif #if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */ case CURLMOPT_MAX_CONCURRENT_STREAMS: #endif @@ -454,7 +449,7 @@ static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue zend_long lval = zval_get_long(zvalue); if (option == CURLMOPT_PIPELINING && (lval & 1)) { -#if LIBCURL_VERSION_NUM >= 0x073e00 /* 7.62.0 */ +#if LIBCURL_VERSION_NUM >= 0x073e00 /* Available since 7.62.0 */ php_error_docref(NULL, E_WARNING, "CURLPIPE_HTTP1 is no longer supported"); #else php_error_docref(NULL, E_DEPRECATED, "CURLPIPE_HTTP1 is deprecated"); @@ -463,7 +458,6 @@ static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue error = curl_multi_setopt(mh->multi, option, lval); break; } -#if LIBCURL_VERSION_NUM > 0x072D00 /* Available since 7.45.0 */ case CURLMOPT_PUSHFUNCTION: if (mh->handlers.server_push == NULL) { mh->handlers.server_push = ecalloc(1, sizeof(php_curl_callback)); @@ -479,7 +473,6 @@ static bool _php_curl_multi_setopt(php_curlm *mh, zend_long option, zval *zvalue } error = curl_multi_setopt(mh->multi, CURLMOPT_PUSHDATA, mh); break; -#endif default: zend_argument_value_error(2, "is not a valid cURL multi option"); error = CURLM_UNKNOWN_OPTION; diff --git a/ext/curl/sync-constants.php b/ext/curl/sync-constants.php index 22db954dd3dd3..a820281f6252e 100755 --- a/ext/curl/sync-constants.php +++ b/ext/curl/sync-constants.php @@ -12,7 +12,7 @@ const SOURCE_FILE = __DIR__ . '/curl_arginfo.h'; -const MIN_SUPPORTED_CURL_VERSION = '7.29.0'; +const MIN_SUPPORTED_CURL_VERSION = '7.61.0'; const IGNORED_CURL_CONSTANTS = [ 'CURLOPT_PROGRESSDATA', diff --git a/ext/curl/tests/curl_basic_023.phpt b/ext/curl/tests/curl_basic_023.phpt index dac40c46ca688..28e6dc888ee44 100644 --- a/ext/curl/tests/curl_basic_023.phpt +++ b/ext/curl/tests/curl_basic_023.phpt @@ -2,12 +2,6 @@ Test curl_getinfo() function with CURLINFO_HTTP_VERSION parameter --EXTENSIONS-- curl ---SKIPIF-- -= 7.50.0"); -} -?> --FILE-- = 7.52.0 --EXTENSIONS-- curl ---SKIPIF-- -= 7.52.0"); -} -?> --FILE-- = 7.56.0'); -?> --FILE--