Hello community, here is the log from the commit of package dovecot23 for openSUSE:Factory checked in at 2020-08-14 09:33:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dovecot23 (Old) and /work/SRC/openSUSE:Factory/.dovecot23.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dovecot23" Fri Aug 14 09:33:47 2020 rev:31 rq:826276 version:2.3.11.3 Changes: -------- --- /work/SRC/openSUSE:Factory/dovecot23/dovecot23.changes 2020-05-26 17:50:36.408049720 +0200 +++ /work/SRC/openSUSE:Factory/.dovecot23.new.3399/dovecot23.changes 2020-08-14 09:34:40.120439611 +0200 @@ -1,0 +2,116 @@ +Wed Aug 12 13:57:05 UTC 2020 - Arjen de Korte <[email protected]> + +- update to 2.3.11.3 and pigeonhole to 0.5.11 (boo#1174920 boo#1174922 boo#1174923) + + Dovecot 2.3.11.3 + - pop3-login: Login didn't handle commands in multiple IP packets properly. + This mainly affected large XCLIENT commands or a large SASL initial + response parameter in the AUTH command. + - pop3: pop3_deleted_flag setting was broken, causing: + Panic: file seq-range-array.c: line 472 (seq_range_array_invert): + assertion failed: (range[count-1].seq2 <= max_seq) + Dovecot 2.3.11.2 + - auth: Lua passdb/userdb leaks stack elements per call, eventually + causing the stack to become too deep and crashing the auth or + auth-worker process. + - lib-mail: v2.3.11 regression: MIME parts not returned correctly by + Dovecot MIME parser. + - pop3-login: Login would fail with "Input buffer full" if the initial + response for SASL was too long. + Dovecot 2.3.11 + * CVE-2020-12100: Parsing mails with a large number of MIME parts could + have resulted in excessive CPU usage or a crash due to running out of + stack memory. + * CVE-2020-12673: Dovecot's NTLM implementation does not correctly check + message buffer size, which leads to reading past allocation which can + lead to crash. + * CVE-2020-10967: lmtp/submission: Issuing the RCPT command with an + address that has the empty quoted string as local-part causes the lmtp + service to crash. + * CVE-2020-12674: Dovecot's RPA mechanism implementation accepts + zero-length message, which leads to assert-crash later on. + * Events: Fix inconsistency in events. See event documentation in + https://doc.dovecot.org. + * imap_command_finished event's cmd_name field now contains "unknown" + for unknown commands. A new "cmd_input_name" field contains the + command name exactly as it was sent. + * lib-index: Renamed mail_cache_compress_* settings to mail_cache_purge_*. + Note that these settings are mainly intended for testing and usually + shouldn't be changed. + * events: Renamed "index" event category to "mail-index". + * events: service:<name> category is now using the name from + configuration file. + * dns-client: service dns_client was renamed to dns-client. + * log: Prefixes generally use the service name from configuration file. + For example dict-async service will now use + "dict-async(pid): " log prefix instead of "dict(pid): " + * *-login: Changed logging done by proxying to use a consistent prefix + containing the IP address and port. + * *-login: Changed disconnection log messages to be slightly clearer. + + dict: Add events for dictionaries. + + lib-index: Finish logging with events. + + oauth2: Support local validation of JWT tokens. + + stats: Add support for dynamic histograms and grouping. See + https://doc.dovecot.org/configuration_manual/stats/. + + imap: Implement RFC 8514: IMAP SAVEDATE + + lib-index: If a long-running transaction (e.g. SORT/FETCH on a huge + folder) adds a lot of data to dovecot.index.cache file, commit those + changes periodically to make them visible to other concurrent sessions + as well. + + stats: Add OpenMetrics exporter for statistics. See + https://doc.dovecot.org/configuration_manual/stats/openmetrics/. + + stats: Support disabling stats-writer socket by setting + stats_writer_socket_path="". + - auth-worker: Process keeps slowly increasing its memory usage and + eventually dies with "out of memory" due to reaching vsz_limit. + - auth: Prevent potential timing attacks in authentication secret + comparisons: OAUTH2 JWT-token HMAC, imap-urlauth token, crypt() result. + - auth: Several auth-mechanisms allowed input to be truncated by NUL + which can potentially lead to unintentional issues or even successful + logins which should have failed. + - auth: When auth policy returned a delay, auth_request_finished event + had policy_result=ok field instead of policy_result=delayed. + - auth: auth process crash when auth_policy_server_url is set to an + invalid URL. + - dict-ldap: Crash occurs if var_expand template expansion fails. + - dict: If dict client disconnected while iteration was still running, + dict process could have started using 100% CPU, although it was still + handling clients. + - doveadm: Running doveadm commands via proxying may hang, especially + when doveadm is printing a lot of output. + - imap: "MOVE * destfolder" goes to a loop copying the last mail to the + destination until the imap process dies due to running out of memory. + - imap: Running "UID MOVE 1:* Trash" on an empty folder goes to infinite + loop. + - imap: SEARCH doesn't support $. + - lib-compress: Buffer over-read in zlib stream read. + - lib-dns: If DNS lookup times out, lib-dns can cause crash in calling + process. + - lib-index: Fixed several bugs in dovecot.index.cache handling that + could have caused cached data to be lost. + - lib-index: Writing to >=1 GB dovecot.index.cache files may cause + assert-crashes: + Panic: file mail-index-util.c: line 37 (mail_index_uint32_to_offset): + assertion failed: (offset < 0x40000000) + - lib-ssl-iostream: Fix buggy OpenSSL error handling without + assert-crashing. If there is no error available, log it as an error + instead of crashing: + Panic: file iostream-openssl.c: line 599 (openssl_iostream_handle_error): + assertion failed: (errno != 0) + - lib-ssl-iostream: ssl_key_password setting did not work. + - submission: A segfault crash may occur when the client or server + disconnects while a non-transaction command like NOOP or VRFY is still + being processed. + - virtual: Copying/moving mails with IMAP into a virtual folder assert-crashes: + Panic: file cmd-copy.c: line 152 (fetch_and_copy): assertion failed: + (copy_ctx->copy_count == seq_range_count(©_ctx->saved_uids)) + + Pigeonhole 0.5.11 + * managesieve: managesieve_max_line_length setting is now a "size" type + instead of just number of bytes. This allows using e.g. "64k" as the + value. + - lib-sieve: When folding white space is used in the Message-ID header, + it is not stripped away correctly before the message ID value is used, + causing e.g. garbled log lines at delivery. + +------------------------------------------------------------------- Old: ---- dovecot-2.3-pigeonhole-0.5.10.tar.gz dovecot-2.3-pigeonhole-0.5.10.tar.gz.sig dovecot-2.3.10.1.tar.gz dovecot-2.3.10.1.tar.gz.sig New: ---- dovecot-2.3-pigeonhole-0.5.11.tar.gz dovecot-2.3-pigeonhole-0.5.11.tar.gz.sig dovecot-2.3.11.3.tar.gz dovecot-2.3.11.3.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dovecot23.spec ++++++ --- /var/tmp/diff_new_pack.bfPvUZ/_old 2020-08-14 09:34:40.760439939 +0200 +++ /var/tmp/diff_new_pack.bfPvUZ/_new 2020-08-14 09:34:40.764439941 +0200 @@ -19,11 +19,11 @@ %global _lto_cflags %{nil} Name: dovecot23 -Version: 2.3.10.1 +Version: 2.3.11.3 Release: 0 %define pkg_name dovecot -%define dovecot_version 2.3.10.1 -%define dovecot_pigeonhole_version 0.5.10 +%define dovecot_version 2.3.11.3 +%define dovecot_pigeonhole_version 0.5.11 %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 ++++++ dovecot-2.3-pigeonhole-0.5.10.tar.gz -> dovecot-2.3-pigeonhole-0.5.11.tar.gz ++++++ ++++ 4014 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.10/ChangeLog new/dovecot-2.3-pigeonhole-0.5.11/ChangeLog --- old/dovecot-2.3-pigeonhole-0.5.10/ChangeLog 2020-03-05 15:37:35.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/ChangeLog 2020-08-13 09:11:59.000000000 +0200 @@ -1,11 +1,175 @@ -2020-03-04 09:58:45 +0200 Aki Tuomi <[email protected]> (bf8ef1c2) +2020-08-13 07:45:38 +0300 Aki Tuomi <[email protected]> (d71e0372) - Released 0.5.10 + configure: Fix version number + Broken by ebadd718b918a552fce65ccae6ebaff9d482eb16 M configure.ac -2020-03-03 13:59:43 +0200 Aki Tuomi <[email protected]> (d63d7f99) +2020-06-30 11:53:28 +0300 Aki Tuomi <[email protected]> (6c69c917) + + NEWS: Add news for 0.5.11 + + +M NEWS + +2020-06-30 11:51:26 +0300 Aki Tuomi <[email protected]> (ebadd718) + + configure.ac: Update version + + +M configure.ac + +2020-05-19 15:40:04 +0300 Timo Sirainen <[email protected]> (cb631066) + + lib-sieve: Adjust to message_parser_init() API change + + +M src/lib-sieve/plugins/notify/ext-notify-common.c +M src/lib-sieve/sieve-message.c + +2020-02-18 23:27:03 +0100 Stephan Bosch <[email protected]> (038274fe) + + global: Properly parse Message-ID header. + + Use mail_get_message_id() instead of just mail_get_first_header(). + +M src/lib-sieve/plugins/duplicate/tst-duplicate.c +M src/plugins/imap-filter-sieve/imap-filter-sieve.c +M src/plugins/imapsieve/imap-sieve.c +M src/plugins/lda-sieve/lda-sieve-plugin.c +M src/sieve-tools/sieve-filter.c +M src/sieve-tools/sieve-test.c +M src/testsuite/testsuite-message.c + +2020-04-21 18:31:13 +0200 Stephan Bosch <[email protected]> (72bed3a5) + + testsuite: testsuite-message - Give all global variables a "testsuite_" + prefix. + + +M src/testsuite/testsuite-message.c + +2020-04-21 18:27:33 +0200 Stephan Bosch <[email protected]> (06b29fd6) + + testsuite: Reformat testsuite-message.h. + + +M src/testsuite/testsuite-message.h + +2020-04-21 18:25:38 +0200 Stephan Bosch <[email protected]> (6b2bc756) + + testsuite: Reformat testsuite-message.c. + + +M src/testsuite/testsuite-message.c + +2020-04-21 23:15:52 +0300 Timo Sirainen <[email protected]> (1bcf28c8) + + managesieve: Fix debug event's printf format type + + +M src/managesieve/cmd-havespace.c + +2020-04-24 13:05:01 +0300 Timo Sirainen <[email protected]> (6c81309a) + + managesieve-login: Correctly adjust to core login-common API changes. + + Previous commit was accidentally for an earlier version of the API change. + +M src/managesieve-login/client.c + +2020-04-10 01:02:50 +0300 Timo Sirainen <[email protected]> (568c72e7) + + managesieve-login: Adjust to core login-common API changes. + + +M src/managesieve-login/client.c +M src/managesieve-login/managesieve-proxy.c + +2020-04-05 01:25:02 +0300 Timo Sirainen <[email protected]> (464a0f92) + + lib-sieve: Use "sieve" category as parent for "sieve-*" categories + + +M src/lib-sieve/sieve-common.h +M src/lib-sieve/sieve-execute.c +M src/lib-sieve/sieve-interpreter.c +M src/lib-sieve/sieve-result.c +M src/lib-sieve/sieve-storage.c + +2020-03-11 15:43:47 +0200 Timo Sirainen <[email protected]> (7b97795e) + + managesieve: Change managesieve_max_line_length setting type to "size" + + +M src/managesieve/managesieve-settings.c +M src/managesieve/managesieve-settings.h + +2020-03-24 17:59:18 +0200 Timo Sirainen <[email protected]> (ff7d9089) + + global: Remove dead assignments + + Found by latest clang scan-build. + +M src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c +M src/lib-sieve/sieve-message.c +M src/plugins/sieve-extprograms/sieve-extprograms-common.c + +2020-03-24 17:56:20 +0200 Timo Sirainen <[email protected]> (da702576) + + plugins: imap-filter-sieve: SIEVE SCRIPT - Reorder if checks to remove + unnecessary indenting + + Nothing changes in the code logic. + +M src/plugins/imap-filter-sieve/cmd-filter-sieve.c + +2020-03-24 17:44:18 +0200 Timo Sirainen <[email protected]> (f69f9fe1) + + plugins: imap-filter-sieve: SIEVE SCRIPT - Cleanup istream return value + checking + + The old code seems to have worked correctly already, but now it's a bit + clearer how it was intended to work. + +M src/plugins/imap-filter-sieve/cmd-filter-sieve.c + +2020-03-24 17:40:28 +0200 Timo Sirainen <[email protected]> (919704e7) + + lib-sieve: plugins: body: Fix compiler warning + + Fixes "warning: cast to smaller integer type" with new clang. + +M src/lib-sieve/plugins/body/tst-body.c + +2020-03-17 09:33:24 -0400 Josef 'Jeff' Sipek <[email protected]> (301a5c44) + + global: use %zu directly instead of PRIuSIZE_T + + +M src/lib-managesieve/managesieve-arg.c +M src/lib-managesieve/managesieve-quote.c +M src/lib-sieve/plugins/editheader/cmd-addheader.c +M src/lib-sieve/plugins/editheader/ext-editheader-common.c +M src/lib-sieve/plugins/variables/ext-variables-common.c +M src/lib-sieve/sieve-binary-dumper.c +M src/lib-sieve/sieve-binary-file.c +M src/lib-sieve/sieve-lexer.c +M src/lib-sieve/storage/ldap/sieve-ldap-db.c +M src/managesieve/cmd-havespace.c +M src/managesieve/managesieve-quota.c +M src/plugins/imap-filter-sieve/cmd-filter-sieve.c +M src/plugins/imap-filter-sieve/imap-filter.c + +2020-03-09 14:54:04 +0200 Aki Tuomi <[email protected]> (5992e367) + + NEWS: Fix news for 0.5.10 + + +M NEWS + +2020-03-03 13:59:43 +0200 Aki Tuomi <[email protected]> (2e6a4515) NEWS: Add news for v0.5.10 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.10/NEWS new/dovecot-2.3-pigeonhole-0.5.11/NEWS --- old/dovecot-2.3-pigeonhole-0.5.10/NEWS 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/NEWS 2020-08-12 13:58:19.000000000 +0200 @@ -1,6 +1,16 @@ +v0.5.11 2020-08-12 Aki Tuomi <[email protected]> + + * managesieve: managesieve_max_line_length setting is now a "size" type + instead of just number of bytes. This allows using e.g. "64k" as the + value. + - lib-sieve: When folding white space is used in the Message-ID header, + it is not stripped away correctly before the message ID value is used, + causing e.g. garbled log lines at delivery. + v0.5.10 2020-03-06 Aki Tuomi <[email protected]> - No changes + * imap_sieve_filter: Change result action logging to include IMAP UID + - vacation: Addresses were compared case-sensitively. v0.5.9 2019-12-04 Aki Tuomi <[email protected]> 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.10/compile new/dovecot-2.3-pigeonhole-0.5.11/compile --- old/dovecot-2.3-pigeonhole-0.5.10/compile 2020-03-05 15:37:29.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/compile 2017-06-21 07:48:12.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # 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.10/configure.ac new/dovecot-2.3-pigeonhole-0.5.11/configure.ac --- old/dovecot-2.3-pigeonhole-0.5.10/configure.ac 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/configure.ac 2020-08-13 09:10:40.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.10], [[email protected]], [dovecot-2.3-pigeonhole]) -AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv10($PACKAGE_VERSION)", [Pigeonhole ABI version]) +AC_INIT([Pigeonhole], [0.5.11], [[email protected]], [dovecot-2.3-pigeonhole]) +AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv11($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.10/m4/ltsugar.m4 new/dovecot-2.3-pigeonhole-0.5.11/m4/ltsugar.m4 --- old/dovecot-2.3-pigeonhole-0.5.10/m4/ltsugar.m4 2020-03-05 15:37:26.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/m4/ltsugar.m4 2017-06-21 07:48:09.000000000 +0200 @@ -1,7 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives @@ -34,7 +33,7 @@ # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. +# Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], @@ -45,7 +44,7 @@ # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different 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.10/m4/lt~obsolete.m4 new/dovecot-2.3-pigeonhole-0.5.11/m4/lt~obsolete.m4 --- old/dovecot-2.3-pigeonhole-0.5.10/m4/lt~obsolete.m4 2020-03-05 15:37:26.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/m4/lt~obsolete.m4 2017-06-21 07:48:09.000000000 +0200 @@ -1,7 +1,6 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives @@ -12,7 +11,7 @@ # These exist entirely to fool aclocal when bootstrapping libtool. # -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # @@ -26,7 +25,7 @@ # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until 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.10/missing new/dovecot-2.3-pigeonhole-0.5.11/missing --- old/dovecot-2.3-pigeonhole-0.5.10/missing 2020-03-05 15:37:29.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/missing 2017-06-21 07:48:12.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 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.10/pigeonhole-version.h new/dovecot-2.3-pigeonhole-0.5.11/pigeonhole-version.h --- old/dovecot-2.3-pigeonhole-0.5.10/pigeonhole-version.h 2020-03-05 15:37:35.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/pigeonhole-version.h 2020-08-13 09:11:58.000000000 +0200 @@ -1,6 +1,6 @@ #ifndef PIGEONHOLE_VERSION_H #define PIGEONHOLE_VERSION_H -#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (bf8ef1c2)" +#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (d71e0372)" #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.10/src/lib-managesieve/managesieve-arg.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-managesieve/managesieve-arg.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-managesieve/managesieve-arg.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-managesieve/managesieve-arg.c 2020-05-06 09:55:12.000000000 +0200 @@ -167,7 +167,7 @@ break; case MANAGESIEVE_ARG_LITERAL: { const char *strarg = managesieve_arg_as_string(arg); - str_printfa(dest, "{%"PRIuSIZE_T"}\r\n", + str_printfa(dest, "{%zu}\r\n", strlen(strarg)); str_append(dest, strarg); break; 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.10/src/lib-managesieve/managesieve-quote.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-managesieve/managesieve-quote.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-managesieve/managesieve-quote.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-managesieve/managesieve-quote.c 2020-05-06 09:55:12.000000000 +0200 @@ -60,7 +60,7 @@ str_append_c(str, '"'); } else { /* return as literal */ - str_printfa(str, "{%"PRIuSIZE_T"}\r\n", value_len - extra); + str_printfa(str, "{%zu}\r\n", value_len - extra); } tmp = t_str_new(value_len+escape+4); 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.10/src/lib-sieve/plugins/body/tst-body.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/body/tst-body.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/body/tst-body.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/body/tst-body.c 2020-05-06 09:55:12.000000000 +0200 @@ -226,7 +226,7 @@ struct sieve_command *cmd ATTR_UNUSED) { enum tst_body_transform transform = - (enum tst_body_transform) arg->argument->data; + POINTER_CAST_TO(arg->argument->data, enum tst_body_transform); sieve_binary_emit_byte(cgenv->sblock, transform); sieve_generate_argument_parameters(cgenv, cmd, arg); 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.10/src/lib-sieve/plugins/duplicate/tst-duplicate.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/duplicate/tst-duplicate.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/duplicate/tst-duplicate.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/duplicate/tst-duplicate.c 2020-05-06 09:55:12.000000000 +0200 @@ -403,8 +403,7 @@ val_len = str_len(uniqueid); } else { if (header == NULL) { - ret = mail_get_first_header_utf8(mail, "Message-ID", - &val); + ret = mail_get_message_id(mail, &val); if (ret < 0) { return sieve_runtime_mail_error( renv, mail, "duplicate test: " 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.10/src/lib-sieve/plugins/editheader/cmd-addheader.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/editheader/cmd-addheader.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/editheader/cmd-addheader.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/editheader/cmd-addheader.c 2020-05-06 09:55:12.000000000 +0200 @@ -170,7 +170,7 @@ if ( ext_editheader_header_too_large(cmd->ext, str_len(fvalue)) ) { sieve_argument_validate_error(valdtr, arg, "addheader command: " - "specified header value `%s' is too large (%"PRIuSIZE_T" bytes)", + "specified header value `%s' is too large (%zu bytes)", str_sanitize(str_c(fvalue), 80), str_len(fvalue)); return SIEVE_EXEC_FAILURE; } @@ -317,7 +317,7 @@ if ( ext_editheader_header_too_large(this_ext, str_len(value)) ) { sieve_runtime_error(renv, NULL, "addheader action: " - "specified header value `%s' is too large (%"PRIuSIZE_T" bytes)", + "specified header value `%s' is too large (%zu bytes)", str_sanitize(str_c(value), 80), str_len(value)); return SIEVE_EXEC_FAILURE; } 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.10/src/lib-sieve/plugins/editheader/ext-editheader-common.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/editheader/ext-editheader-common.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/editheader/ext-editheader-common.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/editheader/ext-editheader-common.c 2020-05-06 09:55:12.000000000 +0200 @@ -120,7 +120,7 @@ if ( max_header_size < EXT_EDITHEADER_MINIMUM_MAX_HEADER_SIZE ) { e_warning(svinst->event, "editheader: " "value of sieve_editheader_max_header_size setting " - "(=%"PRIuSIZE_T") is less than the minimum (=%"PRIuSIZE_T") " + "(=%zu) is less than the minimum (=%zu) " "(ignored)", max_header_size, (size_t) EXT_EDITHEADER_MINIMUM_MAX_HEADER_SIZE); } else { 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.10/src/lib-sieve/plugins/notify/ext-notify-common.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/notify/ext-notify-common.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/notify/ext-notify-common.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/notify/ext-notify-common.c 2020-07-02 09:40:22.000000000 +0200 @@ -189,7 +189,11 @@ /* Initialize body decoder */ decoder = message_decoder_init(NULL, 0); - parser = message_parser_init(mctx->pool, input, 0, 0); + struct message_parser_settings mparser_set = { + .hdr_flags = 0, + .flags = 0, + }; + parser = message_parser_init(mctx->pool, input, &mparser_set); is_text = TRUE; save_body = FALSE; while ((ret = message_parser_parse_next_block(parser, &block)) > 0) { 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.10/src/lib-sieve/plugins/variables/ext-variables-common.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/variables/ext-variables-common.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/variables/ext-variables-common.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/variables/ext-variables-common.c 2020-05-06 09:55:12.000000000 +0200 @@ -88,7 +88,7 @@ e_warning(svinst->event, "variables: " "setting sieve_variables_max_variable_size " "is lower than required by standards " - "(>= %"PRIuSIZE_T" bytes)", + "(>= %zu bytes)", (size_t)EXT_VARIABLES_REQUIRED_MAX_VARIABLE_SIZE); } else { config->max_variable_size = size_setting; 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.10/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c 2020-05-06 09:55:12.000000000 +0200 @@ -490,9 +490,9 @@ report_from.type = SIEVE_ADDRESS_SOURCE_DEFAULT; report_from.address = NULL; } - if ((ret = sieve_address_source_get_address( + if (sieve_address_source_get_address( &report_from, svinst, senv, msgctx, eenv->flags, - &sender)) > 0 && sender != NULL) + &sender) > 0 && sender != NULL) from = smtp_address_encode_path(sender); else from = sieve_get_postmaster_address(senv); 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.10/src/lib-sieve/sieve-binary-dumper.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-binary-dumper.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-binary-dumper.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-binary-dumper.c 2020-05-06 09:55:12.000000000 +0200 @@ -119,7 +119,7 @@ sieve_binary_block_get(sbin, i); sieve_binary_dumpf( - denv, "%3d: size: %"PRIuSIZE_T" bytes\n", + denv, "%3d: size: %zu bytes\n", i, sieve_binary_block_get_size(sblock)); } } @@ -234,7 +234,7 @@ struct sieve_binary_block *sblock = sieve_binary_block_get(sbin, i); - sieve_binary_dumpf(denv, "%3d: size: %"PRIuSIZE_T" bytes\n", + sieve_binary_dumpf(denv, "%3d: size: %zu bytes\n", i, sieve_binary_block_get_size(sblock)); } @@ -253,8 +253,7 @@ // FIXME: calculate offset more nicely. sieve_binary_dump_sectionf( - denv, "Block %d (%"PRIuSIZE_T" bytes, " - "file offset %08llx)", i, data_size, + denv, "Block %d (%zu bytes, file offset %08llx)", i, data_size, (unsigned long long int)sblock->offset + 8); line = t_str_new(128); 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.10/src/lib-sieve/sieve-binary-file.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-binary-file.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-binary-file.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-binary-file.c 2020-05-06 09:55:12.000000000 +0200 @@ -110,7 +110,7 @@ if ((ret = o_stream_send(stream, pdata, bytes_left)) <= 0) { e_error(sbin->event, "save: " - "failed to write %"PRIuSIZE_T" bytes " + "failed to write %zu bytes " "to output stream: %s", bytes_left, strerror(stream->stream_errno)); return FALSE; 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.10/src/lib-sieve/sieve-common.h new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-common.h --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-common.h 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-common.h 2020-05-06 09:55:12.000000000 +0200 @@ -153,6 +153,12 @@ enum sieve_compile_flags flags, enum sieve_error *error_r); /* + * Parent category + */ + +extern struct event_category event_category_sieve; + +/* * Sieve engine instance */ 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.10/src/lib-sieve/sieve-execute.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-execute.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-execute.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-execute.c 2020-05-06 09:55:12.000000000 +0200 @@ -6,6 +6,7 @@ #include "sieve-execute.h" struct event_category event_category_sieve_execute = { + .parent = &event_category_sieve, .name = "sieve-execute", }; 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.10/src/lib-sieve/sieve-interpreter.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-interpreter.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-interpreter.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-interpreter.c 2020-05-06 09:55:12.000000000 +0200 @@ -28,6 +28,7 @@ #include <string.h> static struct event_category event_category_sieve_runtime = { + .parent = &event_category_sieve, .name = "sieve-runtime", }; 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.10/src/lib-sieve/sieve-lexer.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-lexer.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-lexer.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-lexer.c 2020-05-06 09:55:12.000000000 +0200 @@ -69,7 +69,7 @@ svinst->max_script_size > 0 && (uoff_t)st->st_size > svinst->max_script_size) { sieve_error(ehandler, sieve_script_name(script), - "sieve script is too large (max %"PRIuSIZE_T" bytes)", + "sieve script is too large (max %zu bytes)", svinst->max_script_size); if (error_r != NULL) *error_r = SIEVE_ERROR_NOT_POSSIBLE; 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.10/src/lib-sieve/sieve-message.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-message.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-message.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-message.c 2020-07-02 09:40:22.000000000 +0200 @@ -1081,10 +1081,10 @@ struct sieve_message_context *msgctx = renv->msgctx; pool_t pool = msgctx->context_pool; struct mail *mail = sieve_message_get_mail(renv->msgctx); - enum message_parser_flags mparser_flags = - MESSAGE_PARSER_FLAG_INCLUDE_MULTIPART_BLOCKS; - enum message_header_parser_flags hparser_flags = - MESSAGE_HEADER_PARSER_FLAG_SKIP_INITIAL_LWSP; + struct message_parser_settings mparser_set = { + .hdr_flags = MESSAGE_HEADER_PARSER_FLAG_SKIP_INITIAL_LWSP, + .flags = MESSAGE_PARSER_FLAG_INCLUDE_MULTIPART_BLOCKS, + }; ARRAY(struct sieve_message_header) headers; struct sieve_message_part *body_part, *header_part, *last_part; struct message_parser_ctx *parser; @@ -1096,7 +1096,6 @@ unsigned int idx = 0; bool save_body = FALSE, have_all; string_t *hdr_content = NULL; - int ret; /* First check whether any are missing */ if ( !iter_all && sieve_message_body_get_return_parts @@ -1121,7 +1120,7 @@ if (iter_all) { t_array_init(&headers, 64); hdr_content = t_str_new(512); - hparser_flags |= MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE; + mparser_set.hdr_flags |= MESSAGE_HEADER_PARSER_FLAG_CLEAN_ONELINE; } else { i_zero(&headers); } @@ -1133,9 +1132,8 @@ //parser = message_parser_init_from_parts(parts, input, // hparser_flags, mparser_flags); parser = message_parser_init(pool_datastack_create(), - input, hparser_flags, mparser_flags); - while ( (ret=message_parser_parse_next_block - (parser, &block)) > 0 ) { + input, &mparser_set); + while ( message_parser_parse_next_block(parser, &block) > 0 ) { struct sieve_message_part **body_part_idx; struct message_header_line *hdr = block.hdr; struct sieve_message_header *header; 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.10/src/lib-sieve/sieve-result.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-result.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-result.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-result.c 2020-05-06 09:55:12.000000000 +0200 @@ -25,6 +25,7 @@ #include <stdio.h> struct event_category event_category_sieve_action = { + .parent = &event_category_sieve, .name = "sieve-action", }; 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.10/src/lib-sieve/sieve-storage.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-storage.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/sieve-storage.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/sieve-storage.c 2020-05-06 09:55:12.000000000 +0200 @@ -27,6 +27,7 @@ #define CRITICAL_MSG_STAMP CRITICAL_MSG " [%Y-%m-%d %H:%M:%S]" struct event_category event_category_sieve_storage = { + .parent = &event_category_sieve, .name = "sieve-storage", }; 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.10/src/lib-sieve/storage/ldap/sieve-ldap-db.c new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/storage/ldap/sieve-ldap-db.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/lib-sieve/storage/ldap/sieve-ldap-db.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/lib-sieve/storage/ldap/sieve-ldap-db.c 2020-05-06 09:55:12.000000000 +0200 @@ -1150,7 +1150,7 @@ data = i_malloc(size); e_debug(storage->event, "db: " - "Found script with length %"PRIuSIZE_T, size); + "Found script with length %zu", size); memcpy(data, vals[0]->bv_val, size); 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.10/src/managesieve/cmd-havespace.c new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/cmd-havespace.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve/cmd-havespace.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/cmd-havespace.c 2020-05-06 09:55:12.000000000 +0200 @@ -53,7 +53,7 @@ struct event_passthrough *e = client_command_create_finish_event(cmd); e_debug(e->event(), "Quota is within limits for script `%s' " - "with size %"PRIuSIZE_T, scriptname, size); + "with size %"PRIuUOFF_T, scriptname, size); client_send_ok(client, "Putscript would succeed."); return TRUE; 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.10/src/managesieve/managesieve-quota.c new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-quota.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve/managesieve-quota.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-quota.c 2020-05-06 09:55:12.000000000 +0200 @@ -31,8 +31,7 @@ struct event_passthrough *e = client_command_create_finish_event(cmd); e_debug(e->event(), - "Script size check failed " - "(size %"PRIuSIZE_T" bytes): %s", + "Script size check failed (size %zu bytes): %s", size, error_msg); client_send_noresp(client, "QUOTA/MAXSIZE", error_msg); @@ -57,7 +56,7 @@ if (ret < 0) { client_command_storage_error( cmd, "Failed to check quota for script `%s' " - "(size %"PRIuSIZE_T" bytes)", scriptname, size); + "(size %zu bytes)", scriptname, size); return FALSE; } @@ -89,8 +88,7 @@ client_command_create_finish_event(cmd)-> add_str("error", error_msg); e_debug(e->event(), - "Quota check failed for script `%s' " - "(size %"PRIuSIZE_T" bytes): %s", + "Quota check failed for script `%s' (size %zu bytes): %s", scriptname, size, error_msg); client_send_noresp(client, resp_code, error_msg); 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.10/src/managesieve/managesieve-settings.c new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-settings.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve/managesieve-settings.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-settings.c 2020-05-06 09:55:12.000000000 +0200 @@ -68,7 +68,7 @@ DEF(SET_BOOL, verbose_proctitle), DEF(SET_STR_VARS, rawlog_dir), - DEF(SET_UINT, managesieve_max_line_length), + DEF(SET_SIZE, managesieve_max_line_length), DEF(SET_STR, managesieve_implementation_string), DEF(SET_STR, managesieve_client_workarounds), DEF(SET_STR, managesieve_logout_format), 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.10/src/managesieve/managesieve-settings.h new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-settings.h --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve/managesieve-settings.h 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve/managesieve-settings.h 2020-05-06 09:55:12.000000000 +0200 @@ -15,7 +15,7 @@ const char *rawlog_dir; /* managesieve: */ - unsigned int managesieve_max_line_length; + uoff_t managesieve_max_line_length; const char *managesieve_implementation_string; const char *managesieve_client_workarounds; const char *managesieve_logout_format; 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.10/src/managesieve-login/client.c new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve-login/client.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve-login/client.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve-login/client.c 2020-05-06 09:55:12.000000000 +0200 @@ -522,11 +522,15 @@ .free = client_common_default_free, }; -static const struct login_binary managesieve_login_binary = { +static struct login_binary managesieve_login_binary = { .protocol = "sieve", .process_name = "managesieve-login", .default_port = 4190, + .event_category = { + .name = "managesieve", + }, + .client_vfuncs = &managesieve_client_vfuncs, .preinit = managesieve_login_preinit, .init = managesieve_login_init, 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.10/src/managesieve-login/managesieve-proxy.c new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve-login/managesieve-proxy.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/managesieve-login/managesieve-proxy.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/managesieve-login/managesieve-proxy.c 2020-05-06 09:55:12.000000000 +0200 @@ -77,7 +77,7 @@ if ( !client->proxy_sasl ) { /* Prevent sending credentials to a server that has login disabled; i.e., due to the lack of TLS */ - client_log_err(&client->common, "proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Server has disabled authentication (TLS required?)"); return -1; } @@ -99,9 +99,9 @@ managesieve_quote_append_string(str, mech_name, FALSE); if (dsasl_client_output(client->common.proxy_sasl_client, &output, &len, &error) < 0) { - client_log_err(&client->common, t_strdup_printf( - "proxy: SASL mechanism %s init failed: %s", - mech_name, error)); + e_error(login_proxy_get_event(client->common.login_proxy), + "SASL mechanism %s init failed: %s", + mech_name, error); return -1; } if (len > 0) { @@ -142,9 +142,9 @@ if ( ret > 0 && managesieve_arg_get_string(&args[0], &challenge) ) { *challenge_r = t_strdup(challenge); } else { - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Server sent invalid SASL challenge line: %s", - str_sanitize(line,160))); + str_sanitize(line,160)); fatal = TRUE; } @@ -157,9 +157,9 @@ error_str = (error_str != NULL ? error_str : "unknown (bug)" ); /* Do not accept faulty server */ - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Protocol parse error(%d) int SASL challenge line: %s (line=`%s')", - ret, error_str, line)); + ret, error_str, line); fatal = TRUE; } @@ -183,8 +183,8 @@ int ret; if (base64_decode(challenge, strlen(challenge), NULL, str) < 0) { - client_log_err(&client->common, - "proxy: Server sent invalid base64 data in AUTHENTICATE response"); + e_error(login_proxy_get_event(client->common.login_proxy), + "Server sent invalid base64 data in AUTHENTICATE response"); return -1; } ret = dsasl_client_input(client->common.proxy_sasl_client, @@ -194,9 +194,8 @@ &data, &data_len, &error); } if (ret < 0) { - client_log_err(&client->common, t_strdup_printf( - "proxy: Server sent invalid authentication data: %s", - error)); + e_error(login_proxy_get_event(client->common.login_proxy), + "Server sent invalid authentication data: %s", error); return -1; } i_assert(ret == 0); @@ -261,18 +260,18 @@ ret = managesieve_parser_read_args(parser, 2, 0, &args); if ( ret == 0 ) { - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Remote returned with invalid capability/greeting line: %s", - str_sanitize(line,160))); + str_sanitize(line,160)); fatal = TRUE; } else if ( ret > 0 ) { if ( args[0].type == MANAGESIEVE_ARG_ATOM ) { *resp_r = proxy_read_response(args); if ( *resp_r == MANAGESIEVE_RESPONSE_NONE ) { - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Remote sent invalid response: %s", - str_sanitize(line,160))); + str_sanitize(line,160)); fatal = TRUE; } @@ -292,8 +291,8 @@ } } else { - client_log_err(&client->common, "proxy: " - "Server returned erroneous SASL capability"); + e_error(login_proxy_get_event(client->common.login_proxy), + "Server returned erroneous SASL capability"); fatal = TRUE; } @@ -305,9 +304,9 @@ } else { /* Do not accept faulty server */ - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Remote returned with invalid capability/greeting line: %s", - str_sanitize(line,160))); + str_sanitize(line,160)); fatal = TRUE; } @@ -320,9 +319,9 @@ error_str = (error_str != NULL ? error_str : "unknown (bug)" ); /* Do not accept faulty server */ - client_log_err(&client->common, t_strdup_printf("proxy: " + e_error(login_proxy_get_event(client->common.login_proxy), "Protocol parse error(%d) in capability/greeting line: %s (line=`%s')", - ret, error_str, line)); + ret, error_str, line); fatal = TRUE; } @@ -362,7 +361,7 @@ if ( ret == 0 ) { if ( response != MANAGESIEVE_RESPONSE_OK ) { - client_log_err(client, "proxy: " + e_error(login_proxy_get_event(client->login_proxy), "Remote sent unexpected NO/BYE instead of capability response"); client_proxy_failed(client, TRUE); return -1; @@ -373,7 +372,8 @@ ssl_flags = login_proxy_get_ssl_flags(client->login_proxy); if ((ssl_flags & PROXY_SSL_FLAG_STARTTLS) != 0) { if ( !msieve_client->proxy_starttls ) { - client_log_err(client, "proxy: Remote doesn't support STARTTLS"); + e_error(login_proxy_get_event(client->login_proxy), + "Remote doesn't support STARTTLS"); client_proxy_failed(client, TRUE); return -1; } @@ -413,7 +413,8 @@ return 1; } - client_log_err(client, "proxy: Remote refused STARTTLS command"); + e_error(login_proxy_get_event(client->login_proxy), + "Remote refused STARTTLS command"); client_proxy_failed(client, TRUE); return -1; @@ -426,9 +427,9 @@ if ( ret == 0 ) { if ( response != MANAGESIEVE_RESPONSE_OK ) { /* STARTTLS failed */ - client_log_err(client, - t_strdup_printf("proxy: Remote STARTTLS failed: %s", - str_sanitize(line, 160))); + e_error(login_proxy_get_event(client->login_proxy), + "Remote STARTTLS failed: %s", + str_sanitize(line, 160)); client_proxy_failed(client, TRUE); return -1; } @@ -463,9 +464,9 @@ return 0; } - client_log_err(client, t_strdup_printf( - "proxy: Remote XCLIENT failed: %s", - str_sanitize(line, 160))); + e_error(login_proxy_get_event(client->login_proxy), + "Remote XCLIENT failed: %s", + str_sanitize(line, 160)); client_proxy_failed(client, TRUE); return -1; 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.10/src/plugins/imap-filter-sieve/cmd-filter-sieve.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/cmd-filter-sieve.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/imap-filter-sieve/cmd-filter-sieve.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/cmd-filter-sieve.c 2020-05-06 09:55:12.000000000 +0200 @@ -28,7 +28,7 @@ o_stream_nsend_str(client->output, t_strdup_printf("* FILTER (TAG %s) " - "%s {%"PRIuSIZE_T"}\r\n", + "%s {%zu}\r\n", cmd->tag, (ret < 0 ? "ERRORS" : "WARNINGS"), str_len(errors))); o_stream_nsend(client->output, @@ -205,24 +205,25 @@ while ((ret = i_stream_read_more(input, &data, &size)) > 0) i_stream_skip(input, size); - if (input->v_offset == ctx->script_len) { - /* finished reading the value */ - i_stream_seek(input, 0); + if (ret == 0) + return 0; - if (ctx->failed) { - i_stream_unref(&ctx->script_input); - return 1; - } + if (input->v_offset != ctx->script_len) { + /* client disconnected */ + i_assert(input->eof); + return -1; + } + /* finished reading the value */ + i_stream_seek(input, 0); - cmd_filter_sieve_compile_input(ctx, ctx->script_input); + if (ctx->failed) { i_stream_unref(&ctx->script_input); return 1; } - if (input->eof) { - /* client disconnected */ - return -1; - } - return 0; + + cmd_filter_sieve_compile_input(ctx, ctx->script_input); + i_stream_unref(&ctx->script_input); + return 1; } static int 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.10/src/plugins/imap-filter-sieve/imap-filter-sieve.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/imap-filter-sieve.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/imap-filter-sieve/imap-filter-sieve.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/imap-filter-sieve.c 2020-05-06 09:55:12.000000000 +0200 @@ -954,7 +954,7 @@ msgdata_r->envelope.mail_from = mail_from; msgdata_r->envelope.rcpt_to = rcpt_to; msgdata_r->auth_user = user->username; - (void)mail_get_first_header(mail, "Message-ID", &msgdata_r->id); + (void)mail_get_message_id(mail, &msgdata_r->id); } int imap_sieve_filter_run_mail(struct imap_filter_sieve_context *sctx, 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.10/src/plugins/imap-filter-sieve/imap-filter.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/imap-filter.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/imap-filter-sieve/imap-filter.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imap-filter-sieve/imap-filter.c 2020-05-06 09:55:12.000000000 +0200 @@ -50,7 +50,7 @@ str_printfa(reply, "* %u FILTERED (TAG %s) UID %u ", mail->seq, cmd->tag, mail->uid); if (ret < 0 || have_warnings) { - str_printfa(reply, "%s {%"PRIuSIZE_T"}\r\n", + str_printfa(reply, "%s {%zu}\r\n", (ret < 0 ? "ERRORS" : "WARNINGS"), str_len(errors)); str_append_str(reply, errors); @@ -159,7 +159,7 @@ o_stream_nsend_str(cmd->client->output, t_strdup_printf("* FILTER (TAG %s) " - "ERRORS {%"PRIuSIZE_T"}\r\n%s\r\n", + "ERRORS {%zu}\r\n%s\r\n", cmd->tag, strlen(error), error)); client_send_tagline(cmd, "NO Failed to initialize script execution"); 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.10/src/plugins/imapsieve/imap-sieve.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imapsieve/imap-sieve.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/imapsieve/imap-sieve.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/imapsieve/imap-sieve.c 2020-05-06 09:55:12.000000000 +0200 @@ -819,8 +819,7 @@ i_zero(&msgdata); msgdata.mail = mail; msgdata.auth_user = user->username; - (void)mail_get_first_header(msgdata.mail, "Message-ID", - &msgdata.id); + (void)mail_get_message_id(msgdata.mail, &msgdata.id); /* Compose script execution environment */ 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.10/src/plugins/lda-sieve/lda-sieve-plugin.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/lda-sieve/lda-sieve-plugin.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/lda-sieve/lda-sieve-plugin.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/lda-sieve/lda-sieve-plugin.c 2020-05-06 09:55:12.000000000 +0200 @@ -944,7 +944,7 @@ msgdata.envelope.mail_params = &mdctx->mail_params; msgdata.envelope.rcpt_to = mdctx->rcpt_to; msgdata.envelope.rcpt_params = &mdctx->rcpt_params; - (void)mail_get_first_header(msgdata.mail, "Message-ID", &msgdata.id); + (void)mail_get_message_id(msgdata.mail, &msgdata.id); srctx->msgdata = &msgdata; 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.10/src/plugins/sieve-extprograms/sieve-extprograms-common.c new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/sieve-extprograms/sieve-extprograms-common.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/plugins/sieve-extprograms/sieve-extprograms-common.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/plugins/sieve-extprograms/sieve-extprograms-common.c 2020-05-06 09:55:12.000000000 +0200 @@ -418,7 +418,6 @@ const char *path = NULL; struct stat st; bool fork = FALSE; - int ret; e_debug(svinst->event, "action %s: " "running program: %s", action, program_name); @@ -437,7 +436,7 @@ if ( ext_config->socket_dir != NULL ) { path = t_strconcat(senv->user->set->base_dir, "/", ext_config->socket_dir, "/", program_name, NULL); - if ( (ret=stat(path, &st)) < 0 ) { + if ( stat(path, &st) < 0 ) { switch ( errno ) { case ENOENT: e_debug(svinst->event, "action %s: " @@ -471,7 +470,7 @@ if ( path == NULL && ext_config->bin_dir != NULL ) { fork = TRUE; path = t_strconcat(ext_config->bin_dir, "/", program_name, NULL); - if ( (ret=stat(path, &st)) < 0 ) { + if ( stat(path, &st) < 0 ) { switch ( errno ) { case ENOENT: e_debug(svinst->event, "action %s: " 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.10/src/sieve-tools/sieve-filter.c new/dovecot-2.3-pigeonhole-0.5.11/src/sieve-tools/sieve-filter.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/sieve-tools/sieve-filter.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/sieve-tools/sieve-filter.c 2020-05-06 09:55:12.000000000 +0200 @@ -108,7 +108,7 @@ i_zero(&msgdata); msgdata.mail = mail; msgdata.auth_user = senv->user->username; - (void)mail_get_first_header(mail, "Message-ID", &msgdata.id); + (void)mail_get_message_id(mail, &msgdata.id); senv->script_context = &msgdata; sieve_tool_get_envelope_data(&msgdata, mail, NULL, NULL, NULL); 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.10/src/sieve-tools/sieve-test.c new/dovecot-2.3-pigeonhole-0.5.11/src/sieve-tools/sieve-test.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/sieve-tools/sieve-test.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/sieve-tools/sieve-test.c 2020-05-06 09:55:12.000000000 +0200 @@ -310,7 +310,7 @@ i_zero(&msgdata); msgdata.mail = mail; msgdata.auth_user = sieve_tool_get_username(sieve_tool); - (void)mail_get_first_header(mail, "Message-ID", &msgdata.id); + (void)mail_get_message_id(mail, &msgdata.id); sieve_tool_get_envelope_data(&msgdata, mail, mail_from, rcpt_to, final_rcpt_to); 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.10/src/testsuite/testsuite-message.c new/dovecot-2.3-pigeonhole-0.5.11/src/testsuite/testsuite-message.c --- old/dovecot-2.3-pigeonhole-0.5.10/src/testsuite/testsuite-message.c 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/testsuite/testsuite-message.c 2020-05-06 09:55:12.000000000 +0200 @@ -36,12 +36,13 @@ "\n" "Friep!\n"; -static struct smtp_address *env_mail_from = NULL; -static struct smtp_address *env_rcpt_to = NULL; -static struct smtp_address *env_orig_rcpt_to = NULL; -static char *env_auth = NULL; +static struct smtp_address *testsuite_env_mail_from = NULL; +static struct smtp_address *testsuite_env_rcpt_to = NULL; +static struct smtp_address *testsuite_env_orig_rcpt_to = NULL; +static char *testsuite_env_auth = NULL; -pool_t message_pool; +static pool_t testsuite_msg_pool; +static char *testsuite_msg_id = NULL; static const struct smtp_address * testsuite_message_get_address(struct mail *mail, const char *header) @@ -52,10 +53,9 @@ if (mail_get_first_header(mail, header, &str) <= 0) return NULL; addr = message_address_parse(pool_datastack_create(), - (const unsigned char *)str, - strlen(str), 1, 0); - if ( addr == NULL || - addr->mailbox == NULL || *addr->mailbox == '\0' ) + (const unsigned char *)str, + strlen(str), 1, 0); + if (addr == NULL || addr->mailbox == NULL || *addr->mailbox == '\0') return NULL; return smtp_address_create_temp(addr->mailbox, addr->domain); } @@ -63,6 +63,7 @@ static void testsuite_message_set_data(struct mail *mail) { const struct smtp_address *recipient = NULL, *sender = NULL; + const char *msg_id; static const struct smtp_address default_recipient = { .localpart = "recipient", @@ -73,13 +74,11 @@ .domain = "example.com", }; - i_free(env_mail_from); - i_free(env_rcpt_to); - i_free(env_orig_rcpt_to); - i_free(env_auth); - - env_mail_from = env_rcpt_to = env_orig_rcpt_to = NULL; - env_auth = NULL; + i_free(testsuite_env_mail_from); + i_free(testsuite_env_rcpt_to); + i_free(testsuite_env_orig_rcpt_to); + i_free(testsuite_env_auth); + i_free(testsuite_msg_id); /* * Collect necessary message data @@ -87,51 +86,54 @@ /* Get recipient address */ recipient = testsuite_message_get_address(mail, "Envelope-To"); - if ( recipient == NULL ) + if (recipient == NULL) recipient = testsuite_message_get_address(mail, "To"); - if ( recipient == NULL ) + if (recipient == NULL) recipient = &default_recipient; /* Get sender address */ sender = testsuite_message_get_address(mail, "Return-path"); - if ( sender == NULL ) + if (sender == NULL) sender = testsuite_message_get_address(mail, "Sender"); - if ( sender == NULL ) + if (sender == NULL) sender = testsuite_message_get_address(mail, "From"); - if ( sender == NULL ) + if (sender == NULL) sender = &default_sender; - env_mail_from = smtp_address_clone(default_pool, sender); - env_rcpt_to = smtp_address_clone(default_pool, recipient); - env_orig_rcpt_to = smtp_address_clone(default_pool, recipient); + testsuite_env_mail_from = smtp_address_clone(default_pool, sender); + testsuite_env_rcpt_to = smtp_address_clone(default_pool, recipient); + testsuite_env_orig_rcpt_to = smtp_address_clone(default_pool, recipient); + + (void)mail_get_message_id(mail, &msg_id); + testsuite_msg_id = i_strdup(msg_id); i_zero(&testsuite_msgdata); testsuite_msgdata.mail = mail; testsuite_msgdata.auth_user = sieve_tool_get_username(sieve_tool); - testsuite_msgdata.envelope.mail_from = env_mail_from; - testsuite_msgdata.envelope.rcpt_to = env_rcpt_to; + testsuite_msgdata.envelope.mail_from = testsuite_env_mail_from; + testsuite_msgdata.envelope.rcpt_to = testsuite_env_rcpt_to; + testsuite_msgdata.id = testsuite_msg_id; i_zero(&testsuite_rcpt_params); - testsuite_rcpt_params.orcpt.addr = env_orig_rcpt_to; + testsuite_rcpt_params.orcpt.addr = testsuite_env_orig_rcpt_to; testsuite_msgdata.envelope.rcpt_params = &testsuite_rcpt_params; - - (void)mail_get_first_header(mail, "Message-ID", &testsuite_msgdata.id); } void testsuite_message_init(void) { - message_pool = pool_alloconly_create("testsuite_message", 6096); + testsuite_msg_pool = pool_alloconly_create("testsuite_message", 6096); - string_t *default_message = str_new(message_pool, 1024); + string_t *default_message = str_new(testsuite_msg_pool, 1024); str_append(default_message, _default_message_data); - testsuite_mail = sieve_tool_open_data_as_mail(sieve_tool, default_message); + testsuite_mail = + sieve_tool_open_data_as_mail(sieve_tool, default_message); testsuite_message_set_data(testsuite_mail); } -void testsuite_message_set_string -(const struct sieve_runtime_env *renv, string_t *message) +void testsuite_message_set_string(const struct sieve_runtime_env *renv, + string_t *message) { sieve_message_context_reset(renv->msgctx); @@ -139,8 +141,8 @@ testsuite_message_set_data(testsuite_mail); } -void testsuite_message_set_file -(const struct sieve_runtime_env *renv, const char *file_path) +void testsuite_message_set_file(const struct sieve_runtime_env *renv, + const char *file_path) { sieve_message_context_reset(renv->msgctx); @@ -148,8 +150,8 @@ testsuite_message_set_data(testsuite_mail); } -void testsuite_message_set_mail -(const struct sieve_runtime_env *renv, struct mail *mail) +void testsuite_message_set_mail(const struct sieve_runtime_env *renv, + struct mail *mail) { sieve_message_context_reset(renv->msgctx); @@ -158,35 +160,35 @@ void testsuite_message_deinit(void) { - i_free(env_mail_from); - i_free(env_rcpt_to); - i_free(env_orig_rcpt_to); - i_free(env_auth); - pool_unref(&message_pool); + i_free(testsuite_env_mail_from); + i_free(testsuite_env_rcpt_to); + i_free(testsuite_env_orig_rcpt_to); + i_free(testsuite_env_auth); + pool_unref(&testsuite_msg_pool); + i_free(testsuite_msg_id); } -void testsuite_envelope_set_sender_address -(const struct sieve_runtime_env *renv, - const struct smtp_address *address) +void testsuite_envelope_set_sender_address(const struct sieve_runtime_env *renv, + const struct smtp_address *address) { sieve_message_context_reset(renv->msgctx); - i_free(env_mail_from); + i_free(testsuite_env_mail_from); - env_mail_from = smtp_address_clone(default_pool, address); - testsuite_msgdata.envelope.mail_from = env_mail_from; + testsuite_env_mail_from = smtp_address_clone(default_pool, address); + testsuite_msgdata.envelope.mail_from = testsuite_env_mail_from; } -void testsuite_envelope_set_sender -(const struct sieve_runtime_env *renv, const char *value) +void testsuite_envelope_set_sender(const struct sieve_runtime_env *renv, + const char *value) { struct smtp_address *address = NULL; const char *error; if (smtp_address_parse_path(pool_datastack_create(), value, - SMTP_ADDRESS_PARSE_FLAG_ALLOW_EMPTY | - SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL, - &address, &error) < 0) { + (SMTP_ADDRESS_PARSE_FLAG_ALLOW_EMPTY | + SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL), + &address, &error) < 0) { e_error(testsuite_sieve_instance->event, "testsuite: envelope sender address " "`%s' is invalid: %s", value, error); @@ -194,31 +196,31 @@ testsuite_envelope_set_sender_address(renv, address); } -void testsuite_envelope_set_recipient_address -(const struct sieve_runtime_env *renv, +void testsuite_envelope_set_recipient_address( + const struct sieve_runtime_env *renv, const struct smtp_address *address) { sieve_message_context_reset(renv->msgctx); - i_free(env_rcpt_to); - i_free(env_orig_rcpt_to); + i_free(testsuite_env_rcpt_to); + i_free(testsuite_env_orig_rcpt_to); - env_rcpt_to = smtp_address_clone(default_pool, address); - env_orig_rcpt_to = smtp_address_clone(default_pool, address); - testsuite_msgdata.envelope.rcpt_to = env_rcpt_to; - testsuite_rcpt_params.orcpt.addr = env_orig_rcpt_to; + testsuite_env_rcpt_to = smtp_address_clone(default_pool, address); + testsuite_env_orig_rcpt_to = smtp_address_clone(default_pool, address); + testsuite_msgdata.envelope.rcpt_to = testsuite_env_rcpt_to; + testsuite_rcpt_params.orcpt.addr = testsuite_env_orig_rcpt_to; } -void testsuite_envelope_set_recipient -(const struct sieve_runtime_env *renv, const char *value) +void testsuite_envelope_set_recipient(const struct sieve_runtime_env *renv, + const char *value) { struct smtp_address *address = NULL; const char *error; if (smtp_address_parse_path(pool_datastack_create(), value, - SMTP_ADDRESS_PARSE_FLAG_ALLOW_LOCALPART | - SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL, - &address, &error) < 0) { + (SMTP_ADDRESS_PARSE_FLAG_ALLOW_LOCALPART | + SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL), + &address, &error) < 0) { e_error(testsuite_sieve_instance->event, "testsuite: envelope recipient address " "`%s' is invalid: %s", value, error); @@ -226,28 +228,28 @@ testsuite_envelope_set_recipient_address(renv, address); } -void testsuite_envelope_set_orig_recipient_address -(const struct sieve_runtime_env *renv, +void testsuite_envelope_set_orig_recipient_address( + const struct sieve_runtime_env *renv, const struct smtp_address *address) { sieve_message_context_reset(renv->msgctx); - i_free(env_orig_rcpt_to); + i_free(testsuite_env_orig_rcpt_to); - env_orig_rcpt_to = smtp_address_clone(default_pool, address); - testsuite_rcpt_params.orcpt.addr = env_orig_rcpt_to; + testsuite_env_orig_rcpt_to = smtp_address_clone(default_pool, address); + testsuite_rcpt_params.orcpt.addr = testsuite_env_orig_rcpt_to; } -void testsuite_envelope_set_orig_recipient -(const struct sieve_runtime_env *renv, const char *value) +void testsuite_envelope_set_orig_recipient(const struct sieve_runtime_env *renv, + const char *value) { struct smtp_address *address = NULL; const char *error; if (smtp_address_parse_path(pool_datastack_create(), value, - SMTP_ADDRESS_PARSE_FLAG_ALLOW_LOCALPART | - SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL, - &address, &error) < 0) { + (SMTP_ADDRESS_PARSE_FLAG_ALLOW_LOCALPART | + SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL), + &address, &error) < 0) { e_error(testsuite_sieve_instance->event, "testsuite: envelope recipient address " "`%s' is invalid: %s", value, error); @@ -255,14 +257,13 @@ testsuite_envelope_set_orig_recipient_address(renv, address); } -void testsuite_envelope_set_auth_user -(const struct sieve_runtime_env *renv, const char *value) +void testsuite_envelope_set_auth_user(const struct sieve_runtime_env *renv, + const char *value) { sieve_message_context_reset(renv->msgctx); - i_free(env_auth); + i_free(testsuite_env_auth); - env_auth = i_strdup(value); - testsuite_msgdata.auth_user = env_auth; + testsuite_env_auth = i_strdup(value); + testsuite_msgdata.auth_user = testsuite_env_auth; } - 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.10/src/testsuite/testsuite-message.h new/dovecot-2.3-pigeonhole-0.5.11/src/testsuite/testsuite-message.h --- old/dovecot-2.3-pigeonhole-0.5.10/src/testsuite/testsuite-message.h 2020-03-05 15:37:23.000000000 +0100 +++ new/dovecot-2.3-pigeonhole-0.5.11/src/testsuite/testsuite-message.h 2020-05-06 09:55:12.000000000 +0200 @@ -12,32 +12,31 @@ void testsuite_message_init(void); void testsuite_message_deinit(void); -void testsuite_message_set_string - (const struct sieve_runtime_env *renv, string_t *message); -void testsuite_message_set_file - (const struct sieve_runtime_env *renv, const char *file_path); -void testsuite_message_set_mail - (const struct sieve_runtime_env *renv, struct mail *mail); - -void testsuite_envelope_set_sender_address - (const struct sieve_runtime_env *renv, - const struct smtp_address *address); -void testsuite_envelope_set_sender - (const struct sieve_runtime_env *renv, const char *value); - -void testsuite_envelope_set_recipient_address - (const struct sieve_runtime_env *renv, - const struct smtp_address *address); -void testsuite_envelope_set_recipient - (const struct sieve_runtime_env *renv, const char *value); - -void testsuite_envelope_set_orig_recipient_address - (const struct sieve_runtime_env *renv, - const struct smtp_address *address); -void testsuite_envelope_set_orig_recipient - (const struct sieve_runtime_env *renv, const char *value); +void testsuite_message_set_string(const struct sieve_runtime_env *renv, + string_t *message); +void testsuite_message_set_file(const struct sieve_runtime_env *renv, + const char *file_path); +void testsuite_message_set_mail(const struct sieve_runtime_env *renv, + struct mail *mail); + +void testsuite_envelope_set_sender_address(const struct sieve_runtime_env *renv, + const struct smtp_address *address); +void testsuite_envelope_set_sender(const struct sieve_runtime_env *renv, + const char *value); + +void testsuite_envelope_set_recipient_address( + const struct sieve_runtime_env *renv, + const struct smtp_address *address); +void testsuite_envelope_set_recipient(const struct sieve_runtime_env *renv, + const char *value); + +void testsuite_envelope_set_orig_recipient_address( + const struct sieve_runtime_env *renv, + const struct smtp_address *address); +void testsuite_envelope_set_orig_recipient(const struct sieve_runtime_env *renv, + const char *value); -void testsuite_envelope_set_auth_user - (const struct sieve_runtime_env *renv, const char *value); +void testsuite_envelope_set_auth_user(const struct sieve_runtime_env *renv, + const char *value); #endif ++++++ dovecot-2.3-pigeonhole-0.5.10.tar.gz -> dovecot-2.3.11.3.tar.gz ++++++ /work/SRC/openSUSE:Factory/dovecot23/dovecot-2.3-pigeonhole-0.5.10.tar.gz /work/SRC/openSUSE:Factory/.dovecot23.new.3399/dovecot-2.3.11.3.tar.gz differ: char 5, line 1
