From 15e591b6e0d1ee76a31a87f99b357bde3cc97dd5 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Thu, 7 Sep 2023 23:13:15 +0200 Subject: [PATCH] MINOR: ssl: add support for 'curves' keyword on server lines This patch implements the 'curves' keyword on server lines as well as the 'ssl-default-server-curves' keyword in the global section. It also add the keyword on the server line in the ssl_curves reg-test. These keywords allow the configuration of the curves list for a server. --- doc/configuration.txt | 15 +++++++++++++++ include/haproxy/server-t.h | 1 + include/haproxy/ssl_sock-t.h | 1 + reg-tests/ssl/ssl_curves.vtc | 4 ++-- src/cfgparse-ssl.c | 35 ++++++++++++++++++++++++++++++++++- src/ssl_sock.c | 14 ++++++++++++++ 6 files changed, 67 insertions(+), 3 deletions(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index bbec0aa89..48d8054ad 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1123,6 +1123,7 @@ The following keywords are supported in the "global" section : - ssl-default-server-ciphers - ssl-default-server-ciphersuites - ssl-default-server-client-sigalgs + - ssl-default-server-curves - ssl-default-server-options - ssl-default-server-sigalgs - ssl-dh-param-file @@ -2336,6 +2337,13 @@ ssl-default-server-client-sigalgs versions. It is not recommended to change this setting unless compatibility with a middlebox is required. +ssl-default-server-curves + This setting is only available when support for OpenSSL was built in. It sets + the default string describing the list of elliptic curves algorithms ("curve + suite") that are negotiated during the SSL/TLS handshake with ECDHE. The format + of the string is a colon-delimited list of curve name. + Please check the "server" keyword for more information. + ssl-default-server-options [