]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Use ssl_client/server_settings_get()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 18 Dec 2024 10:07:44 +0000 (12:07 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:01 +0000 (10:40 +0200)
src/auth/db-ldap.c
src/lib-http/http-client.c
src/lib-ldap/ldap-settings.c
src/lib-master/master-service-ssl.c
src/lib-smtp/smtp-client.c
src/lib-smtp/smtp-server-connection.c
src/lib-sql/driver-cassandra.c
src/lib-sql/driver-mysql.c
src/lib-ssl-iostream/iostream-ssl.c
src/login-common/client-common.c
src/login-common/main.c

index 6d168ad57c0eeda4f991d2dcfba34271cfa0455b..c7add80138bf5625e5d3c54ab731cddbf7a6e2e1 100644 (file)
@@ -1484,8 +1484,8 @@ struct ldap_connection *db_ldap_init(struct event *event)
        const char *error;
 
        set     = settings_get_or_fatal(event, &ldap_setting_parser_info);
-       ssl_set = settings_get_or_fatal(event, &ssl_setting_parser_info);
-       if (ldap_setting_post_check(set, &error) < 0 ||
+       if (ssl_client_settings_get(event, &ssl_set, &error) < 0 ||
+           ldap_setting_post_check(set, &error) < 0 ||
            ldap_set_tls_validate(ssl_set, &error) < 0)
                i_fatal("%s: %s", set->uris, error);
 
index 690c9421ed2ae770eaeb57b7d0c90cce382f008b..70df64b098eeb56a2ba393a36de5c39b5903fd6e 100644 (file)
@@ -372,8 +372,7 @@ int http_client_init_ssl_ctx(struct http_client *client, const char **error_r)
        }
        /* no ssl settings given via http_client_settings -
           look them up automatically */
-       if (settings_get(client->event, &ssl_setting_parser_info,
-                        0, &ssl_set, error_r) < 0)
+       if (ssl_client_settings_get(client->event, &ssl_set, error_r) < 0)
                return -1;
        ssl_client_settings_to_iostream_set(ssl_set, &set);
 
index 7f7ef46cfa2b8daf36dde4f3572414c9a46527ca..ed76fd9713dbf703d7ba447165d85cbf07f63821 100644 (file)
@@ -74,7 +74,7 @@ int ldap_client_settings_get(struct event *event,
        struct ldap_client_settings *set = NULL;
        const struct ssl_settings *ssl_set = NULL;
        if (settings_get(event, &ldap_client_setting_parser_info, 0, &set, error_r) < 0 ||
-           settings_get(event, &ssl_setting_parser_info, 0, &ssl_set, error_r) < 0 ||
+           ssl_client_settings_get(event, &ssl_set, error_r) < 0 ||
            ldap_client_settings_postcheck(set, error_r) < 0 ||
            ldap_set_tls_validate(ssl_set, error_r) < 0) {
                settings_free(set);
index bf4063f2aac9f6592e96ffba94c979bdabf0c9f7..0c58874a0a97ce1a67f4de19f882b3bc7e2b86b5 100644 (file)
@@ -22,12 +22,9 @@ void master_service_ssl_ctx_init(struct master_service *service)
           initialization fails we can close the SSL listeners */
        i_assert(service->listeners != NULL || service->socket_count == 0);
 
-       if (settings_get(service->event, &ssl_setting_parser_info, 0,
-                        &set, &error) < 0 ||
-           settings_get(service->event, &ssl_server_setting_parser_info, 0,
-                        &server_set, &error) < 0) {
+       if (ssl_server_settings_get(service->event, &set, &server_set,
+                                   &error) < 0) {
                e_error(service->event, "%s - disabling SSL", error);
-               settings_free(set);
                master_service_ssl_io_listeners_remove(service);
                return;
        }
index 37f6b9e437e0ce05b8dde3ef53b4c807d5dc2d1c..a068ec580a00be04b0252acc157efc188bb96348 100644 (file)
@@ -133,8 +133,7 @@ int smtp_client_init_ssl_ctx(struct smtp_client *client, const char **error_r)
        }
        /* no ssl settings given via smtp_client_settings -
           look them up automatically */
-       if (settings_get(client->event, &ssl_setting_parser_info,
-                        0, &ssl_set, error_r) < 0)
+       if (ssl_client_settings_get(client->event, &ssl_set, error_r) < 0)
                return -1;
        ssl_client_settings_to_iostream_set(ssl_set, &set);
 
index 1a3dae1c66fb21ce9d19893a11ad128df56f2e54..c0d77cca6c60b3de0bc92dd629693f86de4327eb 100644 (file)
@@ -359,14 +359,9 @@ smtp_server_connection_sni_callback(const char *name, const char **error_r,
        event_add_str(conn->event, "local_name", name);
        i_free(conn->local_name);
        conn->local_name = i_strdup(name);
-       if (settings_get(conn->event, &ssl_setting_parser_info, 0, &ssl_set,
-                        error_r) < 0)
+       if (ssl_server_settings_get(conn->event, &ssl_set, &ssl_server_set,
+                                   error_r) < 0)
                return -1;
-       if (settings_get(conn->event, &ssl_server_setting_parser_info, 0,
-                        &ssl_server_set, error_r) < 0) {
-               settings_free(ssl_set);
-               return -1;
-       }
        if (conn->local_name != NULL && *conn->local_name != '\0')
                conn->set.hostname = conn->local_name;
        if (conn->callbacks->conn_tls_sni_callback != NULL &&
index 60aa169f134b599c54d9723c11e342bb31287bd0..a5dabb0c81c47b1b53d5b55342002f1030329b17 100644 (file)
@@ -1111,8 +1111,7 @@ driver_cassandra_init_v(struct event *event, struct sql_db **db_r,
                return -1;
 
        if (strcmp(set->ssl, "no") != 0) {
-               if (settings_get(event, &ssl_setting_parser_info, 0,
-                                &ssl_set, error_r) < 0) {
+               if (ssl_client_settings_get(event, &ssl_set, error_r) < 0) {
                        settings_free(set);
                        return -1;
                }
index 6bcbae72bf7e61a4bcf18afbd9dfba15bf952e03..bf42f5bc3ea197d1851276999add622ba40898fd 100644 (file)
@@ -351,8 +351,7 @@ driver_mysql_init_v(struct event *event, struct sql_db **db_r,
        }
 
        if (set->ssl) {
-               if (settings_get(event, &ssl_setting_parser_info, 0,
-                                &ssl_set, error_r) < 0) {
+               if (ssl_client_settings_get(event, &ssl_set, error_r) < 0) {
                        settings_free(set);
                        return -1;
                }
index a69273b310cb6fcefe279ec9586c73005f0edff0..7ad468c5517c6b5afae43f387d51b882292ba696 100644 (file)
@@ -140,8 +140,8 @@ int io_stream_autocreate_ssl_client(
        int ret;
 
        i_assert(parameters->event_parent != NULL);
-       if (settings_get(parameters->event_parent, &ssl_setting_parser_info,
-                        0, &ssl_set, error_r) < 0)
+       if (ssl_client_settings_get(parameters->event_parent,
+                                   &ssl_set, error_r) < 0)
                return -1;
        ssl_client_settings_to_iostream_set(ssl_set, &set);
        if ((parameters->flags & SSL_IOSTREAM_FLAG_DISABLE_CA_FILES) != 0) {
@@ -186,14 +186,9 @@ int io_stream_autocreate_ssl_server(
        int ret;
 
        i_assert(parameters->event_parent != NULL);
-       if (settings_get(parameters->event_parent, &ssl_setting_parser_info,
-                        0, &ssl_set, error_r) < 0)
+       if (ssl_server_settings_get(parameters->event_parent, &ssl_set,
+                                   &ssl_server_set, error_r) < 0)
                return -1;
-       if (settings_get(parameters->event_parent, &ssl_server_setting_parser_info,
-                        0, &ssl_server_set, error_r) < 0) {
-               settings_free(ssl_set);
-               return -1;
-       }
        ssl_server_settings_to_iostream_set(ssl_set, ssl_server_set, &set);
        settings_free(ssl_set);
        settings_free(ssl_server_set);
index cbec0eca0dc98754c94d3b1d301ac131b6c8a64f..9a5a2405e7f47dcd313bb5efa1050e6b2bcf241d 100644 (file)
@@ -210,10 +210,8 @@ static int client_settings_get(struct client *client, const char **error_r)
 
        if (settings_get(client->event, &login_setting_parser_info,
                         0, &client->set, error_r) < 0 ||
-           settings_get(client->event, &ssl_setting_parser_info,
-                        0, &client->ssl_set, error_r) < 0 ||
-           settings_get(client->event, &ssl_server_setting_parser_info,
-                        0, &client->ssl_server_set, error_r) < 0) {
+           ssl_server_settings_get(client->event, &client->ssl_set,
+                                   &client->ssl_server_set, error_r) < 0) {
                client_settings_free(client);
                return -1;
        }
index b9eecb17dbc828ad926dd2147b9d47dd4d16e55f..1692ac0d920c88da8d504acd7ce96ffcedbc7917 100644 (file)
@@ -515,12 +515,10 @@ int login_binary_run(struct login_binary *binary,
                         SETTINGS_GET_FLAG_NO_EXPAND,
                         &global_login_settings, &error) < 0)
                i_fatal("%s", error);
-       global_ssl_settings = settings_get_or_fatal(
-               master_service_get_event(master_service),
-               &ssl_setting_parser_info);
-       global_ssl_server_settings = settings_get_or_fatal(
-               master_service_get_event(master_service),
-               &ssl_server_setting_parser_info);
+       if (ssl_server_settings_get(master_service_get_event(master_service),
+                                   &global_ssl_settings,
+                                   &global_ssl_server_settings, &error) < 0)
+               i_fatal("%s", error);
 
        if (argv[optind] != NULL)
                login_socket = argv[optind];