dovecot-2.0: doveadm import: Initialize the import user properly.
dovecot at dovecot.org
dovecot at dovecot.org
Fri Apr 8 17:27:56 EEST 2011
details: http://hg.dovecot.org/dovecot-2.0/rev/e2b747f88e54
changeset: 12726:e2b747f88e54
user: Timo Sirainen <tss at iki.fi>
date: Fri Apr 08 17:27:52 2011 +0300
description:
doveadm import: Initialize the import user properly.
diffstat:
src/doveadm/doveadm-mail-import.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diffs (38 lines):
diff -r 1f545a4a1ffb -r e2b747f88e54 src/doveadm/doveadm-mail-import.c
--- a/src/doveadm/doveadm-mail-import.c Fri Apr 08 17:26:49 2011 +0300
+++ b/src/doveadm/doveadm-mail-import.c Fri Apr 08 17:27:52 2011 +0300
@@ -158,7 +158,7 @@
struct mail_storage_service_input input;
struct mail_storage_service_user *service_user;
struct mail_user *user;
- const char *src_location, *error, *userdb_fields[2];
+ const char *src_location, *error;
if (str_array_length(args) < 3)
doveadm_mail_help_name("import");
@@ -166,19 +166,19 @@
ctx->dest_parent = p_strdup(_ctx->pool, args[1]);
ctx->ctx.search_args = doveadm_mail_build_search_args(args+2);
- /* @UNSAFE */
- userdb_fields[0] = t_strconcat("mail=", src_location, NULL);
- userdb_fields[1] = NULL;
-
/* create a user for accessing the source storage */
memset(&input, 0, sizeof(input));
input.module = "mail";
input.username = "doveadm";
- input.no_userdb_lookup = TRUE;
- input.userdb_fields = userdb_fields;
+ input.flags_override_add = MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES |
+ MAIL_STORAGE_SERVICE_FLAG_NO_RESTRICT_ACCESS;
+ input.flags_override_remove = MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP;
if (mail_storage_service_lookup_next(ctx->ctx.storage_service, &input,
&service_user, &user, &error) < 0)
i_fatal("Import user initialization failed: %s", error);
+ if (mail_namespaces_init_location(user, src_location, &error) < 0)
+ i_fatal("Import namespace initialization failed: %s", error);
+
ctx->src_user = user;
mail_storage_service_user_free(&service_user);
}
More information about the dovecot-cvs
mailing list