mirror of
https://github.com/curl/curl.git
synced 2026-08-25 16:33:38 +03:00
vquic: drop support for OpenSSL-QUIC
- It is slower and uses more memory than the alternatives and is only experimental in curl. - We disable a few tests for OpenSSL-QUIC because of flakiness - It gets little attention from OpenSSL and we have no expectation of the major flaws getting corrected anytime soon. - No one has spoken up for keeping it - curl users building with vanilla OpenSSL can still use QUIC through the means of ngtcp2 Closes #20226
This commit is contained in:
parent
6c31df453b
commit
6aaac9dd38
22 changed files with 17 additions and 2719 deletions
|
|
@ -16,21 +16,6 @@ how your use case cannot be satisfied properly using a workaround.
|
|||
|
||||
In March 2026, we drop support for all c-ares versions before 1.16.0.
|
||||
|
||||
## OpenSSL-QUIC
|
||||
|
||||
OpenSSL-QUIC is what we call the curl QUIC backend that uses the OpenSSL QUIC
|
||||
stack.
|
||||
|
||||
- It is slower and uses more memory than the alternatives and is only
|
||||
experimental in curl.
|
||||
- It gets little attention from OpenSSL and we have no expectation of the
|
||||
major flaws getting corrected anytime soon.
|
||||
- No one has spoken up for keeping it
|
||||
- curl users building with vanilla OpenSSL can still use QUIC through the
|
||||
means of ngtcp2
|
||||
|
||||
We remove the OpenSSL-QUIC backend in January 2026.
|
||||
|
||||
## RTMP
|
||||
|
||||
RTMP in curl is powered by the 3rd party library librtmp.
|
||||
|
|
@ -71,3 +56,4 @@ CMake 3.18 was released on 2020-07-15.
|
|||
- Support for Visual Studio 2008 (removed in 8.18.0)
|
||||
- OpenSSL 1.1.1 and older (removed in 8.18.0)
|
||||
- Support for Windows XP (removed in 8.19.0)
|
||||
- OpenSSL-QUIC (removed in 8.19.0)
|
||||
|
|
|
|||
|
|
@ -250,54 +250,6 @@ Build curl:
|
|||
If `make install` results in `Permission denied` error, you need to prepend
|
||||
it with `sudo`.
|
||||
|
||||
# OpenSSL version
|
||||
|
||||
QUIC support is **EXPERIMENTAL**
|
||||
|
||||
Use OpenSSL 3.3.1 or newer (QUIC support was added in 3.3.0, with
|
||||
shortcomings on some platforms like macOS). 3.4.1 or newer is recommended.
|
||||
Build via:
|
||||
|
||||
% cd ..
|
||||
% git clone -b $OPENSSL_VERSION https://github.com/openssl/openssl
|
||||
% cd openssl
|
||||
% ./config enable-tls1_3 --prefix=<somewhere> --libdir=lib
|
||||
% make
|
||||
% make install
|
||||
|
||||
Build nghttp3:
|
||||
|
||||
% cd ..
|
||||
% git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3
|
||||
% cd nghttp3
|
||||
% git submodule update --init
|
||||
% autoreconf -fi
|
||||
% ./configure --prefix=<somewhere2> --enable-lib-only
|
||||
% make
|
||||
% make install
|
||||
|
||||
Build curl:
|
||||
|
||||
% cd ..
|
||||
% git clone https://github.com/curl/curl
|
||||
% cd curl
|
||||
% autoreconf -fi
|
||||
% LDFLAGS="-Wl,-rpath,<somewhere>/lib" ./configure --with-openssl=<somewhere> --with-openssl-quic --with-nghttp3=<somewhere2>
|
||||
% make
|
||||
% make install
|
||||
|
||||
You can build curl with cmake:
|
||||
|
||||
% cd ..
|
||||
% git clone https://github.com/curl/curl
|
||||
% cd curl
|
||||
% cmake -B bld -DCURL_USE_OPENSSL=ON -DUSE_OPENSSL_QUIC=ON
|
||||
% cmake --build bld
|
||||
% cmake --install bld
|
||||
|
||||
If `make install` results in `Permission denied` error, you need to prepend
|
||||
it with `sudo`.
|
||||
|
||||
# `--http3`
|
||||
|
||||
Use only HTTP/3:
|
||||
|
|
|
|||
|
|
@ -275,7 +275,6 @@ target_link_libraries(my_target PRIVATE CURL::libcurl)
|
|||
- `ENABLE_UNIX_SOCKETS`: Enable Unix domain sockets support. Default: `ON`
|
||||
- `USE_ECH`: Enable ECH support. Default: `OFF`
|
||||
- `USE_HTTPSRR`: Enable HTTPS RR support. Default: `OFF`
|
||||
- `USE_OPENSSL_QUIC`: Use OpenSSL and nghttp3 libraries for HTTP/3 support. Default: `OFF`
|
||||
- `USE_SSLS_EXPORT`: Enable experimental SSL session import/export. Default: `OFF`
|
||||
|
||||
## Disabling features
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue