From 96f31f1595f9fc47cc7b7a17b9c5f72eb18314c6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 8 Nov 2022 01:50:31 -0500 Subject: [PATCH] import cyrus-imapd-3.0.7-24.el8 --- ...us-imapd-load-tombstones-for-cleanup.patch | 17 ++++++++++++++++ SOURCES/cyrus-imapd.service | 2 +- SOURCES/cyrus-squatter-assert-crash.patch | 20 +++++++++++++++++++ SPECS/cyrus-imapd.spec | 11 +++++++++- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 SOURCES/cyrus-imapd-load-tombstones-for-cleanup.patch create mode 100644 SOURCES/cyrus-squatter-assert-crash.patch diff --git a/SOURCES/cyrus-imapd-load-tombstones-for-cleanup.patch b/SOURCES/cyrus-imapd-load-tombstones-for-cleanup.patch new file mode 100644 index 0000000..6d5eaf8 --- /dev/null +++ b/SOURCES/cyrus-imapd-load-tombstones-for-cleanup.patch @@ -0,0 +1,17 @@ +diff --git a/imap/cyr_expire.c b/imap/cyr_expire.c +index bcb40ea..747414a 100644 +--- a/imap/cyr_expire.c ++++ b/imap/cyr_expire.c +@@ -628,9 +628,10 @@ int main(int argc, char *argv[]) + } + + if (do_user) +- mboxlist_usermboxtree(do_user, expire, &erock, MBOXTREE_DELETED); ++ mboxlist_usermboxtree(do_user, expire, &erock, MBOXTREE_DELETED|MBOXTREE_TOMBSTONES); + else +- mboxlist_allmbox(find_prefix, expire, &erock, 0); ++ mboxlist_allmbox(find_prefix, expire, &erock, ++ MBOXTREE_TOMBSTONES); + + syslog(LOG_NOTICE, "Expired %lu and expunged %lu out of %lu " + "messages from %lu mailboxes", diff --git a/SOURCES/cyrus-imapd.service b/SOURCES/cyrus-imapd.service index 13891fc..7a9c796 100644 --- a/SOURCES/cyrus-imapd.service +++ b/SOURCES/cyrus-imapd.service @@ -1,6 +1,6 @@ [Unit] Description=Cyrus-imapd IMAP/POP3 email server -After=local-fs.target network.target +After=local-fs.target network-online.target Requires=cyrus-imapd-init.service After=cyrus-imapd-init.service diff --git a/SOURCES/cyrus-squatter-assert-crash.patch b/SOURCES/cyrus-squatter-assert-crash.patch new file mode 100644 index 0000000..f522555 --- /dev/null +++ b/SOURCES/cyrus-squatter-assert-crash.patch @@ -0,0 +1,20 @@ +diff --git a/imap/squatter.c b/imap/squatter.c +index 97daa73..d7ffbd0 100644 +--- a/imap/squatter.c ++++ b/imap/squatter.c +@@ -332,8 +332,13 @@ static void expand_mboxnames(strarray_t *sa, int nmboxnames, + else { + /* Translate any separators in mailboxname */ + char *intname = mboxname_from_external(mboxnames[i], &squat_namespace, NULL); +- int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN; +- mboxlist_mboxtree(intname, addmbox, sa, flags); ++ if (!intname || *intname == '\0') { ++ fprintf(stderr, "Mailbox %s: %s\n", ++ mboxnames[i], error_message(IMAP_MAILBOX_BADNAME)); ++ } else { ++ int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN; ++ mboxlist_mboxtree(intname, addmbox, sa, flags); ++ } + free(intname); + } + } diff --git a/SPECS/cyrus-imapd.spec b/SPECS/cyrus-imapd.spec index 40a3718..a5046ec 100644 --- a/SPECS/cyrus-imapd.spec +++ b/SPECS/cyrus-imapd.spec @@ -9,7 +9,7 @@ Name: cyrus-imapd Version: 3.0.7 -Release: 23%{?dist} +Release: 24%{?dist} %define ssl_pem_file_prefix /etc/pki/%name/%name @@ -48,6 +48,10 @@ Patch9: cyrus-imapd-CVE-2019-19783.patch Patch10: cyrus-imapd-CVE-2019-18928.patch Patch11: cyrus-imapd-use_system_ciphers.patch Patch12: cyrus-imapd-3.0-CVE-2021-33582.patch +# https://github.com/cyrusimap/cyrus-imapd/pull/3892 +Patch13: cyrus-squatter-assert-crash.patch +# https://github.com/cyrusimap/cyrus-imapd/commit/562ac9d7abd3b928315c7f0672d0f1a8995ca625 +Patch14: cyrus-imapd-load-tombstones-for-cleanup.patch Source10: cyrus-imapd.logrotate Source11: cyrus-imapd.pam-config @@ -685,6 +689,11 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v %changelog +* Mon Jun 13 2022 Martin Osvald - 3.0.7-24 +- Resolves: #1911689 - Fatal error when running "squatter -r user" +- Resolves: #1941255 - Wait for network-online target +- Resolves: #1918780 - "(null)" partitions in ctl_mboxlist + * Wed Sep 01 2021 Tomas Korbar - 3.0.7-23 - Fix CVE-2021-33582 - Also disable unstable test