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 --- README-DEV | 52 +++++++++------- curl/README | 2 +- curl/README-DEV | 7 ++- curl/curl/curl_multibyte.c | 1 + curl/curl/dynbuf.c | 1 + curl/curl/tool_main.c | 105 +++++++++---------------------- curl/curl/version_win32.c | 1 + curl/manifest | 8 +-- 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 +- upstream | 2 +- 18 files changed, 180 insertions(+), 150 deletions(-) create mode 120000 curl/curl/curl_multibyte.c create mode 120000 curl/curl/dynbuf.c create mode 120000 curl/curl/version_win32.c diff --git a/README-DEV b/README-DEV index 94a128b..bf242fe 100644 --- a/README-DEV +++ b/README-DEV @@ -28,11 +28,14 @@ Debian and Fedora distributions. The configuration options defining these sets are specified in the Debian's rules and Fedora's RPM .spec files. These files can be obtained as follows: -$ wget http://deb.debian.org/debian/pool/main/c/curl/curl_7.67.0-2.debian.tar.xz -$ tar xf curl_7.67.0-2.debian.tar.xz debian/rules +$ wget http://deb.debian.org/debian/pool/main/c/curl/curl_7.74.0-1.1.debian.tar.xz +$ tar xf curl_7.74.0-1.1.debian.tar.xz debian/rules -$ wget https://kojipkgs.fedoraproject.org//packages/curl/7.67.0/2.fc32/src/curl-7.67.0-2.fc32.src.rpm -$ rpm2cpio curl-7.67.0-2.fc32.src.rpm | cpio -civ '*.spec' +Note that at the time of upgrade curl 7.76.0 is not available for the Debian +distribution, so we take the latest available version. + +$ wget https://kojipkgs.fedoraproject.org/packages/curl/7.76.0/1.fc35/src/curl-7.76.0-1.fc35.src.rpm +$ rpm2cpio curl-7.76.0-1.fc35.src.rpm | cpio -civ '*.spec' As a side note, on Debian and Fedora the source, library, headers, and tools are packaged as follows: @@ -42,7 +45,7 @@ Debian/Ubuntu: curl libcurl4 libcurl4-openssl-dev curl Fedora/RHEL: curl libcurl libcurl-devel curl Search for the Debian and Fedora packages at https://packages.debian.org/search -and https://apps.fedoraproject.org/packages/. +and https://src.fedoraproject.org/. Here are the discovered configuration options. @@ -53,6 +56,7 @@ Debian: --with-gssapi=/usr --with-libssh2 --with-nghttp2 --with-zsh-functions-dir=/usr/share/zsh/vendor-completions --with-ca-path=/etc/ssl/certs + --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt Fedora: @@ -80,11 +84,13 @@ explicitly request to use zlib and end up with the following options: --disable-ares --disable-esni --disable-manual --without-lber-lib --without-gssapi --without-libssh --without-libssh2 --without-nghttp2 --without-zsh-functions-dir --without-brotli --without-libidn2 - --without-libmetalink --without-libpsl --without-ca-bundle --without-ca-path - --with-ca-fallback + --without-libmetalink --without-libpsl + --without-bearssl --without-libgsasl --disable-hsts --without-hyper + --without-rustls --without-wolfssh + --without-ca-bundle --without-ca-path --with-ca-fallback See the configuration options description at the "Install from source" page -(https://curl.haxx.se/docs/install.html). +(https://curl.se/docs/install.html). On Windows and MacOS we also enable the SSL backend provided by the system and make it a default one. On MacOS we add the following configuration options: @@ -93,7 +99,7 @@ make it a default one. On MacOS we add the following configuration options: Note, though, that on MacOS building curl with GCC fails for the Secure Transport backend enabled (see curl issue 4821 for details). Thus, we disable -it for GCC on MacOS. +it for GCC on MacOS (see libcurl/curl_config.h for details). For MSVC there is no easy way to request that via the configuration script, so we apply the following patch to winbuild/MakefileBuild.vc: @@ -111,18 +117,20 @@ we apply the following patch to winbuild/MakefileBuild.vc: Normally, when packaging a project, we need to replace some auto-generated headers with our own implementations and deduce compilation/linking options. -For cURL we can rely for that on m4/curl-compilers.m4, {lib,src}/Makefile.am, -and winbuild/MakefileBuild.vc. In practice, however, that can be uneasy and -error prone, so you may also need to see the auto-generated files and the -actual compiler and linker command lines in the build log. If that's the case, -you can configure/build the upstream package on the platform of interest -running the following commands in the upstream project root directory. - -On POSIX and for MinGW GCC (add --with-secure-transport ---with-default-ssl-backend=secure-transport for MacOS and --with-schannel ---with-default-ssl-backend=schannel for MinGW GCC): - -$ ./buildconf +For cURL we can rely for that on configure.ac, m4/curl-compilers.m4, +{lib,src}/Makefile.am, and winbuild/MakefileBuild.vc. In practice, however, +that can be uneasy and error prone, so you may also need to see the +auto-generated files and the actual compiler and linker command lines in the +build log. If that's the case, you can configure/build the upstream package on +the platform of interest running the following commands in the upstream +project root directory. + +On POSIX and for MinGW GCC (add +--with-secure-transport --with-default-ssl-backend=secure-transport for MacOS +and +--with-schannel --with-default-ssl-backend=schannel for MinGW GCC): + +$ autoreconf -fi $ mkdir build $ cd build $ ../configure --enable-symbol-hiding --enable-versioned-symbols \ @@ -131,6 +139,8 @@ $ ../configure --enable-symbol-hiding --enable-versioned-symbols \ --disable-manual --without-lber-lib --without-gssapi --without-libssh \ --without-libssh2 --without-nghttp2 --without-zsh-functions-dir \ --without-brotli --without-libidn2 --without-libmetalink --without-libpsl \ + --without-bearssl --without-libgsasl --disable-hsts --without-hyper \ + --without-rustls --without-wolfssh \ --without-ca-bundle --without-ca-path --with-ca-fallback >build.log 2>&1 $ make V=1 >>build.log 2>&1 diff --git a/curl/README b/curl/README index b5338d6..1d9c311 100644 --- a/curl/README +++ b/curl/README @@ -2,7 +2,7 @@ cURL is a client-side software for transferring data using URLs. The curl command line tool makes the various features of libcurl available from the shell. For more information see: -https://curl.haxx.se/ +https://curl.se/ This package contains the original curl program source code overlaid with the build2-based build system and packaged for the build2 package manager (bpkg). diff --git a/curl/README-DEV b/curl/README-DEV index 6b9f99e..df275f1 100644 --- a/curl/README-DEV +++ b/curl/README-DEV @@ -5,10 +5,13 @@ understanding will be useful when upgrading to a new upstream version. See Symlink the required upstream directories into curl/: $ ln -s ../../upstream/{src,lib} curl -$ ln -s lib/{strtoofft,nonblock,warnless,curl_ctype}.c curl -$ ln -s src/tool_hugehelp.c.cvs curl/tool_hugehelp.c +$ ln -s lib/{strtoofft,nonblock,warnless,curl_ctype,dynbuf,version_win32,curl_multibyte}.c curl $ ln -s ../../libcurl/libcurl/curl_config.h curl +$ cp curl/src/tool_hugehelp.c.cvs curl/tool_hugehelp.c + +Edit tool_hugehelp.c to make hugehelp() be empty. + Patch curl to use CA certificate bundle provided by the libca-certificates-curl package by default: diff --git a/curl/curl/curl_multibyte.c b/curl/curl/curl_multibyte.c new file mode 120000 index 0000000..a44109d --- /dev/null +++ b/curl/curl/curl_multibyte.c @@ -0,0 +1 @@ +lib/curl_multibyte.c \ No newline at end of file diff --git a/curl/curl/dynbuf.c b/curl/curl/dynbuf.c new file mode 120000 index 0000000..6ebb8c1 --- /dev/null +++ b/curl/curl/dynbuf.c @@ -0,0 +1 @@ +lib/dynbuf.c \ No newline at end of file diff --git a/curl/curl/tool_main.c b/curl/curl/tool_main.c index 0a86304..913f8d6 100644 --- a/curl/curl/tool_main.c +++ b/curl/curl/tool_main.c @@ -5,11 +5,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2021, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at https://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -23,6 +23,10 @@ #include +#ifdef WIN32 +#include +#endif + #ifdef HAVE_SIGNAL_H #include #endif @@ -205,17 +209,17 @@ static CURLcode main_init(struct GlobalConfig *config) config->first->global = config; } else { - helpf(stderr, "error retrieving curl library information\n"); + errorf(config, "error retrieving curl library information\n"); free(config->first); } } else { - helpf(stderr, "error initializing curl library\n"); + errorf(config, "error initializing curl library\n"); free(config->first); } } else { - helpf(stderr, "error initializing curl\n"); + errorf(config, "error initializing curl\n"); result = CURLE_FAILED_INIT; } @@ -264,62 +268,36 @@ static void main_free(struct GlobalConfig *config) config->last = NULL; } -#ifdef WIN32 -/* TerminalSettings for Windows */ -static struct TerminalSettings { - HANDLE hStdOut; - DWORD dwOutputMode; -} TerminalSettings; - -static void configure_terminal(void) -{ - /* - * If we're running Windows, enable VT output. - * Note: VT mode flag can be set on any version of Windows, but VT - * processing only performed on Win10 >= Creators Update) - */ - - /* Define the VT flags in case we're building with an older SDK */ -#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING - #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 -#endif - - memset(&TerminalSettings, 0, sizeof(TerminalSettings)); - - /* Enable VT output */ - TerminalSettings.hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); - if((TerminalSettings.hStdOut != INVALID_HANDLE_VALUE) - && (GetConsoleMode(TerminalSettings.hStdOut, - &TerminalSettings.dwOutputMode))) { - SetConsoleMode(TerminalSettings.hStdOut, - TerminalSettings.dwOutputMode - | ENABLE_VIRTUAL_TERMINAL_PROCESSING); - } -} -#else -#define configure_terminal() -#endif - -static void restore_terminal(void) -{ -#ifdef WIN32 - /* Restore Console output mode and codepage to whatever they were - * when Curl started */ - SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode); -#endif -} - /* ** curl tool main function. */ +#ifdef _UNICODE +int wmain(int argc, wchar_t *argv[]) +#else int main(int argc, char *argv[]) +#endif { CURLcode result = CURLE_OK; struct GlobalConfig global; memset(&global, 0, sizeof(global)); - /* Perform any platform-specific terminal configuration */ - configure_terminal(); +#ifdef WIN32 + /* Undocumented diagnostic option to list the full paths of all loaded + modules. This is purposely pre-init. */ + if(argc == 2 && !_tcscmp(argv[1], _T("--dump-module-paths"))) { + struct curl_slist *item, *head = GetLoadedModulePaths(); + for(item = head; item; item = item->next) + printf("%s\n", item->data); + curl_slist_free_all(head); + return head ? 0 : 1; + } + /* win32_init must be called before other init routines. */ + result = win32_init(); + if(result) { + fprintf(stderr, "curl: (%d) Windows-specific init failed.\n", result); + return result; + } +#endif main_checkfds(); @@ -333,37 +311,14 @@ int main(int argc, char *argv[]) /* Initialize the curl library - do not call any libcurl functions before this point */ result = main_init(&global); - -#ifdef WIN32 - /* Undocumented diagnostic option to list the full paths of all loaded - modules, regardless of whether or not initialization succeeded. */ - if(argc == 2 && !strcmp(argv[1], "--dump-module-paths")) { - struct curl_slist *item, *head = GetLoadedModulePaths(); - for(item = head; item; item = item->next) { - printf("%s\n", item->data); - } - curl_slist_free_all(head); - if(!result) - main_free(&global); - } - else -#endif /* WIN32 */ if(!result) { /* Start our curl operation */ result = operate(&global, argc, argv); -#ifdef __SYMBIAN32__ - if(global.showerror) - tool_pressanykey(); -#endif - /* Perform the main cleanup */ main_free(&global); } - /* Return the terminal to its original state */ - restore_terminal(); - #ifdef __NOVELL_LIBC__ if(getenv("_IN_NETWARE_BASH_") == NULL) tool_pressanykey(); diff --git a/curl/curl/version_win32.c b/curl/curl/version_win32.c new file mode 120000 index 0000000..85da520 --- /dev/null +++ b/curl/curl/version_win32.c @@ -0,0 +1 @@ +lib/version_win32.c \ No newline at end of file diff --git a/curl/manifest b/curl/manifest index 8bb2d5e..a3b185b 100644 --- a/curl/manifest +++ b/curl/manifest @@ -1,12 +1,12 @@ : 1 name: curl -version: 7.67.0+8 +version: 7.76.0-a.0.z summary: Command line tool for transferring data with URLs license: cURL ; MIT/X derivate license. topics: HTTP, FTP, URL, data transfer description-file: README -url: https://curl.haxx.se/ -doc-url: https://curl.haxx.se/docs/manpage.html +url: https://curl.se/ +doc-url: https://curl.se/docs/manpage.html src-url: https://git.build2.org/cgit/packaging/curl/curl/tree/curl/ package-url: https://git.build2.org/cgit/packaging/curl/ email: curl-users@cool.haxx.se ; Mailing list. @@ -16,4 +16,4 @@ builds: all depends: * build2 >= 0.12.0 depends: * bpkg >= 0.12.0 depends: libcurl == $ -depends: libca-certificates-curl >= 1.0.0 +depends: libca-certificates-curl ^1.0.0 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; diff --git a/upstream b/upstream index 2e9b725..3266b35 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 2e9b725f67d49a9d7a1f053fe52dd4920c9ab1ad +Subproject commit 3266b35bbe21c68dea0dc7ccd991eb028e6d360c -- cgit v1.1