From: Timo Sirainen Date: Mon, 24 Oct 2016 17:16:57 +0000 (+0300) Subject: director: Make sure IP address parsing works in DIRECTOR-ADD/REMOVE X-Git-Tag: 2.2.26~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e086c5434f05618c8d94a59f30eb36ff93f1b002;p=thirdparty%2Fdovecot%2Fcore.git director: Make sure IP address parsing works in DIRECTOR-ADD/REMOVE We were passing the entire string through to net_addr2ip(). It seems that inet_aton() stops at whitespace though, so this wasn't actually causing errors at least on Linux. --- diff --git a/src/director/doveadm-connection.c b/src/director/doveadm-connection.c index 5a29e6e218..926f4ebce4 100644 --- a/src/director/doveadm-connection.c +++ b/src/director/doveadm-connection.c @@ -203,7 +203,7 @@ doveadm_cmd_director_add(struct doveadm_connection *conn, const char *line) args = t_strsplit_tab(line); if (args[0] == NULL || - net_addr2ip(line, &ip) < 0 || + net_addr2ip(args[0], &ip) < 0 || (args[1] != NULL && net_str2port(args[1], &port) < 0)) { i_error("doveadm sent invalid DIRECTOR-ADD parameters"); return -1; @@ -227,7 +227,7 @@ doveadm_cmd_director_remove(struct doveadm_connection *conn, const char *line) args = t_strsplit_tab(line); if (args[0] == NULL || - net_addr2ip(line, &ip) < 0 || + net_addr2ip(args[0], &ip) < 0 || (args[1] != NULL && net_str2port(args[1], &port) < 0)) { i_error("doveadm sent invalid DIRECTOR-REMOVE parameters"); return -1;