changeset 19438:f643e85f42ec

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.
author Timo Sirainen <tss@iki.fi>
date Mon, 30 Nov 2015 21:36:51 +0200
parents ac30316bed82
children a36239ce0f78
files src/director/login-connection.c src/director/mail-host.c
diffstat 2 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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",
--- 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;
 }