]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
director: Make sure IP address parsing works in DIRECTOR-ADD/REMOVE
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 24 Oct 2016 17:16:57 +0000 (20:16 +0300)
committerGitLab <gitlab@git.dovecot.net>
Tue, 25 Oct 2016 17:33:27 +0000 (20:33 +0300)
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.

src/director/doveadm-connection.c

index 7451adfc2d13169edf23eeb2d79e0ddc87c8debb..f179c693e39823983c2dc787bd1569bbf8d22f2f 100644 (file)
@@ -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;