5fc61a37 | 08-Jul-2024 |
Viktor Szakats |
examples: suppress deprecation warnings locally Simplify making clean builds by silencing deprecation warnings inside the example code where these may occur. Drop related build
examples: suppress deprecation warnings locally Simplify making clean builds by silencing deprecation warnings inside the example code where these may occur. Drop related build tweaks/comments from GHA jobs. Example warning: ``` curl/docs/examples/postit2-formadd.c:65:16: error: 'CURLFORM_COPYNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Werror=deprecated-declarations] 65 | CURLFORM_COPYNAME, "sendfile", | ^~~~~~~~~~~~~~~~~ ``` Ref: https://github.com/curl/curl/actions/runs/9841099503/job/27166970904#step:10:829 Closes #14123
show more ...
|
72341068 | 06-Jul-2024 |
Viktor Szakats |
GHA/macos: bump parallel tests to -j5 Credit-to: Dan Fandrich Cherry-picked from #11510 #14097 |
338f5ae6 | 07-Jul-2024 |
Viktor Szakats |
GHA/windows: usability improvements - move `curl --version` into separate step. - move configure log to separate step. Run on success, too. - add step with `curl_config.h`
GHA/windows: usability improvements - move `curl --version` into separate step. - move configure log to separate step. Run on success, too. - add step with `curl_config.h` dump (full and brief/sorted). - make `autoreconf` a separate step. - add each job configuration a short name. - shorten job names. Dedupe/drop redundant info, introduce abbreviations: AM = autotools, CM = CMake, U = Unicode, R = Release, not -> `!`, etc. Instead of mentioning `debug`, mentioned when it's not. - simplify `PATH` forming for MSVC jobs. It's sufficient to add the release binary directory of vcpkg, the debug one is redundant. Follow-up to e26cbe20cbedbea0ca743dd33880517309315cb2 #13979 - other minor tidy-ups. Closes #14116
show more ...
|
2c15aa57 | 05-Jul-2024 |
Viktor Szakats |
GHA/macos: delete misplaced `CFLAGS`, drop redundant CMake option With macOS there is a long-term struggle with deprecation warnings. In curl they occur with LDAP, SecureTransport and in
GHA/macos: delete misplaced `CFLAGS`, drop redundant CMake option With macOS there is a long-term struggle with deprecation warnings. In curl they occur with LDAP, SecureTransport and in docs/examples. There are three ways to fix them: - by CFLAGS `-Wno-deprecated-declarations` as a workaround. - by CFLAGS `-mmacosx-version-min` set to a version where the the feature was not deprecated. - by CMake option `-DCMAKE_OSX_DEPLOYMENT_TARGET=`. In GHA CMake jobs, all three were used, and `-mmacosx-version-min` was set in a bogus way. Delete that bogus option, and delete the lone, redundant CMake option too. In a future commit I might replace the suppression option to properly setting the target OS. Follow-up to dfdd978f7c60224dffe2aac25b436dc0a5cd0186 #13491 Cherry-picked from #14097
show more ...
|
db135f8d | 04-Jul-2024 |
Viktor Szakats |
macos: add workaround for gcc, non-c-ares, IPv6, compile error Apple macOS SDK 13.0 and later are increasingly incompatible with gcc, which started causing CI errors with the 20240701.9
macos: add workaround for gcc, non-c-ares, IPv6, compile error Apple macOS SDK 13.0 and later are increasingly incompatible with gcc, which started causing CI errors with the 20240701.9 revision of the `macos-latest` (= `macos-14-arm64`) runner image. This error is happening inside an Apple SDK header. We use the header for calling a function in a resolver-related hack, in non-c-ares, IPv6 builds. You can avoid the problem by using c-ares or disabling IPv6 (or using clang, llvm, or a compatible gcc + SDK combination). This patch fixes affected builds by declaring the ncessary framework function manually, and not including the problematic header. This workaround is ugly, doesn't cover all combinations, and fragile. Other options are to disable this resolver-related hack for GCC, or to replace it with a solution that doesn't rely on Apple SDK. If you are aware of a stable fix or workaround, let us know. gcc 12.4.0 + macOS SDK 14.0 (Xcode 15.0.1) error example: ``` In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:54, from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/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: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/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)));} | ^~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFUserNotification.h:127:1: error: attributes should be specified before the declarator in a function definition 127 | CF_INLINE CFOptionFlags CFUserNotificationSecureTextField(CFIndex i) API_AVAILABLE(macos(10.0)) API_UNAVAILABLE(ios, watchos, tvos) {return ((CFOptionFlags)(1UL << (16 + i)));} | ^~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFUserNotification.h:128:1: error: attributes should be specified before the declarator in a function definition 128 | CF_INLINE CFOptionFlags CFUserNotificationPopUpSelection(CFIndex n) API_AVAILABLE(macos(10.0)) API_UNAVAILABLE(ios, watchos, tvos) {return ((CFOptionFlags)(n << 24));} | ^~~~~~~~~ ``` Ref: https://github.com/curl/curl/actions/runs/9787982387/job/27025351601?pr=14096#step:7:18 The exact conditions are fuzzy. Oddly enough gcc 12.3.0 and the SDK same as above are _compatible_: https://github.com/curl/curl/actions/runs/9791701214/job/27036037162 Also notice that similar errors can also happen in SecureTransport builds, due to the SDK headers required. Ref: https://github.com/curl/curl/pull/14097#issuecomment-2208639046 Ref: https://github.com/curl/curl/pull/14091#issuecomment-2205870854 Cherry-picked from #14097 Closes #14119
show more ...
|
8cf02025 | 07-Jul-2024 |
Viktor Szakats |
cmake: feature casing fix and tidy-ups - fix casing of a feature (`Unicode`) in the feature list. - sort TLS backends case-insensitively. - sync feature/protocol list heading with `c
cmake: feature casing fix and tidy-ups - fix casing of a feature (`Unicode`) in the feature list. - sort TLS backends case-insensitively. - sync feature/protocol list heading with `curl -V` and autotools. Closes #14120
show more ...
|
0b81eccd | 07-Jul-2024 |
Viktor Szakats |
GHA: ignore FTP test result in Windows jobs They are flaky. E.g.: - old-mingw-w64 7.3.0: 2001, 2039, 2083 - msvc: 1501, 593 (multiple) Ref: https://github.com/curl/
GHA: ignore FTP test result in Windows jobs They are flaky. E.g.: - old-mingw-w64 7.3.0: 2001, 2039, 2083 - msvc: 1501, 593 (multiple) Ref: https://github.com/curl/curl/pull/13599#issuecomment-2119372376 Cherry-picked from #14116
show more ...
|
f99c08db | 07-Jul-2024 |
Viktor Szakats |
GHA: improve vcpkg cache, add BoringSSL ECH and LibreSSL MSVC jobs - cache on a per-package basis. Replace manual caching with a built-in solution. It shares cached package build
GHA: improve vcpkg cache, add BoringSSL ECH and LibreSSL MSVC jobs - cache on a per-package basis. Replace manual caching with a built-in solution. It shares cached package builds between jobs, e.g. libssh2 only builds once per platform (instead of once per job). Individual packages are built as needed (not the whole per-job tree). It also fixes the duplicate cache entry issues. Ref: https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache Follow-up to e26cbe20cbedbea0ca743dd33880517309315cb2 #13979 Follow-up to cb22cfca69bded45bf7f9c72c8e6764990490f11 #14077 - add BoringSSL job with ECH enabled. The first such job in the curl CI. - add LibreSSL job. - use vcpkg pre-installed on the runner image, instead of rolling our own. This is quicker, simpler and more robust. Follow-up to e26cbe20cbedbea0ca743dd33880517309315cb2 #13979 - show pre-installed vcpkg and ports version. - drop `gsasl` dependency till it reaches the pre-installed vcpkg ports. - re-add `find .` to see the binaries generated. - simplify setting up `PATH`. - exclude failing tests for any job enabling WinIDN. - drop collecting and uploading log archives. We already dump CMake logs, and our build doesn't use Ninja. Rest of files weren't generated by the curl build. We don't aim to debug vcpkg package builds. Closes #14090
show more ...
|
cb22cfca | 21-Jun-2024 |
Tal Regev |
GHA: add MSVC UWP job, expand jobs with more options - add new dependencies: brotli, libpsl (requires libicu2) and gsasl. - enable WinIDN in a job. Exclude failing tests. -
GHA: add MSVC UWP job, expand jobs with more options - add new dependencies: brotli, libpsl (requires libicu2) and gsasl. - enable WinIDN in a job. Exclude failing tests. - add UWP job and fix the build logic to support it. - increase timeouts to build the new dependencies. Assisted-by: Viktor Szakats Closes #14077
show more ...
|
d70ec5c6 | 07-Jul-2024 |
Dan Fandrich |
tests: fix sshd UserKnownHostsFile path for MinGW/Cygwin This is the same thing as the previous commit fd194f46 but on the next line. Follow-up to 70d2fca2 Ref: #10818 |
b7b413e7 | 06-Jul-2024 |
Dan Fandrich |
tests: fix sshd IdentityFile path for MinGW/Cygwin This was missed during some refactoring more than a year ago and is causing a warning "Use of uninitialized value $path in pattern matc
tests: fix sshd IdentityFile path for MinGW/Cygwin This was missed during some refactoring more than a year ago and is causing a warning "Use of uninitialized value $path in pattern match". Follow-up to 70d2fca2 Ref: #10818 Closes #14113
show more ...
|
96a1a05f | 04-Jul-2024 |
Viktor Szakats |
build: add Debug, TrackMemory, ECH to feature list Also: - remove stray `ECH` and `HTTPSRR` from cmake protocol list. - stop excluding `Debug` and `TrackMemory` in `test101
build: add Debug, TrackMemory, ECH to feature list Also: - remove stray `ECH` and `HTTPSRR` from cmake protocol list. - stop excluding `Debug` and `TrackMemory` in `test1013.pl`. - configure: delete `CURL_CHECK_CURLDEBUG` check. Ref: 065047dc62cba3efde597fa5420d112fc2f4c500 This check was effectively doing nothing, except disabling `--enable-curldebug` in `curl-config` for Cygwin/MSYS/cegcc/OS2/AIX targets with c-ares enabled. Closes #14096
show more ...
|
b9fea261 | 06-Jul-2024 |
Dan Fandrich |
CI: bump the libc6 on the linux-old build This contains some security fixes for nscd. |
612e571c | 06-Jul-2024 |
Viktor Szakats |
reuse: fix typo in comment Follow-up to 9104bad82004d908e1fe66a425f8ca78f975045d #14107 |
ebd61fa3 | 05-Jul-2024 |
Dan Fandrich |
CI: Fix typo in comment |
127aa61f | 28-Jun-2024 |
Dan Fandrich |
curl: follow-up to fix categories in --help The commit 6483813b was missing changes necessitated by 2abfc75 that causes a crash. Also, use ARRAYSIZE() for cleaner code. Follow-u
curl: follow-up to fix categories in --help The commit 6483813b was missing changes necessitated by 2abfc75 that causes a crash. Also, use ARRAYSIZE() for cleaner code. Follow-up to 6483813b Ref #14055
show more ...
|
6483813b | 28-Jun-2024 |
Dan Fandrich |
curl: list categories in --help This eliminates the need to run an extra help subcommand to get the possible categories, reducing the friction in getting relevant help. The help word
curl: list categories in --help This eliminates the need to run an extra help subcommand to get the possible categories, reducing the friction in getting relevant help. The help wording was also slightly tweaked for grammatical accuracy. Closes #14055
show more ...
|
ac703592 | 05-Jul-2024 |
Daniel Stenberg |
RELEASE-NOTES: synced |
4d0b9258 | 05-Jul-2024 |
renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
GHA: update actions/upload-artifact and actions/download-artifact update actions/upload-artifact digest to 0b2256b update actions/download-artifact digest to fa0a91b Closes #141
GHA: update actions/upload-artifact and actions/download-artifact update actions/upload-artifact digest to 0b2256b update actions/download-artifact digest to fa0a91b Closes #14111 Closes #14110
show more ...
|
9104bad8 | 05-Jul-2024 |
Max Mehl |
reuse: switch to REUSE 3.2 and REUSE.toml - remove scripts/copyright.pl Closes #14107 |
0f12ee8b | 05-Jul-2024 |
Yedaya Katsman |
curl: move more options to deprecated category --no-npn, --sslv2, --sslv3 Closes #14109 |
fe83133d | 05-Jul-2024 |
Stefan Eissing |
multi: pollset assertion only when IP connected Give warning for an empty pollset only when the connection has at least IP connectivity. There are cases where the connect in QUIC makes a
multi: pollset assertion only when IP connected Give warning for an empty pollset only when the connection has at least IP connectivity. There are cases where the connect in QUIC makes another attempt on a timeout and no socket will be available during that. Closes #14108
show more ...
|
2abfc759 | 04-Jul-2024 |
Daniel Stenberg |
cmdline-opts: category cleanup Option cleanups: --get is not upload --form* are post - added several options into ldap, smtp, imap and pop3 - shortened the category
cmdline-opts: category cleanup Option cleanups: --get is not upload --form* are post - added several options into ldap, smtp, imap and pop3 - shortened the category descriptions in the list category curl fixes: --create-dirs removed from 'curl' --ftp-create-dirs removed from 'curl' --netrc moved to 'auth' from 'curl' --netrc-file moved to 'auth' from 'curl' --netrc-optional moved to 'auth' from 'curl' --no-buffer moved to 'output' from 'curl' --no-clobber removed from 'curl' --output removed from 'curl' --output-dir removed from 'curl' --remove-on-error removed from 'curl' Add a "global" category: - Made all "global" options set this category Add a "deprecated" category: - Moved the deprecated options to it (maybe they should not be in any category long term) Add a 'timeout' category - Put a number of appropriate options in it Add an 'ldap' category - Put the LDAP related option in there Remove categories "ECH" and "ipfs" - They should not be categories. Had only one single option each. Remove category "misc" - It should not be a category as it is impossible to know when to browse it. --use-ascii moved to ftp and output --xattr moved to output --service-name moved to auth Managen fixes: - errors if an option is given a category name that is not already setup for in code - verifies that options set `scope: global` also is put in category `global´ Closes #14101
show more ...
|
18c61aa0 | 04-Jul-2024 |
Stefan Eissing |
GHA: configure OpenSSL's libdir as 'lib' only Also mention in HTTP3.md OpenSSL has a bug that messes the config `--libdir=path` to become the wrong path in its pkgconfig files.
GHA: configure OpenSSL's libdir as 'lib' only Also mention in HTTP3.md OpenSSL has a bug that messes the config `--libdir=path` to become the wrong path in its pkgconfig files. If we just pass `--libdir=lib` it should avoid this. Ref: #14099 See also: https://github.com/openssl/openssl/issues/23569 Closes #14102
show more ...
|
655557f2 | 04-Jul-2024 |
Daniel Stenberg |
tool_operate: simplify return code handling from url_proto() The additional checks were superfluous as it would only ever return error if one of those protocols were set. Also: a returne
tool_operate: simplify return code handling from url_proto() The additional checks were superfluous as it would only ever return error if one of those protocols were set. Also: a returned error *should* mean get out of there, without having to check more conditions. Closes #14104
show more ...
|