Mercurial > dovecot > core-2.2
changeset 20807:9c0efffeb1f3
director: Ignore duplicates in director_servers setting.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Tue, 27 Sep 2016 20:21:55 +0300 |
parents | 096e9dea4145 |
children | 93ab8e7c6081 |
files | src/director/director-host.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-host.c Fri Sep 30 12:36:33 2016 +0300 +++ b/src/director/director-host.c Tue Sep 27 20:21:55 2016 +0300 @@ -28,6 +28,8 @@ { struct director_host *host; + i_assert(director_host_lookup(dir, ip, port) == NULL); + host = i_new(struct director_host, 1); host->dir = dir; host->refcount = 1; @@ -159,8 +161,10 @@ if (net_gethostbyname(host, &ips, &ips_count) < 0) i_fatal("Unknown director host: %s", host); - for (i = 0; i < ips_count; i++) - (void)director_host_add(dir, &ips[i], port); + for (i = 0; i < ips_count; i++) { + if (director_host_lookup(dir, &ips[i], port) == NULL) + (void)director_host_add(dir, &ips[i], port); + } } void director_host_add_from_string(struct director *dir, const char *hosts)