merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/backend/taler-merchant-httpd.c | 19+++++++++++++++++++
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),