dovecot-2.0: Added default inet_listeners for imap/pop3-login.
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jan 28 00:40:43 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/9ab4539b736d
changeset: 10595: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