#
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 ...
|
#
bfe54b0e |
| 16-Mar-2024 |
Colin Leroy-Mira |
file: add support for getting basic directory listings Not supported on Windows (yet) Closes #13137
|
#
8e741644 |
| 03-Mar-2024 |
Tal Regev |
cmake: add USE_OPENSSL_QUIC support Closes #13034
|
#
a808aab0 |
| 24-Jan-2024 |
Viktor Szakats |
cmake: rework options to enable curl and libcurl docs Rework CMake options for building/using curl tool and libcurl manuals. - rename `ENABLE_MANUAL` to `ENABLE_CURL_MANUAL`, meanin
cmake: rework options to enable curl and libcurl docs Rework CMake options for building/using curl tool and libcurl manuals. - rename `ENABLE_MANUAL` to `ENABLE_CURL_MANUAL`, meaning: to build man page and built-in manual for curl tool. - rename `BUILD_DOCS` to `BUILD_LIBCURL_DOCS`, meaning: to build man pages for libcurl. - `BUILD_LIBCURL_DOCS` now works without having to enable `ENABLE_CURL_MANUAL` too. - drop support for existing CMake-level `USE_MANUAL` option to avoid confusion. (It used to work with the effect of current `ENABLE_CURL_MANUAL`, but only by accident.) Assisted-by: Richard Levitte Ref: #12771 Closes #12773
show more ...
|
#
423645a1 |
| 07-Nov-2023 |
Viktor Szakats |
build: delete unused `HAVE_{GSSHEIMDAL,GSSMIT,HEIMDAL}` Stop setting `HAVE_GSSHEIMDAL`, `HAVE_GSSMIT` and `HAVE_HEIMDAL`. There was no place in the build system or source code that used
build: delete unused `HAVE_{GSSHEIMDAL,GSSMIT,HEIMDAL}` Stop setting `HAVE_GSSHEIMDAL`, `HAVE_GSSMIT` and `HAVE_HEIMDAL`. There was no place in the build system or source code that used them. Reviewed-by: Daniel Stenberg Closes #12506
show more ...
|
#
c1bc090d |
| 09-Dec-2023 |
Viktor Szakats |
windows: simplify detecting and using system headers - autotools, cmake: assume that if we detect Windows, `windows.h`, `winsock2.h` and `ws2tcpip.h` do exist. - lib: fix 3 outlier
windows: simplify detecting and using system headers - autotools, cmake: assume that if we detect Windows, `windows.h`, `winsock2.h` and `ws2tcpip.h` do exist. - lib: fix 3 outlier `#if` conditions to use `USE_WINSOCK` instead of looking for `winsock2.h`. - autotools: merge 3 Windows check methods into one. - move Watt-32 and lwIP socket support to `setup-win32.h` from `config-win32.h`. It opens up using these with all build tools. Also merge logic with Windows Sockets. - fix to assume Windows sockets with the mingw32ce toolchain. Follow-up to: 2748c64d605b19fb419ae56810ad8da36487a2d4 - cmake: delete unused variable `signature_call_conv` since eb33ccd5332435fa50f1758e5debb869c6942b7f. - autotools: simplify `CURL_CHECK_WIN32_LARGEFILE` detection. - examples/externalsocket: fix header order. - cmake/OtherTests.cmake: delete Windows-specific `_source_epilogue` that wasn't used anymore. - cmake/OtherTests.cmake: set `WIN32_LEAN_AND_MEAN` for test `SIZEOF_STRUCT_SOCKADDR_STORAGE`. After this patch curl universally uses `_WIN32` to guard Windows-specific logic. It guards Windows Sockets-specific logic with `USE_WINSOCK` (this might need further work). Reviewed-by: Jay Satiro Closes #12495
show more ...
|
#
03cb1ff4 |
| 23-Nov-2023 |
Daniel Stenberg |
fopen: create new file using old file's mode Because the function renames the temp file to the target name as a last step, if the file was previously owned by a different user, not ORing
fopen: create new file using old file's mode Because the function renames the temp file to the target name as a last step, if the file was previously owned by a different user, not ORing the old mode could otherwise end up creating a file that was no longer readable by the original owner after save. Reported-by: Loïc Yhuel Fixes #12299 Closes #12395
show more ...
|
#
33493db2 |
| 17-Nov-2023 |
Viktor Szakats |
cmake: add test for `DISABLE` options, add `CURL_DISABLE_HEADERS_API` - tests: verify CMake `DISABLE` options. Make an exception for 2 CMake-only ones, and one more that's u
cmake: add test for `DISABLE` options, add `CURL_DISABLE_HEADERS_API` - tests: verify CMake `DISABLE` options. Make an exception for 2 CMake-only ones, and one more that's using a different naming scheme, also in autotools and source. - cmake: add support for `CURL_DISABLE_HEADERS_API`. Suggested-by: Daniel Stenberg Ref: https://github.com/curl/curl/pull/12345#pullrequestreview-1736238641 Closes #12353
show more ...
|
#
20bb363f |
| 16-Nov-2023 |
Viktor Szakats |
cmake: add `CURL_DISABLE_BINDLOCAL` option To match similar autotools option. Default is `ON`. Reviewed-by: Daniel Stenberg Closes #12345
|
#
60359ad5 |
| 06-Nov-2023 |
Viktor Szakats |
build: delete `HAVE_STDINT_H` and `HAVE_INTTYPES_H` We use `stdint.h` unconditionally in all places except one. These uses are imposed by external dependencies / features. nghttp2, quic,
build: delete `HAVE_STDINT_H` and `HAVE_INTTYPES_H` We use `stdint.h` unconditionally in all places except one. These uses are imposed by external dependencies / features. nghttp2, quic, wolfSSL and `HAVE_MACH_ABSOLUTE_TIME` do require this C99 header. It means that any of these features make curl require a C99 compiler. (In case of MSVC, this means Visual Studio 2010 or newer.) This patch changes the single use of `stdint.h` guarded by `HAVE_STDINT_H` to use `stdint.h` unconditionally. Also stop using `inttypes.h` as an alternative there. `HAVE_INTTYPES_H` wasn't used anywhere else, allowing to delete this feature check as well. Closes #12275
show more ...
|
#
a426b505 |
| 13-Oct-2023 |
Viktor Szakats |
build: variadic macro tidy-ups - delete unused `HAVE_VARIADIC_MACROS_C99/GCC` feature checks. (both autotools and CMake.) - delete duplicate `NULL` check in `Curl_trc_cf_infof()`.
build: variadic macro tidy-ups - delete unused `HAVE_VARIADIC_MACROS_C99/GCC` feature checks. (both autotools and CMake.) - delete duplicate `NULL` check in `Curl_trc_cf_infof()`. - fix compiler warning in `CURL_DISABLE_VERBOSE_STRINGS` builds. ``` ./lib/cf-socket.c:122:41: warning: unused parameter 'data' [-Wunused-parameter] static void nosigpipe(struct Curl_easy *data, ^ ``` - fix `#ifdef` comments in `lib/curl_trc.{c,h}`. - fix indentation in some `infof()` calls. Follow-up to dac293cfb7026b1ca4175d88b80f1432d3d3c684 #12167 Cherry-picked from #12105 Closes #12210
show more ...
|
#
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 ...
|
#
732d8ef7 |
| 11-Oct-2023 |
Loïc Yhuel |
cmake: fix CURL_DISABLE_GETOPTIONS - Add CURL_DISABLE_GETOPTIONS to curl_config.h.cmake. Prior to this change the option had no effect because it was missing from that file.
cmake: fix CURL_DISABLE_GETOPTIONS - Add CURL_DISABLE_GETOPTIONS to curl_config.h.cmake. Prior to this change the option had no effect because it was missing from that file. Closes https://github.com/curl/curl/pull/12091
show more ...
|
#
f85dcaa6 |
| 30-Sep-2023 |
Viktor Szakats |
cmake: detect `sys/wait.h` and `netinet/udp.h` Ref: #11964 (effort to sync cmake detections with autotools) Closes #11996
|
#
da5dcb70 |
| 29-Sep-2023 |
Viktor Szakats |
cmake: detect `HAVE_CLOCK_GETTIME_MONOTONIC_RAW` Based on existing autotools logic. Ref: #11964 (effort to sync cmake detections with autotools) Closes #11981
|
#
9b517c8b |
| 27-Sep-2023 |
Daniel Stenberg |
cmake: add missing checks - check for arc4random. To make rand.c use it accordingly. - check for fcntl - fix fseek detection - add SIZEOF_CURL_SOCKET_T - fix USE_UNIX_SOCKETS
cmake: add missing checks - check for arc4random. To make rand.c use it accordingly. - check for fcntl - fix fseek detection - add SIZEOF_CURL_SOCKET_T - fix USE_UNIX_SOCKETS - define HAVE_SNPRINTF to 1 - check for fnmatch - check for sched_yield - remove HAVE_GETPPID duplicate from curl_config.h - add HAVE_SENDMSG Ref: #11964 Co-authored-by: Viktor Szakats Closes #11973
show more ...
|
#
db07376a |
| 28-Sep-2023 |
Daniel Stenberg |
lib: remove TIME_WITH_SYS_TIME It is not used in any code anywhere. Ref: #11964 Closes #11975
|
#
290622ce |
| 28-Sep-2023 |
Daniel Stenberg |
cmake: add check for suseconds_t And fix the HAVE_LONGLONG define Ref: #11964 Closes #11977
|
#
781242ff |
| 27-Sep-2023 |
Viktor Szakats |
cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS With new option `CURL_DISABLE_SRP=ON` to force-disable it. To match existing option and detection logic in autotools. Also: -
cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS With new option `CURL_DISABLE_SRP=ON` to force-disable it. To match existing option and detection logic in autotools. Also: - fix detecting GnuTLS. We assume `nettle` as a GnuTLS dependency. - add CMake GnuTLS CI job. - bump AppVeyor CMake OpenSSL MSVC job to OpenSSL 1.1.1 (from 1.0.2) TLS-SRP fails to detect with 1.0.2 due to an OpenSSL header bug. - fix compiler warning when building with GnuTLS and disabled TLS-SRP. - fix comment typos, whitespace. Ref: #11964 Closes #11967
show more ...
|
#
1411c5eb |
| 25-Sep-2023 |
Viktor Szakats |
cmake: add feature checks for `memrchr` and `getifaddrs` - `HAVE_MEMRCHR` for `memrchr`. - `HAVE_GETIFADDRS` for `getifaddrs`. This was present in `lib/curl_config.h.cmake` but mis
cmake: add feature checks for `memrchr` and `getifaddrs` - `HAVE_MEMRCHR` for `memrchr`. - `HAVE_GETIFADDRS` for `getifaddrs`. This was present in `lib/curl_config.h.cmake` but missed the detection logic. To match existing autotools feature checks. Closes #11954
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 ...
|
#
bbac7c19 |
| 20-Sep-2023 |
Patrick Monnerat |
tftpd: always use curl's own tftp.h Using the system's provided arpa/tftp.h and optimizing, GCC 12 detects and reports a stringop-overread warning: tftpd.c: In function ‘write_b
tftpd: always use curl's own tftp.h Using the system's provided arpa/tftp.h and optimizing, GCC 12 detects and reports a stringop-overread warning: tftpd.c: In function ‘write_behind.isra’: tftpd.c:485:12: warning: ‘write’ reading between 1 and 2147483647 bytes from a region of size 0 [-Wstringop-overread] 485 | return write(test->ofile, writebuf, count); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from tftpd.c:71: /usr/include/arpa/tftp.h:58:30: note: source object ‘tu_data’ of size 0 58 | char tu_data[0]; /* data or error string */ | ^~~~~~~ This occurs because writebuf points to this field and the latter cannot be considered as being of dynamic length because it is not the last field in the structure. Thus it is bound to its declared size. This commit always uses curl's own version of tftp.h where the target field is last in its structure, effectively avoiding the warning. As HAVE_ARPA_TFTP_H is not used anymore, cmake/configure checks for arpa/tftp.h are removed. Closes #11897
show more ...
|
#
a77a4a33 |
| 12-Sep-2023 |
Thorsten Klein |
cmake: set SIZEOF_LONG_LONG in curl_config.h in order to support 32bit builds regarding wolfssl CTC_SETTINGS Closes #11839
|
#
e92edfbe |
| 20-Jul-2023 |
Wyatt O'Day |
lib: add ability to disable auths individually Both with configure and cmake Closes #11490
|
#
26c7feb8 |
| 31-Aug-2023 |
Viktor Szakats |
cmake: add support for `CURL_DEFAULT_SSL_BACKEND` Allow overriding the default TLS backend via a CMake setting. E.g.: `cmake [...] -DCURL_DEFAULT_SSL_BACKEND=mbedtls` A
cmake: add support for `CURL_DEFAULT_SSL_BACKEND` Allow overriding the default TLS backend via a CMake setting. E.g.: `cmake [...] -DCURL_DEFAULT_SSL_BACKEND=mbedtls` Accepted values: bearssl, gnutls, mbedtls, openssl, rustls, schannel, secure-transport, wolfssl The passed string is baked into the curl/libcurl binaries. The value is case-insensitive. We added a similar option to autotools in 2017 via c7170e20d0a18ec8a514b4daa53bcdbb4dcb3a05. TODO: Convert to lowercase to improve reproducibility. Closes #11774
show more ...
|