#
a35bbe89 |
| 05-May-2024 |
Viktor Szakats |
lib: bump hash sizes to `size_t` Follow-up to cc907e80a2498c0599253271a6f657f614b52a4e #13502 Cherry-picked from #13489 Closes #13601
|
#
a362962b |
| 04-Apr-2024 |
Stephen Farrell |
TLS: add support for ECH (Encrypted Client Hello) An EXPERIMENTAL feature used with CURLOPT_ECH and --ech. Closes #11922
|
#
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 ...
|
#
2cd78f52 |
| 29-Feb-2024 |
RainRat |
misc: Fix typos in docs and lib This fixes miscellaneous typos and duplicated words in the docs, lib and test comments and a few user facing errorstrings. Author: RainRat on Git
misc: Fix typos in docs and lib This fixes miscellaneous typos and duplicated words in the docs, lib and test comments and a few user facing errorstrings. Author: RainRat on Github Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Dan Fandrich <dan@coneharvesters.com> Closes: #13019
show more ...
|
#
907eea08 |
| 14-Dec-2023 |
Daniel Stenberg |
Revert "urldata: move async resolver state from easy handle to connectdata" This reverts commit 56a4db2e4e2bcb9a0dcb75b83560a78ef231fcc8 (#12198) We want the c-ares channel to be he
Revert "urldata: move async resolver state from easy handle to connectdata" This reverts commit 56a4db2e4e2bcb9a0dcb75b83560a78ef231fcc8 (#12198) We want the c-ares channel to be held in the easy handle, not per connection - for performance. Closes #12524
show more ...
|
#
907dce2d |
| 14-Dec-2023 |
Daniel Stenberg |
hostip: return error immediately when Curl_ip2addr() fails Closes #12522
|
#
84338c4d |
| 15-Nov-2023 |
Viktor Szakats |
build: add more picky warnings and fix them Enable more picky compiler warnings. I've found these options in the nghttp3 project when implementing the CMake quick picky warning funct
build: add more picky warnings and fix them Enable more picky compiler warnings. I've found these options in the nghttp3 project when implementing the CMake quick picky warning functionality for it [1]. `-Wunused-macros` was too noisy to keep around, but fixed a few issues it revealed while testing. - autotools: reflect the more precisely-versioned clang warnings. Follow-up to 033f8e2a08eb1d3102f08c4d8c8e85470f8b460e #12324 - autotools: sync between clang and gcc the way we set `no-multichar`. - autotools: avoid setting `-Wstrict-aliasing=3` twice. - autotools: disable `-Wmissing-noreturn` for MSYS gcc targets [2]. It triggers in libtool-generated stub code. - lib/timeval: delete a redundant `!MSDOS` guard from a `WIN32` branch. - lib/curl_setup.h: delete duplicate declaration for `fileno`. Added in initial commit ae1912cb0d494b48d514d937826c9fe83ec96c4d (1999-12-29). This suggests this may not be needed anymore, but if it does, we may restore this for those specific (non-Windows) systems. - lib: delete unused macro `FTP_BUFFER_ALLOCSIZE` since c1d6fe2aaa5a26e49a69a4f2495b3cc7a24d9394. - lib: delete unused macro `isxdigit_ascii` since f65f750742068f579f4ee6d8539ed9d5f0afcb85. - lib/mqtt: delete unused macro `MQTT_HEADER_LEN`. - lib/multi: delete unused macro `SH_READ`/`SH_WRITE`. - lib/hostip: add `noreturn` function attribute via new `CURL_NORETURN` macro. - lib/mprintf: delete duplicate declaration for `Curl_dyn_vprintf`. - lib/rand: fix `-Wunreachable-code` and related fallouts [3]. - lib/setopt: fix `-Wunreachable-code-break`. - lib/system_win32 and lib/timeval: fix double declarations for `Curl_freq` and `Curl_isVistaOrGreater` in CMake UNITY mode [4]. - lib/warnless: fix double declarations in CMake UNITY mode [5]. This was due to force-disabling the header guard of `warnless.h` to to reapply it to source code coming after `warnless.c` in UNITY builds. This reapplied declarations too, causing the warnings. Solved by adding a header guard for the lines that actually need to be reapplied. - lib/vauth/digest: fix `-Wunreachable-code-break` [6]. - lib/vssh/libssh2: fix `-Wunreachable-code-break` and delete redundant block. - lib/vtls/sectransp: fix `-Wunreachable-code-break` [7]. - lib/vtls/sectransp: suppress `-Wunreachable-code`. Detected in `else` branches of dynamic feature checks, with results known at compile-time, e.g. ```c if(SecCertificateCopySubjectSummary) /* -> true */ ``` Likely fixable as a separate micro-project, but given SecureTransport is deprecated anyway, let's just silence these locally. - src/tool_help: delete duplicate declaration for `helptext`. - src/tool_xattr: fix `-Wunreachable-code`. - tests: delete duplicate declaration for `unitfail` [8]. - tests: delete duplicate declaration for `strncasecompare`. - tests/libtest: delete duplicate declaration for `gethostname`. Originally added in 687df5c8c39c370a59999b9afc0917d808d978b7 (2010-08-02). Got complicated later: c49e9683b85ba9d12cbb6eebc4ab2c8dba68fbdc If there are still systems around with warnings, we may restore the prototype, but limited for those systems. - tests/lib2305: delete duplicate declaration for `libtest_debug_config`. - tests/h2-download: fix `-Wunreachable-code-break`. [1] https://github.com/ngtcp2/nghttp3/blob/a70edb08e954d690e8fb2c1df999b5a056f8bf9f/cmake/PickyWarningsC.cmake [2] https://ci.appveyor.com/project/curlorg/curl/builds/48553586/job/3qkgjauiqla5fj45?fullLog=true#L1675 [3] https://github.com/curl/curl/actions/runs/6880886309/job/18716044703?pr=12331#step:7:72 https://github.com/curl/curl/actions/runs/6883016087/job/18722707368?pr=12331#step:7:109 [4] https://ci.appveyor.com/project/curlorg/curl/builds/48555101/job/9g15qkrriklpf1ut#L204 [5] https://ci.appveyor.com/project/curlorg/curl/builds/48555101/job/9g15qkrriklpf1ut#L218 [6] https://github.com/curl/curl/actions/runs/6880886309/job/18716042927?pr=12331#step:7:290 [7] https://github.com/curl/curl/actions/runs/6891484996/job/18746659406?pr=12331#step:9:1193 [8] https://github.com/curl/curl/actions/runs/6882803986/job/18722082562?pr=12331#step:33:1870 Closes #12331
show more ...
|
#
bc8509a7 |
| 07-Nov-2023 |
Sam James |
misc: fix -Walloc-size warnings GCC 14 introduces a new -Walloc-size included in -Wextra which gives: ``` src/tool_operate.c: In function ‘add_per_transfer’: src/tool_operat
misc: fix -Walloc-size warnings GCC 14 introduces a new -Walloc-size included in -Wextra which gives: ``` src/tool_operate.c: In function ‘add_per_transfer’: src/tool_operate.c:213:5: warning: allocation of insufficient size ‘1’ for type ‘struct per_transfer’ with size ‘480’ [-Walloc-size] 213 | p = calloc(sizeof(struct per_transfer), 1); | ^ src/var.c: In function ‘addvariable’: src/var.c:361:5: warning: allocation of insufficient size ‘1’ for type ‘struct var’ with size ‘32’ [-Walloc-size] 361 | p = calloc(sizeof(struct var), 1); | ^ ``` The calloc prototype is: ``` void *calloc(size_t nmemb, size_t size); ``` So, just swap the number of members and size arguments to match the prototype, as we're initialising 1 struct of size `sizeof(struct ...)`. GCC then sees we're not doing anything wrong. Closes #12292
show more ...
|
#
d14e11d2 |
| 27-Oct-2023 |
Viktor Szakats |
hostip: silence compiler warning `-Wparentheses-equality` Seen with LLVM 17. ``` hostip.c:1336:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equali
hostip: silence compiler warning `-Wparentheses-equality` Seen with LLVM 17. ``` hostip.c:1336:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] 1336 | (a->ai_family == PF_INET)) { | ~~~~~~~~~~~~~^~~~~~~~~~ hostip.c:1336:22: note: remove extraneous parentheses around the comparison to silence this warning 1336 | (a->ai_family == PF_INET)) { | ~ ^ ~ hostip.c:1336:22: note: use '=' to turn this equality comparison into an assignment 1336 | (a->ai_family == PF_INET)) { | ^~ | = 1 warning generated. ``` Follow-up to b651aba0962bb31353f55de4dc35f745952a1b10 #12145 Reviewed-by: Daniel Stenberg Closes #12215
show more ...
|
#
dac293cf |
| 20-Oct-2023 |
Stefan Eissing |
lib: apache style infof and trace macros/functions - test for a simplified C99 variadic check - args to infof() in --disable-verbose are no longer disregarded but must compile.
lib: apache style infof and trace macros/functions - test for a simplified C99 variadic check - args to infof() in --disable-verbose are no longer disregarded but must compile. Closes #12167 Fixes #12083 Fixes #11880 Fixes #11891
show more ...
|
#
56a4db2e |
| 25-Oct-2023 |
Stefan Eissing |
urldata: move async resolver state from easy handle to connectdata - resolving is done for a connection, not for every transfer - save create/dup/free of a cares channel for each transfe
urldata: move async resolver state from easy handle to connectdata - resolving is done for a connection, not for every transfer - save create/dup/free of a cares channel for each transfer - check values of setopt calls against a local channel if no connection has been attached yet, when needed. Closes #12198
show more ...
|
#
b651aba0 |
| 17-Oct-2023 |
Daniel Stenberg |
hostip: show the list of IPs when resolving is done Getting 'curl.se' today then gets this verbose output which might help debugging connectivity related matters. * Host curl.se
hostip: show the list of IPs when resolving is done Getting 'curl.se' today then gets this verbose output which might help debugging connectivity related matters. * Host curl.se:80 was resolved. * IPv6: 2a04:4e42::347, 2a04:4e42:200::347, 2a04:4e42:400::347, 2a04:4e42:600::347, 2a04:4e42:800::347, 2a04:4e42:a00::347, 2a04:4e42:c00::347, 2a04:4e42:e00::347 * IPv4: 151.101.193.91, 151.101.1.91, 151.101.65.91, 151.101.129.91 Co-authored-by: Jay Satiro Closes #12145
show more ...
|
#
96c29900 |
| 25-Sep-2023 |
Viktor Szakats |
build: delete checks for C89 standard headers Delete checks and guards for standard C89 headers and assume these are available: `stdio.h`, `string.h`, `time.h`, `setjmp.h`, `stdlib.h`,
build: delete checks for C89 standard headers Delete checks and guards for standard C89 headers and assume these are available: `stdio.h`, `string.h`, `time.h`, `setjmp.h`, `stdlib.h`, `stddef.h`, `signal.h`. Some of these we already used unconditionally, some others we only used for feature checks. Follow-up to 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918 (for `stdio.h` in CMake) Closes #11940
show more ...
|
#
2fe26a7c |
| 29-Aug-2023 |
Jay Satiro |
hostip: fix typo
|
#
5e2beb33 |
| 23-Aug-2023 |
Daniel Stenberg |
spelling: use 'reuse' not 're-use' in code and elsewhere Unify the spelling as both versions were previously used intermittently Closes #11717
|
#
acca40c9 |
| 17-Aug-2023 |
Daniel Stenberg |
lib: build fixups when built with most things disabled Closes #11687
|
#
ac67d721 |
| 19-Jul-2023 |
Daniel Stenberg |
hostip: return IPv6 first for localhost resolves Fixes #11465 Reported-by: Chilledheart on github Closes #11466
|
#
c7308592 |
| 05-Jun-2023 |
Stan Hu |
hostip.c: Move macOS-specific calls into global init call https://github.com/curl/curl/pull/7121 introduced a macOS system call to `SCDynamicStoreCopyProxies`, which is invoked every tim
hostip.c: Move macOS-specific calls into global init call https://github.com/curl/curl/pull/7121 introduced a macOS system call to `SCDynamicStoreCopyProxies`, which is invoked every time an IP address needs to be resolved. However, this system call is not thread-safe, and macOS will kill the process if the system call is run first in a fork. To make it possible for the parent process to call this once and prevent the crash, only invoke this system call in the global initialization routine. In addition, this change is beneficial because it: 1. Avoids extra macOS system calls for every IP lookup. 2. Consolidates macOS-specific initialization in a separate file. Fixes #11252 Closes #11254
show more ...
|
#
8e85764b |
| 22-May-2023 |
Daniel Stenberg |
lib: remove unused functions, make single-use static Closes #11174
|
#
e743425b |
| 18-May-2023 |
Colin Cross |
hostip: move easy_lock.h include above curl_memory.h Similar to #9561, move easy_lock.h above curl_memory.h to fix building against musl libc. Closes #11140
|
#
f198d33e |
| 18-May-2023 |
Emanuele Torre |
checksrc: disallow spaces before labels Out of 415 labels throughout the code base, 86 of those labels were not at the start of the line. Which means labels always at the start of th
checksrc: disallow spaces before labels Out of 415 labels throughout the code base, 86 of those labels were not at the start of the line. Which means labels always at the start of the line is the favoured style overall with 329 instances. Out of the 86 labels not at the start of the line: * 75 were indented with the same indentation level of the following line * 8 were indented with exactly one space * 2 were indented with one fewer indentation level then the following line * 1 was indented with the indentation level of the following line minus three space (probably unintentional) Co-Authored-By: Viktor Szakats Closes #11134
show more ...
|
#
f446258f |
| 16-May-2023 |
Daniel Stenberg |
hostip: include easy_lock.h before using GLOBAL_INIT_IS_THREADSAFE Since that header file is the only place that define can be defined. Reported-by: Marc Deslauriers Follow
hostip: include easy_lock.h before using GLOBAL_INIT_IS_THREADSAFE Since that header file is the only place that define can be defined. Reported-by: Marc Deslauriers Follow-up to 13718030ad4b3209 Closes #11121
show more ...
|
#
8e6abece |
| 09-May-2023 |
Daniel Stenberg |
hostip: use time_t for storing oldest DNS entry Theoretically, the oldest time could overflow an int. In practice that won't happen, but let's do this to please analyzers. Follo
hostip: use time_t for storing oldest DNS entry Theoretically, the oldest time could overflow an int. In practice that won't happen, but let's do this to please analyzers. Follow-up to 9ed7d56e044f5aa1b2928ccde6245d0 Pointed out by Coverity. Closes #11094
show more ...
|
#
9ed7d56e |
| 08-May-2023 |
Daniel Stenberg |
hostip: enforce a maximum DNS cache size independent of timeout value To reduce the damage an application can cause if using -1 or other ridiculous timeout values and letting the cache l
hostip: enforce a maximum DNS cache size independent of timeout value To reduce the damage an application can cause if using -1 or other ridiculous timeout values and letting the cache live long times. The maximum number of entries in the DNS cache is now totally arbitrarily and hard-coded set to 29999. Closes #11084
show more ...
|
#
f6255727 |
| 08-May-2023 |
Daniel Stenberg |
hostip: store dns timeout as 'int' ... because it set and held as an 'int' elsewhere and can never be larger.
|