]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
HTTP3.md: only speak about minimal versions
authorStefan Eissing <stefan@eissing.org>
Thu, 13 Feb 2025 13:33:26 +0000 (14:33 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 14 Feb 2025 09:21:48 +0000 (10:21 +0100)
Closes #16320

docs/HTTP3.md

index f0f5c445c678b68be5985f7afe64a9fc4abe81d7..b7050039b447d2f69781b8299615f3cf19bde1e2 100644 (file)
@@ -43,15 +43,19 @@ 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.
 
- * `ngtcp2`: v1.2.0
- * `nghttp3`: v1.1.0
+While any version of `ngtcp2` and `nghttp3` from v1.0.0 on are expected to
+work, using the latest versions often brings functional and performance
+improvements.
+
+The build examples use `$NGHTTP3_VERION` and `$NGTCP2_VERION` as placeholders
+for the version you build.
 
 ## Build with quictls
 
 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:
+Build quictls (any `+quic` tagged version works):
 
      % git clone --depth 1 -b openssl-3.1.4+quic https://github.com/quictls/openssl
      % cd openssl
@@ -62,7 +66,7 @@ Build quictls:
 Build nghttp3:
 
      % cd ..
-     % git clone -b v1.1.0 https://github.com/ngtcp2/nghttp3
+     % git clone -b $NGHTTP3_VERION https://github.com/ngtcp2/nghttp3
      % cd nghttp3
      % git submodule update --init
      % autoreconf -fi
@@ -73,7 +77,7 @@ Build nghttp3:
 Build ngtcp2:
 
      % cd ..
-     % git clone -b v1.2.0 https://github.com/ngtcp2/ngtcp2
+     % git clone -b $NGTCP2_VERION https://github.com/ngtcp2/ngtcp2
      % cd ngtcp2
      % autoreconf -fi
      % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only
@@ -106,7 +110,7 @@ Build GnuTLS:
 Build nghttp3:
 
      % cd ..
-     % git clone -b v1.1.0 https://github.com/ngtcp2/nghttp3
+     % git clone -b $NGHTTP3_VERION https://github.com/ngtcp2/nghttp3
      % cd nghttp3
      % git submodule update --init
      % autoreconf -fi
@@ -117,7 +121,7 @@ Build nghttp3:
 Build ngtcp2:
 
      % cd ..
-     % git clone -b v1.2.0 https://github.com/ngtcp2/ngtcp2
+     % git clone -b $NGTCP2_VERION https://github.com/ngtcp2/ngtcp2
      % cd ngtcp2
      % autoreconf -fi
      % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only --with-gnutls
@@ -148,7 +152,7 @@ Build wolfSSL:
 Build nghttp3:
 
      % cd ..
-     % git clone -b v1.1.0 https://github.com/ngtcp2/nghttp3
+     % git clone -b $NGHTTP3_VERION https://github.com/ngtcp2/nghttp3
      % cd nghttp3
      % git submodule update --init
      % autoreconf -fi
@@ -159,7 +163,7 @@ Build nghttp3:
 Build ngtcp2:
 
      % cd ..
-     % git clone -b v1.2.0 https://github.com/ngtcp2/ngtcp2
+     % git clone -b $NGTCP2_VERION https://github.com/ngtcp2/ngtcp2
      % cd ngtcp2
      % autoreconf -fi
      % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only --with-wolfssl
@@ -210,10 +214,12 @@ Build curl:
 
 QUIC support is **EXPERIMENTAL**
 
-Build OpenSSL 3.3.1:
+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-3.3.1 https://github.com/openssl/openssl
+     % git clone -b $OPENSSL_VERSION https://github.com/openssl/openssl
      % cd openssl
      % ./config enable-tls1_3 --prefix=<somewhere> --libdir=lib
      % make
@@ -222,7 +228,7 @@ Build OpenSSL 3.3.1:
 Build nghttp3:
 
      % cd ..
-     % git clone -b v1.1.0 https://github.com/ngtcp2/nghttp3
+     % git clone -b $NGHTTP3_VERION https://github.com/ngtcp2/nghttp3
      % cd nghttp3
      % git submodule update --init
      % autoreconf -fi