]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-ssl-iostream: Add application protocols to parameters
authorAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 15 Nov 2024 07:48:18 +0000 (09:48 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:01 +0000 (10:40 +0200)
src/lib-ssl-iostream/iostream-ssl.c
src/lib-ssl-iostream/iostream-ssl.h

index 8320e718d2c470122a0d34e40b5d1aa5a785d82c..a69273b310cb6fcefe279ec9586c73005f0edff0 100644 (file)
@@ -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);
index 968859b237b0155a0f57fe7fd8c00bde72e93187..40e07c5493b01f1594726a3d27047c77cf8fea3a 100644 (file)
@@ -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