18f1cd7a | 15-Jul-2024 |
Viktor Szakats |
tests: sync feature names with `curl -V` Some feature names used in tests had minor differences compared to the well-known ones from `curl -V`. This patch syncs them to make test res
tests: sync feature names with `curl -V` Some feature names used in tests had minor differences compared to the well-known ones from `curl -V`. This patch syncs them to make test results easier to grok. Closes #14183
show more ...
|
9e5b11c6 | 12-Jul-2024 |
Stefan Eissing |
sendf: fix CRLF conversion of input When CRLF line end conversion was enabled (--crlf), input after the last newline in the upload buffer was not sent, if the buffer contained a newl
sendf: fix CRLF conversion of input When CRLF line end conversion was enabled (--crlf), input after the last newline in the upload buffer was not sent, if the buffer contained a newline. Reported-by: vuonganh1993 on github Fixes #14165 Closes #14169
show more ...
|
6f0a8bd4 | 15-Jul-2024 |
Stefan Eissing |
test2600: disable on win32 - disbable this test on WIN32 platforms. It uses the file describtor '1' as valid socket without events. Not portable. - reduce trace output somewhat on
test2600: disable on win32 - disbable this test on WIN32 platforms. It uses the file describtor '1' as valid socket without events. Not portable. - reduce trace output somewhat on other runs Fixes #14177 Reported-by: Viktor Szakats Closes #14191
show more ...
|
f4b8b976 | 15-Jul-2024 |
Stefan Eissing |
smtp: for starttls, do full upgrade - make sure the TLS handshake after a successful STARTTLS command is fully done before further sending/receiving on the connection. Reporte
smtp: for starttls, do full upgrade - make sure the TLS handshake after a successful STARTTLS command is fully done before further sending/receiving on the connection. Reported-by: tomy2105 on github Fixes #14166 Closes #14190
show more ...
|
50a7602b | 14-Jul-2024 |
Daniel Stenberg |
RELEASE-NOTES: synced |
4c22d97b | 13-Jul-2024 |
Viktor Szakats |
build: use `#error` instead of invalid syntax It reduces configure log noise. Follow-up to 20c1b2d75ee38189ffa75d21ed04108e1e0630ae #13287 Closes #14181 |
8dab7465 | 11-Jul-2024 |
Daniel Stenberg |
libcurl-docs: make option lists alpha-sorted The man pages for curl_easy_getinfo, curl_easy_setopt and curl_multi_setopt now feature the lists of options alphabetically sorted. Test
libcurl-docs: make option lists alpha-sorted The man pages for curl_easy_getinfo, curl_easy_setopt and curl_multi_setopt now feature the lists of options alphabetically sorted. Test 1139 verify that they are. The curl_multi_setopt page also got brief explanations of the listed options. Closes #14156
show more ...
|
fd025086 | 13-Jul-2024 |
Christian Schmitz |
IDN: fix ß with AppleIDN Add flags UIDNA_NONTRANSITIONAL_TO_ASCII and UIDNA_NONTRANSITIONAL_TO_UNICODE to encode ß correctly. It fixes test 165. Reported-by: Viktor Sza
IDN: fix ß with AppleIDN Add flags UIDNA_NONTRANSITIONAL_TO_ASCII and UIDNA_NONTRANSITIONAL_TO_UNICODE to encode ß correctly. It fixes test 165. Reported-by: Viktor Szakats Bug: #14176 Closes #14179
show more ...
|
764fbabf | 13-Jul-2024 |
Viktor Szakats |
cmake: fix builds with detected libidn2 lib but undetected header It caused IDN to appear in `curl-config`, `libidn2` referenced from `libcurl.pc`, fail to fallback to `pkg-config` detec
cmake: fix builds with detected libidn2 lib but undetected header It caused IDN to appear in `curl-config`, `libidn2` referenced from `libcurl.pc`, fail to fallback to `pkg-config` detection. But libidn2 not actually used. It came up in macOS CI builds after enabling cmake build tests. It remained hidden for a while due to setting `-DUSE_APPLE_IDN=ON`. (The half-detection of Homebrew libidn2 was the result of configuring with `-DCMAKE_EXE_LINKER_FLAGS=-L$(brew --prefix)/lib`, to fix linking GnuTLS that needs the `nettle` lib from the brew prefix.) ``` FAIL 1014: [Compare curl --version with curl-config --features] curl-config ``` Ref: https://github.com/curl/curl/actions/runs/9919357748/job/27405080722 Cherry-picked from #14097 Closes #14175
show more ...
|
3765d75c | 12-Jul-2024 |
Viktor Szakats |
cmake: fix building `unit1600` due to missing `ssl/openssl.h` In specific builds configs, cmake failed to build test `unit1600`, due missing an OpenSSL (or wolfSSL) header. The
cmake: fix building `unit1600` due to missing `ssl/openssl.h` In specific builds configs, cmake failed to build test `unit1600`, due missing an OpenSSL (or wolfSSL) header. The test code relies on `lib/curl_ntlm_core.h`, which in turn included TLS library headers. But, dependency header directories are not setup in cmake for tests, because they should not normally be needed. The issue was hidden in most builds because TLS headers are usually found under the system prefix. One counterexample is macOS + Homebrew LibreSSL builds, where OpenSSL is purposefully unlinked from there to avoid a mixup with LibreSSL that resides under its own prefix. It was also hidden in autotools, possibly because it sets up header directories globally, tests included. The actual bug however is that `lib/curl_ntlm_core.h` should not include TLS headers. None of its internal users need it, and `curl_ntlm_core.c` included them already directly. Fix it by deleting the TLS header includes from this internal header. Fixes: ``` In file included from curl/tests/unit/unit1600.c:27: curl/lib/curl_ntlm_core.h:32:12: fatal error: 'openssl/ssl.h' file not found # include <openssl/ssl.h> ^~~~~~~~~~~~~~~ ``` Ref: https://github.com/curl/curl/actions/runs/9912684737/job/27388041520#step:12:1694 Follow-up to 48eb71ade41d4b37f416b643063cab846ac027a2 #10322 Cherry-picked from #14097 Closes #14172
show more ...
|
5fa534b0 | 06-Jul-2024 |
Viktor Szakats |
sectransp: fix clang compiler warnings, stop silencing them Fix `-Wpointer-bool-conversion` warnings with the method suggested by both Apple clang and mainline llvm. This was already tri
sectransp: fix clang compiler warnings, stop silencing them Fix `-Wpointer-bool-conversion` warnings with the method suggested by both Apple clang and mainline llvm. This was already tried and dropped in #1705 (in year 2017), but the issue reported there no longer replicates. Verified with Apple clang 14, llvm 15, llvm 18 and gcc 11, 14 that the generated objects are bit by bit identical before and after this patch. Also: - stop silencing `-Wtautological-pointer-compare`. This warning don't seem to be appearing anymore (with or without this patch), at least with the tested compilers and SDKs (clang 13.1.6-16.0.0beta, llvm 15, 18, gcc 11, 14) and minimum macOS target of 10.8. Older targets fail to build curl with SecureTransport. - silence `-Wunreachable-code` for clang only. Previously I applied it also to GCC, by mistake. Ref: https://github.com/curl/curl/pull/12331/commits/8d7172d20a48ebc6c1b1d94a76e2c5fb19dd9bfa Apple clang `-Wpointer-bool-conversion`: ``` curl/lib/vtls/sectransp.c:1103:6: error: address of function 'SSLCreateContext' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion] if(SSLCreateContext) { /* use the newer API if available */ ~~ ^~~~~~~~~~~~~~~~ curl/lib/vtls/sectransp.c:1103:6: note: prefix with the address-of operator to silence this warning if(SSLCreateContext) { /* use the newer API if available */ ^ & ``` Ref: https://github.com/curl/curl/actions/runs/9819538439/job/27113201384#step:8:382 llvm `-Wpointer-bool-conversion`: ``` curl/lib/vtls/sectransp.c:2663:8: error: address of function 'SSLCreateContext' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion] if(SSLCreateContext) ~~ ^~~~~~~~~~~~~~~~ curl/lib/vtls/sectransp.c:2663:8: note: prefix with the address-of operator to silence this warning if(SSLCreateContext) ^ & ``` Ref: https://github.com/curl/curl/actions/runs/9819538439/job/27113200291#step:8:417 gcc still needs `-Waddress` suppressed to avoid these: ``` curl/lib/vtls/n/sectransp.c: In function 'getsubject': curl/lib/vtls/n/sectransp.c:379:6: warning: the address of 'SecCertificateCopyLongDescription' will always evaluate as 'true' [-Waddress] 379 | if(&SecCertificateCopyLongDescription) | ^ [...] ``` Follow-up to 59cadacfcc1d39472245979cdbd614c7a9af6f0d #14128 Follow-up to af271ce9b9717ba289417e9cbb7f278c2a12f959 #1722 Follow-up to 2b7ce3f56dfede107113c6de7d0ca457109d3eda #1706 Cherry-picked from #14097 Closes #14162
show more ...
|
2a7c8b27 | 12-Jul-2024 |
Viktor Szakats |
CI/circleci: config tidy-ups, bump up test parallelism - bump parallel test for Linux jobs. Credit-to: Dan Fandrich Cherry-picked from #11510 - bump parallel test for macOS j
CI/circleci: config tidy-ups, bump up test parallelism - bump parallel test for Linux jobs. Credit-to: Dan Fandrich Cherry-picked from #11510 - bump parallel test for macOS jobs. - drop no longer necessary `-Wno-vla` option. - fold long lines. - drop `--enable-maintainer-mode` `./configure` option. - replace a hard-coded prefix with `brew --prefix`. - update documentation link. - move `--enable-debug` in front. - tidy up quotes. Closes #14171
show more ...
|
1448218b | 12-Jul-2024 |
Viktor Szakats |
GHA/windows: re-add gsasl to MSVC jobs Now that the package reached the CI runner image. Follow-up to f99c08dba40307c07341013ff5f71fa8e3464ffc #14090 Follow-up to e26cbe20cbedbe
GHA/windows: re-add gsasl to MSVC jobs Now that the package reached the CI runner image. Follow-up to f99c08dba40307c07341013ff5f71fa8e3464ffc #14090 Follow-up to e26cbe20cbedbea0ca743dd33880517309315cb2 #13979 Closes #14170
show more ...
|
6343034d | 12-Jul-2024 |
Viktor Szakats |
tidy-up: adjust casing of project names Mostly TLS/SSH project name. Closes #14160 |
f94aa3d9 | 12-Jul-2024 |
Daniel Stenberg |
ISSUE_TEMPLATE/docs: correct the field identifiers |
6a5bb685 | 10-Jul-2024 |
Stephen Farrell |
doh: fix leak and zero-length HTTPS RR crash This PR fixes a leak and a crash that can happen when curl encounters bad HTTPS RR values in DNS. We're starting to do better testing of that
doh: fix leak and zero-length HTTPS RR crash This PR fixes a leak and a crash that can happen when curl encounters bad HTTPS RR values in DNS. We're starting to do better testing of that kind of thing and e.g. have published bad HTTPS RR values at dodgy.test.defo.ie. Closes #14151
show more ...
|
91530abc | 11-Jul-2024 |
Daniel Stenberg |
curl_global_init.md: polish the thread-safe wording Since this has been thread-safe for two years now, few users actually are hurt by the previous unsafe ways. Closes #14158 |
2e930c33 | 11-Jul-2024 |
Viktor Szakats |
GHA: FreeBSD 14.1, actions bump - bump FreeBSD to 14.1 - update cross-platform-actions/action action to v0.25.0 Closes #14157 Closes #14164 |
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 ...
|
682c357f | 11-Jul-2024 |
Daniel Stenberg |
ISSUE_TEMPLATE/docs: add a separate GitHub issue template for documentation As such problems don't really fit the code related template Closes #14161 |
1263bf69 | 11-Jul-2024 |
Dan Fandrich |
DISTROS: add AlmaLinux package source link |
a9829848 | 11-Jul-2024 |
Viktor Szakats |
GHA/windows: ignore FTP test results for old-mingw-w64 [ci skip] Missed from previous commit. They are flaky here as well. Follow-up to 0b81eccd22fb915aa6b679c0fd23a8a89332dc9e |
16f56583 | 11-Jul-2024 |
Daniel Stenberg |
libcurl-easy.md: now *more* than 300 options it previously said "almost 300". Also cleaned up the language somewhat. Closes #14153 |
b7f2c66d | 10-Jul-2024 |
Martin Peck |
MANUAL.md: wrap two example urls that overrun styling Closes #14149 |