diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a911aff9..41255e4b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -279,7 +279,7 @@ endif() # Check for CURL # NOTE: keep version in sync with tools/check_curl_symbols.py -pkg_check_modules(LIBCURL REQUIRED libcurl>=7.47.0) +pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0) include_directories(${LIBCURL_INCLUDE_DIRS}) list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS}) diff --git a/src/core/core-url.c b/src/core/core-url.c index eff05e27c..c00aae6f2 100644 --- a/src/core/core-url.c +++ b/src/core/core-url.c @@ -62,9 +62,7 @@ struct t_url_constant url_proxy_types[] = URL_DEF_CONST(PROXY, SOCKS4A), URL_DEF_CONST(PROXY, SOCKS5_HOSTNAME), URL_DEF_CONST(PROXY, HTTP_1_0), -#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */ URL_DEF_CONST(PROXY, HTTPS), -#endif { NULL, 0 }, }; @@ -130,12 +128,8 @@ struct t_url_constant url_auth[] = URL_DEF_CONST(AUTH, NTLM_WB), #endif URL_DEF_CONST(AUTH, NEGOTIATE), -#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */ URL_DEF_CONST(AUTH, GSSAPI), -#endif -#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */ URL_DEF_CONST(AUTH, BEARER), -#endif #if LIBCURL_VERSION_NUM >= 0x074B00 /* 7.75.0 */ URL_DEF_CONST(AUTH, AWS_SIGV4), #endif @@ -164,12 +158,8 @@ struct t_url_constant url_http_version[] = URL_DEF_CONST(_HTTP_VERSION, 2_0), URL_DEF_CONST(_HTTP_VERSION, 2), URL_DEF_CONST(_HTTP_VERSION, 2TLS), -#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */ URL_DEF_CONST(_HTTP_VERSION, 2_PRIOR_KNOWLEDGE), -#endif -#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */ URL_DEF_CONST(_HTTP_VERSION, 3), -#endif { NULL, 0 }, }; @@ -248,17 +238,13 @@ struct t_url_constant url_ssl_version[] = URL_DEF_CONST(_SSLVERSION, TLSv1_0), URL_DEF_CONST(_SSLVERSION, TLSv1_1), URL_DEF_CONST(_SSLVERSION, TLSv1_2), -#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */ URL_DEF_CONST(_SSLVERSION, TLSv1_3), -#endif -#if LIBCURL_VERSION_NUM >= 0x073600 /* 7.54.0 */ URL_DEF_CONST(_SSLVERSION, MAX_DEFAULT), URL_DEF_CONST(_SSLVERSION, MAX_NONE), URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_0), URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_1), URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_2), URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_3), -#endif { NULL, 0 }, }; @@ -266,15 +252,11 @@ struct t_url_constant url_ssl_options[] = { URL_DEF_CONST(SSLOPT, ALLOW_BEAST), URL_DEF_CONST(SSLOPT, NO_REVOKE), -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ URL_DEF_CONST(SSLSET, NO_BACKENDS), URL_DEF_CONST(SSLSET, OK), URL_DEF_CONST(SSLSET, TOO_LATE), URL_DEF_CONST(SSLSET, UNKNOWN_BACKEND), -#endif -#if LIBCURL_VERSION_NUM >= 0x074400 /* 7.68.0 */ URL_DEF_CONST(SSLOPT, NO_PARTIALCHAIN), -#endif #if LIBCURL_VERSION_NUM >= 0x074600 /* 7.70.0 */ URL_DEF_CONST(SSLOPT, REVOKE_BEST_EFFORT), #endif @@ -305,9 +287,7 @@ struct t_url_constant url_ssh_auth[] = URL_DEF_CONST(SSH_AUTH, DEFAULT), URL_DEF_CONST(SSH_AUTH, ANY), URL_DEF_CONST(SSH_AUTH, AGENT), -#if LIBCURL_VERSION_NUM >= 0x073A00 /* 7.58.0 */ URL_DEF_CONST(SSH_AUTH, GSSAPI), -#endif { NULL, 0 }, }; @@ -365,9 +345,7 @@ struct t_url_option url_options[] = * error options */ URL_DEF_OPTION(FAILONERROR, LONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x073300 /* 7.51.0 */ URL_DEF_OPTION(KEEP_SENDING_ON_ERROR, LONG, NULL), -#endif /* * network options @@ -375,9 +353,7 @@ struct t_url_option url_options[] = URL_DEF_OPTION(PROXY, STRING, NULL), URL_DEF_OPTION(PROXYPORT, LONG, NULL), URL_DEF_OPTION(PORT, LONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */ URL_DEF_OPTION(PRE_PROXY, STRING, NULL), -#endif URL_DEF_OPTION(HTTPPROXYTUNNEL, LONG, NULL), URL_DEF_OPTION(INTERFACE, STRING, NULL), URL_DEF_OPTION(DNS_CACHE_TIMEOUT, LONG, NULL), @@ -399,28 +375,16 @@ struct t_url_option url_options[] = URL_DEF_OPTION(TCP_KEEPIDLE, LONG, NULL), URL_DEF_OPTION(TCP_KEEPINTVL, LONG, NULL), URL_DEF_OPTION(UNIX_SOCKET_PATH, STRING, NULL), -#if LIBCURL_VERSION_NUM >= 0x073500 /* 7.53.0 */ URL_DEF_OPTION(ABSTRACT_UNIX_SOCKET, STRING, NULL), -#endif URL_DEF_OPTION(PATH_AS_IS, LONG, NULL), URL_DEF_OPTION(PROXY_SERVICE_NAME, STRING, NULL), URL_DEF_OPTION(SERVICE_NAME, STRING, NULL), URL_DEF_OPTION(DEFAULT_PROTOCOL, STRING, NULL), -#if LIBCURL_VERSION_NUM < 0x073100 /* < 7.49.0 */ URL_DEF_OPTION(SOCKS5_GSSAPI_SERVICE, STRING, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */ URL_DEF_OPTION(TCP_FASTOPEN, LONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */ URL_DEF_OPTION(SOCKS5_AUTH, LONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073C00 /* 7.60.0 */ URL_DEF_OPTION(HAPROXYPROTOCOL, LONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */ URL_DEF_OPTION(DOH_URL, STRING, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x075500 /* 7.85.0 */ URL_DEF_OPTION(PROTOCOLS_STR, STRING, NULL), #endif @@ -444,16 +408,12 @@ struct t_url_option url_options[] = URL_DEF_OPTION(TLSAUTH_TYPE, MASK, url_authtype), URL_DEF_OPTION(TLSAUTH_USERNAME, STRING, NULL), URL_DEF_OPTION(TLSAUTH_PASSWORD, STRING, NULL), -#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */ URL_DEF_OPTION(SASL_AUTHZID, STRING, NULL), -#endif URL_DEF_OPTION(SASL_IR, LONG, NULL), URL_DEF_OPTION(XOAUTH2_BEARER, STRING, NULL), URL_DEF_OPTION(LOGIN_OPTIONS, STRING, NULL), -#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */ URL_DEF_OPTION(DISALLOW_USERNAME_IN_URL, LONG, NULL), -#endif /* * HTTP options @@ -489,15 +449,9 @@ struct t_url_option url_options[] = URL_DEF_OPTION(PROXYHEADER, LIST, NULL), URL_DEF_OPTION(PIPEWAIT, LONG, NULL), URL_DEF_OPTION(STREAM_WEIGHT, LONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */ URL_DEF_OPTION(REQUEST_TARGET, STRING, NULL), -#endif -#if LIBCURL_VERSION_NUM < 0x073800 /* < 7.56.0 */ URL_DEF_OPTION(HTTPPOST, LIST, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x074000 /* 7.64.0 */ URL_DEF_OPTION(HTTP09_ALLOWED, LONG, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x074A00 /* 7.74.0 */ URL_DEF_OPTION(HSTS, STRING, NULL), URL_DEF_OPTION(HSTS_CTRL, MASK, url_hsts), @@ -520,9 +474,7 @@ struct t_url_option url_options[] = * TFTP options */ URL_DEF_OPTION(TFTP_BLKSIZE, LONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x073000 /* 7.48.0 */ URL_DEF_OPTION(TFTP_NO_OPTIONS, LONG, NULL), -#endif /* * FTP options @@ -579,12 +531,8 @@ struct t_url_option url_options[] = URL_DEF_OPTION(RESUME_FROM_LARGE, LONGLONG, NULL), URL_DEF_OPTION(INFILESIZE_LARGE, LONGLONG, NULL), URL_DEF_OPTION(MAXFILESIZE_LARGE, LONGLONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x073B00 /* 7.59.0 */ URL_DEF_OPTION(TIMEVALUE_LARGE, LONGLONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */ URL_DEF_OPTION(UPLOAD_BUFFERSIZE, LONG, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x075100 /* 7.81.0 */ URL_DEF_OPTION(MIME_OPTIONS, MASK, url_mime), #endif @@ -604,9 +552,7 @@ struct t_url_option url_options[] = URL_DEF_OPTION(MAX_RECV_SPEED_LARGE, LONGLONG, NULL), URL_DEF_OPTION(TIMEOUT_MS, LONG, NULL), URL_DEF_OPTION(CONNECTTIMEOUT_MS, LONG, NULL), -#if LIBCURL_VERSION_NUM >= 0x074100 /* 7.65.0 */ URL_DEF_OPTION(MAXAGE_CONN, LONG, NULL), -#endif URL_DEF_OPTION(MAXCONNECTS, LONG, NULL), URL_DEF_OPTION(USE_SSL, LONG, url_use_ssl), URL_DEF_OPTION(RESOLVE, LIST, NULL), @@ -615,18 +561,10 @@ struct t_url_option url_options[] = URL_DEF_OPTION(DNS_INTERFACE, STRING, NULL), URL_DEF_OPTION(DNS_LOCAL_IP4, STRING, NULL), URL_DEF_OPTION(DNS_LOCAL_IP6, STRING, NULL), -#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */ URL_DEF_OPTION(CONNECT_TO, LIST, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073B00 /* 7.59.0 */ URL_DEF_OPTION(HAPPY_EYEBALLS_TIMEOUT_MS, LONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073C00 /* 7.60.0 */ URL_DEF_OPTION(DNS_SHUFFLE_ADDRESSES, LONG, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */ URL_DEF_OPTION(UPKEEP_INTERVAL_MS, LONG, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */ URL_DEF_OPTION(MAXLIFETIME_CONN, LONG, NULL), #endif @@ -669,7 +607,6 @@ struct t_url_option url_options[] = #if LIBCURL_VERSION_NUM < 0x080F00 /* < 8.15.0 */ URL_DEF_OPTION(SSL_FALSESTART, LONG, NULL), #endif -#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */ URL_DEF_OPTION(PROXY_CAINFO, STRING, NULL), URL_DEF_OPTION(PROXY_CAPATH, STRING, NULL), URL_DEF_OPTION(PROXY_CRLFILE, STRING, NULL), @@ -687,11 +624,8 @@ struct t_url_option url_options[] = URL_DEF_OPTION(PROXY_TLSAUTH_PASSWORD, STRING, NULL), URL_DEF_OPTION(PROXY_TLSAUTH_TYPE, STRING, NULL), URL_DEF_OPTION(PROXY_TLSAUTH_USERNAME, STRING, NULL), -#endif -#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */ URL_DEF_OPTION(TLS13_CIPHERS, LIST, NULL), URL_DEF_OPTION(PROXY_TLS13_CIPHERS, LIST, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x074700 /* 7.71.0 */ URL_DEF_OPTION(PROXY_ISSUERCERT, STRING, NULL), #endif @@ -715,9 +649,7 @@ struct t_url_option url_options[] = URL_DEF_OPTION(SSH_PRIVATE_KEYFILE, STRING, NULL), URL_DEF_OPTION(SSH_HOST_PUBLIC_KEY_MD5, STRING, NULL), URL_DEF_OPTION(SSH_KNOWNHOSTS, STRING, NULL), -#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */ URL_DEF_OPTION(SSH_COMPRESSION, LONG, NULL), -#endif #if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */ URL_DEF_OPTION(SSH_HOST_PUBLIC_KEY_SHA256, STRING, NULL), #endif diff --git a/tools/check_curl_symbols.py b/tools/check_curl_symbols.py index 46c03dc8f..10532947b 100755 --- a/tools/check_curl_symbols.py +++ b/tools/check_curl_symbols.py @@ -53,7 +53,7 @@ SRC_PATH = ( ) # NOTE: keep version in sync with CMakeLists.txt -CURL_MIN_VERSION_STR = "7.47.0" +CURL_MIN_VERSION_STR = "7.68.0" WEECHAT_CURL_MIN_VERSION_RE = ( r"#if LIBCURL_VERSION_NUM >= (?P0x[0-9A-F]+) "