Commit graph

73 commits

Author SHA1 Message Date
Thomas Klausner
4c850f93bc Remove obsolete @dirrm lines. 2009-10-11 10:44:24 +00:00
Geert Hendrickx
a35b2bad22 Update to Dovecot 1.2.5, from Edgar Fuss <ef@math.uni-bonn.de>.
Changes in Dovecot 1.2.5:

* Authentication: DIGEST-MD5 and RPA mechanisms no longer require
  user's login realm to be listed in auth_realms. It only made
  configuration more difficult without really providing extra security.
* zlib plugin: Don't allow clients to save compressed data directly.
  This prevents users from exploiting (most of the) potential security
  holes in zlib/bzlib.

+ Added pop3_save_uidl setting.
+ dict quota: When updating quota and user isn't already in dict,
  recalculate and save the quota.
- file_set_size() was broken with OSes that didn't support
  posix_fallocate() (almost everyone except Linux), causing all kinds
  of index file errors.
- v1.2.4 index file handling could have caused an assert-crash
- IMAP: Fixes to QRESYNC extension.
- virtual plugin: Crashfix
- deliver: Don't send rejects to any messages that have Auto-Submitted
  header. This avoids emails loops.
- Maildir: Performance fixes, especially with maildir_very_dirty_syncs.
- Maildir++ quota: Limits weren't read early enough from maildirsize
  file (when quota limits not enforced by Dovecot)
- Message decoding fixes (mainly for IMAP SEARCH, Sieve).
2009-10-05 12:24:56 +00:00
Geert Hendrickx
3f1a2899ba Update to Dovecot 1.2.4, Sieve to 0.1.12 and ManageSieve to 0.11.9, provided by
Edgar Fuss <ef@math.uni-bonn.de>.

Changes in Dovecot 1.2.4:

* acl: When looking up ACL defaults, use global/local default files if they
  exist. So it's now possible to set default ACLs by creating dovecot-acl file
  to the mail root directory.

+ imap/pop3 proxy: If proxy destination is known to be down, fail connections
  to it immediately.
+ imap/pop3 proxy: Added proxy_timeout passdb extra field to specify proxy's
  connect timeout.
- Fixed a crash in index file handling.
- 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).
- v1.2.3 crashed when listing shared namespace prefix.
- listescape plugin: Several fixes.
- autocreate plugin: Fixed autosubscribing to mailboxes in subscriptions=no
  namespaces.

Changes in Sieve 0.1.12:

+ Testsuite: added support for testing binaries stored on disk.
+ Implemented the new date extension. This allows matching against date values
  in header fields and the current date at the time of script evaluation.

Changes in ManageSieve 0.11.9:

* Adjusted to changes in the Dovecot login proxy API. This release therefore
  depends on Dovecot v1.2.4.
+ Reintroduced ability to abort SASL with "*" response. Latest ManageSieve
  specification includes it.
2009-09-08 08:27:18 +00:00
Geert Hendrickx
52861c9eea Update to Dovecot 1.2.3, Sieve to 0.1.11 and ManageSieve to 0.11.8,
from Edgar Fuss <ef@math.uni-bonn.de>.

Changes in Dovecot 1.2.2:

* GSSAPI: More changes to authentication. Hopefully good now.
* lazy_expunge plugin: Drop \Deleted flag when moving message.

