#
03cf1c7b |
| 24-Apr-2024 |
Viktor Szakats |
lib: silence `-Wsign-conversion` in base64, strcase, mprintf Closes #13467
|
#
c44671ed |
| 02-Dec-2023 |
z2_ <88509734+z2-2z@users.noreply.github.com> |
build: fix builds that disable protocols but not digest auth - Build base64 functions if digest auth is not disabled. Prior to this change if some protocols were disabled but not di
build: fix builds that disable protocols but not digest auth - Build base64 functions if digest auth is not disabled. Prior to this change if some protocols were disabled but not digest auth then a build error would occur due to missing base64 functions. Fixes https://github.com/curl/curl/issues/12440 Closes https://github.com/curl/curl/pull/12442
show more ...
|
#
3ef3eaa2 |
| 02-Oct-2023 |
Daniel Stenberg |
base64: also build for curl Since the tool itself now uses the base64 code using the curlx way, it needs to build also when the tool needs it. Starting now, the tool build defines BU
base64: also build for curl Since the tool itself now uses the base64 code using the curlx way, it needs to build also when the tool needs it. Starting now, the tool build defines BULDING_CURL to allow lib-side code to use it. Follow-up to 2e160c9c6525 Closes #12010
show more ...
|
#
2e160c9c |
| 31-Jul-2023 |
Daniel Stenberg |
tool: add "variable" support Add support for command line variables. Set variables with --variable name=content or --variable name@file (where "file" can be stdin if set to a single
tool: add "variable" support Add support for command line variables. Set variables with --variable name=content or --variable name@file (where "file" can be stdin if set to a single dash (-)). Variable content is expanded in option parameters using "{{name}}" (without the quotes) if the option name is prefixed with "--expand-". This gets the contents of the variable "name" inserted, or a blank if the name does not exist as a variable. Insert "{{" verbatim in the string by prefixing it with a backslash, like "\\{{". Import an environment variable with --variable %name. It makes curl exit with an error if the environment variable is not set. It can also rather get a default value if the variable does not exist, using =content or @file like shown above. Example: get the USER environment variable into the URL: --variable %USER --expand-url = "https://example.com/api/{{USER}}/method" When expanding variables, curl supports a set of functions that can make the variable contents more convenient to use. It can trim leading and trailing white space with "trim", output the contents as a JSON quoted string with "json", URL encode it with "url" and base 64 encode it with "b64". To apply functions to a variable expansion, add them colon separated to the right side of the variable. They are then performed in a left to right order. Example: get the contents of a file called $HOME/.secret into a variable called "fix". Make sure that the content is trimmed and percent-encoded sent as POST data: --variable %HOME=/home/default --expand-variable fix@{{HOME}}/.secret --expand-data "{{fix:trim:url}}" https://example.com/ Documented. Many new test cases. Co-brainstormed-by: Emanuele Torre Assisted-by: Jat Satiro Closes #11346
show more ...
|
#
3f8fc257 |
| 09-May-2023 |
Viktor Szakats |
cmake: add support for "unity" builds Aka "jumbo" or "amalgamation" builds. It means to compile all sources per target as a single C source. This is experimental. You can enable
cmake: add support for "unity" builds Aka "jumbo" or "amalgamation" builds. It means to compile all sources per target as a single C source. This is experimental. You can enable it by passing `-DCMAKE_UNITY_BUILD=ON` to cmake. It requires CMake 3.16 or newer. It makes builds (much) faster, allows for better optimizations and tends to promote less ambiguous code. Also add a new AppVeyor CI job and convert an existing one to use "unity" mode (one MSVC, one MinGW), and enable it for one macOS CI job. Fix related issues: - add missing include guard to `easy_lock.h`. - rename static variables and functions (and a macro) with names reused across sources, or shadowed by local variables. - add an `#undef` after use. - add a missing `#undef` before use. - move internal definitions from `ftp.h` to `ftp.c`. - `curl_memory.h` fixes to make it work when included repeatedly. - stop building/linking curlx bits twice for a static-mode curl tool. These caused doubly defined symbols in unity builds. - silence missing extern declarations compiler warning for ` _CRT_glob`. - fix extern declarations for `tool_freq` and `tool_isVistaOrGreater`. - fix colliding static symbols in debug mode: `debugtime()` and `statename`. - rename `ssl_backend_data` structure to unique names for each TLS-backend, along with the `ssl_connect_data` struct member referencing them. This required adding casts for each access. - add workaround for missing `[P]UNICODE_STRING` types in certain Windows builds when compiling `lib/ldap.c`. To support "unity" builds, we had to enable `SCHANNEL_USE_BLACKLISTS` for Schannel (a Windows `schannel.h` option) _globally_. This caused an indirect inclusion of Windows `schannel.h` from `ldap.c` via `winldap.h` to have it enabled as well. This requires `[P]UNICODE_STRING` types, which is apperantly not defined automatically (as seen with both MSVS and mingw-w64). This patch includes `<subauth.h>` to fix it. Ref: https://github.com/curl/curl/runs/13987772013 Ref: https://dev.azure.com/daniel0244/curl/_build/results?buildId=15827&view=logs&jobId=2c9f582d-e278-56b6-4354-f38a4d851906&j=2c9f582d-e278-56b6-4354-f38a4d851906&t=90509b00-34fa-5a81-35d7-5ed9569d331c - tweak unity builds to compile `lib/memdebug.c` separately in memory trace builds to avoid PP confusion. - force-disable unity for test programs. - do not compile and link libcurl sources to libtests _twice_ when libcurl is built in static mode. KNOWN ISSUES: - running tests with unity builds may fail in cases. - some build configurations/env may not compile in unity mode. E.g.: https://ci.appveyor.com/project/curlorg/curl/builds/47230972/job/51wfesgnfuauwl8q#L250 Ref: https://github.com/libssh2/libssh2/issues/1034 Ref: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html Ref: https://en.wikipedia.org/wiki/Unity_build Closes #11095
show more ...
|
#
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 ...
|
#
2bc1d775 |
| 02-Jan-2023 |
Daniel Stenberg |
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - save
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
show more ...
|
#
c6f602c9 |
| 05-Dec-2022 |
Daniel Stenberg |
base64: faster base64 decoding - by using a lookup table instead of strchr() - by doing full quantums first, then padding Closes #10032
|
#
fc02a780 |
| 03-Dec-2022 |
Daniel Stenberg |
base64: encode without using snprintf For speed. In some tests, this approch is 29 times faster! Closes #10026
|
#
fa467a2f |
| 03-Dec-2022 |
Daniel Stenberg |
base64: better alloc size The previous algorithm allocated more bytes than necessary. Suggested-by: xtonik on github Fixes #10024 Closes #10025
|
#
ddeec8fe |
| 11-Oct-2022 |
12932 <68835423+12932@users.noreply.github.com> |
misc: nitpick grammar in comments/docs because the 'u' in URL is actually a consonant *sound* it is only correct to write "a URL" sorry this is a bit nitpicky :P https:
misc: nitpick grammar in comments/docs because the 'u' in URL is actually a consonant *sound* it is only correct to write "a URL" sorry this is a bit nitpicky :P https://english.stackexchange.com/questions/152/when-should-i-use-a-vs-an https://www.techtarget.com/whatis/feature/Which-is-correct-a-URL-or-an-URL Closes #9699
show more ...
|
#
307b7543 |
| 17-Sep-2022 |
Daniel Stenberg |
misc: null-terminate Make use of this term consistently. Closes #9527
|
#
c2e72c78 |
| 12-Jul-2022 |
Patrick Monnerat |
base64: base64url encoding has no padding See RFC4648 section 5 and RFC7540 section 3.2.1. Suppress generation of '=' padding of base64url encoding. This is accomplished by cons
base64: base64url encoding has no padding See RFC4648 section 5 and RFC7540 section 3.2.1. Suppress generation of '=' padding of base64url encoding. This is accomplished by considering the string beginning at offset 64 in the character table as the padding: this is "=" for base64, "" for base64url. Also use strchr() to replace character search loops where possible. Suppress erroneous comments about empty encoding results. Adjust unit test 1302 to unpadded base64url encoding and add tests for empty results. Closes #9139
show more ...
|
#
ad9bc597 |
| 17-May-2022 |
max.mehl |
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
show more ...
|
#
26101421 |
| 03-Feb-2022 |
Daniel Stenberg |
lib: remove support for CURL_DOES_CONVERSIONS TPF was the only user and support for that was dropped. Closes #8378
|
#
0d370ecb |
| 01-Feb-2022 |
Henrik Holst |
base64: remove an unnecessary call to strlen Closes #8369
|
Revision tags: curl-7_76_1, curl-7_76_0, curl-7_75_0, curl-7_74_0 |
|
#
4d2f8006 |
| 04-Nov-2020 |
Daniel Stenberg |
curl.se: new home Closes #6172
|
Revision tags: curl-7_73_0 |
|
#
11ab0ad6 |
| 09-Sep-2020 |
Daniel Stenberg |
base64: also build for pop3 and imap Follow-up to the fix in 20417a13fb8f83 Reported-by: Michael Olbrich Fixes #5937 Closes #5948
|
#
20417a13 |
| 08-Sep-2020 |
Daniel Stenberg |
base64: enable in build with SMTP The oauth2 support is used with SMTP and it uses base64 functions. Reported-by: Michael Olbrich Fixes #5937 Closes #5938
|
Revision tags: tiny-curl-7_72_0, curl-7_72_0, curl-7_71_1, curl-7_71_0, curl-7_70_0, curl-7_69_1, curl-7_69_0, curl-7_68_0, curl-7_67_0, curl-7_66_0 |
|
#
1a7634e4 |
| 16-Aug-2019 |
Daniel Stenberg |
base64: check for SSH, not specific SSH backends
|
Revision tags: curl-7_65_3, curl-7_65_2, curl-7_65_1, curl-7_65_0 |
|
#
bf730396 |
| 05-May-2019 |
Daniel Stenberg |
base64: build conditionally if there are users
|
Revision tags: curl-7_64_1, curl-7_64_0, curl-7_63_0 |
|
#
dcd6f810 |
| 22-Nov-2018 |
Daniel Stenberg |
snprintf: renamed and we now only use msnprintf() The function does not return the same value as snprintf() normally does, so readers may be mislead into thinking the code works differen
snprintf: renamed and we now only use msnprintf() The function does not return the same value as snprintf() normally does, so readers may be mislead into thinking the code works differently than it actually does. A different function name makes this easier to detect. Reported-by: Tomas Hoger Assisted-by: Daniel Gustafsson Fixes #3296 Closes #3297
show more ...
|
Revision tags: curl-7_62_0, curl-7_61_1, curl-7_61_0 |
|
#
c45360d4 |
| 02-Jun-2018 |
Marian Klymov |
cppcheck: fix warnings - Get rid of variable that was generating false positive warning (unitialized) - Fix issues in tests - Reduce scope of several variables all over
cppcheck: fix warnings - Get rid of variable that was generating false positive warning (unitialized) - Fix issues in tests - Reduce scope of several variables all over etc Closes #2631
show more ...
|
Revision tags: curl-7_60_0, curl-7_59_0, curl-7_58_0, curl-7_57_0, curl-7_56_1, curl-7_56_0, curl-7_55_1, curl-7_55_0, curl-7_54_1, curl-7_54_0, curl-7_53_1, curl-7_53_0, curl-7_52_1, curl-7_52_0, curl-7_51_0 |
|
#
efd24d57 |
| 27-Sep-2016 |
Daniel Stenberg |
base64: check for integer overflow on large input CVE-2016-8617 Bug: https://curl.haxx.se/docs/adv_20161102C.html Reported-by: Cure53
|
Revision tags: curl-7_50_3, curl-7_50_2, curl-7_50_1, curl-7_50_0 |
|
#
434f8d03 |
| 21-Jun-2016 |
Daniel Stenberg |
internals: rename the SessionHandle struct to Curl_easy
|