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.3.0.rc1~2787 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49ec317299dedfbc27be79ab97d5b7a8ba7a4eac;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 7451adfc2d..f179c693e3 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_tabescaped(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_tabescaped(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;