Mercurial > dovecot > core-2.2
changeset 10595:9ab4539b736d HEAD
Added default inet_listeners for imap/pop3-login.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 28 Jan 2010 00:40:38 +0200 |
parents | 11708783b5b3 |
children | 51452840b8b4 |
files | 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 |
diffstat | 5 files changed, 50 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- 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 pop3-login { - inet_listener { - port = 110 + inet_listener pop3 { + #port = 110 } - inet_listener { - port = 995 - ssl = yes + inet_listener pop3s { + #port = 995 + #ssl = yes } }
--- 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,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 @@ .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
--- 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, struct file_listener_settings *); struct inet_listener_settings { + const char *name; const char *address; unsigned int port; bool ssl;
--- 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 @@ { 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 inet_listener_settings inet_listener_default_settings = { + .name = "", .address = "", .port = 0, .ssl = FALSE @@ -75,7 +77,7 @@ .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 @@ &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 };
--- 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 @@ .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[] = {