From: Aki Tuomi Date: Fri, 15 Nov 2024 07:48:18 +0000 (+0200) Subject: lib-ssl-iostream: Add application protocols to parameters X-Git-Tag: 2.4.0~199 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a46a52f338a58542151b853cbb3bb28a89d85eb2;p=thirdparty%2Fdovecot%2Fcore.git lib-ssl-iostream: Add application protocols to parameters --- diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c index 8320e718d2..a69273b310 100644 --- a/src/lib-ssl-iostream/iostream-ssl.c +++ b/src/lib-ssl-iostream/iostream-ssl.c @@ -161,7 +161,10 @@ int io_stream_autocreate_ssl_client( settings_free(set); if (ret < 0) return -1; - + if (parameters->application_protocols != NULL) { + ssl_iostream_context_set_application_protocols(ctx, + parameters->application_protocols); + } ret = io_stream_create_ssl_client(ctx, parameters->host, parameters->event_parent, parameters->flags, input, @@ -199,6 +202,10 @@ int io_stream_autocreate_ssl_server( settings_free(set); if (ret < 0) return -1; + if (parameters->application_protocols != NULL) { + ssl_iostream_context_set_application_protocols(ctx, + parameters->application_protocols); + } ret = io_stream_create_ssl_server(ctx, parameters->event_parent, input, output, iostream_r, error_r); ssl_iostream_context_unref(&ctx); diff --git a/src/lib-ssl-iostream/iostream-ssl.h b/src/lib-ssl-iostream/iostream-ssl.h index 968859b237..40e07c5493 100644 --- a/src/lib-ssl-iostream/iostream-ssl.h +++ b/src/lib-ssl-iostream/iostream-ssl.h @@ -99,10 +99,12 @@ struct ssl_iostream_client_autocreate_parameters { struct event *event_parent; const char *host; enum ssl_iostream_flags flags; + const char *const *application_protocols; }; struct ssl_iostream_server_autocreate_parameters { struct event *event_parent; + const char *const *application_protocols; }; /* Lookup settings from event, use ssl_iostream_client_context_cache_get() to