]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Fail if list=yes namespace prefix starts with hierarchy separator.
authorTimo Sirainen <tss@iki.fi>
Wed, 15 Sep 2010 15:20:21 +0000 (16:20 +0100)
committerTimo Sirainen <tss@iki.fi>
Wed, 15 Sep 2010 15:20:21 +0000 (16:20 +0100)
src/lib-storage/mail-namespace.c

index 1333408c962ce522738e8aed4a047c07abf83754..1ae8daee2e084fa6327f8aff8105f50a1dc1fab6 100644 (file)
@@ -231,6 +231,15 @@ namespaces_check(struct mail_namespace *namespaces, const char **error_r)
                                "to end with separator", ns->prefix);
                        return FALSE;
                }
+               if (*ns->prefix != '\0' &&
+                   (ns->flags & (NAMESPACE_FLAG_LIST_PREFIX |
+                                 NAMESPACE_FLAG_LIST_CHILDREN)) != 0 &&
+                   ns->prefix[0] == ns->sep) {
+                       *error_r = t_strdup_printf(
+                               "list=yes requires prefix=%s "
+                               "not to start with separator", ns->prefix);
+                       return FALSE;
+               }
                if ((ns->flags & (NAMESPACE_FLAG_LIST_PREFIX |
                                  NAMESPACE_FLAG_LIST_CHILDREN)) != 0) {
                        if (list_sep == '\0')