+ dovecot -n/-a now outputs also lda settings.
+ dovecot.conf !include now supports globs (e.g.
  !include /etc/dovecot/*.conf). Based on patch by Thomas Guthmann.
+ acl: Support spaces in user/group identifiers.
+ shared mailboxes: If only %%n is specified in prefix, default to
  current user's domain.
- Dovecot master process could hang if it received signals too rapidly.
- Fixed "corrupted index cache file" errors (and perhaps others) caused
  by e.g. IMAP's FETCH BODY[] command.
- IMAP: When QRESYNC is enabled, don't crash when a new mail is
  received while IDLEing.
- IMAP: FETCH X-* parameters weren't working.
- 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).
- virtual plugin: If another session adds a new mailbox to index,
  don't crash.

Changes in Dovecet 1.2.3:

* Mailbox names with control characters can't be created anymore.
  Existing mailboxes can still be accessed though.
+ Allow namespace prefix to be opened as mailbox, if a mailbox
  already exists in the root dir.
- Maildir: dovecot-uidlist was being recreated every time a mailbox
  was accessed, even if nothing changed.
- listescape plugin was somewhat broken
- Compiling fixes for non-Linux/BSDs
- imap: tb-extra-mailbox-sep workaround was broken.
- ldap: Fixed hang when >128 requests were sent at once.
- fts_squat: Fixed crashing when searching virtual mailbox.
- imap: Fixed THREAD .. INTHREAD crashing.

Changes in Sieve 0.1.10:

* Changed action execution of fileinto and keep. These changes
  depend on API additions in Dovecot, making this release depend on
  Dovecot v1.2.2 or newer.
* Further developed the sieve-filter command line tool. This
  required a few changes to the action execution of the Sieve
  engine. The tool was successfully tested on folders with a few
  100k spam messages. However, the commandline options are still
  incomplete, a man page is missing and it needs much more testing
  before I can recommend anyone to use this tool.
+ Added support for the mailbox extension. This allows checking
  whether a mailbox exists using the mailboxexists command and it
  adds the :create argument to the fileinto command to create the
  mailbox when it is missing. The :create feature is useless unless
  the Deliver LDA is run with the -n option.
+ Improved the testsuite with tests for message delivery. Messages
  stored using keep and fileinto can be fed back into the Sieve
  engine for verification. This includes testing of applied IMAP
  flags.
+ Updated the man pages with the new method of specifying the
  supported extensions using + and - (for the -x parameter of the
  sieve tools)
+ Further developed the deprecated notify extension. A dummy for the
  denotify command exists, meaning that its use does not cause an
  error anymore.
- Fixed a bug in the derivation of the binary path from the script
  path. A bare filename would yield a path relative to root.
- Fixed a bug in the value matching code. The context data now uses
  a proper pool in stead of the data stack. Bug reported by Jan
  Sechser.
- Fixed assertion fail in the include extension caused by missing
  initialization upon binary load. This bug surfaces only for stored
  binaries. Bug reported by Tom Hendrikx.
- Fixed include error message for failed :global include. It
  mentioned the wrong config parameter.
- Fixed broken wiki reference in an error message of the plugin
  about the 'sieve' setting.
- Fixed behavior of fileinto when delivering into a namespace
  prefix. Previous fix used the wrong storage.

Changes in Sieve 0.1.11:

+ Built skeleton implementation for the date extension (RFC5260).
  It compiles, but it does not do anything useful yet. Therefore, it
  is not part of the default compilation.
- Fixed ARM portability issues caused by char type not being signed
  on that platform. Reading optional operands from a binary would
  fail for action side effects. Also, an accidental mixup of an int
  return type with bool caused the interpreter to continue on ARM
  even though an error occured.
- Removed direct stdint.h includes to prevent portability issues.
- Fixed segfault bug in the handling of script open failures.
- Include: improved user error messages and system log messages.
- Fixed copy-paste mixup between sieve_after and sieve_before
  settings in the LDA Sieve plugin. If only a sieve_after script was
  active, nothing would have been executed. Patch by Mike Abbott.
- Include: fixed a bug in HOME substitution in the sieve_dir path.
  Surfaced in ManageSieve.

Changelog ManageSieve v0.11.8:

- Fixed TLS support for proxying ManageSieve. The protocol state
  machine was incorrect. Also added a check that disables ssl when
  'starttls' is not enabled for the user. This produces a proper
  warning in the log file. There is no such thing as a managesieveS
  protocol which has SSL from the start.
2009-08-11 11:47:17 +00:00
Geert Hendrickx
3885c7201b Update to Dovecot 1.2.1, Sieve 0.1.8 and ManageSieve 0.11.7.
Changelog for Dovecot 1.2.1: Mainly fixes to some issues found by people when
upgrading to v1.2.0.

* GSSAPI: Changed logging levels and improved the messages.  Changed the way
  cross-realm authentication handling is done, hopefully it's working now for
  everyone.
* imap/pop3 logins now fail if home directory path is relative.  v1.2.0 deliver
  was already failing with these and they could have caused problems even with
  v1.1.
* IMAP: Custom authentication failure messages are now prefixed with [ALERT] to
  get more clients to actually show them.

+ Improved some error messages.
- pop3: AUTH PLAIN was broken when SASL initial response wasn't given.
- mbox: New mailboxes were created with UIDVALIDITY 1.
- quota-fs was defaulting to group quota instead of user quota.
- Fixed ACLs to work with mbox.
- Fixed fchmod(-1, -1) errors with BSDs
- convert plugin / convert-tool: Fixed changing hierarchy separators in mailbox
  names when alt_hierarchy_char isn't set.

Changelog for Sieve v0.1.8:

- Fixed AIX compile problem. For portability, the typeof operator is not used
  anymore.
+ Added partial support for the deprecated notify extension.  However, it turns
  out that the implementation provided by cmusieve is even older (2001),
  meaning that this is currently not backwards compatible with cmusieve. Should
  be fixed in next release.

Changelog for ManageSieve v0.11.7:

* Adjusted to changes in the Dovecot login API. This release now depends on
  Dovecot v1.2.1 or newer.
* Incorporated various small changes in IMAP into ManageSieve.  This includes
  properly enabling the generation of core dumps.
- The previous release implicitly resolved the FreeBSD script truncation error.
  This release adds a small correction to the code that detects the truncation.
- Fixed panic occurring when many errors are produced by the Sieve compiler
  (bug found by Pascal Volk).
- Fixed memory leak in the PUTSCRIPT command.

(ManageSieve patch)
- Forgot to add the managesieve_logout_format setting to the config file. Now
  it works (bug reported by Pascal Volk).
2009-07-13 08:17:28 +00:00
Geert Hendrickx
a028107ac2 Fix variable name. 2009-07-13 08:13:04 +00:00
Geert Hendrickx
1d7071d3ec Update to dovecot 1.2.0, dovecot-sieve 0.1.7 and dovecot-managesieve 0.11.6.
Changes since rc5:

	* imap proxy: Pass through to client unexpected untagged replies
	  from remote server (e.g. alerts).
        * Solr: Don't use "any" copyfield, it doubles the index size.
	* mail_location: Allow using ":" characters in dir names by escaping
	  it as "::".

        - mbox: Don't crash with invalid From_-lines.
	- IMAP: Don't crash if IDLE command is pipelined after a long-running
	  UID FETCH or UID SEARCH.
        - ACL / shared mailbox fixes
        - Some metadata files were incorrectly getting 0666 permissions.

Changes since rc6:

	* Removed configure --with-deliver, --with-pop3d and --disable-ipv6
	  parameters.

        + Improved permission related error messages.
        - mbox: Don't write garbage to mbox if message doesn't have a body.
        - virtual: Fixed saving messages with keywords.
        - virtual: Fixed infinite looping bug.
        - zlib: Fixed error handling.

Changes since rc7:

        - Fixed building LDAP as plugin
        - Fixed starting up in OS X

Changelog Sieve v0.1.7:

	+ Improved consistency of sieve tool documentation and fixed missing
	  parameters in internal tool help output.
	+ Enhanced extensions configuration, allowing to specify the enabled
	  extensions relatively to the default (patch by Steffen Kaiser).
	- Forgot to initialize script execution status in Sieve plugin, causing
	  segfaults on compile errors in specific conditions.
	- Fixed logging in Sieve plugin for execution of default main script
	  (went to STDERR).

Changelog ManageSieve v0.11.6:

	* Adjusted to changes in Dovecot regarding client idle timeout
	  vs authentication timeout. This release now depends on Dovecot
	  v1.2.rc6 or newer.
	- Fixed CRLF line breaks in compile errors (bug reported by Pascal
	  Volk).
	- Corrected directory/file creation behavior with respect to mode bits
	  and gid (bug reported by Pascal Volk).
	- Improved handling of script truncation bugs: connection is now closed
	  and and error is logged (bug itself not fixed yet).
        - Prevented temp script name from showing up in error output.
2009-07-05 20:37:43 +00:00
Geert Hendrickx
e4f79377cb Fix the buildlink3.mk file, it was broken. 2009-06-25 14:22:57 +00:00
Geert Hendrickx
a0e1ce9593 Implement sieve plugin and managesieve patch for dovecot as pkgsrc options.
From Edgar Fuss <ef@math.uni-bonn.de>.

To be split out as separate packages later if possible.
2009-06-25 14:20:49 +00:00
Geert Hendrickx
a213f8a8e0 Catch up with Dovecot 1.2 RC's.
v1.2.rc5 2009-06-04 Timo Sirainen <tss@iki.fi>

	* auth_cache_negative_ttl is now used also for password mismatches
	  (currently only with plaintext authentication mechanisms).

	+ Added support for EXTERNAL SASL mechanism.
	+ FETCH X-SAVEDATE can now be used to get messages' save timestamps
	+ deliver_log_format: %s is now in UTF8
	- If message body started with a space, some operations could have
	  assert-crashed.
	- Fixed using LDAP support as a plugin
	- Fixes to virtual mailboxes.

v1.2.rc4 2009-05-17 Timo Sirainen <tss@iki.fi>

	* If /dev/arandom exists, use it instead of /dev/urandom (OpenBSD).
	* When logging to a file, the lines now start with a timestamp instead
	  of "dovecot: " prefix.

	+ 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-proxy: Send backend's CAPABILITY if it's different from what
	  was sent to client before.
	+ IMAP: struct mail now keeps track of all kinds of statistics, such
	  as number of open()s, stat()s, bytes read, etc. These fields could
	  be exported by some kind of a statistics plugin (not included yet).
	+ IMAP: SEARCH command now dynamically figures out how to run about
	  0.20 .. 0.25 seconds before seeing if there's other work to do.
	  This makes the SEARCH performance much better.
	- Fixes to shared mailbox handling.
	- Fixes to virtual mailboxes.
	- THREAD command could have crashed.
	- Fixes to expire-tool.
	- mbox: Don't break if From_-line is preceded by CRLF (instead of LF).
	- dict process wasn't restarted after SIGHUP was sent to master.

v1.2.rc3 2009-04-16 Timo Sirainen <tss@iki.fi>

	* IMAP proxy no longer simply forwards tagged reply from
	  remote authentication command. It's now done only if the remote
	  server sent a [resp-code], otherwise all failure strings are
	  converted to Dovecot's "Authentication failed." to make sure that
	  if remote isn't using Dovecot it won't reveal user's existence.

	+ Quota roots can now specify which namespace's quota they're
	  tracking. This is probably the most useful for giving public
	  namespaces a quota.
	+ Added imap_idle_notify_interval setting.
	- Fixes to shared mailbox handling
	- Fixes to virtual mailboxes
	- Fixed compiling with some FreeBSD and NetBSD versions
	- THREAD REFS still might have returned one (0) at the beginning.
	- deliver wasn't using mail_access_groups setting.
	- Fixed some error handling in maildir and index code.

v1.2.rc2 2009-04-03  Timo Sirainen <tss@iki.fi>

	- rquota.x file was missing from rc1 distribution, causing compiling
	  to fail.

v1.2.rc1 2009-04-03  Timo Sirainen <tss@iki.fi>

	* 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
2009-06-05 06:50:12 +00:00
Jörg Sonnenberger
50f485b714 Convert buildlink3.mk files to new world order. 2009-03-20 19:43:38 +00:00
Geert Hendrickx
9ec92b6fdb Update to Dovecot 1.2 beta1. Too many changes to list since previous alpha's.
This release should be close to 1.2 release candidate quality.
2009-02-11 14:57:32 +00:00
Geert Hendrickx
a11402e0e9 Update to dovecot 1.2.alpha3. Largest changes since v1.2.alpha2:
+ Added userdb checkpassword (by Sascha Wilde)
+ Autocreate plugin: http://wiki.dovecot.org/Plugins/Autocreate
+ Listescape plugin: http://wiki.dovecot.org/Plugins/Listescape
- All the same fixes as for v1.1.5:

* 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
2008-10-22 21:19:12 +00:00
Geert Hendrickx
0c95b3c517 Update to Dovecot 1.2alpha2. Changes over alpha1:
"Mainly the same fixes as in v1.1.3 -> v1.1.4 plus some more v1.2-specific
fixes."
2008-10-06 12:02:16 +00:00
Geert Hendrickx
14d548afe9 Re-import the dovecot-devel package, this time to track the 1.2 beta series.
Changes between 1.1 and 1.2 are not really major, mostly implementation of
additional IMAP extensions.

See http://www.dovecot.org/list/dovecot-news/2008-September/000084.html for
details.
2008-09-05 20:11:03 +00:00
Geert Hendrickx
ec243d5f57 Remove dovecot and dovecot-sieve packages from pkgsrc-wip, dovecot 1.1.x
has been merged into pkgsrc now.

These packages can be revived later for dovecot 1.2 beta's.
2008-06-22 17:45:06 +00:00
Geert Hendrickx
cc0662ce52 Dovecot 1.1.0 is here, finally! This release is identical to 1.1rc13.
Changes since 1.1rc11:

rc12:

	- mbox: Don't give "Can't find next message offset" warnings when
	  plugin (e.g. quota) accesses the message being saved.
	- deliver: Settings inside protocol imap {} weren't ignored.

rc13:

	- mbox: Fixed a crash when adding a new X-IMAPbase: header with
	  keywords.
	- Message parser: Fixed assert-crash if cached MIME structure was
	  broken.
	- Squat: Potential crashfix with mmap_disable=3Dyes.

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 \
2008-06-21 09:48:01 +00:00
Geert Hendrickx
c6e6d6e368 Update to Dovecot 1.1rc11. From the release announcement:
This is the final v1.1 RC. Tomorrow I'll change only the version number,
update the documentation and call it v1.1.0. But please test this anyway
to make sure I didn't happen to break anything since rc10 :)

	- dovecot-uidlist is now recreated if it results in file shrinking
	  over 25%.
	- Some other minor fixes
2008-06-19 06:58:52 +00:00
Geert Hendrickx
a555b08128 Update to Dovecot 1.1rc10. From the release announcement:
v1.1.0 will be released on next Friday if nothing horrible happens.

	* LIST X-STATUS renamed to LIST STATUS and fixed its behavior with
	  LIST-EXTENDED options. It's now compatible with STATUS-IN-LIST
	  draft 00.

	- Message parsing could have sometimes produced incorrect results,
	  corrupting BODY/BODYSTRUCTURE replies and perhaps others.
	- SORT: Fixed several bugs
	- FreeBSD 7.0: Environment clearing wasn't working correctly.
	  This caused "environment corrupted" problems at least with deliver
	  trying to call sendmail and running Dovecot from inetd.
	- HP-UX: Several fixes to get it to work (by Christian Corti)
	- Fixes to using expire plugin with SQL dictionary.
	- dbox fixes
2008-06-13 09:28:16 +00:00
Geert Hendrickx
18c5bb3650 Update to Dovecot 1.1rc9. From the release announcement:
Not many bug reports these last few days, so maybe this release will be
a good one.

	+ Maildir: When hardlink-copying a file, copy the W=<vsize> in the
	  filename if it exists in the original filename.
	- mbox: With rc8 empty lines were inserted in the middle of saved
	  mails' headers.
	- maildir: Fixed problems with opening newly saved messages which we
	  saw in index file but couldn't see in dovecot-uidlist. Happened only
	  when messages weren't saved via Dovecot (deliver or IMAP).
	- Several bugfixes to handling sort indexes
	- deliver: Boolean settings that were supposed to default to "yes" were
	  set to "no" unless explicitly defined in dovecot.conf:
	  dotlock_use_excl, maildir_copy_with_hardlinks, mbox_dirty_syncs,
	  mbox_lazy_writes.
2008-06-09 08:09:02 +00:00
Geert Hendrickx
d94386df13 Update to Dovecot 1.1rc8. From the release announcement:
I then decided to add the deliver -p feature to this release. Seems to
work in my tests, but who knows if it breaks something.. Although most
of the code is called only if -p parameter is given. Anyway we really
should have a comprehensive test suite written some day (yes, help is
really wanted for this :).

So let's hope this is the last RC release. If there aren't any major
problems I'll release v1.1.0 in a couple of weeks.

I'll also try to merge all my different development trees into a single
v1.2 code tree within a few weeks. v1.2.0 will probably be released this
summer as well, since it mainly has new features that don't change
existing code all that much (CONDSTORE is a bit invasive though).

	+ deliver: Added -c parameter to provide path to delivered mail.
	  This allows maildir to save identical mails to multiple recipients
	  using hard links.
	- rc6/rc7 broke POP3 with non-Maildir formats
	- mbox: Saving a message without a body or the end-of-headers line
	  could have caused an assert-crash later.
	- Several dbox fixes
2008-06-03 05:53:26 +00:00
Geert Hendrickx
1c98df3349 Update to Dovecot 1.1rc7. From the rc6 release announcement mail:
This is it. The first v1.1 release that actually deserves the "release
candidate" name. It contains everything I require from v1.1.0 release.
There are two bugs left that I'd like to get fixed, but they won't block
v1.1.0 release:

 * index_mailbox_set_recent_uid() assert (reported by Diego Liziero)
 * Maildir not always finding new messages and returning them as empty
(reported by Anders).

The major change in v1.1.rc6 release is the SORT indexing half-rewrite.
I hadn't much stress tested that code before, and once I started I just
kept finding more and more weird bugs and it became extremely difficult
to figure out how to fix them, so I finally decided to just redesign how
it's supposed to work and then implemented that.

The resulting sort code is a lot cleaner and it should also perform
better (although it could still be improved a bit: the basic binary
searching could be replaced with one that first binary searches between
already-looked-up sort-strings and only after that binary searches the
resulting space which requires slower sort-string lookups). Hopefully
there are also no stupid bugs left like returning messages in wrong sort
order. :)

I've been wasting time this past week getting new stuff for my new
apartment, but that's nearly done now. I think (hope) I'm going to be
more productive in here, there are less neighbours behind walls/floors
(just 1), so less potential for annoying noises. :) Thinking also seems
to work better when there's more space to walk around.

And finally, the changes since v1.1.rc5:

	* Index file format changed a bit. If an older Dovecot v1.1 reads
	  index files updated by rc6+, they may give "Invalid header record
	  size" or "ext reset: invalid record size" warnings. v1.0 won't give
	  these errors.
	* IMAP: LIST .. RETURN (X-STATUS) command return now LIST entries
	  before STATUS entries.
	* zlib plugin: Uncompress if the message begins with zlib header
	  instead of looking at the 'Z' flag. This fixes copying with hard
	  links. Based on a patch by Richard Platel.

	+ IMAP: SORT index handling code was half-rewritten to fix several bugs
	  when multiple sessions were sorting at the same time. The new code is
	  hopefully also faster.
	+ Maildir: If POP3 UIDL extra field is found from dovecot-uidlist,
	  it's used instead of the default UIDL format (or X-UIDL: header).
	  This allows easily preserving UIDLs when migrating from other POP3
	  servers. Patch by Nicholas Von Hollen @ Mailtrust.
	+ Maildir: ,W=<vsize> is now always added to maildir filenames
	+ deliver: Avoid reading dovecot-uidlist's contents if possible.
	+ Added %T modifier = Trim whitespace from end of string
	- IMAP: Fixed some bugs in LIST-EXTENDED implementation.
	- IMAP: If client tries to change the selected mailbox state while
	  another command is still running, wait until the command is finished.
	  This fixes some crashes and other unwanted behavior.
	- allow_nets userdb setting was broken with big endian CPUs

And for rc7:

One extra RC release, just to fix compiling problems with non-Linux OSes.
Nothing else changed since rc6.
2008-05-31 11:33:58 +00:00
Geert Hendrickx
ce43f0a200 Update to Dovecot 1.1rc5. From the release announcement mail:
I've finally gone through all my unread mails and fixed most of the reported
bugs. There are only a couple ones left that I can't reproduce.  Please report
if you still have any problems with rc5, even if you already have reported the
same bug before.

v1.1.rc6 will hopefully be the last RC before v1.1.0.

	+ Support cross-realm Kerberos 5 authentication. Based on patch by
	  Zachary Kotlarek.
	+ Added dict_db_config setting to point to a Berkeley DB config file.
	+ If mail_chroot ends with "/.", remove chroot prefix from home
	  directory.
	- Fixed several bugs and memory leaks in ACL plugin. LIST and LSUB
	  may have listed mailboxes where user had no 'l' access. STORE could
	  have been used to update any flags without appropriate access.
	- mbox: Valid-looking From_-lines in message bodies caused the message
	  to be split to two messages (broken since v1.0).
	- Plugin initialization hooks were called in wrong order, possibly
	  causing problems when multiple plugins were used at the same time.
	- Expire plugin was broken
	- LIST-EXTENDED options were ignored.
	- LDAP: Static attribute names weren't working correctly
	- deliver: mail_uid and mail_gid settings weren't used.
	- pop3 + maildir++ quota: maildirsize file wasn't created if it
	  didn't exist already.
	- dnotify: Waiting for dotlock to be deleted used 100% CPU
2008-05-05 08:44:31 +00:00
Geert Hendrickx
5750b22645 Update to Dovecot 1.1rc4. From the release announcement mail:
I didn't have time/energy to fix everything I wanted, so it'll probably be a
few more RCs left until v1.1.0. This is anyway an important release, because it
fixes two buffer overflows in search code which have been in all v1.1 releases
(but not v1.0). Really stupid mistakes, I must have been tired or something
when writing the code.. Anyway I now added code to notice these kind of buffer
overflows when they happen (if --enable-debug is used), so hopefully these will
be the last ones.

	* Fixed two buffer overflows in str_find_init(). It was used by
	  SEARCH code when searching for headers or message body. Added code
          to catch these kind of overflows when compiling with --enable-debug.
          Found by Diego Liziero.

        + LDAP: Added debug_level and ldaprc_path settings (OpenLDAP-only)
        + Squat: Added fts_squat =3D partial=3Dn full=3Dm settings. See the wiki.
        - dbox metadata updating fixes.
        - quota: backend=3Dn didn't work
        - SEARCH RECENT may have returned non-recent messages if index files
          were created by v1.0.
        - If mailbox was opened as read-only with EXAMINE, STOREs were
          permanently saved.
        - LDAP: Templates were somewhat broken (by richs at whidbey.net)
2008-04-01 18:47:56 +00:00
Geert Hendrickx
10d30142ed Update to Dovecot 1.1rc3. From the release announcement mail:
Note that the changes for the security hole fix were quite large. I
tested with several auth configurations myself and they seemed to work,
but it's possible I left a bug somewhere in there breaking someone's
configuration. So make sure to test that it works after upgrading.

Of course it would be really nice if Dovecot had a proper test suite
where testing all configurations could be automated and run before each
release. I've already started this with my imaptest tool
(http://imapwiki.org/ImapTest), but it only does IMAP tests and a lot of
things are still missing. Some help would be nice here.

	* Fixed a security hole in blocking passdbs (MySQL always. PAM, passwd
	  and shadow if blocking=yes) where user could specify extra fields
	  in the password. The main problem here is when specifying
	  "skip_password_check" introduced in v1.0.11 for fixing master user
	  logins, allowing the user to log in as anyone without a valid
	  password.

	- mail_privileged_group was broken in some systems (OS X, Solaris?)
	- IMAP THREAD: Fixed some correctness problems
2008-03-09 12:52:46 +00:00
Geert Hendrickx
7c21c4363c Update to Dovecot 1.1rc2.
Changes since rc1:

	* mail_extra_groups setting was commonly used insecurely. This setting
	  is now deprecated. Most users should switch to using
	  mail_privileged_group setting, but if you really need the old
	  functionality use mail_access_groups instead.

	+ Expire plugin now supports wildcards in mailbox names.
	+ dbox: Expire plugin supports moving old mails to alternative
	  dbox directory
	+ Maildir++ quota: quota_rule=?:<rule> specifies a default rule
	  which is used only if the maildirsize file doesn't exist.
	+ If SSL/TLS connection isn't closed cleanly, log the last error
	  in the disconnection line.
	+ EXPUNGE: If new \Deleted messages were found while expunging,
	  do it again and expunge them as well (Outlook workaround)
	- IMAP: SEARCH, LIST and THREAD command correctness fixes
	- Maildir++ quota: Quota rules and warnings with % rules didn't work
	  if the default limits were taken from maildirsize file.
	- Maildir++ quota: If both byte and message limits weren't specified,
	  maildirsize file was recalculated all the time
	- mbox: Flag and keyword updates may have gotten lost in some
	  situations (happens with v1.0 too)
	- ldap: Don't crash if userdb lookup fails
	- Squat fixes and performance improvements

Things left to do for v1.1.0:

 - dbox has a metadata corruption bug, find and fix it
 - Squat has some locking issues that causes errors when stress testing
with multiple connections
 - Squat doesn't do NFS cache flushing and has some other NFS problems.
2008-03-08 10:26:08 +00:00
Geert Hendrickx
c3a6a24536 Update to Dovecot 1.1rc1.
Finally the first v1.1 release candidate. Please test so we can have a
fully stable v1.1.0 release. v1.1.betas are already running in a few
large installations, so I don't expect there to be many bugs left.

There are no release critical bugs left and no known crash bugs. There
are a few issues I'd like to fix before v1.1.0, but I don't expect to
have more than 3-5 release candidates this time (certainly much less
than 31 anyway..)

Changes since beta16:

 - ioloop defaults now to best one availablable instead of poll
 - IMAP SEARCH correctness fixes
 - Fixed proxy_maybe handling with caching and with mysql
 - IMAP: ENVELOPE's subject field now always has TABs changed to spaces
 - Some crashfixes
2008-02-21 23:39:51 +00:00
Geert Hendrickx
102c95c09b Update to Dovecot 1.1beta16, and bump the API_DEPENDS version to it.
From the release announcement mail:

If all goes well, I'll release v1.1.rc1 in a couple of days. Now's a good time
to start testing v1.1 :)

Changes since beta15:

 - Squat is finally working and supports expunging messages from it.  I've been
   stress testing it and can't find any problems anymore.
 - Some index/cache crashfixes

TODO for v1.1.0:

 - mbox: We write From_-lines to message bodies unescaped and assume
   Content-Length: header allows us to skip over them. This probably worked in
   v0.99, but got broken when mbox code was rewritten for v1.0. This should be
   fixed somehow.
 - dbox: fsync()ing isn't done for saved messages.
 - maildir: after rename()ing files from tmp/ to new/ we should probably
   fsync() the new/ directory.
 - Squat: NFS support. Check/fix a potential locking problem.
 - Lucene: It gives all kinds of locking errors which cause other problems.
   Maybe Dovecot should do the locking itself so Lucene never needs to wait for
   locks? Has anyone here used Lucene before and knows about these issues?
2008-02-17 19:36:30 +00:00
Geert Hendrickx
eaa0beb9c4 Update to Dovecot 1.1beta15.
Changes in beta14:

Pretty much the same things are in TODO for v1.1.rc1 as there were in beta13.
But there are quite a lot of other changes:

 - Added proxy_maybe setting. If the returned IP/port/user points to ourself,
   log in normally. Otherwise proxy to the IP.
 - Added quota_exceeded_message setting for quota plugin. Add it to plugin {}
   for global, or protocol lda {} for deliver-only.
 - mysql: default_file and default_group settings (by Luca Longinotti)
 - Timeout handling rewritten using a priority queue (heap). Dovecot should now
   be able to handle lots of timeouts quite fast.
 - Using the new timeout changes several places in code have been changed from
   iterate-through-objects-in-one-timeout to timeout-per-object. This means
   that there are no longer timeouts triggering every couple of seconds for no
   reason. dovecot master and dovecot-auth processes haven't been changed yet.
 - deliver without -d parameter: if $USER and $HOME exists, don't do getpwuid()
   lookup.
 - Maildir locking fix
 - Index file performance fixes
 - Don't allow RENAME box box/child. It breaks some clients (which do it
   themselves..) and there's really no reason to allow it.
 - Quota warnings were broken
 - Maildir quota didn't use limits from maildirsize if no quota rules were
   specified

I'm also thinking about getting rid of the "time moved backwards" error and
change it to a warning. First I'd just need to fix the timeout handling code to
handle time jumps and then verify that all timestamp comparisons can handle it
correctly.

Also besides warning about "time moved backwards" it should warn about "time
moved forwards a lot" where "lot" is probably something like a minute. That
could cause problems with dotlocks just the same as time moving backwards.

Changes in beta15:

 - If dovecot master kills itself, the error message is now written to a file
   in base_dir as well as to log file. When Dovecot starts the next time it
   shows this error message to user and asks to look into error log file. I'm
   hoping this will reduce "why dovecot exits silently after starting it?"
   questions.
 - LDAP: Added tls_* settings for using TLS with OpenLDAP.
 - POP3-only users shouldn't get dovecot.index.cache files created anymore when
   quota plugin is used
 - Fixed/optimized handling pipelined commands
 - rawlog: added -b parameter to log packet boundaries.
 - auth: %a and %b were broken
2008-02-11 20:17:31 +00:00
Tobias Nygren
d2ab3469b0 Per the process outlined in revbump(1), perform a recursive revbump
on packages that are affected by the switch from the openssl 0.9.7
branch to the 0.9.8 branch. ok jlam@
2008-01-18 04:30:10 +00:00
Geert Hendrickx
b1b397f4be Add MESSAGE file with pointer to 1.0->1.1 upgrade notes. 2008-01-03 14:08:17 +00:00
Geert Hendrickx
ed085809ea pkglint. 2008-01-03 14:06:59 +00:00
Geert Hendrickx
dcc335f0b2 Update to Dovecot 1.1beta13.
Changes since beta12:

 - Half of LDAP code was rewritten to fix reconnect/queuing problems. I did
   test that the new code works with and without auth binds, but be careful.
 - \Recent flags should finally work correctly with maildir.
 - last_used field wasn't updated for cache fields that were permanently
   cached. This caused them to be dropped after a month.

TODO for RC1:

 - When pipelining commands, do only one sync after all of them. Besides
   improving performance, this fixes some rare problems when multiple commands
   are running simultaneously.
 - SEARCH/SORT: Replace invalid input with unicode "replacement character"
   instead of just skipping it.
 - Squat: Handle expunges. NFS support.
 - Fix Lucene support.
2008-01-03 14:00:55 +00:00
Geert Hendrickx
697091322b Update to Dovecot 1.1beta12.
This release fixes a lot of bugs and adds some new sanity checks. Fixes
quite a lot of mbox problems.

v1.1.beta11 (no other versions) had a potential security hole where
memory was free()d multiple times.

\Recent flags should work perfectly now with mbox. Still somewhat broken
with maildir.
2007-12-22 16:18:21 +00:00
Geert Hendrickx
ec0f97da15 Update to Dovecot 1.1beta11.
This one should be the last beta release before the first v1.1 release
candidate.

The main things left in my TODO are:

 - Squat indexes should handle expunges
 - Lucene indexes are broken
 - See if \recent flag handling could be fixed for maildir/mbox (it works for
   dbox though)
 - Some other minor things which I'll do if I have time, but won't block v1.1.0
   release.

Changes since beta10:

 - One major performance issue found and fixed. This was the main reason why we
   weren't yet in release candidate stage.
 - configure --with-package now gives an error if it can't find the necessary
   libs/headers for the package. Use --with-package=auto for the old behavior.
 - Memory leak fixes
 - Convert plugin fixes. Conversion is now done to namespace with INBOX.
 - Changes to handling group adding/removing to processes. Hopefully didn't
   break anything.
 - Message flag/keyword searches are now faster
 - Fixes/optimizations to handling SORT. After building initial indexes, my
   260k mail mailbox sorts in about 0.01 seconds. :)
 - Fixes to searching mails with unknown charsets/invalid data
 - deliver_log_format setting
2007-12-10 14:19:40 +00:00
Geert Hendrickx
8ef3e14350 Update to Dovecot 1.1beta10.
Changes since beta9:

- dotlock_use_excl=yes is now the default. I think this should work in all NFS
  setups that are in use nowadays. O_EXCL has worked since NFSv3.
- fs quota: Added "noenforcing" option
- Fixed compiling with non-gcc
- Fixed quota plugin crash
- Lots of fixes to handling message searches, especially related to non-ASCII
  searches.

And most importantly: It includes the new Squat full text search indexing code.
There are a few things left in my TODO for it:

- It's currently used only to optimize root level AND searches. So for example
  SEARCH (OR TEXT hello TEXT world) is still searched the slow way.
- Expunged messages are never removed from the indexes
- The index could be updated while messages are being saved, but this isn't
  done yet.
- Indexed substring length is hardcoded to 4 characters. This should be
  configurable, although I think 4 should work quite nicely.

Lucene plugin is probably completely broken now, but it was also in beta9.

Some changes since beta8:

- This release should work perfectly with NFS attribute cache enabled.
- Fixes to handling what should be written to cache file and when
- Some index handling optimizations
- IMAP LIST: dbox and cydir can now return children state
2007-12-03 21:47:47 +00:00
Geert Hendrickx
97b34acf9a Update to Dovecot 1.1beta8.
Changes since beta7:

- Added a new "raw" mail storage backend which allows opening files/streams as
  single mail mailboxes. deliver uses this now instead of opening the incoming
  mail as a mbox. So deliver should be now faster and it doesn't anymore remove
  Dovecot's private mbox headers if you're not using mbox.
- Cache file tracks message expunges again
- All kinds of other fixes
- Some optimizations

I think we're getting closer to v1.1 RCs.
2007-11-11 19:35:32 +00:00
Geert Hendrickx
280c44a325 Update to Dovecot 1.1beta7.
Changes since beta6:

 - Beginnings of unit tests
 - Message parsing fixes
 - Cache file handling fixes

Known bugs:

 - Cache file doesn't keep track of how much it contains deleted data, which
   means it could grow infinitely. This worked at some point, so I'm not sure
   what I did to break it. I'll figure it out later.
 - Apparently for some use cases v1.1 is still slower (about 2x) than v1.0.
   Probably more or less specific to NFS + mmap_disable=yes.
2007-11-08 23:24:29 +00:00
Geert Hendrickx
40a85c4702 Update to Dovecot 1.1 beta6.
Fixes since beta5:

- dovecot.index.cache file wasn't actually being created/updated
  (or something like that)
- SORT assert-crashed sometimes when sorting by string fields [this
  was already fixed in pkgsrc version of dovecot 1.1beta5]
- etc.
2007-11-03 17:27:57 +00:00
Geert Hendrickx
03fa73e138 Update to Dovecot 1.1 beta5.
APPEND should be working now. Also lots of fixes to handling namespace
prefixes and namespaces where virtual separator differs from real
separator.

zlib plugin now supports opening compressed maildir files. This is done
for files that have Z flag.

SORT still assert-crashes sometimes. Would be great if someone could
show me how to reproduce it.  [*** fixed in patches/patch-ad ***]

SEARCH TEXT or Squat indexes apparently still have some problems, but I
couldn't reproduce them
(http://dovecot.org/list/dovecot/2007-October/026254.html).
2007-10-29 15:18:20 +00:00
Geert Hendrickx
6898da1001 Update to Dovecot 1.1 beta4.
Lots of fixes since beta3, but apparently there are still a few bugs left:

- Is SORT working?
- APPEND seems to have problems in some setups.
- Still some SEARCH TEXT problems? Or Squat indexing problems?
2007-10-23 17:07:39 +00:00
Geert Hendrickx
7a29395f90 Update to Dovecot 1.1 beta3.
Changes since beta2:

- SORT fixes. Still buggy?
- If Date: header doesn't exist or is broken, fallback to INTERNALDATE (as
  required by newer sort drafts, which I hadn't noticed before, v1.0.6 will
  have this too)
- Log fatals/panics as such, instead of converting them to errors.
- Don't bother logging "returned error 89" if the child process logged a fatal
  before that.
- dovecot.index.cache file may have been updated wrong when saving messages
  causing all kinds of problems if it was
- Some crashfixes
2007-10-17 21:03:43 +00:00
Geert Hendrickx
a45bd9d54b Fix references to OPENLDAP (where this bl3 files was originally copied from). 2007-10-17 21:01:50 +00:00
Geert Hendrickx
24b7df4dc0 Update to Dovecot 1.1 beta2:
"Several bug/crashfixes. deliver now supports -a parameter (see
http://wiki.dovecot.org/LDA) which allows Sieve plugin v1.1.2 to use
envelope :detail "to" checks.

I also did one more API change for mailbox_transaction_commit*().

There's probably something still wrong with SORT command, but other
than that I've fixed everything that's been reported."

Also this release can again be built with BSD make.
2007-10-01 04:22:21 +00:00
Geert Hendrickx
d62d177233 Add WIP dovecot package to track the 1.1-beta series. 2007-09-23 17:52:16 +00:00
Geert Hendrickx
0f9610b661 Import WIP dovecot package to track the 1.1-beta series. 2007-09-23 17:49:59 +00:00
Todd Vierling
ce5c24abe6 Main pkgsrc/mail/dovecot is now tracking the 1.0 release series. 2006-02-06 17:34:02 +00:00
Todd Vierling
29643b3061 Update to 1.0beta2. New in this release: SQLite3 support; fix for
/var/run directory issue (critical).
2006-01-23 14:40:18 +00:00
Todd Vierling
1c3e28272f Update to 1.0beta1 ("0.992.1"). 2006-01-17 16:31:39 +00:00
Geert Hendrickx
2fc2f3eb1c databases/mysql-client doesn't exist anymore -- use mk/mysql.buildlink3.mk
which is version agnostic.
2006-01-08 09:48:58 +00:00