]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
HTTP3: ngtcp2 builds are no longer experimental
authorDaniel Stenberg <daniel@haxx.se>
Tue, 17 Oct 2023 16:04:50 +0000 (18:04 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 31 Oct 2023 13:31:46 +0000 (14:31 +0100)
The other HTTP/3 backends are still experimental.

Closes #12235

configure.ac
docs/EXPERIMENTAL.md
docs/HTTP3.md

index 6a8e815646cd3c320df1e54e3f764f4ad045b9bc..83ad82231dc80a72d79865724f978ccf9579cc00 100644 (file)
@@ -3099,7 +3099,6 @@ if test X"$want_nghttp3" != Xno; then
           CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGHTTP3"
           export CURL_LIBRARY_PATH
           AC_MSG_NOTICE([Added $DIR_NGHTTP3 to CURL_LIBRARY_PATH])
-          experimental="$experimental HTTP3"
        )
       ],
         dnl not found, revert back to clean variables
index 6b7145df68440d48c4f6dd68489628f0271f6fbe..de694013d1af7a81bd3b8c40f06800623425bbe4 100644 (file)
@@ -19,6 +19,6 @@ Experimental support in curl means:
 ## Experimental features right now
 
  - The Hyper HTTP backend
- - HTTP/3 support and options
+ - HTTP/3 support (using the quiche or msh3 backends)
  - The rustls backend
  - WebSocket
index 05bc078799d22bab115f4bc401c8915ed6971f06..4f0662829b75dfe8140fe4eb57fa8e82523afd7d 100644 (file)
@@ -9,18 +9,19 @@ book describing the protocols involved.
 
 ## QUIC libraries
 
-QUIC libraries we are experimenting with:
+QUIC libraries we are using:
 
 [ngtcp2](https://github.com/ngtcp2/ngtcp2)
 
-[quiche](https://github.com/cloudflare/quiche)
+[quiche](https://github.com/cloudflare/quiche) - **EXPERIMENTAL**
 
-[msh3](https://github.com/nibanks/msh3) (with [msquic](https://github.com/microsoft/msquic))
+[msh3](https://github.com/nibanks/msh3) (with [msquic](https://github.com/microsoft/msquic)) - **EXPERIMENTAL**
 
 ## Experimental
 
-HTTP/3 and QUIC support in curl is considered **EXPERIMENTAL** until further
-notice. It needs to be enabled at build-time.
+HTTP/3 support in curl is considered **EXPERIMENTAL** until further notice
+when built to use *quiche* or *msh3*. Only the *ngtcp2* backend is not
+experimental.
 
 Further development and tweaking of the HTTP/3 support in curl will happen in
 the master branch using pull-requests, just like ordinary changes.
@@ -34,14 +35,15 @@ To fix before we remove the experimental label:
 
 Building curl with ngtcp2 involves 3 components: `ngtcp2` itself, `nghttp3` and a QUIC supporting TLS library. The supported TLS libraries are covered below.
 
-For now, `ngtcp2` and `nghttp3` are still *experimental* which means their evolution bring breaking changes. Therefore, the proper version of both libraries need to be used when building curl. These are
-
  * `ngtcp2`: v1.0.1
  * `nghttp3`: v1.0.0
 
 ## Build with quictls
 
-Build quictls (OpenSSL fork)
+OpenSSL does not offer the required APIs for building a QUIC client. You need
+to use a TLS library that has such APIs and that works with *ngtcp2*.
+
+Build quictls
 
      % git clone --depth 1 -b openssl-3.1.4+quic https://github.com/quictls/openssl
      % cd openssl
@@ -165,6 +167,8 @@ Build curl
 
 # quiche version
 
+quiche support is **EXPERIMENTAL**
+
 Since the quiche build manages its dependencies, curl can be built against the latest version. You are *probably* able to build against their main branch, but in case of problems, we recommend their latest release tag.
 
 ## build
@@ -195,6 +199,8 @@ Build curl:
 one as of September 2023. Feel free to help us test it and improve it, but
 there is no point in filing bugs about it just yet.
 
+msh3 support is **EXPERIMENTAL**
+
 ## Build Linux (with quictls fork of OpenSSL)
 
 Build msh3: