#
d83b528a |
| 10-Sep-2024 |
Viktor Szakats |
tidy-up: spelling C89, Schannel, Secure Transport, contractions. Cherry-picked from #14692 Closes #14996
|
#
bc2f72b9 |
| 12-Sep-2024 |
Viktor Szakats |
tidy-up: rename `CURL_WINDOWS_APP` to `CURL_WINDOWS_UWP` Rename internal macro to make its purpose more obvious. After this patch `grep -i uwp` shows all the code related to UWP.
tidy-up: rename `CURL_WINDOWS_APP` to `CURL_WINDOWS_UWP` Rename internal macro to make its purpose more obvious. After this patch `grep -i uwp` shows all the code related to UWP. Ref: https://curl.se/mail/lib-2024-09/0014.html Closes #14881
show more ...
|
#
4ff04615 |
| 02-Sep-2024 |
Daniel Stenberg |
lib: use FMT_ as prefix instead of CURL_FORMAT_ For printf format defines used internally. Makes the code slighly easier to read. Closes #14764
|
#
e512fbfa |
| 22-Aug-2024 |
Viktor Szakats |
printf: fix mingw-w64 format checks Change mingw-w64 printf format checks in public curl headers to use `__MINGW_PRINTF_FORMAT` instead of `gnu_printf`. This syncs the format checker
printf: fix mingw-w64 format checks Change mingw-w64 printf format checks in public curl headers to use `__MINGW_PRINTF_FORMAT` instead of `gnu_printf`. This syncs the format checker with format string macros published via `curl/system.h`. (Also disable format checks for mingw-w64 older than 3.0.0 (2013-09-20) and classic-mingw, which do not support this macro.) This fixes bogus format checker `-Wformat` warnings in 3rd party code using curl format strings with the curl printf functions, when using mingw-w64 7.0.0 (2019-11-10) and older (with GCC, MSVCRT). It also allows to delete two workaounds for this within curl itself: - setting `-D__USE_MINGW_ANSI_STDIO=1` for mingw-w64 via cmake and configure for `docs/examples` and `tests/http/clients`. Ref: c730c8549b5b67e7668ca5d2cd82c3cc183e125d #14640 The format check macro is incompatible (depending on mingw-w64 version and configuration) with the C99 `%z` (`size_t`) format string used internally by curl. To work around this problem, override the format check style in curl public headers to use `gnu_printf`. This is compatible with `%z` in all mingw-w64 versions and allows keeping the C99 format strings internally. Also: - lib/ws.c: add missing space to an error message. - docs/examples/ftpgetinfo.c: fix to use standard printf. Ref: #14643 (take 1) Follow-up to 3829759bd042c03225ae862062560f568ba1a231 #12489 Closes #14703
show more ...
|
#
d7e1a2dd |
| 11-Aug-2024 |
Viktor Szakats |
lib: avoid macro collisions between wolfSSL and GnuTLS headers Both of these projects define the same `SHA*` macros via headers included by curl (in MultiSSL builds, possibly only in Uni
lib: avoid macro collisions between wolfSSL and GnuTLS headers Both of these projects define the same `SHA*` macros via headers included by curl (in MultiSSL builds, possibly only in Unity builds), causing redefinition compiler warnings. Fix it by disabling compatibility macros in wolfSSL. ``` Building C object lib/CMakeFiles/libcurl_static.dir/Unity/unity_0_c.c.o In file included from _bld/lib/CMakeFiles/libcurl_static.dir/Unity/unity_0_c.c:202: In file included from lib/http_aws_sigv4.c:33: In file included from lib/curl_sha256.h:40: In file included from /usr/local/Cellar/wolfssl/5.7.2/include/wolfssl/openssl/sha.h:30: /usr/local/Cellar/wolfssl/5.7.2/include/wolfssl/wolfcrypt/sha256.h:117:13: warning: 'SHA256_BLOCK_SIZE' macro redefined [-Wmacro-redefined] #define SHA256_BLOCK_SIZE WC_SHA256_BLOCK_SIZE ^ /usr/local/Cellar/nettle/3.10/include/nettle/sha2.h:70:9: note: previous definition is here #define SHA256_BLOCK_SIZE 64 ^ In file included from _bld/lib/CMakeFiles/libcurl_static.dir/Unity/unity_0_c.c:202: In file included from lib/http_aws_sigv4.c:33: In file included from lib/curl_sha256.h:40: In file included from /usr/local/Cellar/wolfssl/5.7.2/include/wolfssl/openssl/sha.h:30: [...] #define SHA256_DIGEST_SIZE WC_SHA256_DIGEST_SIZE #define SHA224_BLOCK_SIZE WC_SHA224_BLOCK_SIZE #define SHA224_DIGEST_SIZE WC_SHA224_DIGEST_SIZE #define SHA512_BLOCK_SIZE WC_SHA512_BLOCK_SIZE #define SHA512_DIGEST_SIZE WC_SHA512_DIGEST_SIZE #define SHA384_BLOCK_SIZE WC_SHA384_BLOCK_SIZE #define SHA384_DIGEST_SIZE WC_SHA384_DIGEST_SIZE ``` Cherry-picked from #14495 Closes #14511
show more ...
|
#
f81f351b |
| 02-Aug-2024 |
Viktor Szakats |
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux,
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux, macOS, MS-DOS, MSYS, MinGW, NTLM, POSIX, Solaris, UNIX, Unix, Unicode, WINE, WebDAV, Win32, winbind, WinIDN, Windows, Windows CE, Winsock. Mostly OS names and a few more. Also a couple of other minor text fixups. Closes #14360
show more ...
|
#
5f6b9244 |
| 25-Jul-2024 |
Viktor Szakats |
macos: fix Apple SDK bug workaround for non-macOS targets Turns out that MAC != OSX, despite what these names otherwise mean and what's suggested by source code comments. "MAC" in fact m
macos: fix Apple SDK bug workaround for non-macOS targets Turns out that MAC != OSX, despite what these names otherwise mean and what's suggested by source code comments. "MAC" in fact means Darwin (aka Apple), not macOS. "OSX" means macOS. GitHub bumped the macos-14 runner default to Xcode 15.4, hitting the llvm@15 incompatibility bug by default. Meaning the previous workaround for the SDK bug is necessary. This patch extend the workaround to not apply to mobile OS variants. Follow-up to ff784af461175584c73e7e2b65af00b1a5a6f67f #14159 Reported-by: Sergey Confirmed-by: Marcel Raad Fixes #14269 Closes #14275
show more ...
|
#
ff784af4 |
| 11-Jul-2024 |
Viktor Szakats |
build: fix llvm 17 and older + macOS SDK 14.4 and newer Fixup faulty target macro initialization in macOS SDK since v14.4 (as of 15.0 beta). The SDK target detection in `TargetConditiona
build: fix llvm 17 and older + macOS SDK 14.4 and newer Fixup faulty target macro initialization in macOS SDK since v14.4 (as of 15.0 beta). The SDK target detection in `TargetConditionals.h` correctly detects macOS, but fails to set the macro's old name `TARGET_OS_OSX`, then continues to set it to a default value of 0. Other parts of the SDK still rely on the old name, and with this inconsistency our builds fail due to missing declarations. It happens when using mainline llvm older than v18. Later versions fixed it by predefining these target macros, avoiding the faulty dynamic detection. gcc is not affected (for now) because it lacks the necessary dynamic detection features, so the SDK falls back to a codepath that sets both the old and new macro to 1. Also move the `TargetConditionals.h` include to the top of to make sure including it also for c-ares builds, combined with SecureTransport or other curl features that may call use an Apple SDK. Before this patch, affected build combinations (e.g. in GHA runners, llvm@15 + Xcode 15.3, 15.4, 16.0 with their default SDKs + SecureTransport) fail with: ``` error: use of undeclared identifier 'noErr' or 'SecCertificateCopyLongDescription' or 'SecItemImportExportKeyParameters' or 'SecExternalFormat' or 'SecExternalItemType' or 'SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION' ``` Example: ``` curl/lib/vtls/sectransp.c:311:18: error: use of undeclared identifier 'noErr' OSStatus rtn = noErr; ^ curl/lib/vtls/sectransp.c:379:7: error: use of undeclared identifier 'SecCertificateCopyLongDescription' if(&SecCertificateCopyLongDescription) ^ curl/lib/vtls/sectransp.c:381:7: error: call to undeclared function 'SecCertificateCopyLongDescription'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] SecCertificateCopyLongDescription(NULL, cert, NULL); ^ curl/lib/vtls/sectransp.c:380:25: error: incompatible integer to pointer conversion assigning to 'CFStringRef' (aka 'const struct __CFString *') from 'int' [-Wint-conversion] server_cert_summary = ^ [...] ``` Ref: https://github.com/curl/curl/actions/runs/9893867519/job/27330135969#step:10:22 llvm v18 patches implementing the predefined macros: https://github.com/llvm/llvm-project/pull/74676 https://github.com/llvm/llvm-project/commit/6e1f19168bca7e3bd4eefda50ba03eac8441dbbf https://github.com/llvm/llvm-project/pull/82833 https://github.com/llvm/llvm-project/commit/e5ed7b6e2fd368b722b6359556cd0125881e7638 Cherry-picked from #14097 Closes #14159
show more ...
|
#
e91fcbac |
| 09-Jul-2024 |
Viktor Szakats |
macos: undo `availability` macro enabled by Homebrew gcc Homebrew gcc builds starting with 12.4.0, 13.3.0 and 14.1.0 enabled the `availability` attribute. This broke builds beca
macos: undo `availability` macro enabled by Homebrew gcc Homebrew gcc builds starting with 12.4.0, 13.3.0 and 14.1.0 enabled the `availability` attribute. This broke builds because the way the Apple SDK uses attributes (when available) are incompatible with how gcc accepts them. Causing these errors: ``` error: attributes should be specified before the declarator in a function definition error: expected ',' or '}' before ``` Upstream commits implementing the `availability` macro: gcc-12: https://github.com/iains/gcc-12-branch/commit/fd5530b7cb0012bf4faeddd45e13054a1dfa6783 gcc-13: https://github.com/iains/gcc-13-branch/commit/cb7e4eca68cfc4763474e2eb0935a844458842a8 gcc-14: https://github.com/iains/gcc-14-branch/commit/ff62a108865a6403f5017380d7018250c1d3306f The project above is a Darwin gcc compatibility pack, that is applied to Homebrew gcc builds. This patch works by redefining the `availability` macro to an invalid value, making `__has_attribute(availability)` checks fail, stopping Apple SDK from inserting the incompatible attributes. It also replaces the previous, local workaround for `lib/macos.c`. Example with gcc 12.4.0 with macOS SDK 14.0 (Xcode 15.0.1): ``` In file included from <path-to-sdk>/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:54, from <path-to-sdk>/MacOSX14.0.sdk/System/Library/Frameworks/SystemConfiguration.framework/Headers/SCDynamicStoreCopySpecific.h:30, from /Users/runner/work/curl/curl/lib/macos.c:33, from /Users/runner/work/curl/curl/build/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:244: <path-to-sdk>/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFUserNotification.h:126:1: error: attributes should be specified before the declarator in a function definition 126 | CF_INLINE CFOptionFlags CFUserNotificationCheckBoxChecked(CFIndex i) API_AVAILABLE(macos(10.0)) API_UNAVAILABLE(ios, watchos, tvos) {return ((CFOptionFlags)(1UL << (8 + i)));} | ^~~~~~~~~ ``` Ref: https://github.com/curl/curl/actions/runs/9787982387/job/27025351601?pr=14096#step:7:18 The gcc vs. llvm/clang incompatibility possibly tracked here upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108796 More info: https://github.com/llvm/llvm-project/issues/81767 https://github.com/gcc-mirror/gcc/commit/8433baadec88e5f31fa141b6d78094e91256079d https://discourse.llvm.org/t/changing-attribute-ast-printing-location-for-gcc-compatibility/73215 https://reviews.llvm.org/D159362 Follow-up to db135f8d7207b20d531e7e2100a49f3e16bdcfab #14119 Ref: https://github.com/curl/curl/pull/14091#issuecomment-2222703468 Fixes #13700 Cherry-picked from #14097 Closes #14155
show more ...
|
#
baa32708 |
| 09-Jul-2024 |
Viktor Szakats |
build: fix llvm 16 or older + Xcode 15 or newer, and gcc Xcode v15 (2023) or newer requires the built-in macro `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__`. This macro is missing from m
build: fix llvm 16 or older + Xcode 15 or newer, and gcc Xcode v15 (2023) or newer requires the built-in macro `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__`. This macro is missing from mainline llvm versions released earlier. llvm v17 introduced it here: https://github.com/llvm/llvm-project/commit/c8e2dd8c6f490b68e41fe663b44535a8a21dfeab This patch defines the missing macro when the necessary conditions align, by using the value via the macro's old name. The issue affected SecureTransport builds: The SecureTransport code, `lib/md4.c` and `lib/md5.c`. Existing gcc versions (as of v14) also don't define this macro, so apply the patch to it as well. Even though gcc is incompatible in other ways, so this isn't fixing an actual curl build case that I could find yet. GHA macOS runner images have llvm v15 pre-installed, which broke builds when building with an affected Xcode: ``` curl/lib/md4.c:80:14: error: '__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__' is not defined, evaluates to 0 [-Werror,-Wundef] (__MAC_OS_X_VERSION_MIN_REQUIRED < 101500)) || \ ^ /Applications/Xcode_15.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/AvailabilityInternal.h:40:53: note: expanded from macro '__MAC_OS_X_VERSION_MIN_REQUIRED' #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ ^ In file included from curl/build/lib/CMakeFiles/libcurl_shared.dir/Unity/unity_0_c.c:250: curl/lib/md5.c:75:14: error: '__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__' is not defined, evaluates to 0 [-Werror,-Wundef] (__MAC_OS_X_VERSION_MIN_REQUIRED < 101500)) || \ ^ /Applications/Xcode_15.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/AvailabilityInternal.h:40:53: note: expanded from macro '__MAC_OS_X_VERSION_MIN_REQUIRED' #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ ^ 2 errors generated. ``` Ref: https://github.com/curl/curl/actions/runs/9811974634/job/27095218578#step:4:20 Cherry-picked from #14097 Closes #14134
show more ...
|
#
c074ba64 |
| 01-Jul-2024 |
Daniel Stenberg |
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname - file name => filename - user name = username - man page => manpage - run-time => runtime - set-up => setup - back-end => backend - a HTTP => an HTTP - Two spaces after a period => one space after period Closes #14073
show more ...
|
#
816ac2a8 |
| 01-Jul-2024 |
Daniel Stenberg |
docs: misc language polish - CURLINFO_FILETIME*: improve language - add '32bit' and '64bit' as bad words, use 32-bit and 64-bit - mksymbolsmanpage.pl: avoid "will" Closes #1
docs: misc language polish - CURLINFO_FILETIME*: improve language - add '32bit' and '64bit' as bad words, use 32-bit and 64-bit - mksymbolsmanpage.pl: avoid "will" Closes #14070
show more ...
|
#
fc8e0dee |
| 16-May-2024 |
Viktor Szakats |
build: untangle `UNITTESTS` and `DEBUGBUILD` macros - fix `DEBUGBUILD` guards that should be `UNITTESTS`, in libcurl code used by unit tests. - fix guards for libcurl functions use
build: untangle `UNITTESTS` and `DEBUGBUILD` macros - fix `DEBUGBUILD` guards that should be `UNITTESTS`, in libcurl code used by unit tests. - fix guards for libcurl functions used in unit tests only. - sync `UNITTEST` attribute between declarations and definitions. - drop `DEBUGBUILD` guard from test `unit2600`. - fix guards for libcurl HSTS code used by both a unit test (`unit1660`) and `test0446`. - update an existing AppVeyor CI job to test the issues fixed. This fixes building tests with `CURLDEBUG` enabled but `DEBUGBUILD` disabled. This can happen when building tests with CMake with `ENABLE_DEBUG=ON` in Release config, or with `ENABLE_CURLDEBUG=ON` and _without_ `ENABLE_DEBUG=ON`. Possibly also with autotools when using `--enable-curldebug` without `--enable-debug`. Test results: - before: https://ci.appveyor.com/project/curlorg/curl/builds/49835609 https://ci.appveyor.com/project/curlorg/curl/builds/49898529/job/k8qpbs8idby70smw https://github.com/curl/curl/actions/runs/9259078835/job/25470318167?pr=13798#step:13:821 - after: https://ci.appveyor.com/project/curlorg/curl/builds/49839255 (the two failures are unrelated, subject to PR #13705) Ref: #13592 (issue discovery) Ref: #13689 (CI testing this PR with `DEBUGBUILD`/`CURLDEBUG` combinations) Closes #13694
show more ...
|
#
c56071f4 |
| 21-May-2024 |
Joseph Chen |
curl_setup.h: add support for IAR compiler Closes #13728
|
#
22cde3ba |
| 03-May-2024 |
Jay Satiro |
curl_multibyte: remove access() function wrapper for Windows - Remove curlx_win32_access() which was a wrapper to use access() in Windows. This is a follow-up to 602fc213, one
curl_multibyte: remove access() function wrapper for Windows - Remove curlx_win32_access() which was a wrapper to use access() in Windows. This is a follow-up to 602fc213, one of two commits which removed access() calls from the codebase and banned use of the function. Closes https://github.com/curl/curl/pull/13529
show more ...
|
#
382717d7 |
| 11-Apr-2024 |
Evgeny Grin (Karlson2k) |
curl_setup.h: detect 'inline' support Closes #13355
|
#
add22fee |
| 31-Mar-2024 |
Christian Schmitz |
idn: add native AppleIDN (icucore) support for macOS/iOS I implemented the IDN functions for macOS and iOS using Unicode libraries coming with macOS and iOS. Builds and runs her
idn: add native AppleIDN (icucore) support for macOS/iOS I implemented the IDN functions for macOS and iOS using Unicode libraries coming with macOS and iOS. Builds and runs here on macOS 14.2.1. Also verified to load and run on older macOS version 10.13. Build requires macOS SDK 13 or equivalent. Set `-DUSE_APPLE_IDN=ON` CMake option to enable it. With autotools and other build tools, set these manual options: ``` CPPFLAGS=-DUSE_APPLE_IDN LIBS=-licucore ``` Completes TODO 1.6. TODO: add autotools option and feature-detection. Refs: #5330 #5371 Co-authored-by: Viktor Szakats Closes #13246
show more ...
|
#
49f83c30 |
| 11-Apr-2024 |
Viktor Szakats |
lib: merge `ENABLE_QUIC` C macro into `USE_HTTP3` Before this patch `lib/curl_setup.h` defined these two macros right next to each other, then the source code used them interchangeably.
lib: merge `ENABLE_QUIC` C macro into `USE_HTTP3` Before this patch `lib/curl_setup.h` defined these two macros right next to each other, then the source code used them interchangeably. After this patch, `USE_HTTP3` guards all HTTP/3 / QUIC features. (Like `USE_HTTP2` does for HTTP/2.) `ENABLE_QUIC` is no longer used. This patch doesn't change the way HTTP/3 is enabled via autotools or CMake. Builders who enabled HTTP/3 manually by defining both of these macros via `CPPFLAGS` can now delete `-DENABLE_QUIC`. Closes #13352
show more ...
|
#
e411c98f |
| 11-Apr-2024 |
Viktor Szakats |
build: prefer `USE_IPV6` macro internally (was: `ENABLE_IPV6`) Before this patch, two macros were used to guard IPv6 features in curl sources: `ENABLE_IPV6` and `USE_IPV6`. This patch ma
build: prefer `USE_IPV6` macro internally (was: `ENABLE_IPV6`) Before this patch, two macros were used to guard IPv6 features in curl sources: `ENABLE_IPV6` and `USE_IPV6`. This patch makes the source use the latter for consistency with other similar switches. `-DENABLE_IPV6` remains accepted for compatibility as a synonym for `-DUSE_IPV6`, when passed to the compiler. `ENABLE_IPV6` also remains the name of the CMake and `Makefile.vc` options to control this feature. Closes #13349
show more ...
|
#
9287563e |
| 05-Apr-2024 |
Stefan Eissing |
vquic: use new curl_int64_t type - add curl_int64_t signed 64-bit type for lib use - define CURL_PRId64, CURL_PRIu64 format ids - use curl_int64_t in vquic curl_in
vquic: use new curl_int64_t type - add curl_int64_t signed 64-bit type for lib use - define CURL_PRId64, CURL_PRIu64 format ids - use curl_int64_t in vquic curl_int64_t signed complements the existing curl_uint64_t unsigned. Note that `curl_int64_t` and `int64_t` are assignable from each other but not identical. Some platforms with 64 long type defint int64_t as "long long" (staring at macOS) which messes up things like pointers and format identifiers. Closes https://github.com/curl/curl/pull/13293
show more ...
|
#
d5b0fee3 |
| 20-Feb-2024 |
Daniel Stenberg |
sha512_256: remove the cast macro, minor language/format edits Follow-up to cbe41d151d6a100c Closes #12966
|
#
30a3880f |
| 10-Feb-2024 |
Evgeny Grin (Karlson2k) |
curl_setup.h: add curl_uint64_t internal type The unsigned version of curl_off_t basically
|
#
011325ff |
| 26-Jan-2024 |
Daniel Stenberg |
lib: error out on multissl + http3 Since the QUIC/h3 code has no knowledge or handling of multissl it might bring unintended consequences if we allow it. configure, cmake and cu
lib: error out on multissl + http3 Since the QUIC/h3 code has no knowledge or handling of multissl it might bring unintended consequences if we allow it. configure, cmake and curl_setup.h all now reject this combination. Assisted-by: Viktor Szakats Assisted-by: Gisle Vanem Ref: #12806 Closes #12807
show more ...
|
#
0535f6ec |
| 18-Jan-2024 |
Stefan Eissing |
http3: initial support for OpenSSL 3.2 QUIC stack - HTTP/3 for curl using OpenSSL's own QUIC stack together with nghttp3 - configure with `--with-openssl-quic` to enable curl to
http3: initial support for OpenSSL 3.2 QUIC stack - HTTP/3 for curl using OpenSSL's own QUIC stack together with nghttp3 - configure with `--with-openssl-quic` to enable curl to build this. This requires the nghttp3 library - implementation with the following restrictions: * macOS has to use an unconnected UDP socket due to an issue in OpenSSL's datagram implementation See https://github.com/openssl/openssl/issues/23251 This makes connections to non-reponsive servers hang. * GET requests will send the indicator that they have no body in a separate QUIC packet. This may result in processing delays or Transfer-Encodings on proxied requests * uploads that encounter blocks will use 100% cpu as detection of these flow control issue is not working (we have not figured out to pry that from OpenSSL). Closes #12734
show more ...
|
#
2dbe75bd |
| 09-Dec-2023 |
Viktor Szakats |
build: fix some `-Wsign-conversion`/`-Warith-conversion` warnings - enable `-Wsign-conversion` warnings, but also setting them to not raise errors. - fix `-Warith-conversion` warni
build: fix some `-Wsign-conversion`/`-Warith-conversion` warnings - enable `-Wsign-conversion` warnings, but also setting them to not raise errors. - fix `-Warith-conversion` warnings seen in CI. These are triggered by `-Wsign-converion` and causing errors unless explicitly silenced. It makes more sense to fix them, there just a few of them. - fix some `-Wsign-conversion` warnings. - hide `-Wsign-conversion` warnings with a `#pragma`. - add macro `CURL_WARN_SIGN_CONVERSION` to unhide them on a per-build basis. - update a CI job to unhide them with the above macro: https://github.com/curl/curl/actions/workflows/linux.yml -> OpenSSL -O3 Closes #12492
show more ...
|