From: Timo Sirainen Date: Tue, 17 Jan 2012 13:44:26 +0000 (+0200) Subject: director: Find director's own IP earlier in init. X-Git-Tag: 2.1.rc4~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4900d31385344bfadaee53a897daeafdb3063d8;p=thirdparty%2Fdovecot%2Fcore.git director: Find director's own IP earlier in init. --- diff --git a/src/director/director.c b/src/director/director.c index 6d39ce03e1..7babb73cf6 100644 --- a/src/director/director.c +++ b/src/director/director.c @@ -48,7 +48,7 @@ static void director_find_self_ip(struct director *dir) i_fatal("director_servers doesn't list ourself"); } -static void director_find_self(struct director *dir) +void director_find_self(struct director *dir) { if (dir->self_host != NULL) return; @@ -126,7 +126,6 @@ void director_connect(struct director *dir) struct director_host *const *hosts; unsigned int i, count, self_idx; - director_find_self(dir); self_idx = director_find_self_idx(dir); /* try to connect to first working server on our right side. diff --git a/src/director/director.h b/src/director/director.h index f737f725b0..c6a712e78b 100644 --- a/src/director/director.h +++ b/src/director/director.h @@ -66,6 +66,7 @@ director_init(const struct director_settings *set, const struct ip_addr *listen_ip, unsigned int listen_port, director_state_change_callback_t *callback); void director_deinit(struct director **dir); +void director_find_self(struct director *dir); /* Start connecting to other directors */ void director_connect(struct director *dir); diff --git a/src/director/main.c b/src/director/main.c index d5908d4a2f..8ef145363d 100644 --- a/src/director/main.c +++ b/src/director/main.c @@ -150,6 +150,7 @@ static void main_preinit(void) director = director_init(set, &listen_ip, listen_port, director_state_changed); director_host_add_from_string(director, set->director_servers); + director_find_self(director); if (mail_hosts_parse_and_add(director->mail_hosts, set->director_mail_servers) < 0) i_fatal("Invalid value for director_mail_servers setting");