#
0e18bd39 |
| 22-Oct-2024 |
Daniel Stenberg |
mk-lib1521: fix the long return code check It worked mostly by accident since it checked the variable from the previous setopt invoke. Closes #15372
|
#
2ae8d9b5 |
| 17-Oct-2024 |
Daniel Stenberg |
libtests: generate the lib1521 atomically By renaming from a temporary file name to the .c once completed. This avoids the risk that the checksrc job tries to verify the file before it
libtests: generate the lib1521 atomically By renaming from a temporary file name to the .c once completed. This avoids the risk that the checksrc job tries to verify the file before it is complete, in parallel build setups. Reported-by: Dan Frandrich Fixes #15258 Closes #15327
show more ...
|
#
71cf0d1f |
| 02-Sep-2024 |
Viktor Szakats |
tests: speed up builds with single-binary test bundles Add support for single-block binaries that contain all libtests and unit tests respectively. Enable with: - autotools:
tests: speed up builds with single-binary test bundles Add support for single-block binaries that contain all libtests and unit tests respectively. Enable with: - autotools: `--enable-test-bundles` - cmake: `-DCURL_TEST_BUNDLES=ON` (They are compatible with `--enable-unity` and `-DCMAKE_UNITY_BUILD=ON` options, for further speed-up.) Makes libtests and unit tests build _fast_, needing little disk space even in static mode. Similar to CMake unity mode, but with a custom script, also supporting autotools builds. The price is having to deal with symbols/macros colliding between `lib*.c` and `unit*.c` sources. Maybe with naming conventions or other solutions this can be improved gradually and reduce the need for manual intervention by `mk-bundle.mk`. I've included a script that does the bulk of detecting name collisions. Also: - CI: enable test bundles. - CI: build tests in more jobs. - lib2305: fix FILE handle leak. - unit1661: fix memleak found by torture test by releasing the `bufref` structure in `unit_stop()` that was allocated in `unit_setup()`. ``` test 1661...[bufref unit tests] Leak detected: memory still allocated: 13 bytes allocated by /home/runner/work/curl/curl/tests/unit/unit1661.c:70 1661: torture FAILED: function number 1 in test. ``` Ref: https://github.com/curl/curl/actions/runs/10967279334/job/30456745290?pr=14772#step:8:41 Similar test suite builds with autotools default and cmake+bundle+unity: - GHA/Linux: 33s vs 7s https://github.com/curl/curl/actions/runs/10705668823/job/29681617374 - GHA/macOS 34s vs 2s https://github.com/curl/curl/actions/runs/10705668813/job/29681632885 - GHA/FreeBSD: 15m25 vs 6m21 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10705668811/job/29681607915 - GHA/Cygwin: 9m52 vs 32s https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 - GHA/MSYS2: 3m52 vs 14s https://github.com/curl/curl/actions/runs/10705668808/job/29681624295 - GHA/mingw-w64: 5m45 vs 30s https://github.com/curl/curl/actions/runs/10705668808/job/29681628787 Autotools test suite builds compared between master -> `--enable-test-bundles`: - GHA/Linux: 33s -> 9s (run tests: 22m23 -> 20m44) https://github.com/curl/curl/actions/runs/10710030193/job/29695932185 https://github.com/curl/curl/actions/runs/10967831456/job/30458220344 - GHA/macOS: 25s -> 4s (run tests: 2m58 -> 2m24) https://github.com/curl/curl/actions/runs/10710030195/job/29695938444 https://github.com/curl/curl/actions/runs/10967831452/job/30458225762 - GHA/non-native (FreeBSD): 4m8 -> 3m12 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10710030198/job/29695928401 https://github.com/curl/curl/actions/runs/10967831458/job/30458212692 - GHA/Cygwin: 9m25 -> 1m9 (run tests: 9m19 -> 3m28) https://github.com/curl/curl/actions/runs/10710030212/job/29695928213 https://github.com/curl/curl/actions/runs/10967831453/job/30458213268 - GHA/MSYS2: 3m54 -> 32s (run tests: 6m3 -> 3m59) https://github.com/curl/curl/actions/runs/10710030190/job/29704850591 https://github.com/curl/curl/actions/runs/10967831449/job/30459280005 - GHA/mingw-w64: 5m42 -> 1m5 (run tests: 7m41 -> 5m36) https://github.com/curl/curl/actions/runs/10710030190/job/29704852058 https://github.com/curl/curl/actions/runs/10967831449/job/30459280862 - Azure MSYS2 mingw64 openssl: 38m55 -> 11m58 https://dev.azure.com/daniel0244/curl/_build/results?buildId=25546&view=logs&j=b58b8c59-0f61-52e9-0f9e-fad562a1e77f&t=0f9230a7-3b10-53ca-9938-700ece377c5e https://dev.azure.com/daniel0244/curl/_build/results?buildId=25547&view=logs&jobId=39473db1-3945-55d5-deb5-c218fad88dce&j=b58b8c59-0f61-52e9-0f9e-fad562a1e77f&t=0f9230a7-3b10-53ca-9938-700ece377c5e - Azure Ubuntu default: 2m15 -> 55s (all build) https://dev.azure.com/daniel0244/curl/_build/results?buildId=25546&view=logs&j=9d58b9ac-e1e6-53b6-f83a-1f9f1d912522&t=a6b38d83-e7cf-5a9b-c762-a178412717b7 https://dev.azure.com/daniel0244/curl/_build/results?buildId=25547&view=logs&jobId=39473db1-3945-55d5-deb5-c218fad88dce&j=9d58b9ac-e1e6-53b6-f83a-1f9f1d912522&t=a6b38d83-e7cf-5a9b-c762-a178412717b7 Cmake test suite builds compared between master -> `-DCURL_TEST_BUNDLES=ON` + unity: - GHA/Linux: 29s -> 7s (run tests: 4m50 -> 4m57, 20m43 -> 20m45) https://github.com/curl/curl/actions/runs/10710030193/job/29695941814 https://github.com/curl/curl/actions/runs/10705668823/job/29681622201 - GHA/Linux old: 44s -> 13s (bundle+no unity) (run tests: 5m5 -> 5m6) https://github.com/curl/curl/actions/runs/10718264094/job/29719794727 https://github.com/curl/curl/actions/runs/10718653175/job/29721009613 - GHA/macOS: 32s -> 2s (run tests: 2m43 -> 2m40) https://github.com/curl/curl/actions/runs/10710030195/job/29695931956 https://github.com/curl/curl/actions/runs/10705668813/job/29681638937 - GHA/non-native (*BSD): inconclusive (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10710030198 https://github.com/curl/curl/actions/runs/10705668811 - GHA/Cygwin: 3m9 -> 32s https://github.com/curl/curl/actions/runs/10710030212/job/29695929075 https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 - GHA/MSYS2: 2m24 -> 14s https://github.com/curl/curl/actions/runs/10710030190/job/29704850996 https://github.com/curl/curl/actions/runs/10705668808/job/29681624295 - GHA/mingw-w64: 3m56 -> 30s (run tests: 4m2 -> 3m52) https://github.com/curl/curl/actions/runs/10710030190/job/29704852219 https://github.com/curl/curl/actions/runs/10705668808/job/29681631393 - GHA/mingw-w64-old: 7m19 -> 1m44 (run tests: 3m30 -> 2m53) https://github.com/curl/curl/actions/runs/10710030190/job/29704849763 https://github.com/curl/curl/actions/runs/10705668808/job/29681622329 - GHA/MSVC: 3m22 -> 13s (run tests: 9m43 -> 4m22) https://github.com/curl/curl/actions/runs/10710030190/job/29704850411 https://github.com/curl/curl/actions/runs/10705668808/job/29681623313 - AppVeyor CI MSVC 2008: 4m3 -> 45s (full build) - AppVeyor CI MSVC 2010: 2m56 -> 1m8 (full build) - AppVeyor CI MSVC 2022: 10m19 -> 2m23 (full build) https://ci.appveyor.com/project/curlorg/curl/builds/50538455 https://ci.appveyor.com/project/curlorg/curl/builds/50536558 - AppVeyor CI total build time: 10m30 (master) -> 6m48 (unity) -> 4m5 (bundle) -> 3m24 (bundle+unity) -> 5m7 (bundle+unity+all jobs building tests) Closes #14772
show more ...
|
#
5cefda1b |
| 05-Sep-2024 |
Viktor Szakats |
build: tidy up deprecation suppression, enable warnings for clang Suppress deprecation warnings the closest to the deprecated code, using `CURL_IGNORE_DEPRECATION()`. Then drop build-spe
build: tidy up deprecation suppression, enable warnings for clang Suppress deprecation warnings the closest to the deprecated code, using `CURL_IGNORE_DEPRECATION()`. Then drop build-specific suppressions, and file-wide ones. The latter is not compatible with Unity mode. Also replace manual suppressions with a macro to apply to all compilers with deprecation warning support. Also enable deprecation warnings for clang. - curl/curl.h: enable deprecation warnings for clang. - docs/examples: stop setting `CURL_DISABLE_DEPRECATION` with autotools. Suppression moved to C-level earlier. Syncs with cmake. Follow-up to 5fc61a37c1b177cefbc11dc9f5eef7b2a14538da #14123 - tests/http/clients: stop setting `CURL_DISABLE_DEPRECATION` in autotools. If it becomes necessary in the future, it can be done in C via the macro. Syncs with cmake. - lib1545: stop setting `CURL_DISABLE_DEPRECATION` in autotools. Drop guard from test source. Follow-up to 0f103600731f7e08637017ef4df67a194e0d6711 #12444 - libtest, unit: replace `CURL_DISABLE_DEPRECATION` with `CURL_IGNORE_DEPRECATION()`. - docs/examples: replace pragmas with `CURL_IGNORE_DEPRECATION()`. Closes #14789
show more ...
|
#
3b057d4b |
| 21-Aug-2024 |
Daniel Stenberg |
test1521: verify setting options to NULL better Previously this test allowed several error values when setting options. This made this test miss #14629. Now, errors are generall
test1521: verify setting options to NULL better Previously this test allowed several error values when setting options. This made this test miss #14629. Now, errors are generally not accepted for setopts: - numerical setopts accept CURLE_BAD_FUNCTION_ARGUMENT for funny input - the first setopt to an option accepts CURLE_NOT_BUILT_IN or CURLE_UNKNOWN_OPTION for when they are disabled/not built-in - there is an allowlist concept for some return code for some variables, managed at the top of the mk-lib1521.pl script In curl.h: remove the OBSOLETE named values from the setopt list. Closes #14634
show more ...
|
#
25cbc2f7 |
| 11-May-2024 |
Viktor Szakats |
tests: make the unit test result type `CURLcode` Before this patch, the result code was a mixture of `int` and `CURLcode`. Also adjust casts and fix a couple of minor issues fou
tests: make the unit test result type `CURLcode` Before this patch, the result code was a mixture of `int` and `CURLcode`. Also adjust casts and fix a couple of minor issues found along the way. Cherry-picked from #13489 Closes #13600
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 ...
|
#
6967571b |
| 14-Nov-2022 |
Patrick Monnerat |
lib: feature deprecation warnings in gcc >= 4.3 Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only ava
lib: feature deprecation warnings in gcc >= 4.3 Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only available for this version of gcc and newer. Note that the _Pragma() keyword is introduced by C99, but is available as part of the gcc dialect even when compiling in C89 mode. It is still possible to disable deprecation at a calling module compile time by defining CURL_DISABLE_DEPRECATION. Gcc type checking macros are made aware of possible deprecations. Some testing support Perl programs are adapted to the extended declaration syntax. Several test and unit test C programs intentionally use deprecated functions/options and are annotated to not generate a warning. New test 1222 checks the deprecation status in doc and header files. Closes #9667
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 ...
|
#
15445139 |
| 04-Nov-2021 |
michael musset |
libssh2: add CURLOPT_SSH_HOSTKEYFUNCTION The callback set by CURLOPT_SSH_HOSTKEYFUNCTION is called to check wether or not the connection should continue. The host key is passed
libssh2: add CURLOPT_SSH_HOSTKEYFUNCTION The callback set by CURLOPT_SSH_HOSTKEYFUNCTION is called to check wether or not the connection should continue. The host key is passed in argument with a custom handle for the application. It overrides CURLOPT_SSH_KNOWNHOSTS Closes #7959
show more ...
|
#
acfe94c0 |
| 28-Sep-2021 |
Daniel Stenberg |
scripts/copyright: .muse is .lift now And update 5 files with old copyright year range
|
#
a517378d |
| 22-Jul-2021 |
Max Dymond |
CURLOPT_PREREQFUNCTION: add new callback Triggered before a request is made but after a connection is set up Changes: - callback: Update docs and callback for pre-request c
CURLOPT_PREREQFUNCTION: add new callback Triggered before a request is made but after a connection is set up Changes: - callback: Update docs and callback for pre-request callback - Add documentation for CURLOPT_PREREQDATA and CURLOPT_PREREQFUNCTION, - Add redirect test and callback failure test - Note that the function may be called multiple times on a redirection - Disable new 2086 test due to Windows weirdness Closes #7477
show more ...
|
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
|
#
2cfc4ed9 |
| 02-Nov-2020 |
Daniel Stenberg |
hsts: add read/write callbacks - read/write callback options - man pages for the 4 new setopts - test 1915 verifies the callbacks Closes #5896
|
Revision tags: curl-7_73_0 |
|
#
17fcdf6a |
| 07-Sep-2020 |
Daniel Stenberg |
lib: fix -Wassign-enum warnings configure --enable-debug now enables -Wassign-enum with clang, identifying several enum "abuses" also fixed. Reported-by: Gisle Vanem Bug: ht
lib: fix -Wassign-enum warnings configure --enable-debug now enables -Wassign-enum with clang, identifying several enum "abuses" also fixed. Reported-by: Gisle Vanem Bug: https://github.com/curl/curl/commit/879007f8118771f4896334731aaca5850a154675#commitcomment-42087553 Closes #5929
show more ...
|
Revision tags: tiny-curl-7_72_0 |
|
#
6ebe63fa |
| 26-Aug-2020 |
Daniel Stenberg |
options: API for meta-data about easy options const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLo
options: API for meta-data about easy options const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLoption id); const struct curl_easyoption * curl_easy_option_next(const struct curl_easyoption *prev); The purpose is to provide detailed enough information to allow for example libcurl bindings to get option information at run-time about what easy options that exist and what arguments they expect. Assisted-by: Jeroen Ooms Closes #5365
show more ...
|
Revision tags: curl-7_72_0, curl-7_71_1, curl-7_71_0 |
|
#
32d4d6b9 |
| 28-May-2020 |
Daniel Stenberg |
mk-lib1521: generate code for testing BLOB options as well Follow-up to cac5374298b3 Closes #5478
|
Revision tags: curl-7_70_0, curl-7_69_1, curl-7_69_0 |
|
#
5ebe5044 |
| 07-Jan-2020 |
Daniel Stenberg |
libtest/mk-lib1521: adapt to new public header layout
|
Revision tags: curl-7_68_0, curl-7_67_0, curl-7_66_0, curl-7_65_3, curl-7_65_2 |
|
#
8b159d1f |
| 25-Jun-2019 |
Daniel Stenberg |
test1521: adapt to SLISTPOINT The header now has the slist-using options marked as SLISTPOINT so this makes sure test 1521 understands that. Follow-up to ae99b4de1c443ae989
test1521: adapt to SLISTPOINT The header now has the slist-using options marked as SLISTPOINT so this makes sure test 1521 understands that. Follow-up to ae99b4de1c443ae989 Closes #4074
show more ...
|
Revision tags: curl-7_65_1, curl-7_65_0, curl-7_64_1, curl-7_64_0, curl-7_63_0 |
|
#
f464535b |
| 06-Dec-2018 |
Ayoub Boudhar |
http: Implement trailing headers for chunked transfers This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION options that allow a callback based approach to sending trailing head
http: Implement trailing headers for chunked transfers This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION options that allow a callback based approach to sending trailing headers with chunked transfers. The test server (sws) was updated to take into account the detection of the end of transfer in the case of trailing headers presence. Test 1591 checks that trailing headers can be sent using libcurl. Closes #3350
show more ...
|
Revision tags: curl-7_62_0, curl-7_61_1, curl-7_61_0, curl-7_60_0, curl-7_59_0 |
|
#
7e35eb77 |
| 23-Feb-2018 |
Viktor Szakats |
spelling fixes Detected using the `codespell` tool. Also contains one URL protocol upgrade. Closes https://github.com/curl/curl/pull/2334
|
#
23713645 |
| 14-Feb-2018 |
Francisco Sedano |
url: Add option CURLOPT_RESOLVER_START_FUNCTION - Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that will be called every time before a new resolve request is starte
url: Add option CURLOPT_RESOLVER_START_FUNCTION - Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that will be called every time before a new resolve request is started (ie before a host is resolved) with a pointer to backend-specific resolver data. Currently this is only useful for ares. - Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to pass to the resolver start callback. Closes https://github.com/curl/curl/pull/2311
show more ...
|
Revision tags: curl-7_58_0 |
|
#
d4e40f06 |
| 07-Jan-2018 |
Jay Satiro |
scripts: allow all perl scripts to be run directly - Enable execute permission (chmod +x) - Change interpreter to /usr/bin/env perl Closes https://github.com/curl/curl/pull
scripts: allow all perl scripts to be run directly - Enable execute permission (chmod +x) - Change interpreter to /usr/bin/env perl Closes https://github.com/curl/curl/pull/2222
show more ...
|
Revision tags: curl-7_57_0, curl-7_56_1, curl-7_56_0 |
|
#
6b84438d |
| 09-Sep-2017 |
Daniel Stenberg |
code style: use spaces around equals signs
|
#
ce0881ed |
| 02-Sep-2017 |
Patrick Monnerat |
mime: new MIME API. Available in HTTP, SMTP and IMAP. Deprecates the FORM API. See CURLOPT_MIMEPOST. Lib code and associated documentation.
|