Update MANAGESIEVE_VERSION to 0.11.13, for dovecot-1.2.17.
rest part of PR#44970.
Sieve:
v0.1.19 19-05-2011 Stephan Bosch <stephan@rename-it.nl>
- Enotify extension: fixed inappropriate return type in mailto URI parse
function, also fixing ARM compiler warning.
- Vacation extension: fixed handling of sendmail errors. It produced an
additional confusing success message in case of error.
- Removed header MIME-decoding to fix erroneous address parsing. Applies to
address test and vacation command.
ManageSieve:
v0.11.13:
- ManageSieve: fixed bug in UTF-8 checking of string values.
* Fixed potential crashes and other problems when parsing header names
that contained NUL characters.
* IMAP: Fixed a memory leak with ESEARCH command handling
* Quota warnings could have been executed at incorrect times with
some configs.
- imap: Fixed SELECT QRESYNC not to crash on mailbox close if a lot
of changes were being sent.
- pop3: Fixed a potential hang
- mbox: Creating new mailboxes should base permissions on mail root
dir, not always use 0600.
- auth: Disable auth caching entirely for master users.
(bugfixes only).
Changelog for Dovecot 1.2.15:
* acl: Fixed the logic of merging multiple ACL entries. Now it works as
documented, while previously it could have done slightly different
things depending on the order of the entries.
For details see http://www.dovecot.org/list/dovecot/2010-October/053452.html
* acl: Don't give admin rights to all owner mailboxes. This was
originally done to make sure that mailbox owner couldn't accidentally
remove their own admin rights. But this is already prevented by
SETACL command, so it's not necessary. Also sysadmin may have
intentionally removed some admin rights from some mailboxes
(especially when using symlinked shared mailboxes).
- Maildir: Fixed potential "Duplicate file entry" in dovecot-uidlist
file errors.
- Maildir: Avoid unnecessary uidlist recreation during mail delivery.
- imap: When SELECT fails, it didn't close the previous mailbox.
- Dovecot master process could have died if it got SIGCHLD signals
very rapidly while it was trying to log. This could have happened
for example if a lot of imap/pop3 sessions disconnected at the exact
same time.
Changelog for Sieve 0.1.18:
- Imap4flags: fixed segfault bug occuring in multiscript context.
Occured in specific situations when a script using imap4flags was
followed in the sequence by scripts not using imap4flags.
- Imap4flags: fixed bug in setflag command; when parameter was a
stringlist, only the last item was actually set.
- Prevented assertion failure due to currupt binary string
representation. If the string were missing a final \0 character an
assertion was produced in stead of a binary corruption error.
- Multiscript: fixed duplicate implicit keep caused by erroneous
execution state update.
- Fixed Sieve script name checking to properly handle length limit
and added 0x00ff as invalid character.
- Removed spurious old stdio.h (top) includes; these caused compile
issues on specific systems.
- Fixed default Sieve capability (as reported by ManageSieve): extra
extensions spamtest, spamtestplus and virustest were enabled by
default. These should, however, only be enabled when properly
configured and there is no default configuration.
- Variables extension: fixed :length set modifier to recognize utf8
characters in stead of octets.
- Fixed unnecessary reporting of dummy extensions in ManageSieve
SIEVE capability; the comparator-i;octet and
comparator-i;ascii-numeric 'extensions' were reported explicitly.
- LDA Sieve plugin: added _version symbol to enable Dovecot's plugin
version check. Without this check, people can forget to recompile
the plugin, which can lead to unexpected effects.
Changelog for ManageSieve 0.11.12:
- Fixed error handling of PUTSCRIPT commmand; save commit errors
would not make the command fail.
- Fixed PUTSCRIPT bug causing it to hang when given an empty script
name.
+ virtual mailboxes: Added support for IDLE notifications.
- master: Don't crash on config reload when using dict processes.
- IMAP: QRESYNC parameters for SELECT weren't handled correctly.
This release fixes a bug in ACL plugin, which could be considered a security
bug: If Maildir is used with default settings (INBOX is same as Maildir root
dir) and user set some ACLs to INBOX, those ACLs were copied to all newly
created mailboxes. This should have been done only for "default ACLs", but with
Maildir the INBOX directory is the same as the default ACL directory, so this
mixup happened. This bug exists only in v1.2.x releases.
Other fixes:
- Fixed iconv() crash when it was processing several kilobytes of broken
continuous input. This mainly could have caused a problem with IMAP SEARCH.
Possibly also with some Sieve checks.
- If MIME encoded-words contained line feeds, Dovecot logged cache corruption
errors.
- mbox: Renaming mailbox under newly created dir didn't move index directory.
- mbox: When generating envelope to From_-line, don't append a second
@owndomain if username already has one.
ChangeLog for Dovecot 1.2.12:
- deliver: Don't crash when a message with Auto-submitted: header gets
rejected.
- lib-storage: Fixed header searches to work correctly when there are
multiple headers with same name.
- dict client: Disconnect from dict server after 1 second of idling.
- dict: If process crashed, it wasn't automatically restarted
- dict file: If dict file's group permissions equal world permissions,
don't try to change its gid.
- maildir: Fixed a memory leak when copying with hardlinks.
- maildir: Expunging last messages may have assert-crashed if their
filenames had just changed.
Changelog for Sieve 0.1.17:
- Made sure source code positions for compiler messages are recorded
at start of tokens.
- Fixed a few potential memory leaks in the Sieve compiler and the
spam/virustest extensions.
- Made command line tools return proper exit status upon failure.
The main thing that this new release adds is full support for the spamtest,
spamtestplus and virustest extensions. These extensions implement a uniform
means of testing the content spam/virus status headers in mail messages:
http://ietfreport.isoc.org/idref/rfc5235/
Not many people have tested these new features yet and therefore these are
currently considered experimental. Test these thoroughly before you start using
them! Documentation is available in share/doc/dovecot/spamtest-virustest.txt
Changelog Sieve v0.1.16:
* Finished implementation of spamtest, spamtestplus and virustest
extensions. These are not enabled by default and need to be
activated with the sieve_extensions setting. Documentation available
in doc/spamtest-virustest.txt
+ Vacation extension: the from address of the generated reply is now
by default equal to whatever known recipient alias matched the
headers of the message. If it is one of the aliases specified with
:addresses, it is used in stead of the envelope recipient address
that was used before.
+ Restructured and optimized the lexical scanner.
+ Added --with-docs configure option to allow disabling installation
of documentation.
- Accidentally omitted 'extern' in two declarations of global
variables in header files, causing compile failures on certain
systems.
- Deprecated imapflags extension: fixed implicit assignment of flags.
Turns out this never really worked, but the effect of this bug was
obscured by the removeflag bug fixed in the previous release.
- Fixed various memset argument mixups in enotify extension. This
caused warnings on certain systems, but luckily no adverse effects
at runtime.
mbox users really should upgrade, because by sending a message with a huge
header you could basically cause a DoS (this problem exists only with v1.2.x,
not with v1.0 or v1.1).
- mbox: Message header reading was unnecessarily slow. Fetching a huge header
could have resulted in Dovecot eating a lot of CPU. Also searching messages
was much slower than necessary.
- mbox, dbox, cydir: Mail root directory was created with 0770 permissions,
instead of 0700.
- maildir: Reading uidlist could have ended up in an infinite loop.
- IMAP IDLE: v1.2.7+ caused extra load by checking changes every 0.5 seconds
after a change had occurred in mailbox
Changelog for Dovecot 1.2.10:
+ %variables now support %{host}, %{pid} and %{env:ENVIRONMENT_NAME}
everywhere.
+ LIST-STATUS capability is now advertised
- maildir: Fixed several assert-crashes.
- imap: LIST "" inbox shouldn't crash when using namespace with
"INBOX." prefix.
- lazy_expunge now ignores non-private namespaces.
Changelog for Sieve 0.1.15:
* Enotify extension:
- Adjusted notify method API for addition of new notification
methods.
- Set default importance level to 'normal' (was 'high').
* Include extension: updated implementation towards most recent
specification (all should be backwards compatible):
- Implemented global variables namespace.
- Global command may now appear anywhere in a script.
- Implemented script name checking using the requirements specified
in the ManageSieve draft.
- One issue remains: ManageSieve currently requires included scripts
to be uploaded first, which is not according to specification.
* Changed envelope path parser to allow to and from envelope addresses
that have no domain part.
+ Added preliminary support for Sieve plugins and added support for
installing Sieve development headers.
+ Started work on the implementation of the spamtest, spamtestplus and
virustest extensions (unfinished).
+ Deprecated notify extension: implemented denotify command.
+ Variables extension: added support for variable namespaces.
+ Added configurable script size limit. Compiler will refuse to
compile files larger than sieve_max_script_size.
+ Testsuite changes:
- Added support for changing and testing an extension's
configuration.
- Added a command line parameter for copying errors to stderr.
- Fixed a bug in the i;ascii-numeric comparator. If one of the
strings started with a non-digit character, the comparator would
always yield less-than.
- Imap4flags extension: fixed bug in removeflag: removing a single
flag failed due to off-by-one error (bug report by Julian Cowley).
- Improved EACCES error messages for stat() and lstat() syscalls and
slightly improved error messages that may uccur when saving a
binary.
- Vacation extension: fixed typo in runtime log message (patch by
Julian Cowley).
- Fixed use of minus '-' in man pages; it is now properly escaped.
- Fixed parser recovery. In particular cases it would trigger spurious
errors after an initial valid error and sometimes additional errors
were inappropriately ignored.
Changelog for ManageSieve 0.11.11:
* This release contains adjustments to match changes in the Sieve API.
This means that this release will only compile against Pigeonhole
Sieve v0.1.15.
+ Implemented ManageSieve QUOTA enforcement.
+ Added MAXREDIRECTS capability after login.
+ Implemented new script name rules specified in most recent
ManageSieve draft.
- Fixed assertion failure occuring with challenge-response SASL
mechanisms.
- Made configure complain about trying to compile against installed
Dovecot headers alone.
- Fixed compile warning for compilation against CMUSieve.
Changelog for Dovecot 1.2.9:
* maildir: When saving, filenames now always contain ,S=<size>.
Previously this was done only when quota plugin was loaded. It's
required for zlib plugin and may be useful for other things too.
+ lazy-expunge: Support a single-namespace configuration. If a mailbox
is deleted, its messages are merged with its old expunged messages
(if there were any).
+ expire: Settings now support spaces in mailbox names by using
quoted strings.
- maildir: v1.2.7 and v1.2.8 caused assert-crashes in
maildir_uidlist_records_drop_expunges()
- maildir_copy_preserve_filename=yes could have caused crashes.
- Maildir++ quota: % limits weren't updated when limits were read
from maildirsize.
- virtual: v1.2.8 didn't fully fix the "lots of mailboxes" bug
- virtual: Fixed updating virtual mailbox based on flag changes.
- fts-squat: Fixed searching multi-byte characters.
Changelog for Sieve 0.1.14:
* Made the imposed limits on the number of redirects and the number
of actions configurable. The settings are called sieve_max_actions
and sieve_max_redirects.
* Did a major rework of extension handling, making sure that no global
state is maintained. This change was triggered by problems that
global state info would cause for Dovecot v2.0, but it is also
important for v1.2 as it significantly cleans up the library
implementation.
+ Made LDA Sieve plugin recognize the deliver_log_format setting.
+ Message headers produced from user-supplied data are now
RFC2047-encoded if necessary for outgoing messages. This is for
example important for the :subject argument of the vacation action.
+ Added support for the $text$ substitution in the deprecated notify
extension.
+ The subaddress extension now also accepts recipient_delimiter
setting as an alias for sieve_subaddress_sep setting. This
anticipates the recipient_delimiter setting in v2.0.
- Fixed logging of mailbox names. It logged the converted mUTF7
version in stead of the original UTF8 version supplied by the user.
- Fixed a minor memory leak in the multiscript support.
- Fixed a bug in the recompilation of Sieve scripts. Made sure that
scripts are only recompiled when the script file - or the symlink
pointing to it - is strictly newer.
Changelog for ManageSieve 0.11.10:
* This release contains adjustments to match changes in the Sieve API.
This means that this release will only compile against Pigeonhole
Sieve v0.1.14.
- Fixed compilation of ManageSieve against CMUSieve.
Fuß <ef@math.uni-bonn.de>.
The package now contains Stephan Bosch' new Dovecot Sieve plugin as a pkgsrc
option (instead of the old CMU Sieve plugin that was a separate package), as
well as the ManageSieve extension. The dovecot-sieve package will be removed.
Upgrading from Dovecot 1.1.x may require changes to your configuration file,
see this webpage for more information: http://wiki.dovecot.org/Upgrading/1.2
Major changes since Dovecot 1.1:
* When creating files or directories to mailboxes, Dovecot now uses
the mailbox directory's permissions and GID for them. Previous
versions simply used 0600 mode always. For backwards compatibility
dovecot-shared file's permissions still override these with Maildir.
* SQL dictionary (quota) configuration file is different than in v1.1.
See doc/dovecot-dict-sql-example.conf for the new format.
* deliver -m: Mailbox name is now assumed to be in UTF-8 format,
not modified-UTF7. Stephan Bosch's new Sieve implementation also
assumes UTF-8 format in fileinto parameters.
+ Full support for shared mailboxes and IMAP ACL extension.
The code is mainly from Sascha Wilde and Bernhard Herzog.
+ IMAP: Added support for extensions: CONDSTORE, QRESYNC, ESEARCH,
ESORT, SEARCHRES, WITHIN, ID and CONTEXT=SEARCH.
+ SEARCH supports INTHREAD search key, but the rest of the INTHREAD
draft isn't implemented yet so it's not advertised in capability.
+ THREAD REFS algorithm where threads are sorted by their latest
message instead of the thread root message. There is also no base
subject merging.
+ IMAP: Implemented imap-response-codes draft.
+ Thread indexes for optimizing IMAP THREAD command and INTHREAD
search key.
+ Added userdb checkpassword (by Sascha Wilde)
+ Virtual mailboxes: http://wiki.dovecot.org/Plugins/Virtual
+ Autocreate plugin: http://wiki.dovecot.org/Plugins/Autocreate
+ Listescape plugin: http://wiki.dovecot.org/Plugins/Listescape
* Upgraded to Unicode 5.2.0
- Maildir: Fixed crash when using a lot of keywords.
- file_set_size() was broken with OSes that didn't support posix_fallocate()
(almost everyone except Linux), causing all kinds of index file errors.
- file_set_size() was broken with OSes that didn't support posix_fallocate()
(almost everyone except Linux), causing all kinds of index file errors.
- ldap: Fixed hang when >128 requests were sent at once.
- Fixed a crash in saving messages where message contained a CR character that
wasn't followed by LF (and the CR happened to be the last character in an
internal buffer).
- deliver: Don't send rejects to any messages that have Auto-Submitted header.
This avoids emails loops.
- Message decoding fixes (mainly for IMAP SEARCH, Sieve).
+ dovecot -n/-a now outputs also lda settings.
- Maildir++ quota: Quota was sometimes updated wrong when it was
being recalculated.
- Searching quoted-printable message body internally converted "_"
characters to spaces and didn't match search keys with "_".
- Messages in year's first/last day may have had broken timezones
with OSes not having struct tm->tm_gmtoff (e.g. Solaris).
- IMAP: Don't crash if IDLE command is pipelined after a long-running
UID FETCH or UID SEARCH.
- IMAP: Some FETCH command parameters were broken with in some OSes.
- mbox: New mailboxes were created with UIDVALIDITY 1.
- mbox: Don't write garbage to mbox if message doesn't have a body.
- Maildir: Fixed using in-memory indexes when some required directory
was missing.
- auth: Don't assert-crash if trying to log in as master user but
with empty login username.
- Transaction log dotlocking ignored mail_nfs_index and
dotlock_use_excl settings.
- convert plugin / convert-tool: Fixed changing hierarchy separators
in mailbox names when alt_hierarchy_char isn't set.
- Several fixes to expire plugin / expire-tool
- zlib: Give better error messages on failures.
Fixes a couple of bugs in v1.1.15's changes. Hopefully the last v1.1 release
before v1.2.0.
- v1.1.15 could have crashed if mailbox-closing command was pipelined after a
mailbox-accessing command.
- v1.1.15's zlib plugin may have caused crashes when fetching INTERNALDATE.
- Maildir: If messages had been deleted externally from new/ directory and
mailbox was opened with EXAMINE, Dovecot didn't immediately notice that the
messages were deleted.
- If message body started with a space, some operations could have assert-
crashed.
v1.1.15 2009-05-17 Timo Sirainen <tss@iki.fi>
+ IMAP: When multiple commands are pipelined, try harder to combine their
mailbox syncing together. For example with Maildir pipelining STORE 1:*
+FLAGS \Deleted and EXPUNGE commands the files won't be unnecessarily
rename()d before being unlink()ed.
- IMAP: SEARCH command was slower than necessary in a large mailbox.
- deliver: When forwarding messages, if -f parameter was given, it should have
been used as the Return-Path.
- Maildir saving: Fixed race condition bugs in uidlist handling, causing files
to be given new UIDs sometimes.
- mbox: Don't crash when expunging all messages and file doesn't end with
[CR]LF.
- expire-tool: Use mail_uid and mail_gid settings if userdb doesn't return
uid/gid.
- Berkeley DB dict: Transaction rollbacking was implemented wrong.
- zlib plugin: Some email / FETCH command combinations could have disconnected
the client or sent compressed garbage.
* IMAP: Don't allow APPEND to specify INTERNALDATE more than 2 hours
into future. With Maildir future INTERNALDATEs may mess up incremental
backups.
- Date: header was always being added to cache file when saving messages,
even if clients didn't really want it. This caused POP3-only users to
have dovecot.index.cache file unneededly.
- Character set conversion in specific mails may have caused Dovecot to
allocate all the available memory (in default configuration dying after
having allocated 256 MB). This happened only while searching messages.
- Message address parser didn't handle empty group:; correctly.
- imap/pop3-login: Don't crash when shutting down and destroying clients.
- deliver wasn't using mail_access_groups setting.
- mbox: When doing autodetection, if mbox didn't find an existing mail
directory it just went and created it anyway, instead of failing the
storage creation.
- Fixed some error handling in maildir and index code.