return TRUE;
}
host = mail_host_add_ip(dir->mail_hosts, &ip, tag);
+ } else if (host->desynced) {
+ o_stream_nsend_str(conn->output,
+ "host is already being updated - try again later\n");
+ return TRUE;
}
if (vhost_count != UINT_MAX)
mail_host_set_vhost_count(dir->mail_hosts, host, vhost_count);
o_stream_nsend_str(conn->output, "NOTFOUND\n");
return TRUE;
}
- if (host->down != down) {
+ if (host->down == down)
+ ;
+ else if (host->desynced) {
+ o_stream_nsend_str(conn->output,
+ "host is already being updated - try again later\n");
+ return TRUE;
+ } else {
mail_host_set_down(conn->dir->mail_hosts, host,
down, ioloop_time);
director_update_host(conn->dir, conn->dir->self_host,