changeset 4626:4a0c4d5d6735 HEAD

Allow "protocols = none".
author Timo Sirainen <tss@iki.fi>
date Fri, 22 Sep 2006 17:39:05 +0300
parents 97c9db4980fc
children 60a081e2a1dc
files src/master/master-settings.c
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/master/master-settings.c	Fri Sep 22 17:29:20 2006 +0300
+++ b/src/master/master-settings.c	Fri Sep 22 17:39:05 2006 +0300
@@ -1347,9 +1347,14 @@
 			i_error("No protocols given in configuration file");
 			return FALSE;
 		}
-		if (!settings_is_active(server->imap))
+		if (!settings_is_active(server->imap)) {
+			if (strcmp(server->imap->protocols, "none") == 0) {
+				if (!nochecks && !settings_verify(server->imap))
+					return FALSE;
+				server->defaults = server->imap;
+			}
 			server->imap = NULL;
-		else {
+		} else {
 			if (!nochecks && !settings_verify(server->imap))
 				return FALSE;
 			server->defaults = server->imap;
@@ -1392,7 +1397,12 @@
 		}
 	}
 
-	i_assert(ctx.root != NULL);
+	if (ctx.root == NULL) {
+		/* We aren't actually checking them separately, but if it
+		   contains only invalid protocols we'll get here.. */
+		i_error("Invalid protocols given in configuration file");
+		return FALSE;
+	}
 
 	/* settings ok, swap them */
 	temp = settings_pool;