[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#781089: marked as done (unblock: cyrus-imapd-2.4/2.4.17+caldav~beta10-18)



Your message dated Tue, 24 Mar 2015 19:48:50 +0000
with message-id <1427226530.26766.25.camel@adam-barratt.org.uk>
and subject line Re: Bug#781089: unblock: cyrus-imapd-2.4/2.4.17+caldav~beta10-18
has caused the Debian Bug report #781089,
regarding unblock: cyrus-imapd-2.4/2.4.17+caldav~beta10-18
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
781089: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781089
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Please unblock package cyrus-imapd-2.4

The -18 fixes one packaging bug (invalid PIDFile location in sysv-rc
script) and pulls two upstream fixes.

cyrus-imapd-2.4 (2.4.17+caldav~beta10-18) unstable; urgency=medium

  * Fix PIDFile location in sysvinit script (Closes: #778781)
  * Fix ACL string corruption on removal of an ACL identifier
    (Closes: #778779)

 -- Ondřej Surý <ondrej@debian.org>  Tue, 24 Mar 2015 12:09:49 +0100

cyrus-imapd-2.4 (2.4.17+caldav~beta10-17) unstable; urgency=medium

  [Daniel Dickinson]
  * Fix users in virtual domains cannot access caldav/carddav
    (Closes: #774128)

 -- Ondřej Surý <ondrej@debian.org>  Mon, 02 Feb 2015 10:27:53 +0100

debdiff is attached

$ diffstat cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debdiff
 changelog                                 |   16 +
 cyrus-common.cyrus-imapd.init             |    2
 patches/bug778779.patch                   |   34 +++
 patches/fix-caldav-virtdomain-users.patch |  276 ++++++++++++++++++++++++++++++
 patches/series                            |    2
 5 files changed, 329 insertions(+), 1 deletion(-)

unblock cyrus-imapd-2.4/2.4.17+caldav~beta10-18

- -- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (990, 'testing'), (700, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQJ8BAEBCgBmBQJVEUjFXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzMEI5MzNEODBGQ0UzRDk4MUEyRDM4RkIw
Qzk5QjcwRUY0RkNCQjA3AAoJEAyZtw70/LsHnngQAM+iVCO7KypKav7quV7hx5DH
s5esuu9u0aae5/+GN5Ogsgz8m95nNBI2HW2sjWV4kZaGqBILUEZjJhBdg7w2I28F
fsWi4RjRduNa95Eb3CgJCQ7ND9mqg/XF1IJPOe+aoty//fpNtUVu4u45+WuG/elK
RaqSMNbucvgo/KIoYntQzPLpbej6EGg1y+WR6f8ajyokbMpO3RwKDcmXKsDBHNbg
CKjLyptYlsX/mAw58DT0wsxU+kAj+ms+yeGC/rXxm8i5Tcu6lGNJrGBchhWqAb5R
PtXL9BuTxQjjiE+SHm25KbHhHe+UHvagWlo8xuiB9YAeQpl/+XwnnQjvSk5MCZwD
NIfyV4dldff8Sc411r9D2zpZuj0GBD63P4L+dXXqdMbxXvLdI3a2s/DvkLjTM/F9
OjRLu6qhjrV56ZNS/fh98xAZAE11nKJbYjyjdrOkTZ3J19dMUFaWrGmVq/uG8UCU
VK99Rxbuvwg6KYyz9SofBpNDicAd8GHpv2VmHy2H1760/6dzXZza5p2E8tHFO904
Zr4JBIcgKnE2ECPI9jHIp/qZdCKG6cnUd4ie/ROMhzV3UqFqYWm1KfaeKBlDOOj0
fHtiZfgu5bwUXsDdRO/Kebt755fUjlIAQVJPzd9v5tOkXl4wGTuT1uEXg8XjVn7Z
F6RhE95qgbVzBWpiUix1
=e4Fi
-----END PGP SIGNATURE-----
diff -Nru cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/changelog cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/changelog
--- cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/changelog	2015-01-07 13:30:44.000000000 +0100
+++ cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/changelog	2015-03-24 12:10:20.000000000 +0100
@@ -1,3 +1,19 @@
+cyrus-imapd-2.4 (2.4.17+caldav~beta10-18) unstable; urgency=medium
+
+  * Fix PIDFile location in sysvinit script (Closes: #778781)
+  * Fix ACL string corruption on removal of an ACL identifier
+    (Closes: #778779)
+
+ -- Ondřej Surý <ondrej@debian.org>  Tue, 24 Mar 2015 12:09:49 +0100
+
+cyrus-imapd-2.4 (2.4.17+caldav~beta10-17) unstable; urgency=medium
+
+  [Daniel Dickinson]
+  * Fix users in virtual domains cannot access caldav/carddav
+    (Closes: #774128)
+
+ -- Ondřej Surý <ondrej@debian.org>  Mon, 02 Feb 2015 10:27:53 +0100
+
 cyrus-imapd-2.4 (2.4.17+caldav~beta10-16) unstable; urgency=medium
 
   * Manually add dpkg (>= 1.17.14) to Pre-Depends to have correctly
diff -Nru cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/cyrus-common.cyrus-imapd.init cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/cyrus-common.cyrus-imapd.init
--- cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/cyrus-common.cyrus-imapd.init	2015-01-07 13:30:44.000000000 +0100
+++ cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/cyrus-common.cyrus-imapd.init	2015-03-24 12:10:20.000000000 +0100
@@ -31,7 +31,7 @@
 PATH=/sbin:/usr/sbin:/bin:/usr/bin
 NAME=cyrmaster
 DAEMON=/usr/sbin/${NAME}
-PIDFILE="/var/run/cyrus-master.pid"
+PIDFILE="/var/run/cyrmaster.pid"
 DESC="Cyrus IMAPd"
 
 # Check if Cyrus is installed (vs. removed but not purged)
diff -Nru cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/bug778779.patch cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/bug778779.patch
--- cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/bug778779.patch	1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/bug778779.patch	2015-03-24 12:10:20.000000000 +0100
@@ -0,0 +1,34 @@
+From 22d8e9f4121bf788935a90e458e92568c669f296 Mon Sep 17 00:00:00 2001
+From: Thomas Jarosch <thomas.jarosch@intra2net.com>
+Date: Thu, 21 Nov 2013 11:50:20 +0100
+Subject: Fix ACL string corruption on removal of an ACL identifier
+
+It's an invalid operation to call strcpy() on overlapping memory buffers.
+Newer glibc versions use special optimizations and therefore
+compute unexpected results (=trash the ACLs).
+
+Fix it by constructing the modified ACL string in a new buffer.
+
+--- cyrus-imapd-2.4.orig/lib/acl_afs.c
++++ cyrus-imapd-2.4/lib/acl_afs.c
+@@ -186,8 +186,18 @@ void *canonrock;
+     }
+ 
+     if (access == 0L) {
+-	/* Remove any existing entry for 'identifier' */
+-	strcpy(thisid, nextid);
++	/* Remove any existing entry for 'identifier'.
++	   Special case: When we try to delete an invalid/non-existent identifier,
++	   both 'thisid' and 'nextid' point to the end of *acl. */
++	newacl = xmalloc(strlen(*acl) + strlen(nextid) - strlen(thisid) + 1);
++	/* Copy existing ACLs without the current identifier.
++	   Note: The buffer will not be zero terminated. */
++	strncpy(newacl, *acl, (thisid - *acl));
++	/* Append the remaining ACL string. Zero-terminates the string. */
++	strcpy(newacl + (thisid - *acl), nextid);
++
++	free(*acl);
++	*acl = newacl;
+     }
+     else {
+ 	/* Replace any existing entry for 'identifier' */
diff -Nru cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/fix-caldav-virtdomain-users.patch cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/fix-caldav-virtdomain-users.patch
--- cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/fix-caldav-virtdomain-users.patch	1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/fix-caldav-virtdomain-users.patch	2015-03-24 12:10:20.000000000 +0100
@@ -0,0 +1,276 @@
+Description: Fix CalDAV/CardDAV with Virtual Domains
+ Fix CalDAV/CardDAV when user is in a virtual domain so that the virtual
+ domain gets used in the mailbox name.  This fixes CalDAV failing
+ to create/open mailbox for calendars when user is not in default
+ or only domain.
+ There were three issues.  The first was that if you specify a domain
+ in the calendar URI it is converted as if it it were a mailbox name
+ instead of cyrus domain part (e.g. with '.' separator '.' in domain
+ is converted to '^') of mailbox name.
+ This second was that in calendar lookups for scheduling the userid
+ part of the mailbox name got the domain part truncated due to
+ '@' being replaced by NUL (string terminator) in calendar lookup
+ function (caladdress_lookup).
+ The third was that in some cases mailboxname creation functions
+ didn't use the standard functions and failed correctly created
+ mailbox name when mailbox had a domain.
+ .
+Author: Daniel Dickinson <debian@daniel.thecshore.com>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+Index: cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_caldav.c
+===================================================================
+--- cyrus-imapd-2.4-2.4.17+caldav~beta10.test.orig/imap/http_caldav.c
++++ cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_caldav.c
+@@ -631,8 +631,9 @@ static void my_caldav_auth(const char *u
+ 
+     /* Auto-provision calendars for 'userid' */
+ 
+-    strlcpy(ident, userid, sizeof(ident));
++    strlcpy(ident, userid, strcspn(userid, "@"));
+     mboxname_hiersep_toexternal(&httpd_namespace, ident, 0);
++    strlcpy(ident + strlen(ident), userid + strlen(ident), sizeof(ident) - strlen(ident));
+ 
+     /* calendar-home-set */
+     r = mboxlist_lookup(mailboxname, &mbentry, NULL);
+@@ -761,6 +762,10 @@ static int caldav_parse_path(const char
+     char *p;
+     size_t len, siz;
+     static const char *prefix = NULL;
++    char userid[MAX_MAILBOX_BUFFER];
++    char userdomain[MAX_MAILBOX_BUFFER];
++    char *domain_start;
++    int userlen, domainlen;
+ 
+     /* Make a working copy of target path */
+     strlcpy(tgt->path, path, sizeof(tgt->path));
+@@ -857,13 +862,20 @@ static int caldav_parse_path(const char
+     p = tgt->mboxname;
+     siz = MAX_MAILBOX_BUFFER;
+     if (tgt->user) {
+-	len = snprintf(p, siz, "user");
+-	p += len;
+-	siz -= len;
+-
+ 	if (tgt->userlen) {
+-	    len = snprintf(p, siz, ".%.*s", (int) tgt->userlen, tgt->user);
+-	    mboxname_hiersep_tointernal(&httpd_namespace, p+1, tgt->userlen);
++	    domain_start = strchr(tgt->user, '@');
++	    if (domain_start != NULL) {
++		userlen = domain_start - tgt->user + 1;
++		domain_start++;
++		domainlen = tgt->userlen - userlen + 1;
++	        strlcpy(userid, tgt->user, userlen);
++	        mboxname_hiersep_tointernal(&httpd_namespace, userid, userlen);
++		strlcpy(userdomain, domain_start, domainlen);
++	        len = snprintf(p, siz, "%.*s!user.%.*s", (int) domainlen, userdomain, (int) userlen, userid);
++            } else {
++	        len = snprintf(p, siz, "user.%.*s", (int) tgt->userlen, tgt->user);
++	        mboxname_hiersep_tointernal(&httpd_namespace, p+5, tgt->userlen);
++            }
+ 	    p += len;
+ 	    siz -= len;
+ 	}
+@@ -1917,8 +1929,9 @@ static int caldav_post(struct transactio
+     if (organizer) {
+ 	if (!caladdress_lookup(organizer, &sparam) &&
+ 	    !(sparam.flags & SCHEDTYPE_REMOTE)) {
+-	    strlcpy(orgid, sparam.userid, sizeof(orgid));
++	    strlcpy(orgid, sparam.userid, strcspn(sparam.userid, "@"));
+ 	    mboxname_hiersep_toexternal(&httpd_namespace, orgid, 0);
++	    strlcpy(orgid + strlen(orgid), sparam.userid + strlen(orgid), sizeof(orgid) - strlen(orgid));
+ 	}
+     }
+ 
+@@ -2133,8 +2146,9 @@ static int caldav_put(struct transaction
+ 		/* CALDAV:unique-scheduling-object-resource */
+ 		char ext_userid[MAX_MAILBOX_NAME+1];
+ 
+-		strlcpy(ext_userid, userid, sizeof(ext_userid));
++		strlcpy(ext_userid, userid, strcspn(userid, "@"));
+ 		mboxname_hiersep_toexternal(&httpd_namespace, ext_userid, 0);
++	        strlcpy(ext_userid + strlen(ext_userid), userid + strlen(ext_userid), sizeof(ext_userid) - strlen(ext_userid));
+ 
+ 		txn->error.precond = CALDAV_UNIQUE_OBJECT;
+ 		assert(!buf_len(&txn->buf));
+@@ -4096,9 +4110,12 @@ static int store_resource(struct transac
+ 
+ int caladdress_lookup(const char *addr, struct sched_param *param)
+ {
+-    char *p;
++    char *p, *domain_start;
+     int islocal = 1, found = 1;
+     static char userid[MAX_MAILBOX_BUFFER];
++    static char tmpuserid[MAX_MAILBOX_BUFFER];
++    static char tmpuserdomain[MAX_MAILBOX_BUFFER];
++    int userlen, domainlen, useridlen;
+ 
+     memset(param, 0, sizeof(struct sched_param));
+ 
+@@ -4110,7 +4127,8 @@ int caladdress_lookup(const char *addr,
+     /* XXX  Do LDAP/DB/socket lookup to see if user is local */
+     /* XXX  Hack until real lookup stuff is written */
+     strlcpy(userid, p, sizeof(userid));
+-    if ((p = strchr(userid, '@')) && !(*p = '\0') && *++p) {
++    strlcpy(tmpuserid, p, sizeof(tmpuserid));
++    if ((p = strchr(tmpuserid, '@')) && !(*p = '\0') && *++p) {
+ 	struct strlist *domains = cua_domains;
+ 
+ 	for (; domains && strcmp(p, domains->s); domains = domains->next);
+@@ -4132,9 +4150,20 @@ int caladdress_lookup(const char *addr,
+ 	    calendarprefix = config_getstring(IMAPOPT_CALENDARPREFIX);
+ 	}
+ 
+-	mboxname_hiersep_tointernal(&httpd_namespace, userid, 0);
+-	snprintf(mailboxname, sizeof(mailboxname),
+-		 "user.%s.%s", param->userid, calendarprefix);
++       domain_start = strchr(userid, '@');
++	if (domain_start != NULL) {
++	    userlen = domain_start - userid + 1;
++            domain_start++;
++	    useridlen = strcspn(userid, "/");
++	    domainlen = useridlen - userlen + 1;
++	    strlcpy(tmpuserid, userid, userlen);
++	    mboxname_hiersep_tointernal(&httpd_namespace, tmpuserid, 0);
++	    strlcpy(tmpuserdomain, domain_start, domainlen);
++	    snprintf(mailboxname, sizeof(mailboxname), "%.*s!user.%.*s.%s", (int) domainlen, tmpuserdomain, (int) userlen, tmpuserid, calendarprefix);
++        } else {
++            snprintf(mailboxname, sizeof(mailboxname), "user.%s.%s", userid, calendarprefix);
++	    mboxname_hiersep_tointernal(&httpd_namespace, userid, 0);
++        }
+ 
+ 	r = http_mlookup(mailboxname, &param->server, NULL, NULL);
+ 	if (!r) {
+@@ -4441,6 +4470,10 @@ int sched_busytime_query(struct transact
+     static const char *calendarprefix = NULL;
+     icalcomponent *comp;
+     char mailboxname[MAX_MAILBOX_BUFFER];
++    char tmpuserid[MAX_MAILBOX_BUFFER];
++    char tmpuserdomain[MAX_MAILBOX_BUFFER];
++    char *domain_start;
++    int userlen, domainlen, useridlen;
+     icalproperty *prop = NULL, *next;
+     const char *uid = NULL, *organizer = NULL;
+     struct sched_param sparam;
+@@ -4583,9 +4616,19 @@ int sched_busytime_query(struct transact
+ 				 
+ 
+ 	    /* Check ACL of ORGANIZER on attendee's Scheduling Inbox */
+-	    snprintf(mailboxname, sizeof(mailboxname),
+-		     "user.%s.%s.Inbox", userid, calendarprefix);
+-
++            domain_start = strchr(userid, '@');
++	    if (domain_start != NULL) {
++	        userlen = domain_start - userid + 1;
++                domain_start++;
++	        useridlen = strcspn(userid, "/");
++	        domainlen = useridlen - userlen + 1;
++	        strlcpy(tmpuserid, userid, userlen);
++	        strlcpy(tmpuserdomain, domain_start, domainlen);
++	        snprintf(mailboxname, sizeof(mailboxname), "%.*s!user.%.*s.%s.Inbox", (int) domainlen, tmpuserdomain, (int) userlen, tmpuserid, calendarprefix);
++            } else {
++                snprintf(mailboxname, sizeof(mailboxname), "user.%s.%s.Inbox", userid, calendarprefix);
++            }
++	
+ 	    if ((r = mboxlist_lookup(mailboxname, &mbentry, NULL))) {
+ 		syslog(LOG_INFO, "mboxlist_lookup(%s) failed: %s",
+ 		       mailboxname, error_message(r));
+@@ -4602,8 +4645,18 @@ int sched_busytime_query(struct transact
+ 
+ 	    else {
+ 		/* Start query at attendee's calendar-home-set */
+-		snprintf(mailboxname, sizeof(mailboxname),
+-			 "user.%s.%s", userid, calendarprefix);
++                domain_start = strchr(userid, '@');
++	        if (domain_start != NULL) {
++	            userlen = domain_start - userid + 1;
++                    domain_start++;
++	            useridlen = strcspn(userid, "/");
++	            domainlen = useridlen - userlen + 1;
++	            strlcpy(tmpuserid, userid, userlen);
++	            strlcpy(tmpuserdomain, domain_start, domainlen);
++	            snprintf(mailboxname, sizeof(mailboxname), "%.*s!user.%.*s.%s.Inbox", (int) domainlen, tmpuserdomain, (int) userlen, tmpuserid, calendarprefix);
++                } else {
++                    snprintf(mailboxname, sizeof(mailboxname), "user.%s.%s.Inbox", userid, calendarprefix);
++                }
+ 
+ 		fctx.davdb = NULL;
+ 		fctx.req_tgt->collection = NULL;
+Index: cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_carddav.c
+===================================================================
+--- cyrus-imapd-2.4-2.4.17+caldav~beta10.test.orig/imap/http_carddav.c
++++ cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_carddav.c
+@@ -368,8 +368,9 @@ static void my_carddav_auth(const char *
+     }
+ 
+     /* Auto-provision an addressbook for 'userid' */
+-    strlcpy(ident, userid, sizeof(ident));
++    strlcpy(ident, userid, strcspn(userid, "@"));
+     mboxname_hiersep_toexternal(&httpd_namespace, ident, 0);
++    strlcpy(ident + strlen(ident), userid + strlen(ident), sizeof(ident) - strlen(ident));
+ 
+     /* addressbook-home-set */
+     len += snprintf(mailboxname+len, MAX_MAILBOX_BUFFER - len, ".%s",
+@@ -461,6 +462,10 @@ static int carddav_parse_path(const char
+     char *p;
+     size_t len, siz;
+     static const char *prefix = NULL;
++    char userid[MAX_MAILBOX_BUFFER];
++    char userdomain[MAX_MAILBOX_BUFFER];
++    char *domain_start;
++    int userlen, domainlen;
+ 
+     /* Make a working copy of target path */
+     strlcpy(tgt->path, path, sizeof(tgt->path));
+@@ -546,13 +551,20 @@ static int carddav_parse_path(const char
+     p = tgt->mboxname;
+     siz = MAX_MAILBOX_BUFFER;
+     if (tgt->user) {
+-	len = snprintf(p, siz, "user");
+-	p += len;
+-	siz -= len;
+-
+ 	if (tgt->userlen) {
+-	    len = snprintf(p, siz, ".%.*s", (int) tgt->userlen, tgt->user);
+-	    mboxname_hiersep_tointernal(&httpd_namespace, p+1, tgt->userlen);
++	    domain_start = strchr(tgt->user, '@');
++	    if (domain_start != NULL) {
++		userlen = domain_start - tgt->user + 1;
++		domain_start++;
++		domainlen = tgt->userlen - userlen + 1;
++	        strlcpy(userid, tgt->user, userlen);
++	        mboxname_hiersep_tointernal(&httpd_namespace, userid, userlen);
++		strlcpy(userdomain, domain_start, domainlen);
++	        len = snprintf(p, siz, "%.*s!user.%.*s", (int) domainlen, userdomain, (int) userlen, userid);
++            } else {
++	        len = snprintf(p, siz, "user.%.*s", (int) tgt->userlen, tgt->user);
++	        mboxname_hiersep_tointernal(&httpd_namespace, p+5, tgt->userlen);
++            }
+ 	    p += len;
+ 	    siz -= len;
+ 	}
+Index: cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_dav.c
+===================================================================
+--- cyrus-imapd-2.4-2.4.17+caldav~beta10.test.orig/imap/http_dav.c
++++ cyrus-imapd-2.4-2.4.17+caldav~beta10.test/imap/http_dav.c
+@@ -4716,7 +4716,7 @@ static int principal_search(char *mboxna
+     if (!(p = mboxname_isusermailbox(mboxname, 1))) return 0;
+ 
+     strlcpy(userid, p, MAX_MAILBOX_NAME+1);
+-    mboxname_hiersep_toexternal(&httpd_namespace, userid, 0);
++    //mboxname_hiersep_toexternal(&httpd_namespace, userid, 0);
+ 
+     for (search_crit = (struct search_crit *) fctx->filter_crit;
+ 	 search_crit; search_crit = search_crit->next) {
diff -Nru cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/series cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/series
--- cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/series	2015-01-07 13:30:44.000000000 +0100
+++ cyrus-imapd-2.4-2.4.17+caldav~beta10/debian/patches/series	2015-03-24 12:10:20.000000000 +0100
@@ -34,3 +34,5 @@
 parse-GUID-for-binary-appends-as-well.patch
 use-system-unicodedata.patch
 TLS-configuration.patch
+fix-caldav-virtdomain-users.patch
+bug778779.patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: cyrus-imapd-2.4
Binary: cyrus-common, cyrus-doc, cyrus-imapd, cyrus-pop3d, cyrus-admin, cyrus-murder, cyrus-replication, cyrus-nntpd, cyrus-caldav, cyrus-clients, cyrus-dev, libcyrus-imap-perl, cyrus-common-2.4, cyrus-doc-2.4, cyrus-imapd-2.4, cyrus-pop3d-2.4, cyrus-admin-2.4, cyrus-murder-2.4, cyrus-replication-2.4, cyrus-nntpd-2.4, cyrus-caldav-2.4, cyrus-clients-2.4, cyrus-dev-2.4, libcyrus-imap-perl24
Architecture: any all
Version: 2.4.17+caldav~beta10-18
Maintainer: Debian Cyrus Team <pkg-cyrus-imapd-debian-devel@lists.alioth.debian.org>
Uploaders: Henrique de Moraes Holschuh <hmh@debian.org>, Ondřej Surý <ondrej@debian.org>, Anthony Prades <toony.debian@chezouam.net>
Homepage: http://www.cyrusimap.org/
Standards-Version: 3.9.5
Vcs-Browser: http://anonscm.debian.org/?p=pkg-cyrus-imapd/cyrus-imapd-2.4.git
Vcs-Git: git://anonscm.debian.org/pkg-cyrus-imapd/cyrus-imapd-2.4.git
Build-Depends: bison, comerr-dev, debhelper (>= 9), dh-autoreconf, dh-systemd, dpkg-dev (>= 1.17.22~), flex, ghostscript, groff, libdb-dev, libical-dev, libkrb5-dev, libkvm-dev [kfreebsd-any], libldap2-dev, libopendkim-dev, libpam0g-dev, libsasl2-dev (>= 2.1.9), libsnmp-dev, libsqlite3-dev, libssl-dev, libtool (>= 2.2~), libwrap0-dev, libxml2-dev, libzephyr-dev, perl, pkg-config, po-debconf, transfig, unicode-data, xutils-dev
Package-List:
 cyrus-admin deb mail extra arch=all
 cyrus-admin-2.4 deb oldlibs extra arch=all
 cyrus-caldav deb mail extra arch=any
 cyrus-caldav-2.4 deb oldlibs extra arch=all
 cyrus-clients deb mail extra arch=any
 cyrus-clients-2.4 deb oldlibs extra arch=all
 cyrus-common deb mail extra arch=any
 cyrus-common-2.4 deb oldlibs extra arch=all
 cyrus-dev deb devel extra arch=any
 cyrus-dev-2.4 deb oldlibs extra arch=all
 cyrus-doc deb doc extra arch=all
 cyrus-doc-2.4 deb oldlibs extra arch=all
 cyrus-imapd deb mail extra arch=any
 cyrus-imapd-2.4 deb oldlibs extra arch=all
 cyrus-murder deb mail extra arch=any
 cyrus-murder-2.4 deb oldlibs extra arch=all
 cyrus-nntpd deb mail extra arch=any
 cyrus-nntpd-2.4 deb oldlibs extra arch=all
 cyrus-pop3d deb mail extra arch=any
 cyrus-pop3d-2.4 deb oldlibs extra arch=all
 cyrus-replication deb mail extra arch=any
 cyrus-replication-2.4 deb oldlibs extra arch=all
 libcyrus-imap-perl deb perl extra arch=any
 libcyrus-imap-perl24 deb oldlibs extra arch=all
Checksums-Sha1:
 4d3a426539ab4b886a2b9019ff4d4a3919cef831 1668664 cyrus-imapd-2.4_2.4.17+caldav~beta10.orig.tar.xz
 775e43ff909157498f21d54ab39c1047f00215e3 228820 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
Checksums-Sha256:
 85628281798bb1ad721f5192be0ae8f9a42c875c700c552048660866ef16e3c9 1668664 cyrus-imapd-2.4_2.4.17+caldav~beta10.orig.tar.xz
 91eb2e47c607bdc77e605c5838bb0c6248260c81bc260894b15407ce67bbe5b1 228820 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
Files:
 75cb9c81c0a228dc2167cedfc58f9008 1668664 cyrus-imapd-2.4_2.4.17+caldav~beta10.orig.tar.xz
 016d7e52ba523e54121e697f274cf021 228820 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQJ8BAEBCgBmBQJVEUgjXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzMEI5MzNEODBGQ0UzRDk4MUEyRDM4RkIw
Qzk5QjcwRUY0RkNCQjA3AAoJEAyZtw70/LsHGCMQAOB9WZsDIqgdZWusxnscL2nU
4zbl/G92C+ITON2oJdg3kotRNsW5s9qPjn0HeskjmgW/WevNE1iFtrvU7cEmLzUw
X1N8bdSBPe50cVScjaJmrQTTyFllrKx5cF8/ZZm4uozTWF1L+p60GQ0u4h61qdhJ
JNNBz1PP/EzmDz8I7u2irhk1PRWmnfc7pU5ZIlTAOn+2dSRgAO5WXioQ5eutf5ts
xH4A54R0uu3Bf2Hs9GGnJJPsZFMBl2ExxVpPszPPIrWCX9aTqyJH0JHS/tcqKmaO
LUp5fad+eL0AamwTAZbbe64dP2dXZmzonNZ+KBw9S5OH2XNkQtXya6rmPQ29IOsy
vCSduVb5v34FYStQY+/2ikhaBYLVOsCBD7VuAOAAAbxSq2EiUsmFohlgYdIZTHDy
9D61mN4Wqer8WbCpSChRfVD0wrlBUTib0YWlg6IFFzS212z38K+cfpzs91hr4gJg
GvT3ab2YvAhOsrjB3CAN7egnM3jiuXYBkR7mDn5TaCoG2m+5KYC8G4yjpX9b1qfk
KEKdD9AcnllweLaZq7ndU1Xj8PElGZyDn+0tI0KkIAulwmkdeKjkNLvFQwcA3QGx
LTdpMabF03cu0xsj5/Gb+Kq4q5uF/X5a+XFo8zuY0XIuvcB3GeRHStafh+bs561J
hlz3/YIA5JPpS13Ueyns
=j98a
-----END PGP SIGNATURE-----

Attachment: cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
Description: application/xz

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 24 Mar 2015 12:09:49 +0100
Source: cyrus-imapd-2.4
Binary: cyrus-common cyrus-doc cyrus-imapd cyrus-pop3d cyrus-admin cyrus-murder cyrus-replication cyrus-nntpd cyrus-caldav cyrus-clients cyrus-dev libcyrus-imap-perl cyrus-common-2.4 cyrus-doc-2.4 cyrus-imapd-2.4 cyrus-pop3d-2.4 cyrus-admin-2.4 cyrus-murder-2.4 cyrus-replication-2.4 cyrus-nntpd-2.4 cyrus-caldav-2.4 cyrus-clients-2.4 cyrus-dev-2.4 libcyrus-imap-perl24
Architecture: source all
Version: 2.4.17+caldav~beta10-18
Distribution: unstable
Urgency: medium
Maintainer: Debian Cyrus Team <pkg-cyrus-imapd-debian-devel@lists.alioth.debian.org>
Changed-By: Ondřej Surý <ondrej@debian.org>
Description:
 cyrus-admin - Cyrus mail system - administration tools
 cyrus-admin-2.4 - Cyrus mail system - administration tools [dummy package]
 cyrus-caldav - Cyrus mail system - CalDAV and CardDAV support
 cyrus-caldav-2.4 - Cyrus mail system - CalDAV and CardDAV support [dummy package]
 cyrus-clients - Cyrus mail system - test clients
 cyrus-clients-2.4 - Cyrus mail system - test clients [dummy package]
 cyrus-common - Cyrus mail system - common files
 cyrus-common-2.4 - Cyrus mail system - common files [dummy package]
 cyrus-dev  - Cyrus mail system - developer files
 cyrus-dev-2.4 - Cyrus mail system - developer files [dummy package]
 cyrus-doc  - Cyrus mail system - documentation files
 cyrus-doc-2.4 - Cyrus mail system - documentation files [dummy package]
 cyrus-imapd - Cyrus mail system - IMAP support
 cyrus-imapd-2.4 - Cyrus mail system - IMAP support [dummy package]
 cyrus-murder - Cyrus mail system - proxies and aggregator
 cyrus-murder-2.4 - Cyrus mail system - proxies and aggregator [dummy package]
 cyrus-nntpd - Cyrus mail system - NNTP support
 cyrus-nntpd-2.4 - Cyrus mail system - NNTP support [dummy package]
 cyrus-pop3d - Cyrus mail system - POP3 support
 cyrus-pop3d-2.4 - Cyrus mail system - POP3 support [dummy package]
 cyrus-replication - Cyrus mail system - replication
 cyrus-replication-2.4 - Cyrus mail system - replication [dummy package]
 libcyrus-imap-perl - Interface to Cyrus imap client imclient library
 libcyrus-imap-perl24 - Interface to Cyrus imap client imclient library [dummy package]
Closes: 778779 778781
Changes:
 cyrus-imapd-2.4 (2.4.17+caldav~beta10-18) unstable; urgency=medium
 .
   * Fix PIDFile location in sysvinit script (Closes: #778781)
   * Fix ACL string corruption on removal of an ACL identifier
     (Closes: #778779)
Checksums-Sha1:
 4e287534d7920aa33f1e886aa26de0c3d4954bef 4041 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.dsc
 775e43ff909157498f21d54ab39c1047f00215e3 228820 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
 1f27d5112fe9ad23c4066664a8282347ea6e019c 289394 cyrus-doc_2.4.17+caldav~beta10-18_all.deb
 a160eaf99517679064808b68d4002eccdaece306 82076 cyrus-admin_2.4.17+caldav~beta10-18_all.deb
 5dc6dd5ef14afa6d6f1e20f7e69bb498269b01bb 20334 cyrus-common-2.4_2.4.17+caldav~beta10-18_all.deb
 1a373b767038c94de486b30e59323dab1cc3e10a 20374 cyrus-doc-2.4_2.4.17+caldav~beta10-18_all.deb
 895ae1d67d15008d3f3709f8477d23d06a556be6 20372 cyrus-imapd-2.4_2.4.17+caldav~beta10-18_all.deb
 180fd06eb88d212430bdeb0a8d8e1d1e54d6140c 20382 cyrus-pop3d-2.4_2.4.17+caldav~beta10-18_all.deb
 ffabf024c43f2e2ed837bebc24167079c4bbfd22 20394 cyrus-admin-2.4_2.4.17+caldav~beta10-18_all.deb
 b83b506623ad372596dc45b0ded76c74849ec347 20396 cyrus-murder-2.4_2.4.17+caldav~beta10-18_all.deb
 4470c05db91fc6d156a9d4ddc3fb1062ca61b416 20382 cyrus-replication-2.4_2.4.17+caldav~beta10-18_all.deb
 1bcac7aade13f414f2a6bc4203717511901a5cfe 20388 cyrus-nntpd-2.4_2.4.17+caldav~beta10-18_all.deb
 5053dd0a8633799cd4d8b0bb5e4d6f1a717acfed 20392 cyrus-caldav-2.4_2.4.17+caldav~beta10-18_all.deb
 f3ec7685a8c4e6203bb272654d8c2cc55c24caac 20386 cyrus-clients-2.4_2.4.17+caldav~beta10-18_all.deb
 b3a07683902de307bed8f503808dd657962018ac 20374 cyrus-dev-2.4_2.4.17+caldav~beta10-18_all.deb
 7f5d7d79a508657235e86f661f7cb5a6c70b7277 20404 libcyrus-imap-perl24_2.4.17+caldav~beta10-18_all.deb
Checksums-Sha256:
 cb61909133998c8e46d86fc2ad6c121b578389a4b3140517e95f1e70d06f332a 4041 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.dsc
 91eb2e47c607bdc77e605c5838bb0c6248260c81bc260894b15407ce67bbe5b1 228820 cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
 0ee87899869062930754e017b85c8ba456c5412ae72a5253c4bc8d81245f9de4 289394 cyrus-doc_2.4.17+caldav~beta10-18_all.deb
 bb745173fcbd56550dbde323637f38309c6e37f55fa39328278a07857da41095 82076 cyrus-admin_2.4.17+caldav~beta10-18_all.deb
 cbf02d3c560c28cd26b7ce9acf8f09406cd9c73f0e07fc42dad88b0c1607cb0f 20334 cyrus-common-2.4_2.4.17+caldav~beta10-18_all.deb
 2d368680c39bc14f282ed0ce65a9b79c049df5b671f2e917db2fe6911d33d98a 20374 cyrus-doc-2.4_2.4.17+caldav~beta10-18_all.deb
 3414bc94d00e2b9af5d62979abcdd2d89ba57ccfc630a63420eb4765212d1db0 20372 cyrus-imapd-2.4_2.4.17+caldav~beta10-18_all.deb
 f761c6b419c00f7092d3474415ea40742872f41b1d4a5e095ade923782e03292 20382 cyrus-pop3d-2.4_2.4.17+caldav~beta10-18_all.deb
 b26b30613deba2317f866cfb3e736b2d84b59c4cf41152d2b93662770e26f5a3 20394 cyrus-admin-2.4_2.4.17+caldav~beta10-18_all.deb
 e499ad0305c647c4bd517ddc210b16b6e8d738e8b53f8e0fe69dc030a2df3c18 20396 cyrus-murder-2.4_2.4.17+caldav~beta10-18_all.deb
 3144ddb6626efd6f4506d61fa57207d514019305a077223799ca364f8ac6e0b8 20382 cyrus-replication-2.4_2.4.17+caldav~beta10-18_all.deb
 bcc2f84e7c587e3c2cdcab7b5327019b0598fe4ef69c7a9c884476614d0f1c11 20388 cyrus-nntpd-2.4_2.4.17+caldav~beta10-18_all.deb
 8dfbdfbcbaebd3fa0d512c8bbeb580910570b2106b5f2725894c5fd8565a07eb 20392 cyrus-caldav-2.4_2.4.17+caldav~beta10-18_all.deb
 ef6fd1c0937dd2cbf6f1155ae3cc43c98f16a220d22f977a6c2f5174604cbe2b 20386 cyrus-clients-2.4_2.4.17+caldav~beta10-18_all.deb
 7b0de14d4be7dc37f3b1c5338637beaba67d18b7a6ac617f92282757af3e1acb 20374 cyrus-dev-2.4_2.4.17+caldav~beta10-18_all.deb
 1bd8698f7c0bda815aa0be0556a5fcf15f3c888663c60dd652928ab94fb927e7 20404 libcyrus-imap-perl24_2.4.17+caldav~beta10-18_all.deb
Files:
 a5daaf1ca8b020e17e6be92fc7f0afc0 4041 mail extra cyrus-imapd-2.4_2.4.17+caldav~beta10-18.dsc
 016d7e52ba523e54121e697f274cf021 228820 mail extra cyrus-imapd-2.4_2.4.17+caldav~beta10-18.debian.tar.xz
 009d47480f9ed8afcc8a9428eaf5cc81 289394 doc extra cyrus-doc_2.4.17+caldav~beta10-18_all.deb
 908122e9e65bc67d650680b390e2f9e8 82076 mail extra cyrus-admin_2.4.17+caldav~beta10-18_all.deb
 e7895f346c95a9f1bdf7704953a3a6a5 20334 oldlibs extra cyrus-common-2.4_2.4.17+caldav~beta10-18_all.deb
 b79ea2590494ee63c801ab1d86ae9392 20374 oldlibs extra cyrus-doc-2.4_2.4.17+caldav~beta10-18_all.deb
 026e28802219a050a2769ce29630f73a 20372 oldlibs extra cyrus-imapd-2.4_2.4.17+caldav~beta10-18_all.deb
 f93ccb67304305ad3dc45aaeb4de587a 20382 oldlibs extra cyrus-pop3d-2.4_2.4.17+caldav~beta10-18_all.deb
 7c4d616fb4689ea9f575fe5f4d6aec2e 20394 oldlibs extra cyrus-admin-2.4_2.4.17+caldav~beta10-18_all.deb
 acee0814f55ecbb4fbf8cdaa4582d975 20396 oldlibs extra cyrus-murder-2.4_2.4.17+caldav~beta10-18_all.deb
 2e2fe3dac56cf969ed06b667fe16f24d 20382 oldlibs extra cyrus-replication-2.4_2.4.17+caldav~beta10-18_all.deb
 a5fe77e83e8bdf715a5e41c3b9b55fe0 20388 oldlibs extra cyrus-nntpd-2.4_2.4.17+caldav~beta10-18_all.deb
 0512ac675c2da356ea8e3ca329a064b6 20392 oldlibs extra cyrus-caldav-2.4_2.4.17+caldav~beta10-18_all.deb
 12b0c372a1a54b7fb2d45c5aeaea95d2 20386 oldlibs extra cyrus-clients-2.4_2.4.17+caldav~beta10-18_all.deb
 31205cb39ec07f40d5f9997f25c618fa 20374 oldlibs extra cyrus-dev-2.4_2.4.17+caldav~beta10-18_all.deb
 35a3ee8dcef96227f765871343f64e6b 20404 oldlibs extra libcyrus-imap-perl24_2.4.17+caldav~beta10-18_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQJ8BAEBCgBmBQJVEUgnXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzMEI5MzNEODBGQ0UzRDk4MUEyRDM4RkIw
Qzk5QjcwRUY0RkNCQjA3AAoJEAyZtw70/LsHA9QQALH3Khzxge/HZehVb37nqvw7
JWWv6KD9i4XdzgMbR3yYzewCn98sdeVXZFHkS2N+/hrXT6Q4T72n+tPuQpld81Fd
Wxf5X4BsRJkWNkquJ+KdJgkh3Usjsx7UYu6B61Uj+1ujFwEEa4knHOBJSnd1m0fY
a977xxmBbQQwQdEq9KcSI1xKVxLOFqVd42ceXRO/pCyNtaUduMTI/shcI1zH+JZA
MIeUfVMdNJFNXHU25Gi9RAGgdceYFYsFvcZdRd4/782taSukfMS+Lb6QPUjU9vAE
yzXy/CzOF57waIhVQLiokcUF/YrZ2fQDZ8GgSC90O6631P9xFL+vRCPor9sVWJFt
7TtCuIKMcUFD00RW/kAJakOJYFH6VcwHxu2XeYkK10bH+UMsR00y6zKhM4B+ZAjO
f+7GY5fpiNayQq/8fcTQCzmF7r7TmN8tIGYI7YBO2QySsA8zx5Fb7eqoT/OCK5CX
vDxZi1TdB0yG9P1JV/U8haTJulvyH9mzeHIggW/7+UjyYP6cBHQPrGHX757lHFlM
Wa3YdkEq9vlc0tl0TGSFQdNpwSUARtLBGrkhKHzLRywZ1WhJekeaR2I+lEU5Db5Z
Xubvyc2GJwMXvUW+pvEhGbI5mlVifehoAW7zoKt1K3rYIbkfoJYYPGvkhdmfEryR
C48MpvTfna1YazcKIaOc
=TV6/
-----END PGP SIGNATURE-----

--- End Message ---
--- Begin Message ---
On Tue, 2015-03-24 at 12:21 +0100, Ondřej Surý wrote:
> Please unblock package cyrus-imapd-2.4
> 
> The -18 fixes one packaging bug (invalid PIDFile location in sysv-rc
> script) and pulls two upstream fixes.

Unblocked.

Regards,

Adam

--- End Message ---

Reply to: