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

Bug#781089: unblock: cyrus-imapd-2.4/2.4.17+caldav~beta10-18



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-----

Reply to: