dovecot-2.0-sslstream: Added default inet_listeners for imap/pop...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:58:39 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/9ab4539b736d
changeset: 10596:9ab4539b736d
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jan 28 00:40:38 2010 +0200
description:
Added default inet_listeners for imap/pop3-login.

diffstat:

5 files changed, 50 insertions(+), 15 deletions(-)
doc/example-config/conf.d/master.conf |   20 ++++++++++----------
src/imap-login/imap-login-settings.c  |   18 +++++++++++++++++-
src/lib-master/service-settings.h     |    1 +
src/master/master-settings.c          |    8 +++++---
src/pop3-login/pop3-login-settings.c  |   18 +++++++++++++++++-

diffs (172 lines):

diff -r 11708783b5b3 -r 9ab4539b736d doc/example-config/conf.d/master.conf
--- a/doc/example-config/conf.d/master.conf	Thu Jan 28 00:35:11 2010 +0200
+++ b/doc/example-config/conf.d/master.conf	Thu Jan 28 00:40:38 2010 +0200
@@ -3,12 +3,12 @@
 #default_vsz_limit = 256M
 
 service imap-login {
-  inet_listener {
-    port = 143
+  inet_listener imap {
+    #port = 143
   }
-  inet_listener {
-    port = 993
-    ssl = yes
+  inet_listener imaps {
+    #port = 993
+    #ssl = yes
   }
 
   # Number of connections to handle before starting a new process. Typically
@@ -24,12 +24,12 @@ service imap-login {
 }
 
 service pop3-login {
-  inet_listener {
-    port = 110
+  inet_listener pop3 {
+    #port = 110
   }
-  inet_listener {
-    port = 995
-    ssl = yes
+  inet_listener pop3s {
+    #port = 995
+    #ssl = yes
   }
 }
 
diff -r 11708783b5b3 -r 9ab4539b736d src/imap-login/imap-login-settings.c
--- a/src/imap-login/imap-login-settings.c	Thu Jan 28 00:35:11 2010 +0200
+++ b/src/imap-login/imap-login-settings.c	Thu Jan 28 00:40:38 2010 +0200
@@ -1,12 +1,27 @@
 /* Copyright (c) 2005-2010 Dovecot authors, see the included COPYING file */
 
 #include "lib.h"
+#include "buffer.h"
 #include "settings-parser.h"
 #include "service-settings.h"
 #include "login-settings.h"
 #include "imap-login-settings.h"
 
 #include <stddef.h>
+
+/* <settings checks> */
+static struct inet_listener_settings imap_login_inet_listeners_array[] = {
+	{ "imap", "", 143, FALSE },
+	{ "imaps", "", 993, TRUE }
+};
+static struct inet_listener_settings *imap_login_inet_listeners[] = {
+	&imap_login_inet_listeners_array[0],
+	&imap_login_inet_listeners_array[1]
+};
+static buffer_t imap_login_inet_listeners_buf = {
+	imap_login_inet_listeners, sizeof(imap_login_inet_listeners), { 0, }
+};
+/* </settings checks> */
 
 struct service_settings imap_login_service_settings = {
 	.name = "imap-login",
@@ -29,7 +44,8 @@ struct service_settings imap_login_servi
 
 	.unix_listeners = ARRAY_INIT,
 	.fifo_listeners = ARRAY_INIT,
-	.inet_listeners = ARRAY_INIT
+	.inet_listeners = { { &imap_login_inet_listeners_buf,
+			      sizeof(imap_login_inet_listeners[0]) } }
 };
 
 #undef DEF
diff -r 11708783b5b3 -r 9ab4539b736d src/lib-master/service-settings.h
--- a/src/lib-master/service-settings.h	Thu Jan 28 00:35:11 2010 +0200
+++ b/src/lib-master/service-settings.h	Thu Jan 28 00:40:38 2010 +0200
@@ -20,6 +20,7 @@ ARRAY_DEFINE_TYPE(file_listener_settings
 ARRAY_DEFINE_TYPE(file_listener_settings, struct file_listener_settings *);
 
 struct inet_listener_settings {
+	const char *name;
 	const char *address;
 	unsigned int port;
 	bool ssl;
diff -r 11708783b5b3 -r 9ab4539b736d src/master/master-settings.c
--- a/src/master/master-settings.c	Thu Jan 28 00:35:11 2010 +0200
+++ b/src/master/master-settings.c	Thu Jan 28 00:40:38 2010 +0200
@@ -58,6 +58,7 @@ static const struct setting_parser_info 
 	{ type, #name, offsetof(struct inet_listener_settings, name), NULL }
 
 static const struct setting_define inet_listener_setting_defines[] = {
+	DEF(SET_STR, name),
 	DEF(SET_STR, address),
 	DEF(SET_UINT, port),
 	DEF(SET_BOOL, ssl),
@@ -66,6 +67,7 @@ static const struct setting_define inet_
 };
 
 static const struct inet_listener_settings inet_listener_default_settings = {
+	.name = "",
 	.address = "",
 	.port = 0,
 	.ssl = FALSE
@@ -75,7 +77,7 @@ static const struct setting_parser_info 
 	.defines = inet_listener_setting_defines,
 	.defaults = &inet_listener_default_settings,
 
-	.type_offset = (size_t)-1,
+	.type_offset = offsetof(struct inet_listener_settings, name),
 	.struct_size = sizeof(struct inet_listener_settings),
 
 	.parent_offset = (size_t)-1,
@@ -115,8 +117,8 @@ static const struct setting_define servi
 		       &file_listener_setting_parser_info),
 	DEFLIST_UNIQUE(fifo_listeners, "fifo_listener",
 		       &file_listener_setting_parser_info),
-	DEFLIST(inet_listeners, "inet_listener",
-		&inet_listener_setting_parser_info),
+	DEFLIST_UNIQUE(inet_listeners, "inet_listener",
+		       &inet_listener_setting_parser_info),
 
 	SETTING_DEFINE_LIST_END
 };
diff -r 11708783b5b3 -r 9ab4539b736d src/pop3-login/pop3-login-settings.c
--- a/src/pop3-login/pop3-login-settings.c	Thu Jan 28 00:35:11 2010 +0200
+++ b/src/pop3-login/pop3-login-settings.c	Thu Jan 28 00:40:38 2010 +0200
@@ -1,6 +1,7 @@
 /* Copyright (c) 2005-2010 Dovecot authors, see the included COPYING file */
 
 #include "lib.h"
+#include "buffer.h"
 #include "settings-parser.h"
 #include "service-settings.h"
 #include "login-settings.h"
@@ -8,6 +9,20 @@
 
 #include <stddef.h>
 
+/* <settings checks> */
+static struct inet_listener_settings pop3_login_inet_listeners_array[] = {
+	{ "pop3", "", 110, FALSE },
+	{ "pop3s", "", 995, TRUE }
+};
+static struct inet_listener_settings *pop3_login_inet_listeners[] = {
+	&pop3_login_inet_listeners_array[0],
+	&pop3_login_inet_listeners_array[1]
+};
+static buffer_t pop3_login_inet_listeners_buf = {
+	pop3_login_inet_listeners, sizeof(pop3_login_inet_listeners), { 0, }
+};
+
+/* </settings checks> */
 struct service_settings pop3_login_service_settings = {
 	.name = "pop3-login",
 	.protocol = "pop3",
@@ -29,7 +44,8 @@ struct service_settings pop3_login_servi
 
 	.unix_listeners = ARRAY_INIT,
 	.fifo_listeners = ARRAY_INIT,
-	.inet_listeners = ARRAY_INIT
+	.inet_listeners = { { &pop3_login_inet_listeners_buf,
+			      sizeof(pop3_login_inet_listeners[0]) } }
 };
 
 static const struct setting_define pop3_login_setting_defines[] = {


More information about the dovecot-cvs mailing list