]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added default inet_listeners for imap/pop3-login.
authorTimo Sirainen <tss@iki.fi>
Wed, 27 Jan 2010 22:40:38 +0000 (00:40 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 27 Jan 2010 22:40:38 +0000 (00:40 +0200)
--HG--
branch : HEAD

doc/example-config/conf.d/master.conf
src/imap-login/imap-login-settings.c
src/lib-master/service-settings.h
src/master/master-settings.c
src/pop3-login/pop3-login-settings.c

index 7206d80ca73ea2de788497dd401df28cc6f0fc83..2d7e2590a07501c47ab68bfdaded0a714eb325bf 100644 (file)
@@ -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
   }
 }
 
index c66d693cbf907bd919ff4ae1dd94683e451be43f..8fb20e9a61188b8442de18ea8d5b9fdd5fa02311 100644 (file)
@@ -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 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",
        .protocol = "imap",
@@ -29,7 +44,8 @@ struct service_settings imap_login_service_settings = {
 
        .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
index b17fab5e46bebb3f6a1bdda2e3029814dcee5693..35dbfc392ae7847160778e3bde4fb91e5f66574a 100644 (file)
@@ -20,6 +20,7 @@ struct 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;
index 0576b948cdd59131f8b5b543119aa45158357aa1..b632d98e8505b5c140b2a10043c4f9efeeb1cee2 100644 (file)
@@ -58,6 +58,7 @@ static const struct setting_parser_info file_listener_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_listener_setting_defines[] = {
 };
 
 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 inet_listener_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 service_setting_defines[] = {
                       &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
 };
index c4e760a6904d8579194415d1563b64655b9a9ee1..220278b65bba8b074efd8a8462b09c5726c0229f 100644 (file)
@@ -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_service_settings = {
 
        .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[] = {