Mercurial > dovecot > core-2.2
changeset 12357:f55b91aaddfe
director: inet_listener port finder should ignore doveadm's port.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 02 Nov 2010 13:43:43 +0000 |
parents | b7511f567d2e |
children | 4ee632794f0b |
files | src/director/main.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/main.c Mon Nov 01 14:33:26 2010 +0000 +++ b/src/director/main.c Tue Nov 02 13:43:43 2010 +0000 @@ -103,7 +103,9 @@ } } -static unsigned int find_inet_listener_port(struct ip_addr *ip_r) +static unsigned int +find_inet_listener_port(struct ip_addr *ip_r, + const struct director_settings *set) { unsigned int i, socket_count, port; @@ -111,7 +113,8 @@ for (i = 0; i < socket_count; i++) { int fd = MASTER_LISTEN_FD_FIRST + i; - if (net_getsockname(fd, ip_r, &port) == 0 && port > 0) + if (net_getsockname(fd, ip_r, &port) == 0 && port > 0 && + port != set->director_doveadm_port) return port; } return 0; @@ -150,7 +153,7 @@ userdb_socket_path = i_strconcat(set->base_dir, "/"AUTH_USERDB_SOCKET_PATH, NULL); - listen_port = find_inet_listener_port(&listen_ip); + listen_port = find_inet_listener_port(&listen_ip, set); if (listen_port == 0 && *set->director_servers != '\0') { i_fatal("No inet_listeners defined for director service " "(for standalone keep director_servers empty)");