]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: master-service-ssl - Make context initialization error more useful.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Tue, 13 Oct 2020 20:56:25 +0000 (22:56 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 15 Oct 2020 16:17:50 +0000 (16:17 +0000)
This improves the error in case SSL is disabled; other causes still yield a
rather unhelpful error message.

src/lib-master/master-service-ssl.c

index c0315cf791fdaa0be89283666d56e9b22bde3851..906ad072ed58afe582599a6f1ba1392c58042398 100644 (file)
@@ -21,13 +21,15 @@ int master_service_ssl_init(struct master_service *service,
 
        i_assert(service->ssl_ctx_initialized);
 
+       set = master_service_ssl_settings_get(service);
        if (service->ssl_ctx == NULL) {
-               *error_r = "Failed to initialize SSL context";
+               if (strcmp(set->ssl, "no") == 0)
+                       *error_r = "SSL is disabled (ssl=no)";
+               else
+                       *error_r = "Failed to initialize SSL context";
                return -1;
        }
 
-       set = master_service_ssl_settings_get(service);
-
        i_zero(&ssl_set);
        ssl_set.verbose = set->verbose_ssl;
        ssl_set.verify_remote_cert = set->ssl_verify_client_cert;