#
33ac97e1 |
| 09-Jan-2023 |
Stefan Eissing |
tests-httpd: basic infra to run curl against an apache httpd plus nghttpx for h3 - adding '--with-test-httpd=<path>' to configure non-standard apache2 install - python env and base
tests-httpd: basic infra to run curl against an apache httpd plus nghttpx for h3 - adding '--with-test-httpd=<path>' to configure non-standard apache2 install - python env and base classes for running httpd - basic tests for connectivity with h1/h2/h3 - adding test cases for truncated responses in http versions. - adding goaway test for HTTP/3. - adding "stuttering" tests with parallel downloads in chunks with varying delays between chunks. - adding a curltest module to the httpd server, adding GOAWAY test. - mod_curltest now installs 2 handlers - 'echo': writing as response body what came as request body - 'tweak': with query parameters to tweak response behaviour - marked known fails as skip for now Closes #10175
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 ...
|
#
f39472ea |
| 28-Dec-2022 |
Stefan Eissing |
openssl: remove attached easy handles from SSL instances - keeping the "current" easy handle registered at SSL* is no longer necessary, since the "calling" data object is already sto
openssl: remove attached easy handles from SSL instances - keeping the "current" easy handle registered at SSL* is no longer necessary, since the "calling" data object is already stored in the cfilter's context (and used by other SSL backends from there). - The "detach" of an easy handle that goes out of scope is then avoided. - using SSL_set0_wbio for clear reference counting where available. Closes #10151
show more ...
|
#
fe3463eb |
| 27-Nov-2022 |
Jay Satiro |
build: assume errno.h is always available - Remove errno.h detection from all build configurations. errno.h is a standard header according to C89. Closes https://github.com
build: assume errno.h is always available - Remove errno.h detection from all build configurations. errno.h is a standard header according to C89. Closes https://github.com/curl/curl/pull/9986
show more ...
|
#
57d3477e |
| 27-Nov-2022 |
Jay Satiro |
build: assume assert.h is always available - Remove assert.h detection from all build configurations. assert.h is a standard header according to C89. I had proposed this se
build: assume assert.h is always available - Remove assert.h detection from all build configurations. assert.h is a standard header according to C89. I had proposed this several years ago as part of a larger change that was abandoned. Ref: https://github.com/curl/curl/issues/1237#issuecomment-277500720 Closes https://github.com/curl/curl/pull/9985
show more ...
|
#
ca15b751 |
| 29-Nov-2022 |
Stefan Eissing |
tests: add HTTP/3 test case, custom location for proper nghttpx - adding support for HTTP/3 test cases via a nghttpx server that is build with ngtcp2 and nghttp3. - test2500 is the
tests: add HTTP/3 test case, custom location for proper nghttpx - adding support for HTTP/3 test cases via a nghttpx server that is build with ngtcp2 and nghttp3. - test2500 is the first test case, performing a simple GET. - nghttpx is checked for support and the 'feature' nghttpx-h3 is set accordingly. test2500 will only run, when supported. - a specific nghttpx location can be given in the environment variable NGHTTPX or via the configure option --with-test-nghttpx=<path> Extend NGHTTPX config to H2 tests as well * use $ENV{NGHTTPX} and the configured default also in http2 server starts * always provide the empty test/nghttpx.conf to nghttpx. as it defaults to reading /etc/nghttpx/nghttpx.conf otherwise. Added nghttpx to CI ngtcp2 jobs to run h3 tests. Closes #9031
show more ...
|
#
55807e6c |
| 25-Nov-2022 |
Stefan Eissing |
tls: backends use connection filters for IO, enabling HTTPS-proxy - OpenSSL (and compatible) - BearSSL - gnutls - mbedtls - rustls - schannel - secure-transpor
tls: backends use connection filters for IO, enabling HTTPS-proxy - OpenSSL (and compatible) - BearSSL - gnutls - mbedtls - rustls - schannel - secure-transport - wolfSSL (v5.0.0 and newer) This leaves only the following without HTTPS-proxy support: - gskit - nss - wolfSSL (versions earlier than v5.0.0) Closes #9962
show more ...
|
#
592107fa |
| 05-Nov-2022 |
Daniel Stenberg |
configure: require fork for NTLM-WB Reported-by: ウさん Fixes #9847 Closes #9856
|
#
3390ef0a |
| 01-Nov-2022 |
Viktor Szakats |
windows: fail early with a missing windres in autotools `windres` is not always auto-detected by autotools when building for Windows. When this happened, the build failed with a confusin
windows: fail early with a missing windres in autotools `windres` is not always auto-detected by autotools when building for Windows. When this happened, the build failed with a confusing error due to the empty `RC` command: ``` /bin/bash ../libtool --tag=RC --mode=compile -I../include -DCURL_EMBED_MANIFEST -i curl.rc -o curl.o [...] Usage: /sandbox/curl/libtool [OPTION]... [MODE-ARG]... Try 'libtool --help' for more information. libtool: error: unrecognised option: '-I../include' ``` Improve this by verifying if `RC` is set, and fail with a clear error otherwise. Follow-up to 6de7322c03d5b4d91576a7d9fc893e03cc9d1057 Ref: https://curl.se/mail/lib-2022-10/0049.html Reported-by: Thomas Glanzmann Closes #9781
show more ...
|
#
b51560b9 |
| 26-Oct-2022 |
Viktor Szakats |
winidn: drop WANT_IDN_PROTOTYPES `WANT_IDN_PROTOTYPES` was necessary to avoid using a header that came via an optional package. MS stopped distributing this package some years ago an
winidn: drop WANT_IDN_PROTOTYPES `WANT_IDN_PROTOTYPES` was necessary to avoid using a header that came via an optional package. MS stopped distributing this package some years ago and the winidn definitions are part of standard headers (via `windows.h`) since Vista. Auto-detect Vista inside `lib/idn_win32.c` and enable the manual definitions if building for an older Windows. This allows to delete this manual knob from all build-systems. Also drop the `_SAL_VERSION` sub-case: Our manual definitions are now only enabled with old systems. We assume that code analysis is not run on such systems, allowing us to delete the SAL-friendly flavour of these. Reviewed-by: Jay Satiro Closes #9793
show more ...
|
#
23029838 |
| 11-Oct-2022 |
Viktor Szakats |
autotools: allow unix sockets on Windows Fixes: https://github.com/curl/curl-for-win/blob/73a070d96fd906fdee929e2f1f00a9149fb39239/curl-autotools.sh#L44-L47 On Windows this feature
autotools: allow unix sockets on Windows Fixes: https://github.com/curl/curl-for-win/blob/73a070d96fd906fdee929e2f1f00a9149fb39239/curl-autotools.sh#L44-L47 On Windows this feature is present, but not the header used in the detection logic. It also requires an elaborate enabler logic (as seen in `lib/curl_setup.h`). Let's always allow it and let the lib code deal with the details. Closes #9688
show more ...
|
#
0c327464 |
| 06-Oct-2022 |
Viktor Szakats |
tidy-up: delete parallel/unused feature flags Detecting headers and lib separately makes sense when headers come in variations or with extra ones, but this wasn't the case here. These we
tidy-up: delete parallel/unused feature flags Detecting headers and lib separately makes sense when headers come in variations or with extra ones, but this wasn't the case here. These were duplicate/parallel macros that we had to keep in sync with each other for a working build. This patch leaves a single macro for each of these dependencies: - Rely on `HAVE_LIBZ`, delete parallel `HAVE_ZLIB_H`. Also delete CMake logic making sure these two were in sync, along with a toggle to turn off that logic, called `CURL_SPECIAL_LIBZ`. Also delete stray `HAVE_ZLIB` defines. There is also a `USE_ZLIB` variant in `lib/config-dos.h`. This patch retains it for compatibility and deprecates it. - Rely on `USE_LIBSSH2`, delete parallel `HAVE_LIBSSH2_H`. Also delete `LIBSSH2_WIN32`, `LIBSSH2_LIBRARY` from `winbuild/MakefileBuild.vc`, these have a role when building libssh2 itself. And `CURL_USE_LIBSSH`, which had no use at all. Also delete stray `HAVE_LIBSSH2` defines. - Rely on `USE_LIBSSH`, delete parallel `HAVE_LIBSSH_LIBSSH_H`. Also delete `LIBSSH_WIN32`, `LIBSSH_LIBRARY` and `HAVE_LIBSSH` from `winbuild/MakefileBuild.vc`, these were the result of copy-pasting the libssh2 line, and were not having any use. - Delete unused `HAVE_LIBPSL_H` and `HAVE_LIBPSL`. Reviewed-by: Daniel Stenberg Closes #9652
show more ...
|
#
3664bccc |
| 05-Oct-2022 |
Daniel Stenberg |
configure: the ngtcp2 option should default to 'no' While still experimental. Bug: https://curl.se/mail/lib-2022-10/0007.html Reported-by: Daniel Hallberg Closes #9650
|
#
26766830 |
| 27-Sep-2022 |
Daniel Stenberg |
configure: deprecate builds with small curl_off_t If curl_off_t turns out to be smaller than 8 bytes, --with-n64-deprecated needs to be used to allow the build to continue. This is t
configure: deprecate builds with small curl_off_t If curl_off_t turns out to be smaller than 8 bytes, --with-n64-deprecated needs to be used to allow the build to continue. This is to highlight the fact that support for such builds is going away next year. Also mentioned in DEPRECATED.md Closes #9605
show more ...
|
#
9325ab2c |
| 23-Sep-2022 |
Viktor Szakats |
windows: autotools .rc warnings fixup Move `LT_LANG([Windows Resource])` after `XC_LIBTOOL`, fixing: - Warnings when running `autoreconf -fi`. - Warning when compiling .rc
windows: autotools .rc warnings fixup Move `LT_LANG([Windows Resource])` after `XC_LIBTOOL`, fixing: - Warnings when running `autoreconf -fi`. - Warning when compiling .rc files: libtool: compile: unable to infer tagged configuration libtool: error: specify a tag with '--tag' Follow up to 6de7322c03d5b4d91576a7d9fc893e03cc9d1057 Ref: https://github.com/curl/curl/pull/9521#issuecomment-1256291156 Suggested-by: Patrick Monnerat Closes #9582
show more ...
|
#
935b1bd4 |
| 22-Sep-2022 |
Daniel Stenberg |
mprintf: use snprintf if available This is the single place in libcurl code where it uses the "native" s(n)printf() function. Used for writing floats. The use has been reviewed and v
mprintf: use snprintf if available This is the single place in libcurl code where it uses the "native" s(n)printf() function. Used for writing floats. The use has been reviewed and vetted and uses a HUGE target buffer, but switching to snprintf() still makes this safer and removes build-time warnings. Reported-by: Philip Heiduck Fixes #9569 Closes #9570
show more ...
|
#
6de7322c |
| 18-Sep-2022 |
Viktor Szakats |
windows: add .rc support to autotools builds After this update autotools builds will compile and link `.rc` resources to Windows executables. Bringing this feature on par with CMake and
windows: add .rc support to autotools builds After this update autotools builds will compile and link `.rc` resources to Windows executables. Bringing this feature on par with CMake and Makefile.m32 builds. And also making it unnecessary to improvise these steps manually, while monkey patching build files, e.g. [0]. You can customize the resource compiler via the `RC` envvar, and its options via `RCFLAGS`. This harmless warning may appear throughout the build, even though the autotools manual documents [1] `RC` as a valid tag, and it fails when omitting one: `libtool: error: ignoring unknown tag RC` [0] https://github.com/curl/curl-for-win/blob/535f19060d4b708f72e75dd849409ce50baa1b84/curl-autotools.sh#L376-L382 [1] https://www.gnu.org/software/libtool/manual/html_node/Tags.html Closes #9521
show more ...
|
#
3b0d678f |
| 11-Sep-2022 |
Daniel Stenberg |
configure: polish the grep -E message a bit further Suggested-by: Emanuele Torre Closes #9473
|
#
ae4d1437 |
| 10-Sep-2022 |
Daniel Stenberg |
configure: correct the wording when checking grep -E The check first checks that grep -E works, and only as a fallback tries to find and use egrep. egrep is deprecated. This cha
configure: correct the wording when checking grep -E The check first checks that grep -E works, and only as a fallback tries to find and use egrep. egrep is deprecated. This change only corrects the output wording, not the checks themselves. Closes #9471
show more ...
|
#
664249d0 |
| 09-Sep-2022 |
Daniel Stenberg |
ws: initial websockets support Closes #8995
|
#
6a9b1d1c |
| 09-Sep-2022 |
Daniel Stenberg |
configure: add --enable-websockets
|
#
7d69924c |
| 01-Sep-2022 |
Samuel Henrique |
configure: fail if '--without-ssl' + explicit parameter for an ssl lib A side effect of a previous change to configure (576e507c78bdd2ec88) exposed a non-critical issue that can happen i
configure: fail if '--without-ssl' + explicit parameter for an ssl lib A side effect of a previous change to configure (576e507c78bdd2ec88) exposed a non-critical issue that can happen if configure is called with both '--without-ssl' and some parameter setting the use of a ssl library (e.g. --with-gnutls). The configure script would end up assuming this is a MultiSSL build, due to the way the case statement is written. I have changed the order of the variables in the string concatenation for the case statement and also tweaked the options so that --without-ssl never turns the build into a MultiSSL one and also clearly stating that there are conflicting parameters if the user sets it like described above. Closes #9414
show more ...
|
#
576e507c |
| 25-Aug-2022 |
Daniel Stenberg |
configure: if asked to use TLS, fail if no TLS lib was detected Previously the configure script would just warn about this fact and continue with TLS disabled build which is not always h
configure: if asked to use TLS, fail if no TLS lib was detected Previously the configure script would just warn about this fact and continue with TLS disabled build which is not always helpful. TLS should be explicitly disabled if that is what the user wants. Closes #9367
show more ...
|
#
a8f52ce2 |
| 19-Aug-2022 |
Chris Paulson-Ellis |
configure: fix broken m4 syntax in TLS options Commit b589696f added lines to some shell within AC_ARG_WITH macros, but inadvertently failed to move the final closing ). Quote t
configure: fix broken m4 syntax in TLS options Commit b589696f added lines to some shell within AC_ARG_WITH macros, but inadvertently failed to move the final closing ). Quote the script section using braces. So, if these problems have been around for a while, how did I find them? Only because I did a configure including these options: $ ./configure --with-openssl --without-rustls SSL: enabled (OpenSSL) Closes #9344
show more ...
|
#
8a13be22 |
| 10-Aug-2022 |
Stefan Eissing |
quic: add support via wolfSSL - based on ngtcp2 PR https://github.com/ngtcp2/ngtcp2/pull/505 - configure adapted to build against ngtcp2 wolfssl crypto lib - quic code added for crea
quic: add support via wolfSSL - based on ngtcp2 PR https://github.com/ngtcp2/ngtcp2/pull/505 - configure adapted to build against ngtcp2 wolfssl crypto lib - quic code added for creation of WOLFSSL* instances Closes #9290
show more ...
|