Frederic Lecaille 3095fa27ab BUG/MEDIUM: quic: support some ciphersuites and curves related options
This patch impacts both the QUIC frontends and listeners.

Before this patch "ssl-default-bind-ciphersuites", "ssl-default-bind-curves",
were ignored by QUIC. For the backend, "ssl-default-server-ciphersuites"
and "ssl-default-server-curves" were not ignored but set from set
from ssl_quic_srv_new_ssl_ctx() which is QUIC specific, in place of
ssl_sock_init_srv() as this is done for TCP.

Rename <quic_ciphers> global variable to <default_quic_ciphersuites>
and <quic_groups> to <default_quic_curves> to reflect the OpenSSL API naming.

On frontend side, add support for "ssl-default-bind-ciphersuites" and
"ssl-default-bind-curves" global options and "ciphersuites" and "curves" "bind"
options. These options are taken into an account by ssl_quic_initial_ctx()
which inspects these four variable before calling SSL_CTX_set_ciphersuites()
and SSL_CTX_set_curves(). Note that the bind_conf struct is not modified
when no "ciphersuites" or "curves" option are used on "bind" lines.

Idem on backend side, rely on ssl_sock_init_srv() to set the server ciphersuites
and curves. This function is modified to use respectively <default_quic_ciphersuites>
and <default_quic_curves> if no ciphersuites  and curves were set by
"ssl-default-server-ciphersuites", "ssl-default-server-curves" as global options
or "ciphersuites", "curves" as "server" line options.

Thank to @rwagoner for having reported this issue in GH #3194 when using
an OpenSSL 3.5.4 stack with FIPS support.

Must be backported as far as 2.6
2025-11-26 09:21:47 +01:00
2021-09-16 09:14:14 +02:00
2025-11-21 14:13:44 +01:00
2025-11-21 14:13:44 +01:00
2025-11-21 14:13:44 +01:00

HAProxy

alpine/musl AWS-LC openssl no-deprecated Illumos NetBSD FreeBSD VTest

HAProxy logo

HAProxy is a free, very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications.

Installation

The INSTALL file describes how to build HAProxy. A list of packages is also available on the wiki.

Getting help

The discourse and the mailing-list are available for questions or configuration assistance. You can also use the slack or IRC channel. Please don't use the issue tracker for these.

The issue tracker is only for bug reports or feature requests.

Documentation

The HAProxy documentation has been split into a number of different files for ease of use. It is available in text format as well as HTML. The wiki is also meant to replace the old architecture guide.

Please refer to the following files depending on what you're looking for:

  • INSTALL for instructions on how to build and install HAProxy
  • BRANCHES to understand the project's life cycle and what version to use
  • LICENSE for the project's license
  • CONTRIBUTING for the process to follow to submit contributions

The more detailed documentation is located into the doc/ directory:

License

HAProxy is licensed under GPL 2 or any later version, the headers under LGPL 2.1. See the LICENSE file for a more detailed explanation.

Description
No description provided
Readme 100 MiB
Languages
C 98%
Shell 0.9%
Makefile 0.5%
Lua 0.2%
Python 0.2%