--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: cyrus-imapd-2.4/2.4.16-3
- From: Ondřej Surý <ondrej@debian.org>
- Date: Tue, 26 Feb 2013 12:48:01 +0100
- Message-id: <20130226114801.16403.97241.reportbug@localhost6.localdomain6>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package cyrus-imapd-2.4
This update fixes one remote crash, one more crash found in upstream
git, missing permissions on clean install (due /etc/sieve ->
/var/spool/sieve symlink) and one "cosmetic" fix which will really
delete stale files in proc and state dirs instead of printing them.
$ diffstat cyrus-imapd-2.4_2.4.16-3.debdiff
changelog | 11 +++
cyrus-common.cyrus-imapd.init | 4 -
cyrus-makedirs | 12 ++--
patches/fix_consistent_crash_fetching_message_parts.patch | 42 ++++++++++++++
patches/fix_crash_in_sync_client.patch | 14 ++++
patches/series | 2
6 files changed, 77 insertions(+), 8 deletions(-)
Debdiff attached... Thank you.
unblock cyrus-imapd-2.4/2.4.16-3
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru cyrus-imapd-2.4-2.4.16/debian/changelog cyrus-imapd-2.4-2.4.16/debian/changelog
--- cyrus-imapd-2.4-2.4.16/debian/changelog 2012-10-26 13:54:37.000000000 +0200
+++ cyrus-imapd-2.4-2.4.16/debian/changelog 2013-02-26 12:37:22.000000000 +0100
@@ -1,3 +1,14 @@
+cyrus-imapd-2.4 (2.4.16-3) unstable; urgency=low
+
+ * Use find -H instead of plain find to fix the permissions inside the
+ sieve dir (Closes: #693507)
+ * Really clean (instead of printing) the stale lock and proc directories
+ (Closes: #629609)
+ * Pull fix for crashes when fetching message parts (Closes: #700801)
+ * Fix crash in sync client (found in upstream git)
+
+ -- Ondřej Surý <ondrej@debian.org> Tue, 26 Feb 2013 12:37:09 +0100
+
cyrus-imapd-2.4 (2.4.16-2) unstable; urgency=low
[ Gregor Herrman ]
diff -Nru cyrus-imapd-2.4-2.4.16/debian/cyrus-common.cyrus-imapd.init cyrus-imapd-2.4-2.4.16/debian/cyrus-common.cyrus-imapd.init
--- cyrus-imapd-2.4-2.4.16/debian/cyrus-common.cyrus-imapd.init 2012-10-26 13:54:37.000000000 +0200
+++ cyrus-imapd-2.4-2.4.16/debian/cyrus-common.cyrus-imapd.init 2013-02-26 12:37:22.000000000 +0100
@@ -145,8 +145,8 @@
# 2 if daemon could not be started
# Clean stale entries
- find "$LOCK_DIR" -mindepth 1 -depth -size 0 # -delete
- find "$PROC_DIR" -mindepth 1 -depth -name '[0-9]*' # -delete
+ find "$LOCK_DIR" -mindepth 1 -depth -size 0 -delete
+ find "$PROC_DIR" -mindepth 1 -depth -name '[0-9]*' -delete
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
diff -Nru cyrus-imapd-2.4-2.4.16/debian/cyrus-makedirs cyrus-imapd-2.4-2.4.16/debian/cyrus-makedirs
--- cyrus-imapd-2.4-2.4.16/debian/cyrus-makedirs 2012-10-26 13:54:37.000000000 +0200
+++ cyrus-imapd-2.4-2.4.16/debian/cyrus-makedirs 2013-02-26 12:37:22.000000000 +0100
@@ -89,7 +89,7 @@
[ -d "$confdir/$i/$j" ] || mkdir "$confdir/$i/$j"
done
done
-find "$confdir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
+find -H "$confdir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
# Now, create the spool partitions
for i in $partitions ; do
@@ -102,9 +102,9 @@
done
}
[ -d "$i/stage." ] || mkdir "$i/stage."
- find "$i" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
+ find -H "$i" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
# and kill any squatter indexes
- [ $killsquat -ne 0 ] && find "$i" -name 'cyrus.squat' -type f -exec rm -f "{}" \;
+ [ $killsquat -ne 0 ] && find -H "$i" -name 'cyrus.squat' -type f -exec rm -f "{}" \;
done
# And the sieve directory structure
@@ -115,7 +115,7 @@
[ -d "$sievedir/$j" ] || mkdir "$sievedir/$j"
chmod 755 "$sievedir/$j"
done
- find "$sievedir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
+ find -H "$sievedir" \( -not -user cyrus -or -not -group mail \) -execdir chown cyrus:mail '{}' \;
}
[ "x${CYRUSOPTFILESYS}" != "x1" ] && exit 0
@@ -133,11 +133,11 @@
case ${i} in
ext2)
echo "Setting attributes to +S for ${partsys%% *}..."
- find "${partsys%% *}" -type d -exec chattr +S "{}" \;
+ find -H "${partsys%% *}" -type d -exec chattr +S "{}" \;
;;
ext3)
echo "Setting attributes to -S -j for ${partsys%% *}..."
- find "${partsys%% *}" -type d -exec chattr -S -j "{}" \;
+ find -H "${partsys%% *}" -type d -exec chattr -S -j "{}" \;
;;
esac
partsys="${partsys#* }"
diff -Nru cyrus-imapd-2.4-2.4.16/debian/patches/fix_consistent_crash_fetching_message_parts.patch cyrus-imapd-2.4-2.4.16/debian/patches/fix_consistent_crash_fetching_message_parts.patch
--- cyrus-imapd-2.4-2.4.16/debian/patches/fix_consistent_crash_fetching_message_parts.patch 1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.4-2.4.16/debian/patches/fix_consistent_crash_fetching_message_parts.patch 2013-02-26 12:37:22.000000000 +0100
@@ -0,0 +1,42 @@
+--- a/lib/prot.c
++++ b/lib/prot.c
+@@ -1277,6 +1277,9 @@ int prot_printf(struct protstream *s, co
+ prot_write(s, buf, strlen(buf));
+ break;
+
++ /* according to linux 'man 3 printf' this is supposed to be
++ * of type "ptrdiff_t", not "size_t" - but don't want to break
++ * running code! */
+ case 't': {
+ size_t tu;
+ ssize_t td;
+@@ -1310,6 +1313,29 @@ int prot_printf(struct protstream *s, co
+ (void)prot_putc(i, s);
+ break;
+
++ case 'z': {
++ size_t zu;
++ ssize_t zd;
++
++ switch (*++percent) {
++ case 'u':
++ zu = va_arg(pvar, size_t);
++ snprintf(buf, sizeof(buf), "%zu", zu);
++ prot_write(s, buf, strlen(buf));
++ break;
++
++ case 'd':
++ zd = va_arg(pvar, ssize_t);
++ snprintf(buf, sizeof(buf), "%zd", zd);
++ prot_write(s, buf, strlen(buf));
++ break;
++
++ default:
++ abort();
++ }
++ break;
++ }
++
+ default:
+ abort();
+ }
diff -Nru cyrus-imapd-2.4-2.4.16/debian/patches/fix_crash_in_sync_client.patch cyrus-imapd-2.4-2.4.16/debian/patches/fix_crash_in_sync_client.patch
--- cyrus-imapd-2.4-2.4.16/debian/patches/fix_crash_in_sync_client.patch 1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.4-2.4.16/debian/patches/fix_crash_in_sync_client.patch 2013-02-26 12:37:22.000000000 +0100
@@ -0,0 +1,14 @@
+--- a/imap/sync_client.c
++++ b/imap/sync_client.c
+@@ -1306,7 +1306,10 @@ static int update_mailbox_once(struct sy
+ r = mailbox_open_irl(local->name, &mailbox);
+ if (r == IMAP_MAILBOX_NONEXISTENT) {
+ /* been deleted in the meanwhile... */
+- r = folder_delete(remote->name);
++ if (remote)
++ r = folder_delete(remote->name);
++ else
++ r = 0;
+ goto done;
+ }
+ else if (r)
diff -Nru cyrus-imapd-2.4-2.4.16/debian/patches/series cyrus-imapd-2.4-2.4.16/debian/patches/series
--- cyrus-imapd-2.4-2.4.16/debian/patches/series 2012-10-26 13:54:37.000000000 +0200
+++ cyrus-imapd-2.4-2.4.16/debian/patches/series 2013-02-26 12:37:22.000000000 +0100
@@ -30,3 +30,5 @@
cyrus-imapd-2.4.2-903-normalize-authorization-id.patch
86-fix_PATH_MAX_on_hurd.patch
87-try_only_-ldb.patch
+fix_consistent_crash_fetching_message_parts.patch
+fix_crash_in_sync_client.patch
--- End Message ---