]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Mailbox name fixing didn't work when namespace prefixes were used.
authorTimo Sirainen <tss@iki.fi>
Thu, 4 Apr 2013 20:03:47 +0000 (23:03 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 4 Apr 2013 20:03:47 +0000 (23:03 +0300)
src/doveadm/dsync/dsync-brain-mailbox-tree.c

index a049aee81beb7eb6ea91d135fb8aa805ffd312b2..6d26a9897504f32425cbb098bbbe634ef56a6110 100644 (file)
@@ -245,13 +245,14 @@ dsync_fix_mailbox_name(struct mail_namespace *ns, string_t *vname,
                        return;
        }
        /* 3) probably some reserved name (e.g. dbox-Mails) */
-       str_insert(vname, 0, "_");
+       str_insert(vname, ns->prefix_len, "_");
        if (dsync_is_valid_name(ns, str_c(vname)))
                return;
 
        /* 4) name is too long? just give up and generate a unique name */
        guid_128_generate(guid);
        str_truncate(vname, 0);
+       str_append(vname, ns->prefix);
        str_append(vname, guid_128_to_string(guid));
        i_assert(dsync_is_valid_name(ns, str_c(vname)));
 }