Up to [NetBSD + pkgsrc-wip] / pkgsrc / mail / dovecot
Request diff between arbitrary revisions - Display revisions graphically
Keyword substitution: kv
Default branch: MAIN
Changes 1.2.17: * 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.
Pullup ticket #3185 - requested by ghen mail/dovecot: security update Revisions pulled up: - mail/dovecot/Makefile 1.150 - mail/dovecot/PLIST 1.28 - mail/dovecot/distinfo 1.112 --- Module Name: pkgsrc Committed By: ghen Date: Sun Jul 25 22:17:20 UTC 2010 Modified Files: pkgsrc/mail/dovecot: Makefile PLIST distinfo Log Message: Update Dovecot to 1.2.13. 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.
Update Dovecot to 1.2.13. 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.
Update to Dovecot 1.2.10, Sieve 0.1.15 and ManageSieve 0.11.11.
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.
Update to Dovecot 1.2.8, imported from pkgsrc-wip and based on work of Edgar 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
Convert @exec/@unexec to @pkgdir or drop it.
Remove @dirrm entries from PLISTs
Pullup ticket #2675 - requested by ghen
dovecot: bug fixes
Revisions pulled up:
- mail/dovecot/Makefile 1.125-1.127
- mail/dovecot/PLIST 1.23
- mail/dovecot/distinfo 1.90-1.92
- mail/dovecot/patches/patch-ab 1.24-1.25
- mail/dovecot/patches/patch-ac 1.10
---
Module Name: pkgsrc
Committed By: abs
Date: Thu Jan 8 00:02:44 UTC 2009
Modified Files:
pkgsrc/mail/dovecot: Makefile PLIST distinfo
pkgsrc/mail/dovecot/patches: patch-ab patch-ac
Log Message:
Updated mail/dovecot to 1.1.8
Most importantly mbox bugfixes. v1.1 should finally be as stable with
mboxes as it was with v1.0. Hopefully we'll also soon have the first
v1.2 beta release and the final v1.2.0 somewhat soon after that.
- mbox: Several bugfixes. Fixes "next message unexpectedly lost"
errors and perhaps some other problems as well.
- deliver: It wasn't possible to override boolean settings in
lda section by setting them to "no".
- Maildir++ quota didn't correctly check if maildirs had changed
during recalculation.
- kqueue notify: Fixed assert-crash in some situations
- dbox: Several fixes to handling Maildir migrations
- Logging/error message improvements
---
Module Name: pkgsrc
Committed By: ghen
Date: Sat Jan 24 10:51:35 UTC 2009
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
pkgsrc/mail/dovecot/patches: patch-ab
Log Message:
Update to Dovecot 1.1.9. From the release announcement mail:
Lots of small dbox fixes, hopefully migrations from Maildir are now working
correctly.
+ Sending SIGUSR2 to dovecot-auth now also logs statistics about cache inserts.
This could help figuring out auth cache size.
+ deliver: Added rejection_subject setting, which is used for rejected mails.
+ pop3: Prevent clients from looping forever trying to fetch an expunged
message.
+ If login process crashes, log the IP address that (maybe) caused it.
+ If core dump limit is 0, add "core dumps disabled" to startup log line.
+ Log better messages for "Permission denied" errors
- mbox: Fixed assert-crash with pop3_lock_session=3Dyes
- dbox: Fixes to handling maildir-converted files.
- Auth cache wasn't working correctly for all fields (e.g. allow_nets) with
blocking passdbs (e.g. mysql).
- pgsql: Handle reconnecting to server without failing auth lookups.
- Berkeley DB memory/resource leak fixes.
- maildir: Fixes to handling over 26 keywords.
---
Module Name: pkgsrc
Committed By: ghen
Date: Tue Jan 27 08:29:31 UTC 2009
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
Log Message:
Update to Dovecot 1.1.10.
- Maildir: Keyword handling was somewhat broken in v1.1.9
- userdb prefetch was broken with blocking passdbs in v1.1.9
- dict process didn't always die with the rest of Dovecot
- dict quota was somewhat broken with pgsql
Updated mail/dovecot to 1.1.8
Most importantly mbox bugfixes. v1.1 should finally be as stable with
mboxes as it was with v1.0. Hopefully we'll also soon have the first
v1.2 beta release and the final v1.2.0 somewhat soon after that.
- mbox: Several bugfixes. Fixes "next message unexpectedly lost"
errors and perhaps some other problems as well.
- deliver: It wasn't possible to override boolean settings in
lda section by setting them to "no".
- Maildir++ quota didn't correctly check if maildirs had changed
during recalculation.
- kqueue notify: Fixed assert-crash in some situations
- dbox: Several fixes to handling Maildir migrations
- Logging/error message improvements
pullup ticket #2570 - requested by adrianp
dovecot: update package for security fixes
revisions pulled up:
pkgsrc/mail/dovecot/Makefile 1.122, 1.123
pkgsrc/mail/dovecot/PLIST 1.22
pkgsrc/mail/dovecot/distinfo 1.87, 1.88
Module Name: pkgsrc
Committed By: ghen
Date: Wed Oct 22 21:16:36 UTC 2008
Modified Files:
pkgsrc/mail/dovecot: Makefile PLIST distinfo
Log Message:
Update to Dovecot 1.1.5. Changes since 1.1.4:
* Dovecot prints an informational message about authentication problems
at startup. The message goes away after the first successful
authentication. This hopefully reduces the number of "Why doesn't
my authentication work?" questions.
+ Maildir/dbox: Try harder to assign unique UIDVALIDITY values to
mailboxes to avoid potential problems when recreating or renaming
mailboxes. The UIDVALIDITY is tracked using dovecot-uidvalidity*
files in the mail root directory.
+ Many logging improvements
- In some conditions Dovecot could have stopped using existing cache
file and never used it again until it was deleted.
- pop3 + Maildir: Make sure virtual sizes are always written to
dovecot-uidlist. This way if the indexes are lost Dovecot will never
do a huge amount of work to recalculate them.
- mbox: Fixed listing mailboxes in namespaces with prefix beginning
with '~' or '/' (i.e. UW-IMAP compatibility namespaces didn't work).
- dict quota: Don't crash when recalculating quota (when quota warnings
enabled).
- Fixes to handling "out of disk space/quota" failures.
- Blocking passdbs/userdbs (e.g. PAM, MySQL) could have failed lookups
sometimes when auth_worker_max_request_count was non-zero.
- Fixed compiling with OpenBSD
------------------------------------------------------------------------
Module Name: pkgsrc
Committed By: adrianp
Date: Sun Nov 2 16:19:53 UTC 2008
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
Log Message:
Update to 1.1.6
Ok'ed geert@
The invalid message address parsing bug is pretty important since it
allows a remote user to send broken mail headers and prevent the
recipient from accessing the mailbox afterwards, because the process
will always just crash trying to parse the header. This is assuming that
the IMAP client uses FETCH ENVELOPE command, not all do. Note that it
doesn't affect versions older than v1.1.4.
+ dovecot -n and -a now prints some system information at the top.
+ More error/debug message logging improvements.
- pop3-login: Fixed assert-crash if a client sent USER+PASS+USER+PASS
commands in the same IP packet.
- Parsing an invalid message address like "From: (" caused an
assert-crash in v1.1.4 and v1.1.5.
- Folding whitespace wasn't handled correctly inside quoted-strings,
causing some messages to be parsed incorrectly.
- mbox: Fixed saving messages that begin with a valid From_-line.
Update to Dovecot 1.1.5. Changes since 1.1.4: * Dovecot prints an informational message about authentication problems at startup. The message goes away after the first successful authentication. This hopefully reduces the number of "Why doesn't my authentication work?" questions. + Maildir/dbox: Try harder to assign unique UIDVALIDITY values to mailboxes to avoid potential problems when recreating or renaming mailboxes. The UIDVALIDITY is tracked using dovecot-uidvalidity* files in the mail root directory. + Many logging improvements - In some conditions Dovecot could have stopped using existing cache file and never used it again until it was deleted. - pop3 + Maildir: Make sure virtual sizes are always written to dovecot-uidlist. This way if the indexes are lost Dovecot will never do a huge amount of work to recalculate them. - mbox: Fixed listing mailboxes in namespaces with prefix beginning with '~' or '/' (i.e. UW-IMAP compatibility namespaces didn't work). - dict quota: Don't crash when recalculating quota (when quota warnings enabled). - Fixes to handling "out of disk space/quota" failures. - Blocking passdbs/userdbs (e.g. PAM, MySQL) could have failed lookups sometimes when auth_worker_max_request_count was non-zero. - Fixed compiling with OpenBSD
Update to Dovecot 1.1.2. From the release announcement mail:
Development of new features in this release and the upcoming
multi-master replication are sponsored by Directi (www.directi.com).
Lucene indexing is currently deprecated in favor of the new Solr
indexing. I'm even considering removing the Lucene C++ library support,
so if you're interested in keeping it send me a mail. Note that the
current fts-lucene is somewhat broken as well as non-optimal.
Anyone interested in using zlib plugin with Maildir should read
http://wiki.dovecot.org/Plugins/Zlib.
I'm hoping to get the first v1.2 betas out in a couple of weeks and an
eventual v1.2.0 release in a couple of months.
+ Added full text search indexing support for Apache Lucene Solr
server: http://wiki.dovecot.org/Plugins/FTS/Solr
+ IMAP SORT: Added X-SCORE sort key for use with Solr searches.
+ zlib plugin supports now bzip2 also.
+ quota: All backends now take noenforcing parameter.
+ Maildir: Add ,S=3D<size> to maildir filename whenever quota plugin
is loaded, even when not using Maildir++ quota.
+ deliver: Allow lda section to override plugin settings.
+ deliver: Giving a -m <namespace prefix> parameter now silently saves
the mail to INBOX. This is useful for e.g. -m INBOX/${extension}
+ Added a new maildirlock utility for write-locking Dovecot Maildir.
+ dict-sql: Support non-MySQL databases by assuming they implement the
"INSERT .. ON DUPLICATE KEY" using an INSERT trigger.
- SORT: Fixed several crashes/errors with sort indexing.
- IMAP: BODYSTRUCTURE is finally RFC 3501 compliant. Earlier versions
didn't include Content-Location support.
- IMAP: Fixed bugs with listing INBOX.
- Maildir: maildirfolder file wasn't created when dovecot-shared
file existed on the root directory
- deliver didn't expand %variables in namespace location settings.
- zlib: Copying non-compressed messages resulted in empty mails
(except when hardlink-copying between maildirs).
- mbox-snarf plugin was somewhat broken
- deliver + Maildir: If uidlist couldn't be locked while saving,
we might have assert-crashed
- mbox: Fixed an assert-crash with \Recent flag handling
This release also fixes a NetBSD-specific bug, see the following thread:
http://www.dovecot.org/list/dovecot/2008-June/031680.html
Update to Dovecot 1.1.1. Beta's and RC's have been tracked in pkgsrc-wip, copy from there. Update the Sieve plugin accordingly to 1.1.5. Major changes since 1.0: * After Dovecot v1.1 has modified index or dovecot-uidlist files, they can't be opened anymore with Dovecot versions earlier than v1.0.2. * See doc/wiki/Upgrading.1.1.txt (or for latest changes, http://wiki.dovecot.org/Upgrading/1.1) for list of changes since v1.0 that you should be aware of when upgrading. + IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions. + IMAP SORT: Sort keys are indexed, which makes SORT commands faster. + When saving messages, update cache file immediately with the data that we expect client to fetch later. + NFS caches are are flushed whenever needed. See mail_nfs_storage and mail_nfs_index settings. + Out of order command execution (SEARCH, FETCH, LIST), nonstandard command cancellation (X-CANCEL <tag>) + IMAP: STATUS-IN-LIST draft implementation + Expire plugin can be used to keep track of oldest messages in specific mailboxes. A nightly run can then quickly expunge old messages from the mailboxes that have them. The tracking is done using lib-dict, so you can use either Berkeley DB or SQL database. + Namespaces are supported everywhere now. + Namespaces have new list and subscriptions settings. + Full text search indexing support with Lucene and Squat backends. + OTP and S/KEY authentication mechanisms (by Andrey Panin). + mbox and Maildir works with both Maildir++ and FS layouts. You can change these by appending :LAYOUT=3Dmaildir++ or :LAYOUT=3Dfs to mail_location. + LDAP: Support templates in pass_attrs and user_attrs + Support for listening in multiple IPs/ports. + Quota plugin rewrite: Support for multiple quota roots, warnings, allow giving storage size in bytes or kilo/mega/giga/terabytes, per-mailbox quota rules. + Filesystem quota backend supports inode limits, group quota and RPC quota for NFS. + SEARCH and SORT finally compare non-ASCII characters case-insensitively. We use i;unicode-casemap algorithm. + Config files support splitting values to multiple lines with \
Update to Dovecot 1.0.8.
+ Authentication: Added "password_noscheme" field that can be used
instead of "password". "password" treats "{prefix}" as a password
scheme while "password_noscheme" treats it as part of the password
itself. So "password_noscheme" should be used if you're storing
passwords as plaintext. Non-plaintext passwords never begin
with "{", so this isn't a problem with them.
- IMAP: Partial body fetching was sometimes non-optimal, causing
the entire message to be read for every FETCH command.
- deliver failed to save the message when envelope sender address
contained spaces.
- Maildir++ quota: We could have randomly recalculated quota when
it wasn't necessary.
- Login process could have crashed after logging in if client sent
data before "OK Logged in" reply was sent (i.e. before master had
replied that login succeeded).
- Don't assert-crash when reading dovecot.index.logs generated by
Dovecot v1.1.
- Authentication: Don't assert-crash if password beings with "{" but
doesn't contain "}".
- Authentication cache didn't work when using settings that changed
the username (e.g. auth_username_format).
Add a buildlink3.mk file, and make the dovecot package install header files and liblib.a to be able to build the sieve plugin with an installed dovecot instance. Bump PKGREVISION.
Update to Dovecot 1.0.1. Lots of small fixes: * deliver: If Return-Path doesn't contain user and domain, don't try to bounce the mail (this is how it was supposed to work earlier too) * deliver: %variables in mail setting coming from userdb aren't expanded anymore (again how it should have worked). The expansion could have caused problems if paths contained any '%' characters. + Print Dovecot version number with dovecot -n and -a + deliver: Added -e parameter to write rejection error to stderr and exit with EX_NOPERM instead of sending the rejection by executing sendmail. + dovecot --log-error logs now a warning, an error and a fatal - Trying to start Dovecot while it's already running doesn't anymore wipe out login_dir and break the running Dovecot. - maildir: Fixed "UID larger than next_uid" errors which happened sometimes when dovecot-uidlist file didn't exist but index files did (usually because mailbox didn't have any messages when it was selected for the first time) - maildir: We violated maildir spec a bit by not having keyword characters sorted in the filename. - maildir: If we don't have write access to cur/ directory, treat the mailbox as read-only. This fixes some internal error problems with trying to use read-only maildirs. - maildir: Deleting a symlinked maildir failed with internal error. - mbox: pop3_uidl_format=%m wasn't working right - mbox: If non-filesystem quota was enabled, we could have failed with "Unexpectedly lost From-line" errors while saving new messages - mysql auth: %c didn't work. Patch by Andrey Panin - APPEND / SEARCH: If internaldate was outside valid value for time_t, we returned BAD error for APPEND and SEARCH never matched. With 64bit systems this shouldn't have happened. With 32bit systems the valid range is usually for years 1902..2037. - COPY: We sent "Hang in there.." too early sometimes and checked it too often (didn't break anything, but was slower than needed). - deliver: Postfix's sendmail binary wasn't working with mail_debug=yes - Don't corrupt ssl-parameters.dat files when running multiple Dovecot instances. - Cache compression caused dovecot.index.cache to be completely deleted with big endian CPUs if 64bit file offsets were used (default) - Fixed "(index_mail_parse_header): assertion failed" crash
Update to dovecot-1.0rc29. From the release announcement mail: Probably one more RC after this. * Security fix: If zlib plugin was loaded, it was possible to open gzipped mbox files outside the user's mail directory. + Added auth_gssapi_hostname setting. - IMAP: LIST "" "" didn't return anything if there didn't exist a namespace with empty prefix. This broke some clients. - If Dovecot is tried to be started when it's already running, don't delete existing auth sockets and break the running Dovecot - If deliver failed too early it still returned exit code 89 instead of EX_TEMPFAIL. - deliver: INBOX fallbacking with -n parameter wasn't working. - passdb passwd and shadow couldn't be used as master or deny databases - IDLE: inotify didn't notice changes in mbox file - If index file directory couldn't be created, disable indexes instead of failing to open the mailbox. - Several other minor fixes
Update to dovecot-1.0rc28. From the release announcement mail: Still a bit more fixes. My coding TODO list is again empty. Unless something special happens in the next few weeks, I'll still make rc29 with the documentation included and v1.0 will be released April 13. * deliver + userdb static: Verify the user's existence from passdb, unless allow_all_users=yes * dovecot --exec-mail: Log to configured log files instead of stderr * Added "-example" part to doc/dovecot-sql-example.conf and doc/dovecot-ldap-example.conf. They are now also installed to $sysconfdir with "make install". + When copying/syncing a lot of mails, send "* OK Hang in there" replies to client every 15 seconds so it doesn't just timeout the connection. + Added idxview and logview utilities to examine Dovecot's index files + passdb passwd and shadow support blocking=yes setting now also + mbox: If mbox file changes unexpectedly while we're writing to it, log an error. + deliver: Ignore -m "" parameter to make calling it easier. + deliver: Added new -n parameter to disable autocreating mailboxes. It affects both -m parameter and Sieve plugin's fileinto action - mbox: Using ~/ in the mail root directory caused a ~ directory to be created (instead of expanding it to home directory) - auth cache: If unknown user was found from cache, we didn't properly return "unknown user" status, which could have caused problems in deliver. - mbox: Fixed "UID inserted in the middle of mailbox" in some conditions with broken X-UID headers - Index view syncing fixes - rc27 didn't compile with some non-GCC compilers - vpopmail support didn't compile in rc27 - NFS check with chrooting broke home direcotry for the first login - deliver: If user lookup returned "unknown user", it logged "BUG: Unexpected input" - convert plugin didn't convert INBOX
Update to dovecot-1.0rc23. From the release announcement mail: Documentation is probably the only important thing left before v1.0. * deliver doesn't ever exit with Dovecot's internal exit codes anymore. All its internal exit codes are changed to EX_TEMPFAIL. * mbox: X-Delivery-ID header is now dropped when saving mails. * mbox: If pop3_uidl_format=%m, we generate a unique X-Delivery-ID header when saving mails to make sure the UIDL is unique. + PAM: blocking=yes in args uses an alternative way to do PAM checks. Try it if you're having problems with PAM. + userdb passwd: blocking=yes in args makes the userdb lookups be done in auth worker processes. Set it if you're doing remote NSS lookups (eg. nss_ldap problems are fixed by this). + If PAM child process hasn't responded in two minutes, send KILL signal to it (only with blocking=no) - IMAP: APPEND ate all CPU while waiting for more data from the client (broken in rc22) - mbox: Broken X-UID headers assert-crashed sometimes - mbox: When saving a message to an empty mbox file it got an UID which immediately got incremented. - mbox: Fixed some wrong "uid-last unexpectedly lost" errors. - auth cache: In some situations we crashed if passdb had extra_fields. - auth cache: Special extra_fields weren't saved to auth cache. For example allow_nets restrictions were ignored for cached entries. - A lot of initial login processes could cause auth socket errors in log file at startup, if dovecot-auth started slowly. Now the login processes are started only after dovecot-auth has finished initializing itself. - imap/pop3 proxy: Don't crash if the remote server disconnects before we're logged in. - deliver: Don't bother trying to save the mail twice into the default mailbox (eg. if it's over quota). - mmap_disable=yes + non-Linux was really slow with large dovecot.index.cache files - MySQL couldn't be used as a masterdb - Trash plugin was more or less broken - imap/pop3 couldn't load plugins if they chrooted - imap/pop3-login process could crash in some conditions - checkpassword-reply crashed if USER/HOME wasn't set
Update to dovecot-1.0rc18. From the release announcement mail: I think we're quite near v1.0 now. * ACL plugin + Maildir: Moved dovecot-acl file from control directory to maildir. To prevent accidents caused by this change, Dovecot kills itself if it finds dovecot-acl file from the control directory. * When opening a maildir, check if tmp/'s atime is over 8h old. If it is, delete files in it with ctime older than 36h. However if atime - ctime > 36h, it means that there's nothing to be deleted and the scanning isn't done. We update atime ourself if filesystem is mounted with noatime. * base_dir doesn't need to be group-readable, don't force it. * mail_read_mmaped setting is deprecated and possibly broken. It's now removed from dovecot-example.conf, but it still works for now. * Removed also umask setting from dovecot-example.conf since currently it doesn't do what it's supposed to. + Authentication cache caches now also userdb data. + Added mail_log plugin to log various mail operations. Currently it logs mail copies, deletions, expunges and mailbox deletions. - dict quota: messages=n parameter actually changed storage limit. - A lot of fixes to handling index files. This should fix almost all of the problems ever reported. - LDAP: auth_bind=yes was more or less broken. - Saved mails and dovecot-keywords file didn't set the group from dovecot-shared file. - Fixed potential assert-crash while searching messages - Fixed some crashes with invalid X-UID headers in mboxes - If you didn't have a namespace with empty prefix, giving STATUS command for a non-existing namespace caused the connection to give "NO Unknown namespace" errors for all the future commands.
Update to dovecot-1.0rc16. From the release announcement mail: If you've had problems with getting errors about index files sometimes being corrupted, please try if this release fixes it. If you've reported any bugs that this release hasn't fixed, please report them again so I know they still didn't get fixed and that I didn't forget them. * IMAP: When trying to fetch an already expunged message, Dovecot used to just disconnect client. Now it instead replies with dummy NIL data. * Priority numbers in plugin names have changed. If you're installing from source, you should delete the existing plugin files before installing the new ones, otherwise you'll get errors. * Maildir: We're using rename() to move files from tmp/ to new/ now. See http://wiki.dovecot.org/MailboxFormat/Maildir -> "Issues with the specification" for reasoning why this is safe. This makes saving mails faster, and also makes Dovecot usable with Mac OS X's HFS+ (after you also set dotlock_use_excl=yes, see below). + Added dotlock_use_excl setting. If enabled, dotlocks are created directly using O_EXCL flag, instead of by creating a temporary file which is hardlinked. O_EXCL is faster, but may not work with NFS. + If Dovecot crashes with Linux or Solaris, it'll log a "Raw backtrace". It's worse than gdb's backtrace, but better than nothing. + Added maildir_copy_preserve_filename=yes setting. + Added a lazy-expunge plugin to allow users to unexpunge their mails. + maildir quota: Added ignore setting to maildir quota, which allows ignoring quota in Trash mailbox. + dict quota: If dictionary doesn't yet contain the quota, calculate it by going through all the mails in all the mailboxes. + login_log_format_elements: Added %a=local port and %b=remote port + Added -i and -o options to rawlog to restrict logging only to input or output. - Doing a STATUS command for a selected mailbox (not a recommended IMAP client behavior) caused Dovecot to sync the mailbox silently. This could have lost eg. EXPUNGE events from clients, causing them to use wrong sequence numbers. - deliver was treating boolean settings set to "no" as if they were "yes" (they were supposed to be commented out for "no") - Running "dovecot" with -a or -n option while Dovecot was running deleted all authentication sockets, which caused all the future logins to fail. - maildir: RENAME and DELETE didn't touch control directory if it was different from maildir or index dir. - We treated internal userdb lookup errors as "user unknown" errors. In such situations this caused deliver to think the user didn't exist and the mail get bounced. - pam: Setting cache_key crashed - shared maildir: dovecot-keywords file's mode wasn't taken from dovecot-shared file. - dovecotpw wasn't working with PowerPC
Update dovecot to 1.0 beta9. From the release notes: Fixes a lot of bugs. The next release will be the first "release candidate" instead of a beta. * PAM: Don't call pam_setcred() unless setcred=yes PAM passdb argument was given. * Moved around settings in dovecot-example.conf to be in more logical groups. + Local delivery agent (deliver binary) works again. + LDAP: Added support for SASL binding. Patch by Geert Jansen + ssl_verify_client_cert: Check CRLs. If auth_verbose=yes, log invalid sent certificates. If verbose_ssl=yes, log even the valid certificates. When using the username from the certificate, use CommonName. Based on patch by HenkJan Wolthuis + PAM: Set PAM_TTY which is needed by some PAM plugins + dovecot --exec-mail ext <binary path> can now be used to start binaries which want dovecot.conf to be read, for example the convert-tool. - Expunging needed to be done twice if client used STORE +FLAGS.SILENT command to set the \Deleted flags - Added sql_escape_string() to lib-sql API and use it instead of normal \-escaping. - ACL plugin fixes - DIGEST-MD5: Trying to use subsequent authentication crashed dovecot-auth. - Fetching BODY when BODYSTRUCTURE was already cached caused the reply to be broken in some cases - Lots of fixes for index file handling - dbox fixes and changes - mbox syncing broke if some extraneous/broken headers were removed (eg. extra X-IMAPbase headers in mails) - Running Dovecot from inetd work now properly with POP3 - Quota plugin fixes for calculating the quota correctly
Pullup ticket 1585 - requested by ghen
security update for dovecot
Revisions pulled up:
- pkgsrc/mail/dovecot/Makefile 1.47, 1.48, 1.49, 1.51
- pkgsrc/mail/dovecot/PLIST 1.9, 1.10
- pkgsrc/mail/dovecot/distinfo 1.26, 1.27, 1.28, 1.29
- pkgsrc/mail/dovecot/patches/patch-aa 1.6
- pkgsrc/mail/dovecot/patches/patch-ab 1.12
- pkgsrc/mail/dovecot/patches/patch-ac removed
- pkgsrc/mail/dovecot/patches/patch-ad removed
- pkgsrc/mail/dovecot/patches/patch-ae removed
Module Name: pkgsrc
Committed By: ghen
Date: Tue Apr 4 09:38:46 UTC 2006
Modified Files:
pkgsrc/mail/dovecot: Makefile PLIST distinfo
pkgsrc/mail/dovecot/patches: patch-aa patch-ab
Removed Files:
pkgsrc/mail/dovecot/patches: patch-ac patch-ad patch-ae
Log Message:
Update Dovecot from 1.0beta3 to 1.0beta5. The beta4 release had SSL issues
which were fixed again in beta5.
patch-ac and patch-ad were taken from CVS and are not needed anymore.
Changes in Dovecot 1.0beta4:
* Changed the default lock_method back to fcntl. Apparently flock
gives problems with some systems.
* mbox: mailboxes beginning with '.' are now also listed
* Replaced mail_use_modules and mail_modules settings with mail_plugins
and mail_plugin_dir. Now instead of loading all plugins from the
directory, you'll have to give a list of plugins to load. If the
plugin couldn't be loaded, the process exits instead of just
ignoring the problem (this is important with ACL plugin).
+ Added support for "master users" who can log in as other people.
The master username can be given either in authorization ID
string with SASL PLAIN mechanism or by setting
auth_master_user_separator and giving it within the normal username
string.
+ Added ACL plugin with ACL file backend. This however doesn't mean
that there yet exists a proper shared folder support. If master user
logged in as someone else, the ACLs are checked as the master user.
+ Added some Dovecot extensions to checkpassword passdb, see ChangeLog
+ Updated passwd-file format to allow specifying any key=value fields
+ Maildir++ quota support and several quota fixes
+ passdb supporting extra fields: Added "allow_nets" option which takes
a comma separated list of IPs/networks where to allow user to log in.
+ NFS: Handle ESTALE errors the best way we can
+ IMAP now writes to log when client disconnects
+ In shared mailboxes (if dovecot-shared file exists) \Seen flags are
now kept only in index files, so as long as each user has a separate
index file they have separate \Seen flags.
- Fixes to DIGEST-MD5 realm handling so it works with more clients
- BODYSTRUCTURE -> BODY conversion from cache file was broken with
mails containing message/rfc822 parts.
- Fixed several memory leaks
- We could have sent client FETCH notifications about messages before
telling about them with EXISTS
- Compiling fixes for Solaris and some other OSes
- Fixed problem with internal timeout handling code, which caused eg.
outlook-idle workaround to break.
- If /dev/urandom didn't exist, we didn't seed OpenSSL's random number
generator properly. Patch by Vilmos Nebehaj.
- Maildir: Recent flags weren't always immediately removed from mails
when mailbox was opened.
- Several changes to SSL proxying code, hopefully making it work
better.
Changes in Dovecot 1.0beta5:
- Beta4's SSL proxying rewrite worked worse than I thought.
Reverted it back to original code.
- Filesystem quota plugin now looks up the mount path correctly.
---
Module Name: pkgsrc
Committed By: xtraeme
Date: Wed Apr 12 18:19:16 UTC 2006
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
Log Message:
Update to 1.0beta6:
v1.0.beta6 2006-04-12
* The login and master usernames were reversed when using
master_user_separator (now the order is UW-IMAP compatible).
* Killing dovecot master process now kills all IMAP and POP3
processes also.
+ -a parameter to dovecot prints now all settings that Dovecot uses.
-n prints all settings that are different from defaults.
+ Added pop3_lock_session setting
+ %M modifier returns string's MD5 sum. Patch by Ben Winslow
- PLAIN SASL authentication wasn't working properly, causing failed
logins with some clients (broken in beta4)
- Fixes to Maildir++ quota, should actually work now
- Don't crash if passwd-file has entries without passwords
(eg. deny=yes databases)
- Fixed prefetch userdb to work nicely with other userdbs
- If master process runs out of file descriptors, don't go to
infinite loop (unlikely to have happened unless the OS's default
fd limit was too low)
- Fixed non-plaintext password lookups from LDAP. Patch by Lior Okman
- %U modifier was actually lowercasing the string. Patch by
Ben Winslow
---
Module Name: pkgsrc
Committed By: ghen
Date: Fri Apr 14 19:01:53 UTC 2006
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
Log Message:
Update dovecot to 1.0beta7:
+ Added shutdown_clients setting to control if existing imap/pop3 processes
should be killed when master is.
- Master login fixes, PLAIN authentication was still broken..
---
Module Name: pkgsrc
Committed By: grant
Date: Fri May 12 11:02:48 UTC 2006
Modified Files:
pkgsrc/mail/dovecot: Makefile distinfo
Log Message:
update dovecot to 1.0beta8.
changes since 1.0beta7:
* Fixed a security hole with mbox: "1 LIST .. *" command could
list all directories and files under the mbox root directory, so
if your mails were stored in eg. /var/mail/%u/ directory, the
command would list everything under /var/mail.
+ Unless nfs_check=no or mmap_disable=yes, check for the first login
if the user's index directory exists in NFS mount. If so, refuse to
run. This is done only on first login to avoid constant extra
overhead.
+ If we have plugins set and imap_capability unset, figure out the
IMAP capabilities automatically by running imap binary at startup.
The generated capability list isn't updated until Dovecot is
restarted completely, so if you add or remove IMAP plugins you
should restart. If you have problems related to this, set
imap_capabilities setting manually to work around it.
+ Added auth_username_format setting
- pop3_lock_session setting wasn't really working
- Lots of fixes related to quota handling. It's still not working
perfectly though.
- Lots of index handling fixes, especially with mmap_disable=yes
- Maildir: saving mails could have sometimes caused "Append with UID
n, but next_uid = m" errors
- flock() locking never timeouted because ignoring SIGALRM caused the
system call just to be restarted when SIGALRM occurred (probably not
with all OSes though?)
- kqueue: Fixed "Unrecognized event". Patch by Vaclav Haisman
---
Module Name: pkgsrc
Committed By: jwise
Date: Fri May 12 15:47:39 UTC 2006
Modified Files:
pkgsrc/mail/dovecot: PLIST
Log Message:
Fix missing file (lib/dovecot/pop3/lib01_quota_plugin.so) in PLIST.
Fix missing file (lib/dovecot/pop3/lib01_quota_plugin.so) in PLIST.
Update Dovecot from 1.0beta3 to 1.0beta5. The beta4 release had SSL issues which were fixed again in beta5. patch-ac and patch-ad were taken from CVS and are not needed anymore. Changes in Dovecot 1.0beta4: * Changed the default lock_method back to fcntl. Apparently flock gives problems with some systems. * mbox: mailboxes beginning with '.' are now also listed * Replaced mail_use_modules and mail_modules settings with mail_plugins and mail_plugin_dir. Now instead of loading all plugins from the directory, you'll have to give a list of plugins to load. If the plugin couldn't be loaded, the process exits instead of just ignoring the problem (this is important with ACL plugin). + Added support for "master users" who can log in as other people. The master username can be given either in authorization ID string with SASL PLAIN mechanism or by setting auth_master_user_separator and giving it within the normal username string. + Added ACL plugin with ACL file backend. This however doesn't mean that there yet exists a proper shared folder support. If master user logged in as someone else, the ACLs are checked as the master user. + Added some Dovecot extensions to checkpassword passdb, see ChangeLog + Updated passwd-file format to allow specifying any key=value fields + Maildir++ quota support and several quota fixes + passdb supporting extra fields: Added "allow_nets" option which takes a comma separated list of IPs/networks where to allow user to log in. + NFS: Handle ESTALE errors the best way we can + IMAP now writes to log when client disconnects + In shared mailboxes (if dovecot-shared file exists) \Seen flags are now kept only in index files, so as long as each user has a separate index file they have separate \Seen flags. - Fixes to DIGEST-MD5 realm handling so it works with more clients - BODYSTRUCTURE -> BODY conversion from cache file was broken with mails containing message/rfc822 parts. - Fixed several memory leaks - We could have sent client FETCH notifications about messages before telling about them with EXISTS - Compiling fixes for Solaris and some other OSes - Fixed problem with internal timeout handling code, which caused eg. outlook-idle workaround to break. - If /dev/urandom didn't exist, we didn't seed OpenSSL's random number generator properly. Patch by Vilmos Nebehaj. - Maildir: Recent flags weren't always immediately removed from mails when mailbox was opened. - Several changes to SSL proxying code, hopefully making it work better. Changes in Dovecot 1.0beta5: - Beta4's SSL proxying rewrite worked worse than I thought. Reverted it back to original code. - Filesystem quota plugin now looks up the mount path correctly.
Update Dovecot to 1.0beta3. Changes include:
* Dotlock code changed to timeout faster in some situations when
the lock file is old.
+ Added support for loading SQL drivers dynamically (see INSTALL file for how
to build them)
+ Keywords are stored to dboxes, and other dbox improvements.
+ dict-sql could actually work now, making quota-in-sql-database possibly
working now (not fully tested)
+ Added mail storage conversion plugin to convert automatically from one
mailbox format to another while user logs in. Doesn't preserve UIDVALIDITY/
UIDs though.
+ Added plugin { .. } section to dovecot.conf for passing parameters to
plugins (see dovecot-example.conf).
+ Added ssl-build-param binary which is used to generate ssl-parameters.dat.
Main dovecot binary doesn't anymore link to SSL libraries, and this also
makes the process title be clearer about why the process is eating all the
CPU.
- Fix building without OpenSSL
- Fixed memory leak in MySQL driver
- Fixes to checkpassword
- Broken Content-Length header could have broken mbox opening
- Fixed potential hangs after APPEND command
- Fixed potential crashes in dovecot-auth and imap/pop3-login
- zlib plugin now links with -lz so it could actually work
- kqueue fixes by Vaclav Haisman
Also, change the package's name to 1.0beta3 (from 1.0b2), since "beta" is what
pkgsrc recognizes according to pkg_info(1). (sorry tv, I thought it was "b".)
- Update mail/dovecot to 1.0beta2. The 1.0 betas are very stable, and
recommended by the Dovecot author (the 0.99.x series are deprecated).
Major changes:
v1.0.beta2 2006-01-22 Timo Sirainen <tss@iki.fi>
+ Added SQLite support. Patch by Jakob Hirsch.
+ Added auth_debug_passwords setting. If it's not enabled, hide all
password strings from logs.
+ Added mail_cache_min_mail_count and mbox_min_index_size settings
which can be used to make Dovecot do less disk writes in small
mailboxes where they don't benefit that much.
+ Added --build-ssl-parameters parameter to dovecot binary
- SSL parameters were being regenerated every 10 minutes, although not
with all systems.
- Fixed dovecot-auth crashing at startup. Happened only with some
specific compilers.
- base_dir was supposed to be set world-readable, not world-writable
v1.0.beta1 2006-01-16 Timo Sirainen <tss@iki.fi>
* Almost a complete rewrite since 0.99.x, but some of the major
changes are:
+ Index file code rewritten to do less disk I/O, wait locks less and in
generate be smarter. They also support being in clustered filesystems
and NFS support is mostly working also.
+ Mail caching is smarter. Only the data that client requests is
cached. Before Dovecot opened and cached all mails when mailbox was
opened the first time, which was slow.
+ Mbox handling code rewritten to be much faster, safer and correct
+ New authentication mechanisms: APOP, GSSAPI, LOGIN, NTLM and RPA.
+ LDAP supports authentication binds
+ Authentication server can cache password database lookups
+ Support for multiple authentication databases
+ Namespace configuration
+ Dovecot works with shared
- Add an option for sqlite support.
- Take over maintainership.
All suggested (and ok'ed) by xtraeme.
RCD_SCRIPTS_EXAMPLEDIR is no longer customizable. And always is defined as share/examples/rc.d which was the default before. This rc.d scripts are not automatically added to PLISTs now also. So add to each corresponding PLIST as required. This was discussed on tech-pkg in late January and late April. Todo: remove the RCD_SCRIPTS_EXAMPLEDIR uses in MESSAGES and elsewhere and remove the RCD_SCRIPTS_EXAMPLEDIR itself.
Update to 0.99.13. From the changelog: * GNUTLS support hasn't been working for a while, so it's not even tried to be used anymore unless explicitly wanted. + Added CRAM-MD5 authentication mechanism. Patch by Joshua Goodall + Added SMD5 and LDAP-MD5 password schemes and changed MD5 scheme to use LDAP-MD5 if the password isn't in MD5crypt format. Patch by Joshua Goodall + Workaround for some POP3 client bugs: if message doesn't contain the "end of headers" empty line, add it automatically. + vpopmail supports now all password schemes, most importantly MD5crypt works now without support from libc's crypt() - SQL and LDAP authentication was broken - SEARCH UNKEYWORD wasn't working pkgsrc changes: * Disable GNU TLS support for the time being. * Move the workaround for the gcc2 sparc64 ICE into hacks.mk. * Format DESCR.
o Re-add CRAMMD5 support (PKGREVISION++). o PLIST fix (hi xtraeme!). o Re-add two chunks for dovecot-example.conf that were forgotten.
mk/bsd.pkg.install.mk now automatically registers
the RCD_SCRIPTS rc.d script(s) to the PLIST.
This GENERATE_PLIST idea is part of Greg A. Woods'
PR #22954.
This helps when the RC_SCRIPTS are installed to
a different ${RCD_SCRIPTS_EXAMPLEDIR}. (Later,
the default RCD_SCRIPTS_EXAMPLEDIR will be changed
to be more clear that they are the examples.)
These patches also remove the etc/rc.d/ scripts from PLISTs
(of packages that use RCD_SCRIPTS). (This also removes
now unused references from openssh* makefiles. Note that
qmail package has not been changed yet.)
I have been doing automatic PLIST registration for RC_SCRIPTS
for over a year. Not all of these packages have been tested,
but many have been tested and used.
Somethings maybe to do:
- a few packages still manually install the rc.d scripts to
hard-coded etc/rc.d. These need to be fixed.
- maybe remove from mk/${OPSYS}.pkg.dist mtree specifications too.
Updated to version 0.99.10.
Based on PR pkg/22028 by MAINTAINER, Tom Hensel.
Changes:
- Default PAM service name changed to "dovecot". This means that
if you're using PAM, you most likely have to do
mv /etc/pam.d/imap /etc/pam.d/dovecot
If you wish to keep using imap, see doc/auth.txt.
- ~/rawlog directory changed to ~/dovecot.rawlog
- Faster and better maildir synchronization. We support read-only
maildirs and out-of-quota conditions are handled a lot better.
dovecot-uidlist file still isn't out-of-quota-safe though, but you
can keep it in another location where quota isn't checked. For
example:
default_mail_env = Maildir:~/Maildir:
INDEX=/noquota/%u:CONTROL=/noquota/%u
- Read-only mboxes are supported now.
- Only NOOP and CHECK now always do a mailbox sync checking. Other
commands sync max. once in 5 seconds, plus always from indexes.
This should reduce I/O a bit.
- All NUL characters are translated to ascii #128 before sending to
client. RFC prohibits sending NULs and this is how UW-IMAP handles
it as well.
- Make ENVELOPE, BODY and BODYSTRUCTURE replies more compact by
removing multiple LWSPs and translating TABs to spaces. RFC doesn't
specifically require this, but this seems to be the wanted
behaviour..
- Added ANONYMOUS SASL mechanism.
- More flexible user chrooting configuration in home directories:
"<chroot>/./<homedir>"
- Added support for dynamically loadable IMAP/POP3 modules. See
INSTALL file for more information.
- Partial fetches were broken if mails had CR+LF linefeeds
- SEARCH DELETED didn't return anything if all messages were deleted
- OpenSSL support was broken in many installations because we were
chrooted and it couldn't open /dev/urandom.
- PAM: Giving wrong password blocked the whole process for two
seconds. Now we create a new process for each check.
- Lots of other smaller bugfixes and better error handling
Import of dovecot-0.99.9.1: Secure IMAP and POP3 server. Dovecot is a secure and compact IMAP/POP3 server which is in the early stages of developement. It supports Maildirs and mbox formats and much of the IMAP v4 protocol including SSL/TLS. IPv6 support is also included. Package provided by Juan RP via pkgsrc-wip with modifications by me.
Initial revision