]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: Fix connection_tls_sni_callback()
authorAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 2 Aug 2024 05:51:13 +0000 (08:51 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:01 +0000 (10:40 +0200)
src/lib-smtp/smtp-server-connection.c
src/lib-smtp/smtp-server.h
src/lmtp/lmtp-client.c

index bff5861ccd85e1a240ea06bb1c2364341341902d..fc29115d709910e39902649089ce63f9783f4d7c 100644 (file)
@@ -367,7 +367,7 @@ smtp_server_connection_sni_callback(const char *name, const char **error_r,
        }
 
        if (conn->callbacks->conn_tls_sni_callback != NULL &&
-           conn->callbacks->conn_tls_sni_callback(name, error_r, conn) < 0) {
+           conn->callbacks->conn_tls_sni_callback(conn->context, name, error_r) < 0) {
                settings_free(ssl_set);
                settings_free(ssl_server_set);
                return -1;
index b0f38c7b0a0fbdfe404aa0c84f0c2f3ead998c0e..0a07541b60d4fbe8faf203b51a7e0f1acffa8146 100644 (file)
@@ -299,7 +299,8 @@ struct smtp_server_callbacks {
                                        const struct smtp_proxy_data *data);
 
        /* TLS SNI Callback. */
-       int (*conn_tls_sni_callback)(const char *name, const char **error_r, void *context);
+       int (*conn_tls_sni_callback)(void *conn_ctx, const char *name,
+                                    const char **error_r);
        /* Connection */
        int (*conn_start_tls)(void *conn_ctx,
                              struct istream **input, struct ostream **output);
index e2b28409c96e390113c8a24cb963d6cd71bd1814..4814c7e766fbcd89c5732225d0fefe2febefe381 100644 (file)
@@ -396,11 +396,10 @@ client_connection_proxy_data_updated(void *context,
 }
 
 static int
-client_connection_tls_sni_callback(const char *name, const char **error_r,
-                                  void *context)
+client_connection_tls_sni_callback(void *context, const char *name,
+                                  const char **error_r)
 {
-       struct smtp_server_connection *conn = context;
-       struct client *client = conn->context;
+       struct client *client = context;
 
        const struct lda_settings *old_lda_set = client->lda_set;
        const struct lmtp_settings *old_lmtp_set = client->lmtp_set;