diff --git a/.gitignore b/.gitignore index 28417b1..98e9b42 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ /cassandane-2f8f3f4.tar.gz /cassandane-6d33978.tar.gz /cassandane-6bd697c.tar.gz +/cassandane-7cc17a1.tar.gz +/cassandane-2b355ec.tar.gz diff --git a/73af8e19546f235f6286cc9147a3ea74bde19ebb.patch b/73af8e19546f235f6286cc9147a3ea74bde19ebb.patch new file mode 100644 index 0000000..99c1bb9 --- /dev/null +++ b/73af8e19546f235f6286cc9147a3ea74bde19ebb.patch @@ -0,0 +1,40 @@ +From 73af8e19546f235f6286cc9147a3ea74bde19ebb Mon Sep 17 00:00:00 2001 +From: Ken Murchison +Date: Mon, 5 Mar 2018 15:46:01 -0500 +Subject: [PATCH] lmtp_sieve.c: sieve scripts are stores WITHOUT '.' -> '^' + translation + +--- + imap/lmtp_sieve.c | 12 +----------- + 1 file changed, 1 insertion(+), 11 deletions(-) + +diff --git a/imap/lmtp_sieve.c b/imap/lmtp_sieve.c +index f09ddcefa..af1b3feb8 100644 +--- a/imap/lmtp_sieve.c ++++ b/imap/lmtp_sieve.c +@@ -1586,13 +1586,6 @@ sieve_interp_t *setup_sieve(struct sieve_interp_ctx *ctx) + return interp; + } + +-static void _rm_dots(char *p) +-{ +- for (; *p; p++) { +- if (*p == '.') *p = '^'; +- } +-} +- + static int sieve_find_script(const char *user, const char *domain, + const char *script, char *fname, size_t size) + { +@@ -1629,10 +1622,7 @@ static int sieve_find_script(const char *user, const char *domain, + } + else { + char hash = (char) dir_hash_c(user, config_fulldirhash); +- char *usercopy = xstrdup(user); // stupid hashing of names, we SHOULD just allow dots on disk +- _rm_dots(usercopy); +- len += snprintf(fname+len, size-len, "/%c/%s/", hash, usercopy); +- free(usercopy); ++ len += snprintf(fname+len, size-len, "/%c/%s/", hash, user); + + if (!script) { /* default script */ + char *bc_fname; diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index 4f483f7..b853b07 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -1,15 +1,15 @@ %define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}}) # Cassandane commit hash. Cassandane doesn't have releases often, but it -# receives constant development. This was fetched on 20170622. -%global cocas 6bd697c4799cf3f5eed0d89fcc7a365a9ff93680 +# receives constant development. This was fetched on 20180330. +%global cocas 2b355ec031b4fce0ea5105dd7ecabb2bbffbeff5 # Cassandane run by default. '--without cassandane' disables. %bcond_without cassandane Name: cyrus-imapd Version: 3.0.5 -Release: 9%{?dist} +Release: 10%{?dist} %define ssl_pem_file /etc/pki/%name/%name.pem @@ -53,6 +53,9 @@ Patch7: https://github.com/cyrusimap/cyrus-imapd/commit/7214a7e3a60c628575a73dab # vzic uses an old makefile that needs hacks to use the proper flags Patch8: patch-vzic-proper-cflags +# Fix issue with seive scripts for usernames containing dots +Patch9: https://github.com/cyrusimap/cyrus-imapd/commit/73af8e19546f235f6286cc9147a3ea74bde19ebb.patch + Source10: cyrus-imapd.logrotate Source11: cyrus-imapd.pam-config Source12: cyrus-imapd.sysconfig @@ -433,11 +436,6 @@ make %{?_smp_mflags} check || exit 1 exit 0 %endif -%ifarch s390x -# If s390x is being too slow to pass the tests, just don't run tests there. -exit 0 -%endif - # Run the Cassandane test suite. This will exhaustively test the various # server components, but running it in a mock chroot is rather an exercise. pushd cassandane @@ -473,15 +471,19 @@ tests=( # https://github.com/cyrusimap/cyrus-imapd/issues/2047 Admin.imap_admins + # Disable ImapTest completely due to + # https://bugzilla.redhat.com/show_bug.cgi?id=1562970 + ImapTest + # Three new failures with imaptest 20170719 # https://github.com/cyrusimap/cyrus-imapd/issues/2087 - ImapTest.append-binary - ImapTest.fetch-binary-mime - ImapTest.urlauth-binary + #ImapTest.append-binary + #ImapTest.fetch-binary-mime + #ImapTest.urlauth-binary # This one seems to fail randomly. The new imaptest really isn't great and # we should consider dropping it entirely. - ImapTest.urlauth2 + #ImapTest.urlauth2 # Not sure why this one is failing. Caldav.changes_remove @@ -631,6 +633,13 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v %changelog +* Mon Apr 02 2018 Jason L Tibbitts III - 3.0.5-10 +- Update cassandane checkout to fix a test that was broken by DST. +- Add patch to fix sieve scripts for usernames containing a dot. +- Disable imaptest in cassandane until + https://bugzilla.redhat.com/show_bug.cgi?id=1562970 is fixed. +- Re-enable tests on s390; it seems to be better now. + * Thu Mar 15 2018 Jason L Tibbitts III - 3.0.5-9 - Re-enable clamav on ppc64. @@ -649,7 +658,6 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v - Collapse unused test skip lists. - Add ten additional skipped tests, after consultation with upstream. - * Mon Feb 26 2018 Jason L Tibbitts III - 3.0.5-5 - Add patch to fix segfaults in squatter. - Exclude one test on all releases instead of just F28+. diff --git a/sources b/sources index 0631d0d..69beceb 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ -SHA512 (cassandane-6d33978.tar.gz) = aafc2a98d49f86b00f5b1af649ce63157c8d0652502248271ca14e6f000aebf6eca8931a6e33cc068e37fdd086e9dc4cdc90cf7eccfdda63dfd73c733d75fc40 SHA512 (cassandane-testdata-20170523.tar.gz) = 705f5af6a31fe3b8d6e8027bbddbedb2f64d65997f8a06620ec07fcd30a95d98ac3f3fbef7af5080684ee21be1c5b8bcad2374b2749f0571099e780355a04420 SHA512 (cyrus-imapd-3.0.5.tar.gz) = 262806729d5ee5d753732603aa7af33c6f96bc5145b7a951b8668ffdee0dcd4a90bd287da0949e85c4596cccb471a688f7f8b6f3e39194e1cff311950d4d4410 -SHA512 (cassandane-6bd697c.tar.gz) = aadeb8c1899db17d482ffa0571bb6d308fc35beccb04e093ad1c9c6a6aa542fa8a9004c9f1772eb9f2f066c1ab1a562512f1f8d328342dd2e90e4b014aac0850 +SHA512 (cassandane-2b355ec.tar.gz) = 321ef17699c9ba1f9d5f0a3241969bff0deb58402119542e0366b09ea0d2bd6a2eb3e617b3f0e73438947f31077901f16234bc2e92cb7faa82f53a536392d8c0