Mercurial > dovecot > core-2.2
changeset 10023:f69fda5d7af5 HEAD
master: Added back "listen" setting, which is the default address for inet_listeners.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 09 Oct 2009 17:55:57 -0400 |
parents | f14b6c68ddce |
children | 85e532d170cc |
files | doc/example-config/conf.d/master.conf doc/example-config/dovecot.conf src/master/master-settings.c src/master/master-settings.h src/master/service-listen.c src/master/service.c src/master/service.h |
diffstat | 7 files changed, 22 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/example-config/conf.d/master.conf Fri Oct 09 17:42:33 2009 -0400 +++ b/doc/example-config/conf.d/master.conf Fri Oct 09 17:55:57 2009 -0400 @@ -70,11 +70,9 @@ auth_dest_service = imap inet_listener { - address = *, :: port = 143 } inet_listener { - address = *, :: port = 993 ssl = yes } @@ -115,11 +113,9 @@ auth_dest_service = pop3 inet_listener { - address = *, :: port = 110 } inet_listener { - address = *, :: port = 995 ssl = yes }
--- a/doc/example-config/dovecot.conf Fri Oct 09 17:42:33 2009 -0400 +++ b/doc/example-config/dovecot.conf Fri Oct 09 17:55:57 2009 -0400 @@ -22,6 +22,12 @@ # Protocols we want to be serving. #protocols = imap pop3 lmtp +# A space separated list of IP or host addresses where to listen in for +# connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6 +# interfaces. Use "*, [::]" for listening both IPv4 and IPv6. If you want to +# specify non-default ports or anything more complex, edit conf.d/master.conf. +#listen = * + # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the
--- a/src/master/master-settings.c Fri Oct 09 17:42:33 2009 -0400 +++ b/src/master/master-settings.c Fri Oct 09 17:55:57 2009 -0400 @@ -166,6 +166,7 @@ DEF(SET_STR, base_dir), DEF(SET_STR, libexec_dir), DEF(SET_STR, protocols), + DEF(SET_STR, listen), DEF(SET_ENUM, ssl), DEF(SET_UINT, default_process_limit), DEF(SET_UINT, default_client_limit), @@ -190,6 +191,7 @@ MEMBER(base_dir) PKG_RUNDIR, MEMBER(libexec_dir) PKG_LIBEXECDIR, MEMBER(protocols) "imap pop3 lmtp", + MEMBER(listen) "*, ::", MEMBER(ssl) "yes:no:required", MEMBER(default_process_limit) 100, MEMBER(default_client_limit) 1000,
--- a/src/master/master-settings.h Fri Oct 09 17:42:33 2009 -0400 +++ b/src/master/master-settings.h Fri Oct 09 17:55:57 2009 -0400 @@ -46,6 +46,7 @@ const char *base_dir; const char *libexec_dir; const char *protocols; + const char *listen; const char *ssl; unsigned int default_process_limit; unsigned int default_client_limit;
--- a/src/master/service-listen.c Fri Oct 09 17:42:33 2009 -0400 +++ b/src/master/service-listen.c Fri Oct 09 17:55:57 2009 -0400 @@ -128,7 +128,7 @@ fd = net_listen(&l->set.inetset.ip, &port, 128); if (fd < 0) { service_error(service, "listen(%s, %u) failed: %m", - set->address, set->port); + l->inet_address, set->port); return errno == EADDRINUSE ? 0 : -1; } net_set_nonblock(fd, TRUE);
--- a/src/master/service.c Fri Oct 09 17:42:33 2009 -0400 +++ b/src/master/service.c Fri Oct 09 17:55:57 2009 -0400 @@ -105,6 +105,7 @@ l->type = SERVICE_LISTENER_INET; l->fd = -1; l->set.inetset.set = set; + l->inet_address = p_strdup(service->list->pool, address); if (resolve_ip(address, &l->set.inetset.ip, error_r) < 0) return NULL; @@ -127,10 +128,17 @@ const char **error_r) { static struct service_listener *l; - const char *const *tmp; + const char *const *tmp, *addresses; bool ssl_disabled = strcmp(service->set->master_set->ssl, "no") == 0; - tmp = t_strsplit_spaces(set->address, ", "); + if (*set->address != '\0') + addresses = set->address; + else { + /* use the default listen address */ + addresses = service->set->master_set->listen; + } + + tmp = t_strsplit_spaces(addresses, ", "); for (; *tmp != NULL; tmp++) { if (set->ssl && ssl_disabled) continue;