commit 1f46cbe802fb70645994790caa3800c55e0f48e1
parent 721c98aad016cd1227ceab395c346793f44e9fee
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 11 Aug 2026 23:28:54 +0200
add -3 option to taler-merchant-httpd
Diffstat:
1 file changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c
@@ -139,6 +139,15 @@ static bool have_daemons;
static int merchant_connection_close;
/**
+ * Should we enable HTTP/2 and HTTP/3 (which are not expected to be
+ * terribly beneficial for a server with stable connections to an
+ * exchange, but which could cause stability issues with libcurl).
+ * Per default, we *enforce* HTTP/1.x-only, as that is the conservative
+ * and most tested code path.
+ */
+static int enable_h3;
+
+/**
* Context for integrating #TMH_curl_ctx with the
* GNUnet event loop.
*/
@@ -1130,6 +1139,12 @@ run (void *cls,
if (merchant_connection_close)
go |= TALER_MHD_GO_FORCE_CONNECTION_CLOSE;
TALER_MHD_setup (go);
+ if (! enable_h3)
+ {
+ TALER_EXCHANGE_setup (TALER_EXCHANGE_GO_FORCE_HTTP1_1);
+ /* NOTE: We probably should do something similar for
+ libdonau in the future as well! */
+ }
global_ret = EXIT_SUCCESS;
GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
@@ -1674,6 +1689,10 @@ main (int argc,
"connection-close",
"force HTTP connections to be closed after each request",
&merchant_connection_close),
+ GNUNET_GETOPT_option_flag ('3',
+ "http3",
+ "enable support for HTTP/2 and HTTP/3",
+ &enable_h3),
GNUNET_GETOPT_option_timetravel ('T',
"timetravel"),
GNUNET_GETOPT_option_version (PACKAGE_VERSION),