dovecot-2.2: director: Don't treat empty hostname the same as ha...

dovecot at dovecot.org dovecot at dovecot.org
Mon Nov 30 19:40:09 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/f643e85f42ec
changeset: 19438:f643e85f42ec
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Nov 30 21:36:51 2015 +0200
description:
director: Don't treat empty hostname the same as having it.
This could have caused "host not given" errors if an empty "host=" was sent
to login process, even though hostip was also sent.

Fixed this in two places, although either one should have been enough.

diffstat:

 src/director/login-connection.c |  2 +-
 src/director/mail-host.c        |  3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diffs (25 lines):

diff -r ac30316bed82 -r f643e85f42ec src/director/login-connection.c
--- a/src/director/login-connection.c	Mon Nov 30 21:32:26 2015 +0200
+++ b/src/director/login-connection.c	Mon Nov 30 21:36:51 2015 +0200
@@ -153,7 +153,7 @@
 
 		secs = dir->set->director_user_expire / 2;
 		str_printfa(str, "%s\tproxy_refresh=%u\t", request->line, secs);
-		if (hostname == NULL)
+		if (hostname == NULL || hostname[0] == '\0')
 			str_printfa(str, "host=%s", net_ip2addr(ip));
 		else {
 			str_printfa(str, "host=%s\thostip=%s",
diff -r ac30316bed82 -r f643e85f42ec src/director/mail-host.c
--- a/src/director/mail-host.c	Mon Nov 30 21:32:26 2015 +0200
+++ b/src/director/mail-host.c	Mon Nov 30 21:36:51 2015 +0200
@@ -211,7 +211,8 @@
 	struct mail_host *host;
 
 	host = mail_host_add_ip(list, ip, tag_name);
-	host->hostname = i_strdup(hostname);
+	if (hostname != NULL && hostname[0] != '\0')
+		host->hostname = i_strdup(hostname);
 	return host;
 }
 


More information about the dovecot-cvs mailing list