dovecot-2.0: doveadm: Call mail command's init() only after serv...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Oct 18 20:30:45 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/507d4c4859cf
changeset: 12303:507d4c4859cf
user: Timo Sirainen <tss at iki.fi>
date: Mon Oct 18 18:30:02 2010 +0100
description:
doveadm: Call mail command's init() only after service storage is initialized.
diffstat:
src/doveadm/client-connection.c | 3 +--
src/doveadm/doveadm-mail.c | 12 ++++++------
src/doveadm/doveadm-mail.h | 2 +-
3 files changed, 8 insertions(+), 9 deletions(-)
diffs (78 lines):
diff -r 27289650ed4c -r 507d4c4859cf src/doveadm/client-connection.c
--- a/src/doveadm/client-connection.c Mon Oct 18 18:09:56 2010 +0100
+++ b/src/doveadm/client-connection.c Mon Oct 18 18:30:02 2010 +0100
@@ -87,8 +87,7 @@
doveadm_print_sticky("username", username);
}
- ctx->v.init(ctx, (const void *)argv);
- doveadm_mail_single_user(ctx, username, service_flags);
+ doveadm_mail_single_user(ctx, argv, username, service_flags);
ctx->v.deinit(ctx);
doveadm_print_flush();
return !ctx->failed;
diff -r 27289650ed4c -r 507d4c4859cf src/doveadm/doveadm-mail.c
--- a/src/doveadm/doveadm-mail.c Mon Oct 18 18:09:56 2010 +0100
+++ b/src/doveadm/doveadm-mail.c Mon Oct 18 18:30:02 2010 +0100
@@ -226,7 +226,7 @@
}
void doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx,
- const char *username,
+ char *argv[], const char *username,
enum mail_storage_service_flags service_flags)
{
struct mail_storage_service_input input;
@@ -241,6 +241,7 @@
ctx->storage_service = mail_storage_service_init(master_service, NULL,
service_flags);
+ ctx->v.init(ctx, (const void *)argv);
if (hook_doveadm_mail_init != NULL)
hook_doveadm_mail_init(ctx);
@@ -258,7 +259,7 @@
}
static void
-doveadm_mail_all_users(struct doveadm_mail_cmd_context *ctx,
+doveadm_mail_all_users(struct doveadm_mail_cmd_context *ctx, char *argv[],
const char *wildcard_user,
enum mail_storage_service_flags service_flags)
{
@@ -277,6 +278,7 @@
lib_signals_set_handler(SIGINT, FALSE, sig_die, NULL);
lib_signals_set_handler(SIGTERM, FALSE, sig_die, NULL);
+ ctx->v.init(ctx, (const void *)argv);
if (hook_doveadm_mail_init != NULL)
hook_doveadm_mail_init(ctx);
@@ -410,13 +412,11 @@
DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE);
}
- ctx->v.init(ctx, (const void *)argv);
-
if (ctx->iterate_single_user) {
- doveadm_mail_single_user(ctx, username, service_flags);
+ doveadm_mail_single_user(ctx, argv, username, service_flags);
} else {
service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP;
- doveadm_mail_all_users(ctx, wildcard_user, service_flags);
+ doveadm_mail_all_users(ctx, argv, wildcard_user, service_flags);
}
ctx->v.deinit(ctx);
doveadm_print_flush();
diff -r 27289650ed4c -r 507d4c4859cf src/doveadm/doveadm-mail.h
--- a/src/doveadm/doveadm-mail.h Mon Oct 18 18:09:56 2010 +0100
+++ b/src/doveadm/doveadm-mail.h Mon Oct 18 18:30:02 2010 +0100
@@ -82,7 +82,7 @@
struct doveadm_mail_cmd_context *
doveadm_mail_cmd_init(const struct doveadm_mail_cmd *cmd);
void doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx,
- const char *username,
+ char *argv[], const char *username,
enum mail_storage_service_flags service_flags);
int doveadm_mail_server_user(struct doveadm_mail_cmd_context *ctx,
struct mail_storage_service_user *user);
More information about the dovecot-cvs
mailing list