changeset 21312:f9db0ad9001e

director: doveadm command handling was missing USER-KICK-ALT
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 15 Dec 2016 19:02:56 +0200
parents 04ba3511d02a
children a309b9ab46e6
files src/director/doveadm-connection.c
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/director/doveadm-connection.c	Thu Dec 15 15:00:54 2016 +0200
+++ b/src/director/doveadm-connection.c	Thu Dec 15 19:02:56 2016 +0200
@@ -682,6 +682,20 @@
 }
 
 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)
 {
 	const char *cmd, *const *args;
@@ -727,6 +741,8 @@
 		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;