Updated module to dovecot-1.1

diff -r 7cafabf38524 cmd-xexec.c
--- a/cmd-xexec.c	Wed Mar 19 00:58:24 2008 +0100
+++ b/cmd-xexec.c	Fri Mar 21 18:12:26 2008 +0100
@@ -128,10 +128,10 @@ static void cmd_xexec_stderr(void *conte
 
 bool cmd_xexec(struct client_command_context *cmd)
 {
-	struct imap_arg * imap_args;
+	const struct imap_arg *imap_args;
 	const char *imap_command;
 	char **backend_command;
-	array_t ARRAY_DEFINE(command, char *);
+	ARRAY_DEFINE(command, char *);
 	pid_t pid;
 	int status;
 	int pipe_in[2];
@@ -177,12 +177,13 @@ bool cmd_xexec(struct client_command_con
 		return FALSE;
 	}
 
-	ARRAY_CREATE(&command, unsafe_data_stack_pool, char *, 8);
+	t_array_init(&command, 8);
 
-	array_append(&command, backend_command, strarray_length((char const * const *)backend_command));
+	array_append(&command, backend_command, 
+		str_array_length((char const * const *)backend_command));
 
 	for (i = 1; imap_args[i].type != IMAP_ARG_EOL; i++) {
-		const char *str = imap_arg_string(&imap_args[i]);
+		char *str = p_strdup(cmd->pool, imap_arg_string(&imap_args[i]));
 		if (str == NULL) {
 			client_send_command_error(cmd, "Invalid arguments.");
 			t_pop();
@@ -236,7 +237,7 @@ bool cmd_xexec(struct client_command_con
 		}
 		close(pipe_err[1]);
 
-		execvp(*(char **)array_idx(&command, 0), array_get(&command, NULL));
+		execvp(*(char **)array_idx(&command, 0), array_idx(&command, 0));
 		exit(1);
 	}
 
@@ -246,11 +247,11 @@ bool cmd_xexec(struct client_command_con
 	close(pipe_out[1]);
 	close(pipe_err[1]);
 
-	ctx->in = o_stream_create_file(pipe_in[1], default_pool, 0, TRUE);
-	ctx->out = i_stream_create_file(pipe_out[0], default_pool, 1024, TRUE);
-	ctx->err = i_stream_create_file(pipe_err[0], default_pool, 1024, TRUE);
+	ctx->in = o_stream_create_fd(pipe_in[1], 0, TRUE);
+	ctx->out = i_stream_create_fd(pipe_out[0], 1024, TRUE);
+	ctx->err = i_stream_create_fd(pipe_err[0], 1024, TRUE);
 
-	ctx->loop = io_loop_create(default_pool);
+	ctx->loop = io_loop_create();
 	ctx->io_out = io_add(i_stream_get_fd(ctx->out), IO_READ,
 			     cmd_xexec_stdout, ctx);
 	ctx->io_err = io_add(i_stream_get_fd(ctx->err), IO_READ,
diff -r 7cafabf38524 xexec.h
--- a/xexec.h	Wed Mar 19 00:58:24 2008 +0100
+++ b/xexec.h	Fri Mar 21 18:12:26 2008 +0100
@@ -5,7 +5,7 @@
 
 
 struct xexec {
-	array_t ARRAY_DEFINE(setups, struct xexec_setups *);
+	ARRAY_DEFINE(setups, struct xexec_setup *);
 };
 
 struct xexec_setup {
diff -r 7cafabf38524 xexec_plugin.c
--- a/xexec_plugin.c	Wed Mar 19 00:58:24 2008 +0100
+++ b/xexec_plugin.c	Fri Mar 21 18:12:26 2008 +0100
@@ -75,7 +75,7 @@ static struct xexec *xexec_init(void)
 	struct xexec *xexec;
 
 	xexec = i_new(struct xexec, 1);
-	ARRAY_CREATE(&xexec->setups, default_pool, struct xexec_setup *, 4);
+	i_array_init(&xexec->setups, 4);
 	return xexec;
 }
 
@@ -122,7 +122,7 @@ void xexec_plugin_init(void)
 	}
 	t_pop();
 
-	command_register("XEXEC", cmd_xexec);
+	command_register("XEXEC", cmd_xexec, 0);
 	str_append(capability_string, " XEXEC");
 }
 
