changeset 9841:331cf0bd593e HEAD

master: If ssl=no, skip inet_listeners with ssl=yes.
author Timo Sirainen <tss@iki.fi>
date Mon, 31 Aug 2009 16:14:56 -0400
parents 2dc1e03cad11
children e95135898a3c
files src/master/master-settings.c src/master/master-settings.h src/master/service.c
diffstat 3 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/master/master-settings.c	Mon Aug 31 14:14:29 2009 -0400
+++ b/src/master/master-settings.c	Mon Aug 31 16:14:56 2009 -0400
@@ -190,6 +190,7 @@
 	DEF(SET_STR, base_dir),
 	DEF(SET_STR, libexec_dir),
 	DEF(SET_STR, protocols),
+	DEF(SET_ENUM, ssl),
 	DEF(SET_UINT, default_process_limit),
 	DEF(SET_UINT, default_client_limit),
 
@@ -211,6 +212,7 @@
 	MEMBER(base_dir) PKG_RUNDIR,
 	MEMBER(libexec_dir) PKG_LIBEXECDIR,
 	MEMBER(protocols) "imap pop3 lmtp",
+	MEMBER(ssl) "yes:no:required",
 	MEMBER(default_process_limit) 100,
 	MEMBER(default_client_limit) 1000,
 
--- a/src/master/master-settings.h	Mon Aug 31 14:14:29 2009 -0400
+++ b/src/master/master-settings.h	Mon Aug 31 16:14:56 2009 -0400
@@ -49,6 +49,7 @@
 	const char *base_dir;
 	const char *libexec_dir;
 	const char *protocols;
+	const char *ssl;
 	unsigned int default_process_limit;
 	unsigned int default_client_limit;
 
--- a/src/master/service.c	Mon Aug 31 14:14:29 2009 -0400
+++ b/src/master/service.c	Mon Aug 31 16:14:56 2009 -0400
@@ -128,9 +128,13 @@
 {
 	static struct service_listener *l;
 	const char *const *tmp;
+	bool ssl_disabled = strcmp(service->set->master_set->ssl, "no") == 0;
 
 	tmp = t_strsplit_spaces(set->address, ", ");
 	for (; *tmp != NULL; tmp++) {
+		if (set->ssl && ssl_disabled)
+			continue;
+
 		l = service_create_one_inet_listener(service, set, *tmp,
 						     error_r);
 		if (l == NULL)