]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
director: doveadm command handling was missing USER-KICK-ALT
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 15 Dec 2016 17:02:56 +0000 (19:02 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 15 Dec 2016 17:02:56 +0000 (19:02 +0200)
src/director/doveadm-connection.c

index cfcd0142fb57ad8ad14ae90780bf015cfb934780..8546c8e0eb570d46f95bac136611000e917d2023 100644 (file)
@@ -692,6 +692,20 @@ doveadm_cmd_user_kick(struct doveadm_connection *conn, const char *const *args)
        return 1;
 }
 
+static int
+doveadm_cmd_user_kick_alt(struct doveadm_connection *conn, const char *const *args)
+{
+       if (str_array_length(args) < 2) {
+               i_error("doveadm sent invalid USER-KICK-ALT parameters");
+               return -1;
+       }
+
+       director_kick_user_alt(conn->dir, conn->dir->self_host, NULL,
+                              args[0], args[1]);
+       o_stream_nsend(conn->output, "OK\n", 3);
+       return 1;
+}
+
 static int
 doveadm_connection_cmd(struct doveadm_connection *conn, const char *line)
 {
@@ -738,6 +752,8 @@ doveadm_connection_cmd(struct doveadm_connection *conn, const char *line)
                ret = doveadm_cmd_user_move(conn, args);
        else if (strcmp(cmd, "USER-KICK") == 0)
                ret = doveadm_cmd_user_kick(conn, args);
+       else if (strcmp(cmd, "USER-KICK-ALT") == 0)
+               ret = doveadm_cmd_user_kick_alt(conn, args);
        else {
                i_error("doveadm sent unknown command: %s", line);
                ret = -1;