Blob Blame Raw
diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_commit.c cyrus-imapd-2.3.1/imap/sync_commit.c
--- cyrus-imapd-2.3.1.orig/imap/sync_commit.c	2005-12-13 16:31:10.000000000 +0100
+++ cyrus-imapd-2.3.1/imap/sync_commit.c	2006-01-25 10:18:50.000000000 +0100
@@ -834,9 +834,15 @@
     /* Must be atleast MAX_PARTITION_LEN + 30 for partition, need
      * MAX_PARTITION_LEN + HOSTNAME_SIZE + 2 for mupdate location */
     char buf[MAX_PARTITION_LEN + HOSTNAME_SIZE + 2];
+    char *mbox = name;
+    char *p;
 
     /* Need an extra sanity check here as normal ACL logic is bypassed */
-    r = mboxname_policycheck(name);
+    if (config_virtdomains && (p = strchr(name, '!'))) {
+        /* pointer to mailbox w/o domain prefix */
+        mbox = p + 1;
+    }
+    r = mboxname_policycheck(mbox);
     if (r) return r;
 
     if (!uniqueid) {