]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Fixed autoexpunge for namespaces with non-empty prefix
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 4 Jan 2016 19:23:46 +0000 (14:23 -0500)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 4 Jan 2016 19:23:46 +0000 (14:23 -0500)
src/lib-storage/mail-autoexpunge.c

index 9c1937d0b9a303d74ec3ce8fef5fdc7a74061bcc..f61d8378f3f06fd421201c186a3c2fb623da73e5 100644 (file)
@@ -63,6 +63,7 @@ static void mail_namespace_autoexpunge(struct mail_namespace *ns)
        struct mailbox_settings *const *box_set;
        struct mailbox *box;
        time_t expire_time;
+       const char *vname;
 
        if (!array_is_created(&ns->set->mailboxes))
                return;
@@ -71,8 +72,10 @@ static void mail_namespace_autoexpunge(struct mail_namespace *ns)
                if ((*box_set)->autoexpunge == 0 ||
                    (unsigned int)ioloop_time < (*box_set)->autoexpunge)
                        continue;
+
+               vname = t_strconcat(ns->prefix, (*box_set)->name, NULL);
                expire_time = ioloop_time - (*box_set)->autoexpunge;
-               box = mailbox_alloc(ns->list, (*box_set)->name, 0);
+               box = mailbox_alloc(ns->list, vname, 0);
                if (mailbox_autoexpunge(box, expire_time) < 0) {
                        i_error("Failed to autoexpunge mailbox '%s': %s",
                                mailbox_get_vname(box),