From 1ff5c0d21aeccc82f07cecbba20c8725f9db53e2 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 1 Apr 2021 21:48:26 +0300 Subject: Upgrade to 7.76.0 --- libcurl/README | 6 +- libcurl/README-DEV | 4 +- libcurl/build/bootstrap.build | 9 ++- libcurl/libcurl/assert.c | 2 +- libcurl/libcurl/buildfile | 2 +- libcurl/libcurl/curl_config.h | 110 +++++++++++++++++++++++++-------- libcurl/libcurl/libcurl-symbols.expsym | 4 ++ libcurl/manifest | 12 ++-- libcurl/tests/basic/driver.c | 2 +- 9 files changed, 105 insertions(+), 46 deletions(-) (limited to 'libcurl') diff --git a/libcurl/README b/libcurl/README index e508068..34837e0 100644 --- a/libcurl/README +++ b/libcurl/README @@ -1,8 +1,8 @@ cURL is a client-side software for transferring data using URLs with the -libcurl C library providing the data transfer and URL manipulation APIs. -For more information see: +libcurl C library providing the data transfer and URL manipulation APIs. For +more information see: -https://curl.haxx.se/ +https://curl.se/ This package contains the original libcurl library source code overlaid with the build2-based build system and packaged for the build2 package manager diff --git a/libcurl/README-DEV b/libcurl/README-DEV index cea97e1..623a560 100644 --- a/libcurl/README-DEV +++ b/libcurl/README-DEV @@ -20,10 +20,10 @@ and comment out (with #) the _curl_jmpenv symbol in it since it causes the Note that re-creating libcurl/curl_config.h from scratch every time we upgrade to a new upstream version would be a real pain. Instead we can only (un)define the newly introduced macros, comparing the already defined and currently used -macro sets. For the comparison we can use config-win32.h and auto-generated on +macro sets. For the comparison we can use config-*.h and auto-generated on Linux upstream's curl_config.h: -$ for m in `cat /lib/curl_config.h libcurl/lib/config-win32.h | \ +$ for m in `cat /lib/curl_config.h libcurl/lib/config-*.h | \ sed -n 's/^.*#\s*\(define\|undef\)\s\{1,\}\([_A-Z0-9]\{1,\}\)\(\s.*\)\{0,1\}$/\2/p' | \ sort -u`; do if grep -q -e "\b$m\b" `find -L . ../curl -name '*.h' -a ! -name curl_config.h -a ! -name 'config-*.h' -o -name '*.c'`; then diff --git a/libcurl/build/bootstrap.build b/libcurl/build/bootstrap.build index f608fd0..8d5d371 100644 --- a/libcurl/build/bootstrap.build +++ b/libcurl/build/bootstrap.build @@ -14,7 +14,7 @@ using dist # changes are made, the minor version when new features are added, and the # patch version is increased for bug fixes. See also: # -# https://curl.haxx.se/docs/versions.html +# https://curl.se/docs/versions.html # # The ABI version doesn't correlate with the release version and is assigned # via the libtool's -version-info :: option @@ -22,13 +22,12 @@ using dist # makefile, the major version (current - age) is incremented for backwards- # incompatible ABI changes. See also: # -# https://curl.haxx.se/libcurl/abi.html +# https://curl.se/libcurl/abi.html # -if ($version.major == 7 && $version.minor == 67 && $version.patch == 0) +if ($version.major == 7 && $version.minor == 76 && $version.patch == 0) { - abi_version_major = 4 - abi_version = "$abi_version_major.6.0" # .. + abi_version = "$abi_version_major.7.0" # .. } else fail 'increment the ABI version?' diff --git a/libcurl/libcurl/assert.c b/libcurl/libcurl/assert.c index e5ceeb6..1cf9ac6 100644 --- a/libcurl/libcurl/assert.c +++ b/libcurl/libcurl/assert.c @@ -5,7 +5,7 @@ #include #ifdef _MSC_VER -# include // C_ASSERT() +# include /* C_ASSERT() */ #endif #include diff --git a/libcurl/libcurl/buildfile b/libcurl/libcurl/buildfile index 583aaf9..7a61128 100644 --- a/libcurl/libcurl/buildfile +++ b/libcurl/libcurl/buildfile @@ -78,7 +78,7 @@ switch $c.class, $tsys { # Disable warnings that pop up with /W3. # - c.coptions += /wd4996 + c.coptions += /wd4028 /wd4996 } } diff --git a/libcurl/libcurl/curl_config.h b/libcurl/libcurl/curl_config.h index f41ca14..b659d12 100644 --- a/libcurl/libcurl/curl_config.h +++ b/libcurl/libcurl/curl_config.h @@ -15,10 +15,12 @@ */ /* These macros are defined via the -D preprocessor option. Keep them listed - * (in this exact form) for the change tracking (see ../README-DEV). + * (in this exact form) for the change tracking. #define OS #define VERSION +#define BUILDING_LIBCURL +#define CURL_STATICLIB */ @@ -78,6 +80,10 @@ #undef CURL_DISABLE_TELNET #undef CURL_DISABLE_TFTP #undef CURL_DISABLE_VERBOSE_STRINGS +#undef CURL_DISABLE_ALTSVC +#undef CURL_DISABLE_GETOPTIONS +#undef CURL_DISABLE_MQTT +#undef CURL_DISABLE_SOCKETPAIR /* Diabled features. */ @@ -88,16 +94,13 @@ #undef HAVE_LDAP_SSL #undef HAVE_LDAP_SSL_H #undef HAVE_LDAP_URL_PARSE - #undef USE_LIBSSH #undef USE_LIBSSH2 #undef HAVE_LIBSSH2_H #undef HAVE_LIBSSH_LIBSSH_H #undef USE_AMISSL #undef USE_GNUTLS -#undef USE_GNUTLS_NETTLE #undef USE_ARES -#undef USE_ESNI #undef USE_LIBPSL #undef USE_MANUAL #undef USE_MBEDTLS @@ -108,9 +111,14 @@ #undef USE_NGTCP2 #undef USE_NSS #undef USE_OPENLDAP -#undef USE_ALTSVC #undef USE_LIBRTMP #undef USE_QUICHE +#undef USE_BEARSSL +#undef USE_GSASL +#undef USE_HSTS +#undef USE_HYPER +#undef USE_RUSTLS +#undef USE_WOLFSSH /* Specific for (non-) Linux. */ @@ -157,6 +165,8 @@ /* Specific for POSIX. */ #ifndef _WIN32 +# define USE_UNIX_SOCKETS 1 + # define HAVE_ARPA_INET_H 1 # define HAVE_IFADDRS_H 1 # define HAVE_NETDB_H 1 @@ -191,13 +201,14 @@ # define HAVE_SYS_WAIT_H 1 # define HAVE_TERMIOS_H 1 # define HAVE_UTIMES 1 -# define NTLM_WB_ENABLED 1 -# define USE_UNIX_SOCKETS 1 +# define HAVE_SUSECONDS_T 1 # define CURL_SA_FAMILY_T sa_family_t # define GETHOSTNAME_TYPE_ARG2 size_t +# define NTLM_WB_ENABLED 1 # define NTLM_WB_FILE "/usr/bin/ntlm_auth" + # define RANDOM_FILE "/dev/urandom" # define CURL_EXTERN_SYMBOL __attribute__ ((__visibility__ ("default"))) @@ -205,8 +216,14 @@ /* Specific for Windows. */ #else -# define HAVE_PROCESS_H 1 # define USE_WIN32_CRYPTO 1 +# define USE_WIN32_IDN 1 +# define USE_WIN32_LARGE_FILES 1 +# define USE_WINDOWS_SSPI 1 + +# define WANT_IDN_PROTOTYPES 1 + +# define HAVE_PROCESS_H 1 # define HAVE_CLOSESOCKET 1 # define HAVE_IOCTLSOCKET_FIONBIO 1 # define HAVE_IO_H 1 @@ -214,10 +231,9 @@ # define HAVE_WINDOWS_H 1 # define HAVE_WINSOCK2_H 1 # define HAVE_WINSOCK_H 1 -# define USE_WIN32_IDN 1 -# define USE_WIN32_LARGE_FILES 1 -# define USE_WINDOWS_SSPI 1 -# define WANT_IDN_PROTOTYPES 1 + +# undef _UNICODE +# undef UNICODE # undef SOCKET # undef USE_LWIPSOCK @@ -233,6 +249,7 @@ # undef CURL_SA_FAMILY_T # undef GETHOSTNAME_TYPE_ARG2 # undef USE_WINSOCK +# undef WIN32_LEAN_AND_MEAN /* Unused on Windows (see include/curl/curl.h for details). */ @@ -251,6 +268,9 @@ /* Specific for (non-) VC. */ #ifndef _MSC_VER +# define USE_THREADS_POSIX 1 +# undef USE_THREADS_WIN32 + # define HAVE_BASENAME 1 # define HAVE_CLOCK_GETTIME_MONOTONIC 1 # define HAVE_INET_NTOP 1 @@ -268,13 +288,15 @@ # define HAVE_UNISTD_H 1 # define HAVE_UTIME_H 1 # define HAVE_VARIADIC_MACROS_GCC 1 +# define HAVE_OPENSSL_SRP 1 +# define HAVE_FTRUNCATE 1 + # define TIME_WITH_SYS_TIME 1 -# define USE_THREADS_POSIX 1 -# undef USE_THREADS_WIN32 #else -# define NEED_MALLOC_H 1 # define USE_THREADS_WIN32 1 # undef USE_THREADS_POSIX + +# define NEED_MALLOC_H 1 #endif /* Common for all supported OSes/compilers. @@ -291,7 +313,6 @@ #define HAVE_GETADDRINFO 1 #define HAVE_FREEADDRINFO 1 #define HAVE_GETADDRINFO_THREADSAFE 1 -#define HAVE_FTRUNCATE 1 #define HAVE_GETHOSTBYNAME 1 #define HAVE_GETHOSTNAME 1 #define HAVE_GETPEERNAME 1 @@ -311,10 +332,13 @@ #define HAVE_TIME_H 1 #define HAVE_UTIME 1 #define HAVE_VARIADIC_MACROS_C99 1 + #define STDC_HEADERS 1 #undef _ALL_SOURCE #undef _LARGE_FILES +#undef _FILE_OFFSET_BITS + #undef HAVE_LBER_H #undef HAVE_NETINET_IN6_H #undef HAVE_GSSAPI_GSSAPI_GENERIC_H @@ -322,14 +346,9 @@ #undef HAVE_IDN2_H #undef HAVE_LIBIDN2 #undef HAVE_BROTLI -#undef EGD_SOCKET -#undef DEBUGBUILD #undef HAVE_STRUCT_POLLFD #undef HAVE_DECL_GETPWUID_R_MISSING #undef HAVE_GETPASS_R -#undef HAVE_GNUTLS_ALPN_SET_PROTOCOLS -#undef HAVE_GNUTLS_CERTIFICATE_SET_X509_KEY_FILE2 -#undef HAVE_GNUTLS_OCSP_REQ_INIT #undef HAVE_GSSAPI #undef HAVE_GSSGNU #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO @@ -348,11 +367,20 @@ #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE #undef HAVE_WOLFSSL_USEALPN #undef HAVE_WRITABLE_ARGV -#undef NEED_MEMORY_H -#undef NEED_REENTRANT -#undef NEED_THREAD_SAFE +#undef HAVE_CLOSESOCKET_CAMEL +#undef HAVE_GLIBC_STRERROR_R +#undef HAVE_GNUTLS_SRP +#undef HAVE_QUICHE_CONN_SET_QLOG_FD +#undef HAVE_WOLFSSL_DES_ECB_ENCRYPT +#undef HAVE_ZSTD +#undef HAVE_CLOSE_S +#undef HAVE_EXTRA_STRDUP_H +#undef HAVE_EXTRA_STRICMP_H +#undef HAVE_LIBSSH2_VERSION +#undef HAVE_SSL_GET_SHUTDOWN +#undef HAVE_VXWORKS_STRERROR_R +#undef RECVFROM_TYPE_ARG6_IS_VOID -#undef CURLDEBUG #undef HAVE_GETNAMEINFO #undef GETNAMEINFO_QUAL_ARG1 #undef GETNAMEINFO_TYPE_ARG1 @@ -369,6 +397,24 @@ #undef RECVFROM_TYPE_ARG6 #undef RECVFROM_TYPE_RETV +#undef HAVE_ICONV +#undef CURL_ICONV_CODESET_OF_HOST + +#undef NEED_MEMORY_H +#undef NEED_REENTRANT +#undef NEED_THREAD_SAFE + +#undef USE_GSKIT +#undef USE_OS400CRYPTO + +#undef BSD +#undef EGD_SOCKET +#undef CURLDEBUG +#undef DEBUGBUILD +#undef ENABLE_QUIC +#undef OPEN_NEEDS_ARG3 +#undef CURL_DOES_CONVERSIONS + /* While upstream defines the macro for Clang, it fails to build for older * version of Clang on Mac OS. Thus, we never define it. */ @@ -458,14 +504,24 @@ #define RETSIGTYPE void #define SEND_QUAL_ARG2 const -/* We can probably assume that on platforms we build for, these keywords/types - * doesn't require definition. +/* We can probably assume that on platforms we build for, these keywords, + * types, and macros do not require definition. #undef const #undef inline #undef size_t #undef ssize_t +#undef EAGAIN +#undef ENOMEM +#undef ENOSPC + +#undef F_OK +#undef O_RDONLY + +#undef LONG_MAX +#undef LONG_MIN + */ #endif /* LIBCURL_CURL_CONFIG_H */ diff --git a/libcurl/libcurl/libcurl-symbols.expsym b/libcurl/libcurl/libcurl-symbols.expsym index aada9a9..48882de 100644 --- a/libcurl/libcurl/libcurl-symbols.expsym +++ b/libcurl/libcurl/libcurl-symbols.expsym @@ -3,6 +3,9 @@ _curl_easy_duphandle _curl_easy_escape _curl_easy_getinfo _curl_easy_init +_curl_easy_option_by_id +_curl_easy_option_by_name +_curl_easy_option_next _curl_easy_pause _curl_easy_perform _curl_easy_recv @@ -57,6 +60,7 @@ _curl_multi_socket_all _curl_multi_strerror _curl_multi_timeout _curl_multi_wait +_curl_multi_wakeup _curl_mvaprintf _curl_mvfprintf _curl_mvprintf diff --git a/libcurl/manifest b/libcurl/manifest index 80e920f..4421765 100644 --- a/libcurl/manifest +++ b/libcurl/manifest @@ -1,13 +1,13 @@ : 1 name: libcurl -version: 7.67.0+8 +version: 7.76.0-a.0.z project: curl summary: C library for transferring data with URLs license: cURL ; MIT/X derivate license. topics: C, HTTP, FTP, URL, data transfer description-file: README -url: https://curl.haxx.se/ -doc-url: https://curl.haxx.se/libcurl/c/ +url: https://curl.se/ +doc-url: https://curl.se/libcurl/c/ src-url: https://git.build2.org/cgit/packaging/curl/curl/tree/libcurl/ package-url: https://git.build2.org/cgit/packaging/curl/ email: curl-library@cool.haxx.se ; Mailing list. @@ -16,6 +16,6 @@ build-warning-email: builds@build2.org builds: all depends: * build2 >= 0.12.0 depends: * bpkg >= 0.12.0 -depends: libz >= 1.2.1100 -depends: libcrypto >= 1.1.1 -depends: libssl >= 1.1.1 +depends: libz ^1.2.1100 +depends: libcrypto ^1.1.1 +depends: libssl ^1.1.1 diff --git a/libcurl/tests/basic/driver.c b/libcurl/tests/basic/driver.c index 13b731c..bc1e409 100644 --- a/libcurl/tests/basic/driver.c +++ b/libcurl/tests/basic/driver.c @@ -53,7 +53,7 @@ main (int argc, char* argv[]) fprintf (stderr, "calling curl_easy_setopt()\n"); curl_easy_setopt (curl, CURLOPT_URL, url); - curl_easy_setopt (curl, CURLOPT_TIMEOUT, 600L); // 10 mins. + curl_easy_setopt (curl, CURLOPT_TIMEOUT, 600L); /* 10 mins. */ curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, 1L); char agent[] = "libcurl-test/" LIBCURL_VERSION; -- cgit v1.1