#
8b76a8ae |
| 08-Nov-2024 |
Viktor Szakats |
build: use `_fseeki64()` on Windows, drop detections A recent update caused CMake builds to mis-detect this symbol on iOS. Auto-detection also seems redundant given that it's a Windows-o
build: use `_fseeki64()` on Windows, drop detections A recent update caused CMake builds to mis-detect this symbol on iOS. Auto-detection also seems redundant given that it's a Windows-only function and most Windows builds were already opted-in. Drop detections and use it in all Windows builds with large file support enabled. Feature history: - pririotizing for Windows: aaacd02466f77d03b8fdc19e91a0a3ec72f4c38a #14678 - Windows opt-in cmake: 8e74c0729d0cace00a202fc6c33c1b35703e220a #11950 - Windows opt-in: aa6c94c5bf4f5caa31c0213d9cd7058c29a9b30b #11944 - use in libcurl: 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918 - use in example: 817d1c01064ac81e9609819b15738ee540ef056c Regression from 8e345057761a8f796403923a96f2c8fd3edca647 #15164 Reported-by: Maarten Billemont Fixes #15525 Closes #15526
show more ...
|
#
eed3c8f4 |
| 14-Oct-2024 |
Daniel Stenberg |
curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs It makes the callbacks get different signnatures when used from within libcurl vs outside of it by libcurl-using applicat
curl.h: remove the struct pointer for CURL/CURLSH/CURLM typedefs It makes the callbacks get different signnatures when used from within libcurl vs outside of it by libcurl-using applications (such as the libtests) and this triggers UndefinedBehaviorSanitizer errors. Closes #15289
show more ...
|
#
fbf5d507 |
| 18-Sep-2024 |
Daniel Stenberg |
lib/src: white space edits to comply better with code style ... as checksrc now finds and complains about these. Closes #14921
|
#
aaacd024 |
| 25-Aug-2024 |
Viktor Szakats |
GHA/configure-vs-cmake: add Windows build, fix issues - configure: disable pthreads by default on Windows. - configure: disable detecting `fseeko()` on Windows. (It exists in mingw
GHA/configure-vs-cmake: add Windows build, fix issues - configure: disable pthreads by default on Windows. - configure: disable detecting `fseeko()` on Windows. (It exists in mingw-w64 2.0.0 and newer, but it's permanently ignored in CMake, as this function is never necessary on Windows.) - extend existing exceptions with their Windows variants. - `lib/formdata.c`: prioritize `_fseeki64()` over `fseeko()`. To reduce the difference between Windows builds, which now all use `_fseeki64()`. - cmake: perm-enable `HAVE_DIRENT_H` and `HAVE_OPENDIR` for mingw-w64, to match configure. Follow-up to bfe54b0e88239da542493321e795cd71c14af9cc #13137 This in theory could make the dir listing feature work in mingw-w64 build, but in my tests (on WINE) it failed at the preceding `open()` call. - cmake: perm-enable `HAVE_STRINGS_H` and `HAVE_UTIME_H` for mingw-w64, to match configure. (They are wrappers and make no difference in the build.) Also: - configure: sync `USE_MANUAL` macro with cmake, by only setting it for `src`. Drop checker exception. - CI: use `--disable-dependency-tracking` in existing jobs. - CI: install packages before git checkout, in existing jobs. Closes #14678
show more ...
|
#
c074ba64 |
| 01-Jul-2024 |
Daniel Stenberg |
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname - file name => filename - user name = username - man page => manpage - run-time => runtime - set-up => setup - back-end => backend - a HTTP => an HTTP - Two spaces after a period => one space after period Closes #14073
show more ...
|
#
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 ...
|
#
7c992dd9 |
| 08-Dec-2023 |
Daniel Stenberg |
lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding Since the copy does not stop at a null byte, let's not call it anything that makes you think it works like the common s
lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding Since the copy does not stop at a null byte, let's not call it anything that makes you think it works like the common strndup() function. Based on feedback from Jay Satiro, Stefan Eissing and Patrick Monnerat Closes #12490
show more ...
|
#
7309b9cb |
| 05-Dec-2023 |
Daniel Stenberg |
lib: strndup/memdup instead of malloc, memcpy and null-terminate - bufref: use strndup - cookie: use strndup - formdata: use strndup - ftp: use strndup - gtls: use aprin
lib: strndup/memdup instead of malloc, memcpy and null-terminate - bufref: use strndup - cookie: use strndup - formdata: use strndup - ftp: use strndup - gtls: use aprintf instead of malloc + strcpy * 2 - http: use strndup - mbedtls: use strndup - md4: use memdup - ntlm: use memdup - ntlm_sspi: use strndup - pingpong: use memdup - rtsp: use strndup instead of malloc, memcpy and null-terminate - sectransp: use strndup - socks_gssapi.c: use memdup - vtls: use dynbuf instead of malloc, snprintf and memcpy - vtls: use strdup instead of malloc + memcpy - wolfssh: use strndup Closes #12453
show more ...
|
#
d3b3ba35 |
| 02-Nov-2023 |
Daniel Stenberg |
lib: add and use Curl_strndup() The Curl_strndup() function is similar to memdup(), but copies 'n' bytes then adds a terminating null byte ('\0'). Closes #12251
|
#
f4ff4108 |
| 19-Oct-2023 |
Daniel Stenberg |
configure: check for the fseeko declaration too ... and make the code require both symbol and declaration. This is because for Android, the symbol is always present in the lib at
configure: check for the fseeko declaration too ... and make the code require both symbol and declaration. This is because for Android, the symbol is always present in the lib at build-time even when not actually available in run-time. Assisted-by: Viktor Szakats Reported-by: 12932 on github Fixes #12086 Closes #12158
show more ...
|
#
3b6d18bb |
| 03-Oct-2023 |
Viktor Szakats |
spelling: fix codespell 2.2.6 typos Closes #12019
|
#
9c7165e9 |
| 22-Sep-2023 |
Natanael Copa |
lib: use wrapper for curl_mime_data fseek callback fseek uses long offset which does not match with curl_off_t. This leads to undefined behavior when calling the callback and caused fail
lib: use wrapper for curl_mime_data fseek callback fseek uses long offset which does not match with curl_off_t. This leads to undefined behavior when calling the callback and caused failure on arm 32 bit. Use a wrapper to solve this and use fseeko which uses off_t instead of long. Thanks to the nice people at Libera IRC #musl for helping finding this out. Fixes #11882 Fixes #11900 Closes #11918
show more ...
|
#
038c46f6 |
| 15-Nov-2022 |
Patrick Monnerat |
configure, cmake, lib: more form api deprecation Introduce a --enable-form-api configure option to control its inclusion in builds. The condition name defined for it is CURL_DISABLE_FORM
configure, cmake, lib: more form api deprecation Introduce a --enable-form-api configure option to control its inclusion in builds. The condition name defined for it is CURL_DISABLE_FORM_API. Form api code is dependent of MIME: configure and CMake handle this dependency automatically: CMake by making it a dependent option explicitly, configure by inheriting the MIME value by default and rejecting explicit incompatible values. "form-api" is now a new hidden test feature. Update libcurl modules to respect this option and adjust tests accordingly. Closes #9621
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 ...
|
#
eb559c80 |
| 16-Nov-2022 |
Patrick Monnerat |
mime: relax easy/mime structures binding Deprecation and removal of codeset conversion support from the library have released the strict need for an early binding of mime structures to
mime: relax easy/mime structures binding Deprecation and removal of codeset conversion support from the library have released the strict need for an early binding of mime structures to an easy handle (https://github.com/curl/curl/commit/2610142). This constraint currently forces to create the handle before the mime structure and the latter cannot be attached to another handle once created (see https://curl.se/mail/lib-2022-08/0027.html). This commit removes the handle pointers from the mime structures allowing more flexibility on their use. When an easy handle is duplicated, bound mime structures must however still be duplicated too as their components hold send-time dynamic information. Closes #9927
show more ...
|
#
f151ec6c |
| 28-Oct-2022 |
Rose <83477269+AtariDreams@users.noreply.github.com> |
lib: fix some type mismatches and remove unneeded typecasts Many of these castings are unneeded if we change the variables to work better with each other. Ref: https://github.co
lib: fix some type mismatches and remove unneeded typecasts Many of these castings are unneeded if we change the variables to work better with each other. Ref: https://github.com/curl/curl/pull/9823 Closes https://github.com/curl/curl/pull/9835
show more ...
|
#
4484270a |
| 26-Oct-2022 |
Ayesh Karunaratne |
misc: typo and grammar fixes - Replace `Github` with `GitHub`. - Replace `windows` with `Windows` - Replace `advice` with `advise` where a verb is used. - A few fixes on removing
misc: typo and grammar fixes - Replace `Github` with `GitHub`. - Replace `windows` with `Windows` - Replace `advice` with `advise` where a verb is used. - A few fixes on removing repeated words. - Replace `a HTTP` with `an HTTP` Closes #9802
show more ...
|
#
fd840cde |
| 13-Sep-2022 |
Daniel Stenberg |
formdata: typecast the va_arg return value To avoid "enumerated type mixed with another type" warnings Follow-up from 0f52dd5fd5aa3592691a Closes #9499
|
#
0f52dd5f |
| 22-Apr-2021 |
zhanghu on xiaomi |
formdata: fix warning: 'CURLformoption' is promoted to 'int' curl/lib/formdata.c: In function 'FormAdd': curl/lib/formdata.c:249:31: warning: 'CURLformoption' is promoted to 'int' when p
formdata: fix warning: 'CURLformoption' is promoted to 'int' curl/lib/formdata.c: In function 'FormAdd': curl/lib/formdata.c:249:31: warning: 'CURLformoption' is promoted to 'int' when passed through '...' 249 | option = va_arg(params, CURLformoption); | ^ curl/lib/formdata.c:249:31: note: (so you should pass 'int' not 'CURLformoption' to 'va_arg') curl/lib/formdata.c:249:31: note: if this code is reached, the program will abort Closes #9484
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
|
#
8188ca91 |
| 09-Jan-2022 |
Daniel Stenberg |
formdata: avoid size_t => long typecast overflows Typically a problem for platforms with 32 bit long and 64 bit size_t Reported-by: Fabian Yamaguchi Bug: https://hackerone.com/r
formdata: avoid size_t => long typecast overflows Typically a problem for platforms with 32 bit long and 64 bit size_t Reported-by: Fabian Yamaguchi Bug: https://hackerone.com/reports/1444539 Closes #8272
show more ...
|
#
e081048c |
| 30-Jun-2021 |
Daniel Stenberg |
formdata: avoid "Argument cannot be negative" warning ... when converting a curl_off_t to size_t, by using CURL_ZERO_TERMINATED before passing the argument to the function. Dete
formdata: avoid "Argument cannot be negative" warning ... when converting a curl_off_t to size_t, by using CURL_ZERO_TERMINATED before passing the argument to the function. Detected by Coverity CID 1486590. Closes #7328 Assisted-by: Daniel Gustafsson
show more ...
|
#
e6caaa41 |
| 30-Jun-2021 |
Daniel Stenberg |
formdata: correct typecast in curl_mime_data call Coverity pointed out it the mismatch. CID 1486590 Closes #7327
|
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
|