From e60385e579982ecb62a678902c68517c2f152a707b6d644f4b9e9277c5378771 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Mon, 16 Aug 2021 09:39:47 +0000 Subject: [PATCH] Accepting request 911327 from home:stroeder:network update to 2.3.16 and pigeonhole to 0.5.16 with back-port fix for big-endian platforms OBS-URL: https://build.opensuse.org/request/show/911327 OBS-URL: https://build.opensuse.org/package/show/server:mail/dovecot23?expand=0&rev=98 --- dovecot-2.3-pigeonhole-0.5.15.tar.gz | 3 -- dovecot-2.3-pigeonhole-0.5.15.tar.gz.sig | 17 ------- dovecot-2.3-pigeonhole-0.5.16.tar.gz | 3 ++ dovecot-2.3-pigeonhole-0.5.16.tar.gz.sig | 17 +++++++ dovecot-2.3.15.tar.gz | 3 -- dovecot-2.3.15.tar.gz.sig | 17 ------- dovecot-2.3.16.tar.gz | 3 ++ dovecot-2.3.16.tar.gz.sig | 17 +++++++ dovecot23.changes | 59 ++++++++++++++++++++++++ dovecot23.spec | 7 +-- mail-cache-bigendian.diff | 52 +++++++++++++++++++++ 11 files changed, 155 insertions(+), 43 deletions(-) delete mode 100644 dovecot-2.3-pigeonhole-0.5.15.tar.gz delete mode 100644 dovecot-2.3-pigeonhole-0.5.15.tar.gz.sig create mode 100644 dovecot-2.3-pigeonhole-0.5.16.tar.gz create mode 100644 dovecot-2.3-pigeonhole-0.5.16.tar.gz.sig delete mode 100644 dovecot-2.3.15.tar.gz delete mode 100644 dovecot-2.3.15.tar.gz.sig create mode 100644 dovecot-2.3.16.tar.gz create mode 100644 dovecot-2.3.16.tar.gz.sig create mode 100644 mail-cache-bigendian.diff diff --git a/dovecot-2.3-pigeonhole-0.5.15.tar.gz b/dovecot-2.3-pigeonhole-0.5.15.tar.gz deleted file mode 100644 index 2c5bb06..0000000 --- a/dovecot-2.3-pigeonhole-0.5.15.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1498f50cef74c351a57474cc423b008627ab1ab60724b859283ead6d00550d0 -size 1935601 diff --git a/dovecot-2.3-pigeonhole-0.5.15.tar.gz.sig b/dovecot-2.3-pigeonhole-0.5.15.tar.gz.sig deleted file mode 100644 index 3a15606..0000000 --- a/dovecot-2.3-pigeonhole-0.5.15.tar.gz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQJLBAABCgA1FiEEK+dKqz7nVN+5yA0zGKNIru1AnaEFAmDQc4sXHGRvdmVjb3Qt -Y2VAZG92ZWNvdC5vcmcACgkQGKNIru1AnaFVbRAAhgiKJIXsySgNbKePCVibmd1J -PUMZxruEYzQfdF/l5UzWjY7shXjrZjT+JVdQCRdW1gUhCLDhf8+Ss5HsUt0TqUZ4 -Nm000CS6CTrSzQDASXQRyjIw57Sfm13CCneu/LcO1UMWorktY/Vx7dCiMr7rrHzP -m1QAEaUpgdlmeLrhATjiCHeRgl1nE7vjlBzRQjLXnyjlsMjLZ5ckjIbjADM5pO9g -W3SzFe2TRFA4Q4Q/BUtG+sEdbC7y61vW4nDL4Hk7JMyyLx2p05OFQ8h8gw5PyPUo -FxeP+vpklCmhE3CJE4JrBifjTAl/UYRBjzW4iBxl1x2a7muTDK4BLSQzOxyyRzzh -O8lNx8kIcPq7QzfjUlLi8Kb/TPJmgNkXRGHpVQ+9Zo+QPBe88UeAVkY9fzelC4gg -AS8Lucw/zianKhOypelU2AoA5LhqdXjbhwmSSCK4Ga3umUjlyoWfjWZtSITT654H -1c+KDxpup+e4aUL3oB29Xm2ONUpxZNQbJLg/Snp/PGQC4Xc6SxoS9Y4/VR8o1IZF -TToDUptV5exKHy1EXxd2vJcWj0ByVsh/Tm4WgjxuiyLtQH1PusoD4pExk3xKuDSG -9epPzZAFRUIyK6iejbdk/ZenaP+LEWv9q66yLQwHummXuuGG1iAXT4jQeMPr0u9i -FhyBSN5yKGKC9h7KsR8= -=eHZe ------END PGP SIGNATURE----- diff --git a/dovecot-2.3-pigeonhole-0.5.16.tar.gz b/dovecot-2.3-pigeonhole-0.5.16.tar.gz new file mode 100644 index 0000000..e481a7d --- /dev/null +++ b/dovecot-2.3-pigeonhole-0.5.16.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ca36780e23b99e6206440f1b3fe3c6598eda5b699b99cebb15d418ba3c6e938 +size 1944573 diff --git a/dovecot-2.3-pigeonhole-0.5.16.tar.gz.sig b/dovecot-2.3-pigeonhole-0.5.16.tar.gz.sig new file mode 100644 index 0000000..c832e5f --- /dev/null +++ b/dovecot-2.3-pigeonhole-0.5.16.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJLBAABCgA1FiEEK+dKqz7nVN+5yA0zGKNIru1AnaEFAmENFLMXHGRvdmVjb3Qt +Y2VAZG92ZWNvdC5vcmcACgkQGKNIru1AnaGiNxAAs82Ath/tyxPICfyb8rH0Mn57 +a/rq/DGxSHyiG08CqeUWmqGF1qH+fPETofHwu6Q31sg6+LKkuHA+U+0w2Aull+sr +KCIrVSuWs0mat29YlWW9IYEIFiSDYZBFsoxEKmbU18k6wUNy8mPicq9jLc62ZQAB +CQZKnXyo+zZ3BISlFI13lgSGjEa4yL40dwTt4vYmh0bz4DoU99nu0g4to9oqG/9h +rvubYLJ+dLspVWHXx/mANLiYH8NSVPN+6vZ41fpPo/zAYyO9jLP93OMmK8UwNlG6 +8CdHHFI2JusUuga/lF8lsebo8sww0vGwyGBAq6u4j6H46/deAxf56nEbdq4mi/AN +V6r+CU4L7GI6KlXkVBzGoeXAXerqngLQdzgxsIfd2JD7dfuQnlCM2RUurpPES0G5 +meoz0OItcAmKEHTDIPdgA6QjiBdUhhOlGfXGj3p0ka88l3j6RdRXRI2AnhEH2C0B +x6ufOFhBYCb5X0S/PA3nAzr+T/oZiVoFi+e85H8kFLgrJ6NOOXBS8x2bDzOmhxvL +wpO8icnRvaz3HA7HxPvLmnfMSg92bF2LB8dMmMTNrW4jwPYqWRJRWyKK8nZVw3hz +jDGBmCJ9xqaQ0uS3ukuFjkwGhLB1/erGtlgH0HA9FhU2B9/4qjOgdD760o3v2s9k +GfL26IpSX7gi3SQ5Yqs= +=KDRz +-----END PGP SIGNATURE----- diff --git a/dovecot-2.3.15.tar.gz b/dovecot-2.3.15.tar.gz deleted file mode 100644 index 300b16c..0000000 --- a/dovecot-2.3.15.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21bbdd5d45957a99133de8b7e71813ecb73d9476c89dfc63479e9102b3553590 -size 7608561 diff --git a/dovecot-2.3.15.tar.gz.sig b/dovecot-2.3.15.tar.gz.sig deleted file mode 100644 index 9262ca4..0000000 --- a/dovecot-2.3.15.tar.gz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQJLBAABCgA1FiEEK+dKqz7nVN+5yA0zGKNIru1AnaEFAmDMdTwXHGRvdmVjb3Qt -Y2VAZG92ZWNvdC5vcmcACgkQGKNIru1AnaF+Qw/+MUDN/HK62t51ElYoOSO7PFL6 -ajYu0kSBflJGbovcBrlYYUC5oWQWQuVTsNdxxk1g9HLt1S7rYjW6QZk5IoM/DTkG -ICRwfHXeDKS1zNXmkauDrwFcu9tbjg0BmdZ8vsKQUni5vDEtpjH6QiXkDA18P+e7 -4qSW3rpq6Sb+nRHDsicSTVtUIVmjCjETT04tIIoLUQvP4LjOkyydpW76fNCHqYZ+ -wJzhSNF6NwJGNumh/xSyNcqdhrcLBhfNx6JVWHajUrntXh5Tiy+okC5BIOHNXSt7 -/kN1BWxb8V8k/Ku3ickJOsXarw2LBsT2LzDAqUeWK9p0ywIAj9ue6zP+COoRzu+F -dRURqYnOohNHPFhmXCx4ixYV9VGtXpboAyf8u8BCFODmeF/HgeOLVogC/+Nda/br -8GEXWdxdFFECTDAAqqmcxU/lZu2CfvRWhgAIbEeBGI+8KOe1vGmALvKL2GzbnFDB -Hfjsrafs1l4hM6rynoHAJzbVY+QuvNpnwNTc4KsGtOYdYfb5jEaIDJAzfqbxgCTp -Vd5H13PAbqsO55hHpEQclLK4QCO30SOP0geLu6+6bhZGfeSBh64VILQAqvv1R4xK -XoNW5dSbG27yZdiHeKlC8ppB35JsUSaQheLj/msSKckBL0cGtguUZQexTnD6tfQc -b8TKUG9FbKfM1hI9cyw= -=bjVt ------END PGP SIGNATURE----- diff --git a/dovecot-2.3.16.tar.gz b/dovecot-2.3.16.tar.gz new file mode 100644 index 0000000..30711aa --- /dev/null +++ b/dovecot-2.3.16.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03a71d53055bd9ec528d55e07afaf15c09dec9856cba734904bfd05acbc6cf12 +size 7650008 diff --git a/dovecot-2.3.16.tar.gz.sig b/dovecot-2.3.16.tar.gz.sig new file mode 100644 index 0000000..17ba85a --- /dev/null +++ b/dovecot-2.3.16.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJLBAABCgA1FiEEK+dKqz7nVN+5yA0zGKNIru1AnaEFAmENFKMXHGRvdmVjb3Qt +Y2VAZG92ZWNvdC5vcmcACgkQGKNIru1AnaHxRxAAsWT5YKSqCfTZTNadtRQ29nXu +ekCHdhh+jnAZLvBj221pnCbHn1/WNwzyHm5TlwKb8xwxSjxoT8yq+wyj2j/dZ+l/ +CkQaCBzCxScXepghlk0fvvaSveU+6oW29teSzIe6X1IFCT55ghSR099T5nrVzEER +6UHP6ZtX13vYhEBkcGsBy5VA48zGQ+ZOq6vjMn9sLIkBWHqB58I2KW7n+i44cHpk +8SCcYD6BsRjik6ErEGhVIvSy9/6kTqKnnLBSxQx6E01X9mtC4RUcNvhQqKQD29Xq +U7tQUgY0Unb2eNcksTQ/qGyU4owqzTAbBzB3xJ8uvAOC21qePo35r3jn/dk3RRUv +JymeMwtBVyBwPdAErEodYxo9sSYuoPSLTV1RdIzmz+jbvoku4bpbEXdfKoBq0bKA +tQ9vPnO6CfGiSQh3mypanCFO5DQbq42moaMtYkYWWZKQhYFPDnKvGay53gcVQAIS +ML7rOcR7PXQ3WhJjteK1EQVXuHHo0z7iGj623dcTpTMDLgoP3iwWMyKu8V25/vr/ +jbVCo6XauxmFFhJM5vl0g3yJtiXEqBxULeoDU6T89TGNUJ8a4AI1gQCOXFBE5Fgi +aobN5GXly2VBrbp/cRDqVV1wXh4h8nrMSkCG4avIwX9ThUSzE8ryEjxMTVBQOk6x +SNs3kXgmPfnvLtPotsA= +=0j3P +-----END PGP SIGNATURE----- diff --git a/dovecot23.changes b/dovecot23.changes index 485af84..de08645 100644 --- a/dovecot23.changes +++ b/dovecot23.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Tue Aug 10 22:38:15 UTC 2021 - Michael Ströder + +- added back-port fix mail-cache-bigendian.diff +- update to 2.3.16 and pigeonhole to 0.5.16: + + Dovecot 2.3.16 + * Any unexpected exit() will now result in a core dump. This can + especially help notice problems when a Lua script causes exit(0). + * auth-worker process is now restarted when the number of auth + requests reaches service auth-worker { service_count }. The default + is still unlimited. + + Event improvements: Added data_stack_grow event and http-client + category. See https://doc.dovecot.org/admin_manual/list_of_events/ + + oauth2: Support RFC 7628 openid-configuration element. This allows + clients to support OAUTH2 for any server, not just a few hardcoded + servers like they do now. See openid_configuration_url setting in + dovecot-oauth2.conf.ext. + + mysql: Single statements are no longer enclosed with BEGIN/COMMIT. + + dovecot-sysreport --core supports multiple core files now and does + not require specifying the binary path. + + imapc: When imap_acl plugin is loaded and imapc_features=acl is used, + IMAP ACL commands are proxied to the remote server. See + https://doc.dovecot.org/configuration_manual/mail_location/imapc/ + + dict-sql now supports the "UPSERT" syntax for SQLite and PostgreSQL. + + imap: If IMAP client disconnects during a COPY command, the copying + is aborted, and changes are reverted. This may help to avoid many + email duplicates if client disconnects during COPY and retries it + after reconnecting. + - master process was using 100% CPU if service attempted to create more + processes due to process_min_avail, but process_limit was already + reached. v2.3.15 regression. + - Using attachment detection flags wrongly logged unnecessary "Failed + to add attachment keywords" errors. v2.3.13 regression. + - IMAP QRESYNC: Expunging UID 1 mail resulted in broken VANISHED + response, which could have confused IMAP clients. v2.3.13 regression. + - imap: STORE didn't send untagged replies for \Seen changes for + (shared) mailboxes using INDEXPVT. v2.3.10 regression. + - rawlog_dir setting would not log input that was pipelined after + authentication command. + - Fixed potential infinite looping with autoexpunging. + - Log event exporter: Truncate long fields to 1000 bytes + - LAYOUT=index: ACL inheritance didn't work when creating mailboxes + - Event filters: Unquoted '?' wildcard caused a crash at startup + - fs-metawrap: Fix to handling zero sized files + - imap-hibernate: Fixed potential crash at deinit. + - acl: dovecot-acl-list files were written for acl_ignore_namespaces + - program-client (used by Sieve extprograms, director_flush_socket) + may have missed status response from UNIX and network sockets, + resulting in unexpected failures. + + Pigeonhole v0.5.16 + * .dovecot.sieve.log file now includes year in the header. + * Change Sieve script result execution to delay definitive action + execution to the end of a successful Sieve script execution session. + This is part of an effort to solve problems with the Sieve duplicate + test. As a side-effect, some rare temporary-error cases yield + different results, in which partial failure is more likely. + ------------------------------------------------------------------- Tue Jun 22 15:13:47 UTC 2021 - Marcus Rueckert diff --git a/dovecot23.spec b/dovecot23.spec index 262cddf..d894509 100644 --- a/dovecot23.spec +++ b/dovecot23.spec @@ -19,11 +19,11 @@ %global _lto_cflags %{nil} Name: dovecot23 -Version: 2.3.15 +Version: 2.3.16 Release: 0 %define pkg_name dovecot -%define dovecot_version 2.3.15 -%define dovecot_pigeonhole_version 0.5.15 +%define dovecot_version 2.3.16 +%define dovecot_pigeonhole_version 0.5.16 %define dovecot_branch 2.3 %define dovecot_pigeonhole_source_dir %{pkg_name}-%{dovecot_branch}-pigeonhole-%{dovecot_pigeonhole_version} %define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole @@ -152,6 +152,7 @@ Source11: https://pigeonhole.dovecot.org/releases/%{dovecot_branch}/%{dove Source12: dovecot23.keyring Patch: dovecot-2.3.0-dont_use_etc_ssl_certs.patch Patch1: dovecot-2.3.0-better_ssl_defaults.patch +Patch2: mail-cache-bigendian.diff Summary: IMAP and POP3 Server Written Primarily with Security in Mind License: BSD-3-Clause AND LGPL-2.1-or-later AND MIT Group: Productivity/Networking/Email/Servers diff --git a/mail-cache-bigendian.diff b/mail-cache-bigendian.diff new file mode 100644 index 0000000..03d41e4 --- /dev/null +++ b/mail-cache-bigendian.diff @@ -0,0 +1,52 @@ +commit ec4595097067a736717ef202fe8542b1b4bc2dd5 +Author: Timo Sirainen +Date: Tue Aug 10 12:22:08 2021 +0300 + + lib-index: Fix storing cache fields' last_used with 64bit big endian CPUs + +diff --git a/src/lib-index/mail-cache-fields.c b/src/lib-index/mail-cache-fields.c +index e929fb559d..429e0d234c 100644 +--- a/src/lib-index/mail-cache-fields.c ++++ b/src/lib-index/mail-cache-fields.c +@@ -524,6 +524,19 @@ static void copy_to_buf_byte(struct mail_cache *cache, buffer_t *dest, + } + } + ++static void ++copy_to_buf_last_used(struct mail_cache *cache, buffer_t *dest, bool add_new) ++{ ++ size_t offset = offsetof(struct mail_cache_field, last_used); ++#if defined(WORDS_BIGENDIAN) && SIZEOF_VOID_P == 8 ++ /* 64bit time_t with big endian CPUs: copy the last 32 bits instead of ++ the first 32 bits (that are always 0). The 32 bits are enough until ++ year 2106, so we're not in a hurry to use 64 bits on disk. */ ++ offset += sizeof(uint32_t); ++#endif ++ copy_to_buf(cache, dest, add_new, offset, sizeof(uint32_t)); ++} ++ + static int mail_cache_header_fields_update_locked(struct mail_cache *cache) + { + buffer_t *buffer; +@@ -536,9 +549,7 @@ static int mail_cache_header_fields_update_locked(struct mail_cache *cache) + + buffer = t_buffer_create(256); + +- copy_to_buf(cache, buffer, FALSE, +- offsetof(struct mail_cache_field, last_used), +- sizeof(uint32_t)); ++ copy_to_buf_last_used(cache, buffer, FALSE); + ret = mail_cache_write(cache, buffer->data, buffer->used, + offset + MAIL_CACHE_FIELD_LAST_USED()); + if (ret == 0) { +@@ -599,9 +610,7 @@ void mail_cache_header_fields_get(struct mail_cache *cache, buffer_t *dest) + buffer_append(dest, &hdr, sizeof(hdr)); + + /* we have to keep the field order for the existing fields. */ +- copy_to_buf(cache, dest, TRUE, +- offsetof(struct mail_cache_field, last_used), +- sizeof(uint32_t)); ++ copy_to_buf_last_used(cache, dest, TRUE); + copy_to_buf(cache, dest, TRUE, + offsetof(struct mail_cache_field, field_size), + sizeof(uint32_t));