Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dovecot23 for openSUSE:Factory checked in at 2023-09-15 22:05:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dovecot23 (Old) and /work/SRC/openSUSE:Factory/.dovecot23.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dovecot23" Fri Sep 15 22:05:55 2023 rev:52 rq:1111576 version:2.3.21 Changes: -------- --- /work/SRC/openSUSE:Factory/dovecot23/dovecot23.changes 2023-03-27 18:17:26.459474100 +0200 +++ /work/SRC/openSUSE:Factory/.dovecot23.new.1766/dovecot23.changes 2023-09-15 22:11:30.322071677 +0200 @@ -1,0 +2,122 @@ +Fri Sep 15 12:12:44 UTC 2023 - Arjen de Korte <suse+bu...@de-korte.org> + +- update to 2.3.21 and pigeonhole 0.5.21 + + Dovecot 2.3.21 + * lib-oauth2: Allow JWT tokens to be validated with missing typ field. + The typ field is left out by some key issuers to conserve space, + notably kubernetes. Now missing typ is tolerated, but if present, it + still must be "jwt". + + auth: Auth passdb and userdb reply can contain "event_<name>=value" + which will be added to login event and mail user event respectively. + + lib-master: Set process title during various initialization stages to + clearly describe what the process is waiting on. + + lib-storage: The mail_temp_scan_interval is now fuzzed incrementing it + by 0..30% based on username's hash to reduce the chance of load spikes. + + lib-storage: The temp file scan has been moved from the open of the + mailbox to the close, to reduce the latency perceived by users. + + stats: If metric has fields specified, all these fields are + exported as counters to prometheus exposition. + See https://doc.dovecot.org/configuration_manual/stats/openmetrics/. + - *-login: Processes might have crashed when a SSL connection disconnects + uncleanly. + - acl: When plugin was loaded \HasChildren and \HasNoChildren flags + were calculated incorrectly for mailboxes containing '*' and '%' + in their names. + - auth: Crash occured if a connection to PostgreSQL database server + failed during startup. + - auth: Logins with invalid passwords (e.g. unknown scheme) in passdb + were failing with "password mismatch" instead of "internal error". + - auth: XOAUTH2 and OAUTHBEARER mechanisms were not giving out protocol + specific error message on all errors. This especially broke OIDC + discovery. + - dbox: When last_temp_file_scan header wasn't set (especially after + dsync migration), the next mailbox open always triggers the temp file + scan. This could have caused a load spike after migrations. Fixed by + using the mailbox directory's atime when the header isn't set, which + usually moves the scan time into the future. + - dict-redis: A crash would occur on transaction rollback. + - dsync: Infinite loop causing out of memory would occur when handling + mailbox deletion from remote end and hierarchy separators would differ. + - dsync: Incremental dsync failed for folder names ending with '%', + unless BROKENCHAR was set. Also folder names with '%' elsewhere in + them caused each incremental dsync to unnecessarily rename the folder + to a temporary name and back. v2.3.19 regression. + - imap-hibernate: If an IMAP client unhibernation timed out with + "(version received)", the unhibernation could still have successfully + finished later on and continued working normally. This was rather + confusing, because imap-hibernate already logged that the client got + disconnected. Avoid this by forcing the connection to shutdown on + unhibernation timeout. + - imapc: Crashed when a folder mapped through the virtual plugin + disappears from the storage. + - imapc: EXPUNGE, EXISTS or FETCH replies from a server for a previously + selected mailbox could have been processed as if they belonged to the + new mailbox currently being selected. This could have caused warnings. + - lib-http: Dovecot HTTP server (doveadm, stats/openmetrics) may have + disconnected HTTP clients before the response is fully sent. This + happened only on busy servers where kernel's socket buffers were + rather full. + - lib-http: Fixed a potential crash on http-server if a client + disconnected early. v2.3.18 regression. + - lib-index: Index file corruption could have caused a crash. Fixes: + Panic: file mail-transaction-log-view.c: line 165 (mail_transaction_log_view_set): + assertion failed: (min_file_seq <= max_file_seq). + - lib-index: Purging an existing >1GB cache file can crash. Now cache + files still above 1GB after purging are removed. Fixes: + Panic: file mail-index-util.c: line 10 (mail_index_uint32_to_offset): + assertion failed: (offset < 0x40000000) + - lib-lua: A HTTP client could not resolve DNS names in mail processes, + because it expected "the dns-client" socket to exist in the current + directory. + - lib-oauth2: Dovecot would send client_id and client_secret as POST + parameters to the introspection server. These need to be optionally in + Basic auth instead. + - lib-oauth2: JWT aud validation was not performed if aud was missing + from a token, but was configured on Dovecot. + - lib-oauth2: JWT key type check was too strict. + - lib-oauth2: JWT token audience was not validated against client_id as + required by the specification. + - lib-ssl-iostream: Using the ssl_require_crl=yes setting may have caused + CRL check failures for outgoing SSL/TLS connections, although it was + supposed to affect checking CRLs only for client-side SSL + certificates. v2.3.17 regression. + - lib-sql: MySQL driver leaked memory when connection failed. + - lib-storage: Various fixes when running into out of disk space. + - master: Service idle_kill setting didn't work properly on busy + servers. It was very unlikely that any process was idling long enough + to become killed. Also the idle_kill handling code was using quite a + lot of CPU on the master process when there were a lot of processes + (e.g. imap). The new behavior is to track the lowest number of idling + processes every idle_kill time interval and then kill that many idling + processes. + - mdbox: Temp file scan was done for always empty directories. + - mdbox: The fdatasync() call was done in wrong parent directory when + writing mails. Also on a failure it crashed instead of logging an error. + - notify_status: The plugin crashes if any user initialization fails. + - pop3: Sending command with the ':' character caused an assert-crash. + v2.3.18 regression. Fixes: Panic: event_reason_code_prefix(): name has ':' + - stats: Fix panic when a nonexistent event exporter was referenced while + adding a new metric dynamically via doveadm stats add. This produces + a proper error now. + - stats: If process exported a lot of events and then exited, some of + the last events may have become lost. + - stats: Invalid Prometheus label names were created with specific + histogram group_by configurations. Prometheus rejected these labels. + - welcome: The plugin didn't execute in some situations that created + INBOX but didn't open it, e.g. if GETMETADATA was used before the + INBOX was opened. + + Pigeonhole v0.5.21 + - sieve: Using the deleteheader action on a message with a broken/invalid + header can cause the Sieve interpreter to crash with an assert panic. + This can happen e.g. when the message is missing the empty EOH line + between the headers and the body of the message. Fixes: + Panic: file edit-mail.c: line 820 (edit_mail_headers_parse): + assertion failed: (body_offset > 0). + - sieve: Pigeonhole added an extra Message-ID header during mail + forwarding when the existing one was invalid. Now it adds the + Message-ID only if it is entirely missing. Existing Message-ID(s) are + left unchanged. + +------------------------------------------------------------------- Old: ---- dovecot-2.3-pigeonhole-0.5.20.tar.gz dovecot-2.3-pigeonhole-0.5.20.tar.gz.sig dovecot-2.3.20.tar.gz dovecot-2.3.20.tar.gz.sig New: ---- dovecot-2.3-pigeonhole-0.5.21.tar.gz dovecot-2.3-pigeonhole-0.5.21.tar.gz.sig dovecot-2.3.21.tar.gz dovecot-2.3.21.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dovecot23.spec ++++++ --- /var/tmp/diff_new_pack.Y8rsa0/_old 2023-09-15 22:11:32.486149052 +0200 +++ /var/tmp/diff_new_pack.Y8rsa0/_new 2023-09-15 22:11:32.486149052 +0200 @@ -17,11 +17,11 @@ Name: dovecot23 -Version: 2.3.20 +Version: 2.3.21 Release: 0 %define pkg_name dovecot -%define dovecot_version 2.3.20 -%define dovecot_pigeonhole_version 0.5.20 +%define dovecot_version 2.3.21 +%define dovecot_pigeonhole_version 0.5.21 %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 @@ -162,6 +162,7 @@ Patch1: dovecot-2.3.0-better_ssl_defaults.patch # PATCH-FIX-OPENSUSE - boo#1207958 Patch2: fix-build-with-openssl-3.patch +# PATCH-FIX-UPSTREAM - https://github.com/dovecot/core/commit/f0c1cf42ea78d22e2674b03fe65f0ee6545c5b99 Patch3: fix-strict-aliasing.patch Summary: IMAP and POP3 Server Written Primarily with Security in Mind License: BSD-3-Clause AND LGPL-2.1-or-later AND MIT ++++++ dovecot-2.3-pigeonhole-0.5.20.tar.gz -> dovecot-2.3-pigeonhole-0.5.21.tar.gz ++++++ ++++ 1804 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/ChangeLog new/dovecot-2.3-pigeonhole-0.5.21/ChangeLog --- old/dovecot-2.3-pigeonhole-0.5.20/ChangeLog 2022-12-21 09:50:15.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/ChangeLog 2023-09-14 15:18:37.000000000 +0200 @@ -1,31 +1,69 @@ -2022-11-23 09:58:38 +0200 Aki Tuomi <aki.tu...@open-xchange.com> (149edcf2) +2023-08-30 15:48:42 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (f6cd4b8e) - configure: Set version to 0.5.20 + configure: Set version to 0.5.21 M configure.ac -2022-11-23 09:58:17 +0200 Aki Tuomi <aki.tu...@open-xchange.com> (b3be0f58) +2023-08-30 15:46:29 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (bf473e5c) + + NEWS: Add news for 0.5.21 + + +M NEWS + +2022-11-23 09:58:17 +0200 Aki Tuomi <aki.tu...@open-xchange.com> (4d6323e5) NEWS: Add news for 2.3.20 M NEWS -2022-05-04 15:04:01 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (68ccbf50) +2022-05-04 15:04:01 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (65e5508b) NEWS: Update date for 2.3.19 news M NEWS -2022-04-26 09:45:26 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (a254ae47) +2022-04-26 09:45:26 +0300 Aki Tuomi <aki.tu...@open-xchange.com> (6c340655) NEWS: Add news for 0.5.19 M NEWS +2023-05-09 07:29:46 +0000 Marco Bettini <marco.bett...@open-xchange.com> (bea54d46) + + lib-sieve: act_redirect_execute() - Pick Message-id even if invalid + + This avoids adding another Message-id if one is already present but of bad + quality. + +M src/lib-sieve/cmd-redirect.c + +2023-06-20 01:13:08 +0200 Stephan Bosch <stephan.bo...@open-xchange.com> (8c3df357) + + lib-sieve: util: edit-mail - Fix assert occurring when bad header is + encountered. + + In that case, the header name and middle are empty, causing: + + Panic: file edit-mail.c: line 820 (edit_mail_headers_parse): assertion + failed: (body_offset > 0) + + Fixed by skipping the bad header for parsing altogether. + +M src/lib-sieve/util/edit-mail.c + +2023-03-30 01:58:09 +0300 Timo Sirainen <timo.sirai...@open-xchange.com> (ad58bdd4) + + managesieve: Disable debug logging while dumping capability + + It only causes confusing output. + +M src/managesieve/main.c + 2022-01-12 12:54:05 +0200 Aki Tuomi <aki.tu...@open-xchange.com> (cf9d3352) NEWS: Add news for 0.5.18 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/NEWS new/dovecot-2.3-pigeonhole-0.5.21/NEWS --- old/dovecot-2.3-pigeonhole-0.5.20/NEWS 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/NEWS 2023-09-14 15:18:26.000000000 +0200 @@ -1,3 +1,16 @@ +v0.5.21 2023-08-15 Aki Tuomi <aki.tu...@open-xchange.com> + + - sieve: Using the deleteheader action on a message with a broken/invalid + header can cause the Sieve interpreter to crash with an assert panic. + This can happen e.g. when the message is missing the empty EOH line + between the headers and the body of the message. Fixes: + Panic: file edit-mail.c: line 820 (edit_mail_headers_parse): + assertion failed: (body_offset > 0). + - sieve: Pigeonhole added an extra Message-ID header during mail + forwarding when the existing one was invalid. Now it adds the + Message-ID only if it is entirely missing. Existing Message-ID(s) are + left unchanged. + v0.5.20 2022-12-12 Aki Tuomi <aki.tu...@open-xchange.com> * No changes - release done to keep version numbers synced. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/compile new/dovecot-2.3-pigeonhole-0.5.21/compile --- old/dovecot-2.3-pigeonhole-0.5.20/compile 2022-12-21 09:50:08.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/compile 2023-09-14 15:18:31.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/config.rpath new/dovecot-2.3-pigeonhole-0.5.21/config.rpath --- old/dovecot-2.3-pigeonhole-0.5.20/config.rpath 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/config.rpath 2023-09-14 15:18:26.000000000 +0200 @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2016 Free Software Foundation, Inc. +# Copyright 1996-2020 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <g...@gnu.ai.mit.edu>, 1996 # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/configure.ac new/dovecot-2.3-pigeonhole-0.5.21/configure.ac --- old/dovecot-2.3-pigeonhole-0.5.20/configure.ac 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/configure.ac 2023-09-14 15:18:26.000000000 +0200 @@ -2,8 +2,8 @@ # Be sure to update ABI version also if anything changes that might require # recompiling plugins. Most importantly that means if any structs are changed. -AC_INIT([Pigeonhole], [0.5.20], [dove...@dovecot.org], [dovecot-2.3-pigeonhole]) -AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv20($PACKAGE_VERSION)", [Pigeonhole ABI version]) +AC_INIT([Pigeonhole], [0.5.21], [dove...@dovecot.org], [dovecot-2.3-pigeonhole]) +AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv21($PACKAGE_VERSION)", [Pigeonhole ABI version]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_SRCDIR([src]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/m4/libtool.m4 new/dovecot-2.3-pigeonhole-0.5.21/m4/libtool.m4 --- old/dovecot-2.3-pigeonhole-0.5.20/m4/libtool.m4 2022-12-21 09:50:05.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/m4/libtool.m4 2023-09-14 15:18:29.000000000 +0200 @@ -1041,8 +1041,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1071,11 +1071,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -1492,7 +1492,7 @@ m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) @@ -4704,6 +4704,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/missing new/dovecot-2.3-pigeonhole-0.5.21/missing --- old/dovecot-2.3-pigeonhole-0.5.20/missing 2022-12-21 09:50:08.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/missing 2023-09-14 15:18:31.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/pigeonhole-version.h new/dovecot-2.3-pigeonhole-0.5.21/pigeonhole-version.h --- old/dovecot-2.3-pigeonhole-0.5.20/pigeonhole-version.h 2022-12-21 09:50:14.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/pigeonhole-version.h 2023-09-14 15:18:37.000000000 +0200 @@ -1,6 +1,6 @@ #ifndef PIGEONHOLE_VERSION_H #define PIGEONHOLE_VERSION_H -#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (149edcf2)" +#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (f6cd4b8e)" #endif /* PIGEONHOLE_VERSION_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/src/lib-sieve/cmd-redirect.c new/dovecot-2.3-pigeonhole-0.5.21/src/lib-sieve/cmd-redirect.c --- old/dovecot-2.3-pigeonhole-0.5.20/src/lib-sieve/cmd-redirect.c 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/src/lib-sieve/cmd-redirect.c 2023-09-14 15:18:26.000000000 +0200 @@ -570,8 +570,13 @@ trans->msg_id = msgdata->id; if (trans->msg_id == NULL) { pool_t pool = sieve_result_pool(aenv->result); - trans->msg_id = trans->new_msg_id = - p_strdup(pool, sieve_message_get_new_id(svinst)); + const char *msg_id; + if (mail_get_message_id_no_validation(msgdata->mail, &msg_id) > 0) + trans->msg_id = p_strdup(pool, msg_id); + else { + msg_id = sieve_message_get_new_id(svinst); + trans->msg_id = trans->new_msg_id = p_strdup(pool, msg_id); + } } /* Create ID for duplicate database lookup */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/src/lib-sieve/util/edit-mail.c new/dovecot-2.3-pigeonhole-0.5.21/src/lib-sieve/util/edit-mail.c --- old/dovecot-2.3-pigeonhole-0.5.20/src/lib-sieve/util/edit-mail.c 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/src/lib-sieve/util/edit-mail.c 2023-09-14 15:18:26.000000000 +0200 @@ -765,6 +765,9 @@ if (hdr == NULL || hdr->eoh) break; + /* Skip bad headers */ + if (hdr->name_len == 0) + continue; /* We deny the existence of any `Content-Length:' header. This header is non-standard and it can wreak havok when the message is modified. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dovecot-2.3-pigeonhole-0.5.20/src/managesieve/main.c new/dovecot-2.3-pigeonhole-0.5.21/src/managesieve/main.c --- old/dovecot-2.3-pigeonhole-0.5.20/src/managesieve/main.c 2022-12-21 09:50:02.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.21/src/managesieve/main.c 2023-09-14 15:18:26.000000000 +0200 @@ -345,6 +345,7 @@ /* Dump capabilities if requested */ if (getenv("DUMP_CAPABILITY") != NULL) { + i_set_debug_file("/dev/null"); managesieve_capabilities_dump(); commands_deinit(); master_service_deinit(&master_service); ++++++ dovecot-2.3-pigeonhole-0.5.20.tar.gz -> dovecot-2.3.21.tar.gz ++++++ /work/SRC/openSUSE:Factory/dovecot23/dovecot-2.3-pigeonhole-0.5.20.tar.gz /work/SRC/openSUSE:Factory/.dovecot23.new.1766/dovecot-2.3.21.tar.gz differ: char 5, line 1