#
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
|
#
50def7c8 |
| 31-Mar-2024 |
Daniel Stenberg |
NTLM_WB: drop support The feature has not worked for months and has been marked as DEPRECATED for six+ months. Closes #13249
|
#
94db8e5c |
| 30-Mar-2024 |
Daniel Stenberg |
tool_getparam: output warning for leading unicode quote character ... in the option argument. Typically this is a mistake done when copying example command lines from online doc
tool_getparam: output warning for leading unicode quote character ... in the option argument. Typically this is a mistake done when copying example command lines from online documentation using the wrong quote character. Presumably there are also other potential quote characters that might be used, and this check is done without even knowing that unicode is used! Reported-by: Sanjay Pujare Fixes #13214 Closes #13215
show more ...
|
#
6bd4ca0e |
| 18-Mar-2024 |
Daniel Stenberg |
tool_getparam: accept a blank -w "" Added test 468 to verify. Regression from 07bcae89d5d00 (shipped in 8.6.0) Reported-by: Thomas Pyle Fixes #13144 Closes #13145
|
#
3ccce377 |
| 11-Mar-2024 |
Daniel Stenberg |
tool_getparam: handle non-existing (out of range) short-options ... correctly, even when they follow an existing one without a space in between. Verify with test 467 Fo
tool_getparam: handle non-existing (out of range) short-options ... correctly, even when they follow an existing one without a space in between. Verify with test 467 Follow-up to 07dd60c05b Reported-by: Geeknik Labs Fixes #13101 Closes #13102
show more ...
|
#
65405459 |
| 28-Feb-2024 |
Daniel Stenberg |
getparam: make --ftp-ssl work again Follow-up to 9e4e527 which accidentally broke it Reported-by: Jordan Brown Fixes #13006 Closes #13007
|
#
f4606a79 |
| 07-Jan-2024 |
Jay Satiro |
tool_getparam: stop supporting `@filename` style for --cookie The `@filename` style was never documented for --cookie <data|filename> but prior to this change curl would accept it anyway
tool_getparam: stop supporting `@filename` style for --cookie The `@filename` style was never documented for --cookie <data|filename> but prior to this change curl would accept it anyway and always treat a @ prefixed string as a filename. That's a problem if the string also contains a = sign because then it is documented to be interpreted as a cookie string and not a filename. Example: `--cookie @foo=bar` Before: Interpreted as load cookies from filename foo=bar. After: Interpreted as cookie `@foo=bar` (name `@foo` and value `bar`). Other curl options with a data/filename option-value use the `@filename` to distinguish filenames which is probably how this happened. The --cookie option has never been documented that way. Ref: https://curl.se/docs/manpage.html#-b Closes https://github.com/curl/curl/pull/12645
show more ...
|
#
fb414370 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: move the --rate logic into set_rate()
|
#
9e4e5277 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: switch to an enum for every option To make the big switch much easier to read/understand and to make it easier to add new options.
|
#
1f4433da |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: build post data using dynbuf (more)
|
#
1dba44b2 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: replace malloc + copy by dynbuf for --data
|
#
f37840a4 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: make data_urlencode avoid direct malloc use aprintf() instead
|
#
3870d03b |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: move the --url-query logic into url_query() This function is not doing post at all so it was always weirdly placed.
|
#
8aecfad9 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: move the --data logic into set_data()
|
#
f6e97eff |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: unify the cmdline switch() into a single one - easier to follow, easier to modify, easier to extend, possibly slightly faster - each case now has the long optio
tool_getparam: unify the cmdline switch() into a single one - easier to follow, easier to modify, easier to extend, possibly slightly faster - each case now has the long option as a comment
show more ...
|
#
07dd60c0 |
| 08-Jan-2024 |
Daniel Stenberg |
tool_getparam: bsearch cmdline options - the option names are now alpha sorted and lookup is a lot faster - use case sensitive matching. It was previously case insensitive, but that
tool_getparam: bsearch cmdline options - the option names are now alpha sorted and lookup is a lot faster - use case sensitive matching. It was previously case insensitive, but that was not documented nor tested. - remove "partial match" feature. It was not documented, not tested and was always fragile as existing use could break when we add a new option - lookup short options via a table Closes #12631
show more ...
|
#
07bcae89 |
| 02-Jan-2024 |
Daniel Stenberg |
tool: make parser reject blank arguments if not supported Already in the getstr() function that clones the input argument. Closes #12620
|
#
d187f519 |
| 21-Dec-2023 |
Daniel Stenberg |
tool_getparam: do not try to expand without an argument This would lead to a segfault. Fixes #12565 Reported-by: Geeknik Labs Closes #12575
|
#
3829759b |
| 08-Dec-2023 |
Viktor Szakats |
build: enable missing OpenSSF-recommended warnings, with fixes https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html as of 2023-11-29 [1]
build: enable missing OpenSSF-recommended warnings, with fixes https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html as of 2023-11-29 [1]. Enable new recommended warnings (except `-Wsign-conversion`): - enable `-Wformat=2` for clang (in both cmake and autotools). - add `CURL_PRINTF()` internal attribute and mark functions accepting printf arguments with it. This is a copy of existing `CURL_TEMP_PRINTF()` but using `__printf__` to make it compatible with redefinting the `printf` symbol: https://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_5.html#SEC94 - fix `CURL_PRINTF()` and existing `CURL_TEMP_PRINTF()` for mingw-w64 and enable it on this platform. - enable `-Wimplicit-fallthrough`. - enable `-Wtrampolines`. - add `-Wsign-conversion` commented with a FIXME. - cmake: enable `-pedantic-errors` the way we do it with autotools. Follow-up to d5c0351055d5709da8f3e16c91348092fdb481aa #2747 - lib/curl_trc.h: use `CURL_FORMAT()`, this also fixes it to enable format checks. Previously it was always disabled due to the internal `printf` macro. Fix them: - fix bug where an `set_ipv6_v6only()` call was missed in builds with `--disable-verbose` / `CURL_DISABLE_VERBOSE_STRINGS=ON`. - add internal `FALLTHROUGH()` macro. - replace obsolete fall-through comments with `FALLTHROUGH()`. - fix fallthrough markups: Delete redundant ones (showing up as warnings in most cases). Add missing ones. Fix indentation. - silence `-Wformat-nonliteral` warnings with llvm/clang. - fix one `-Wformat-nonliteral` warning. - fix new `-Wformat` and `-Wformat-security` warnings. - fix `CURL_FORMAT_SOCKET_T` value for mingw-w64. Also move its definition to `lib/curl_setup.h` allowing use in `tests/server`. - lib: fix two wrongly passed string arguments in log outputs. Co-authored-by: Jay Satiro - fix new `-Wformat` warnings on mingw-w64. [1] https://github.com/ossf/wg-best-practices-os-developers/blob/56c0fde3895bfc55c8a973ef49a2572c507b2ae1/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md Closes #12489
show more ...
|
#
e9a7d4a1 |
| 21-Nov-2023 |
Viktor Szakats |
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. T
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. The agreement seems to be that `_WIN32` is the preferred practice here. Make the source code rely on that to detect we're building for Windows. Public `curl.h` was using `WIN32`, `__WIN32__` and `CURL_WIN32` for Windows detection, next to the official `_WIN32`. After this patch it only uses `_WIN32` for this. Also, make it stop defining `CURL_WIN32`. There is a slight chance these break compatibility with Windows compilers that fail to define `_WIN32`. I'm not aware of any obsolete or modern compiler affected, but in case there is one, one possible solution is to define this macro manually. grepping for `WIN32` remains useful to discover Windows-specific code. Also: - extend `checksrc` to ensure we're not using `WIN32` anymore. - apply minor formatting here and there. - delete unnecessary checks for `!MSDOS` when `_WIN32` is present. Co-authored-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes #12376
show more ...
|
#
8993efc2 |
| 13-Oct-2023 |
Sohom Datta |
tool_getparam: limit --rate to be smaller than number of ms Currently, curl allows users to specify absurd request rates that might be higher than the number of milliseconds in the unit
tool_getparam: limit --rate to be smaller than number of ms Currently, curl allows users to specify absurd request rates that might be higher than the number of milliseconds in the unit (ex: curl --rate 3600050/h http://localhost:8080 does not error out despite there being only 3600000ms in a hour). This change adds a conditional check before the millisecond calculation making sure that the number is not higher than the numerator (the unit) If the number is higher, curl errors out with PARAM_NUMBER_TOO_LARGE Closes #12116
show more ...
|
#
f2c8086f |
| 07-Oct-2023 |
Daniel Stenberg |
tool_getparam: accept variable expansion on file names too Reported-by: PBudmark on github Fixes #12048 Closes #12055
|
#
e5bb88b8 |
| 28-Sep-2023 |
Viktor Szakats |
tool: use our own stderr variable Earlier this year we changed our own stderr variable to use the standard name `stderr` (to avoid bugs where someone is using `stderr` instead of the
tool: use our own stderr variable Earlier this year we changed our own stderr variable to use the standard name `stderr` (to avoid bugs where someone is using `stderr` instead of the curl-tool specific variable). This solution needed to override the standard `stderr` symbol via the preprocessor. This in turn didn't play well with unity builds and caused curl tool to crash or stay silent due to an uninitialized stderr. This was a hard to find issue, fixed by manually breaking out one file from the unity sources. To avoid two these two tricks, this patch implements a different solution: Restore using our own local variable for our stderr output and leave `stderr` as-is. To avoid using `stderr` by mistake, add a `checksrc` rule (based on logic we already used in lib for `strerror`) that detects any `stderr` use in `src` and points to using our own variable instead: `tool_stderr`. Follow-up to 06133d3e9b8aeb9e9ca0b3370c246bdfbfc8619e Follow-up to 2f17a9b654121dd1ecf4fc043c6d08a9da3522db Closes #11958
show more ...
|
#
65b563a9 |
| 27-Mar-2022 |
Mark Gaiser |
curl: add support for the IPFS protocols: - ipfs://<cid> - ipns://<cid> This allows you tu use ipfs in curl like: curl ipfs://<cid> and curl ipns://<cid> Fo
curl: add support for the IPFS protocols: - ipfs://<cid> - ipns://<cid> This allows you tu use ipfs in curl like: curl ipfs://<cid> and curl ipns://<cid> For more information consult the readme at: https://curl.se/docs/ipfs.html Closes #8805
show more ...
|
#
dffd996e |
| 01-Sep-2023 |
Daniel Stenberg |
tool_filetime: make -z work with file dates before 1970 Fixes #11785 Reported-by: Harry Sintonen Closes #11786
|