Skip to content

Commit 757c755

Browse files
committed
DOC: update INSTALL for QUIC with OpenSSL 3.5 usages
Update the QUIC sections which mention the OpenSSL library use cases.
1 parent 9b680bd commit 757c755

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

INSTALL

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ reported to work as well. While there are some efforts from the community to
259259
ensure they work well, OpenSSL remains the primary target and this means that
260260
in case of conflicting choices, OpenSSL support will be favored over other
261261
options. Note that QUIC is not fully supported when haproxy is built with
262-
OpenSSL. In this case, QUICTLS is the preferred alternative. As of writing
263-
this, the QuicTLS project follows OpenSSL very closely and provides update
264-
simultaneously, but being a volunteer-driven project, its long-term future does
265-
not look certain enough to convince operating systems to package it, so it
262+
OpenSSL < 3.5 version. In this case, QUICTLS is the preferred alternative.
263+
As of writing this, the QuicTLS project follows OpenSSL very closely and provides
264+
update simultaneously, but being a volunteer-driven project, its long-term future
265+
does not look certain enough to convince operating systems to package it, so it
266266
needs to be build locally. See the section about QUIC in this document.
267267

268268
A fifth option is wolfSSL (https://github.com/wolfSSL/wolfssl). It is the only
@@ -500,10 +500,11 @@ QUIC is the new transport layer protocol and is required for HTTP/3. This
500500
protocol stack is currently supported as an experimental feature in haproxy on
501501
the frontend side. In order to enable it, use "USE_QUIC=1 USE_OPENSSL=1".
502502

503-
Note that QUIC is not fully supported by the OpenSSL library. Indeed QUIC 0-RTT
504-
cannot be supported by OpenSSL contrary to others libraries with full QUIC
505-
support. The preferred option is to use QUICTLS. This is a fork of OpenSSL with
506-
a QUIC-compatible API. Its repository is available at this location:
503+
Note that QUIC is not always fully supported by the OpenSSL library depending on
504+
its version. Indeed QUIC 0-RTT cannot be supported by OpenSSL for versions before
505+
3.5 contrary to others libraries with full QUIC support. The preferred option is
506+
to use QUICTLS. This is a fork of OpenSSL with a QUIC-compatible API. Its
507+
repository is available at this location:
507508

508509
https://github.com/quictls/openssl
509510

@@ -531,14 +532,18 @@ way assuming that wolfSSL was installed in /opt/wolfssl-5.6.0 as shown in 4.5:
531532
SSL_INC=/opt/wolfssl-5.6.0/include SSL_LIB=/opt/wolfssl-5.6.0/lib
532533
LDFLAGS="-Wl,-rpath,/opt/wolfssl-5.6.0/lib"
533534

534-
As last resort, haproxy may be compiled against OpenSSL as follows:
535+
As last resort, haproxy may be compiled against OpenSSL as follows from 3.5
536+
version with 0-RTT support:
537+
538+
$ make TARGET=generic USE_OPENSSL=1 USE_QUIC=1
539+
540+
or as follows for all OpenSSL versions but without O-RTT support:
535541

536542
$ make TARGET=generic USE_OPENSSL=1 USE_QUIC=1 USE_QUIC_OPENSSL_COMPAT=1
537543

538-
Note that QUIC 0-RTT is not supported by haproxy QUIC stack when built against
539-
OpenSSL. In addition to this compilation requirements, the QUIC listener
540-
bindings must be explicitly enabled with a specific QUIC tuning parameter.
541-
(see "limited-quic" global parameter of haproxy Configuration Manual).
544+
In addition to this requirements, the QUIC listener bindings must be explicitly
545+
enabled with a specific QUIC tuning parameter. (see "limited-quic" global
546+
parameter of haproxy Configuration Manual).
542547

543548

544549
5) How to build HAProxy

0 commit comments

Comments
 (0)