dovecot-2.2: lib-master: Check ssl_cert/ssl_key only when runnin...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Jul 28 21:55:29 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/476be9198559
changeset: 14731:476be9198559
user: Timo Sirainen <tss at iki.fi>
date: Sat Jul 28 21:55:14 2012 +0300
description:
lib-master: Check ssl_cert/ssl_key only when running in config/doveconf.
Also if Dovecot isn't built with SSL, default to ssl=no
diffstat:
src/lib-master/master-service-ssl-settings.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diffs (35 lines):
diff -r 73ce16df6b16 -r 476be9198559 src/lib-master/master-service-ssl-settings.c
--- a/src/lib-master/master-service-ssl-settings.c Sat Jul 28 18:03:25 2012 +0300
+++ b/src/lib-master/master-service-ssl-settings.c Sat Jul 28 21:55:14 2012 +0300
@@ -32,7 +32,11 @@
};
static const struct master_service_ssl_settings master_service_ssl_default_settings = {
+#ifdef HAVE_SSL
.ssl = "yes:no:required",
+#else
+ .ssl = "no:yes:required",
+#endif
.ssl_ca = "",
.ssl_cert = "",
.ssl_key = "",
@@ -74,6 +78,11 @@
set->ssl);
return FALSE;
#else
+ /* we get called from many different tools, possibly with -O parameter,
+ and few of those tools care about SSL settings. so don't check
+ ssl_cert/ssl_key/etc validity here except in doveconf, because it
+ usually is just an extra annoyance. */
+#ifdef CONFIG
if (*set->ssl_cert == '\0') {
*error_r = "ssl enabled, but ssl_cert not set";
return FALSE;
@@ -82,6 +91,7 @@
*error_r = "ssl enabled, but ssl_key not set";
return FALSE;
}
+#endif
if (set->ssl_verify_client_cert && *set->ssl_ca == '\0') {
*error_r = "ssl_verify_client_cert set, but ssl_ca not";
return FALSE;
More information about the dovecot-cvs
mailing list