瀏覽代碼

don't refuse to strip Path just because it's INBOX/

no ambiguity can result from this, so there is no reason to treat
sub-folders of INBOX differently from any other namespace.
Oswald Buddenhagen 10 年之前
父節點
當前提交
d8225390fc
共有 2 個文件被更改,包括 13 次插入8 次删除
  1. 3 0
      NEWS
  2. 10 8
      src/drv_imap.c

+ 3 - 0
NEWS

@@ -2,6 +2,9 @@
 
 The 'isync' compatibility wrapper is now deprecated.
 
+An IMAP Path/NAMESPACE rooted in INBOX won't be handled specially any more.
+This means that some Patterns may need adjustment.
+
 The SSL/TLS configuration has been re-designed.
 SSL is now explicitly enabled or disabled - "use SSL if available" is gone.
 Notice: Tunnels are assumed to be secure and thus default to no SSL.

+ 10 - 8
src/drv_imap.c

@@ -1149,14 +1149,16 @@ parse_list_rsp_p2( imap_store_t *ctx, list_t *list, char *cmd ATTR_UNUSED )
 	}
 	arg = list->val;
 	argl = list->len;
-	if (!is_inbox( ctx, arg, argl ) && (l = strlen( ctx->prefix ))) {
-		if (!starts_with( arg, argl, ctx->prefix, l ))
-			goto skip;
-		arg += l;
-		argl -= l;
-		if (is_inbox( ctx, arg, argl )) {
-			if (!arg[5])
-				warn( "IMAP warning: ignoring INBOX in %s\n", ctx->prefix );
+	if ((l = strlen( ctx->prefix ))) {
+		if (starts_with( arg, argl, ctx->prefix, l )) {
+			arg += l;
+			argl -= l;
+			if (is_inbox( ctx, arg, argl )) {
+				if (!arg[5])
+					warn( "IMAP warning: ignoring INBOX in %s\n", ctx->prefix );
+				goto skip;
+			}
+		} else if (!is_inbox( ctx, arg, argl )) {
 			goto skip;
 		}
 	}