Commit graph

89 commits

Author SHA1 Message Date
ghen
78b7394da5 Update to dovecot-1.0rc26. From the release announcement mail:
A few new small features and lots of index/mbox fixes. I've been heavily
stress testing this release, so I think it should be about perfect. :)

I think the only thing still missing from v1.0 is documentation. There
are some unwritten pages in the wiki, and I still haven't bothered to
write the wiki -> doc/*.txt conversion script. The script will probably
be pretty easy, but writing the docs can take a while.

	+ mbox and index file code handles silently out of quota/disk
	  space errors (maildir still has problems). They will give the user
	  a "Not enough disk space" error instead of flooding the log file.
	+ Added fsync_disable setting.
	+ mail-log plugin: Log the mailbox name, except if it's INBOX
	+ dovecot-auth: Added a lot more debug logging to passdbs and userdbs
	+ dovecot-auth: Added %c variable which expands to "secured" with
	  SSL/TLS/localhost.
	+ dovecot-auth: Added %m variable which expands to auth mechanism name
	- maildir++ quota: With ignore=box setting the quota was still updated
	  for the mailbox even though it was allowed to go over quota (but
	  quota recalculation ignored the box).
	- Index file handling fixes
	- mbox syncing fixes
	- Wrong endianess index files still weren't silently rebuilt
	- IMAP quota plugin: GETQUOTAROOT returned the mailbox name wrong the
	  namespace had a prefix or if its separator was non-default
	- IMAP: If client was appending multiple messages with MULTIAPPEND
	  and LITERAL+ extensions and one of the appends failed, Dovecot
	  treated the rest of the mail data as IMAP commands.
	- If mail was sent to client with sendfile() call, we could have
	  hanged the connection. This could happen only if mails were saved
	  with CR+LF linefeeds.
2007-03-14 14:14:52 +00:00
ghen
09bbcdc536 Update to dovecot-1.0rc26.
Most importantly this should fix mbox problems in recent RCs.

	* Changed --with-headers to --enable-header-install
	* If time moves backwards only max. 5 seconds, sleep until we're back
	  in the original present instead of killing ourself. An error is
	  still logged.

	- IMAP: With namespace prefixes LSUB prefix.* listed INBOX.INBOX.
	- deliver: Ignore mbox metadata headers from the message input.
	  X-IMAP header crashed deliver.
	- deliver: If mail_debug=yes, drop out DEBUG environment before
	  calling sendmail binary. Postfix's sendmail didn't really like it.
	- mbox: X-UID brokeness fixes broke rc25 even with valid X-UID headers.
	  Now the code should finally work right.
	- Maildir: When syncing a huge maildir, touch dovecot-uidlist.lock file
	  once in a while to make sure it doesn't get overwritten by another
	  process.
	- Maildir++ quota: We didn't handle NUL bytes in maildirsize files very
	  well. Now the file is rebuilt when they're seen (NFS problem).
	- Index/view handling fix should fix some crashes/errors
	- If index files were moved to a different endianess machine, Dovecot
	  logged all sorts of errors instead of silently rebuilding them.
	- Convert plugin didn't change hierarchy separators in mailbox names.
	- PostgreSQL authentication could have lost requests once in a while
	  with a heavily loaded server.
	- Login processes could have crashed in some situations
	- auth cache crashed with non-plaintext mechanisms
2007-03-07 09:50:41 +00:00
ghen
3325c58164 Update to dovecot-1.0rc25.
* If time moves backwards, Dovecot kills itself instead of giving
	  random problems.

	+ Added --with-headers configure option to install .h files.
	  Binary package builders could use this to create some dovecot-dev
	  package to make compiling plugins easier.
	- PLAIN authentication: Don't crash dovecot-auth with invalid input.
	- IMAP APPEND: Don't crash if saving fails
	- IMAP LIST: If prefix.INBOX has children and we're listing under
	  prefix.%, don't drop the prefix.
	- mbox: Broken X-UID headers still weren't handled correctly.
	- mail-log plugin: Fixed deleted/undeleted logging.
2007-03-01 13:26:40 +00:00
ghen
487b8e4817 Update to dovecot-1.0rc24.
* Dovecot now fails to load plugins that were compiled for different
	  Dovecot version, unless version_ignore=yes is set. This needs to be
	  explicitly set in plugins, so out-of-tree plugins won't have this
	  check by default.

	- pop3_lock_session=yes could cause deadlocks, and with maildir the
	  uidlist lock could have been overridden after 2 minutes causing
	  problems
	- PAM wasted CPU by calling a timeout function 1000x too often
	- Trash plugin was more or less broken with multiple namespaces and
	  with multiple trash mailboxes
2007-02-23 09:11:43 +00:00
ghen
e9b3a41055 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
2007-02-21 09:53:05 +00:00
ghen
0b7732e41f Update to dovecot-1.0rc22. From the release announcement mail:
Found another bad bug in rc19 changes. Wonder why my imaptest catched
the bug only in CVS HEAD but not in branch_1_0 even though both had it.
Anyway, now the imaptest runs nicely for both, and I'm again optimistic
that the bug count is low enough for v1.0 to be released soon :)

	+ pop3: Commit the transaction even if client didn't QUIT so cached
	  data gets saved.
	- Fixed another indexing bug in rc19 and later which caused
	  transactions to be skipped in some situations, causing all kinds of
	  problems.
	- mail_log_max_lines_per_sec was a bit broken and caused crashes with
	  dovecot -a
	- BSD filesystem quota was counted wrong. Patch by Manuel Bouyer
	- LIST: If namespace has a prefix and inbox=no, don't list
	  prefix.inbox if it happens to exist when listing for %.

Our patch-ah has been applied upstream and patch-ak was from dovecot CVS.
2007-02-07 08:42:50 +00:00
ghen
99cf51cbae Fix segfault in "dovecot -a" with a patch from dovecot's CVS.
http://dovecot.org/pipermail/dovecot/2007-February/019246.html

Bump PKGREVISION.
2007-02-05 20:31:13 +00:00
ghen
d085ca723d Update to dovecot-1.0rc21.
Changes in dovecot-1.0rc20:

	+ dovecot: Added --log-error command line option to log an error, so
	  the error log is easily found.
	+ Added mail_log_max_lines_per_sec setting. Change it to avoid log
	  throttling with mail_log plugin.
	- Changing message flags was more or less broken in rc19
	- ACL plugin still didn't work without separate control directory
	- Some mbox handling fixes, including fixing an infinite loop
	- Some index file handling fixes
	- maildir quota: Fixed a file descriptor leak
	- If auth_cache was enabled and userdb returned "user unknown"
	  (typically only deliver can do that), dovecot-auth crashed.
	- mail_log plugin didn't work with pop3

Changes in dovecot-1.0rc21:

	- Cache file handling could have crashed rc20
2007-02-02 15:07:02 +00:00
bouyer
8425afe66d Get the arithmetic for quota right (changed to match what our quota(8)
utility does). Without this, the ration used/total displayed by clients
is right but the absolute values are wrong.
Submitted to dovecot developers, OK'd by ghen@
bump PKGREVISION
2007-01-29 22:01:07 +00:00
ghen
2fe625705e Update to dovecot-1.0rc19. From the release announcement mail:
Just did a few more fixes to index files. Do they help with anyone's problems?

	- ACL plugin didn't work unless control dir was separate from maildir
	- More index file handling fixes
2007-01-23 17:34:45 +00:00
ghen
f1bae5155a 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.
2007-01-22 17:58:50 +00:00
ghen
f48ec948a8 Update to dovecot-1.0rc17. Just one fix:
- MySQL authentication caused username to show up as "OK" in rc16.
2007-01-07 14:48:54 +00:00
ghen
4abf0d9682 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
2007-01-05 16:39:28 +00:00
joerg
f3a63b6466 DESTDIR support. 2006-12-15 17:35:20 +00:00
ghen
f1b8b9cc66 Update to dovecot-1.0rc15. From the release announcement mail:
* Fixed an off-by-one buffer overflow in cache file handling. The
	  code is executed only with mmap_disable=yes and only if index files
	  are used (ie. INDEX=MEMORY is safe).
	* passdb checkpassword: Handle vpopmail's non-standard exit codes.

	- rc14 sometimes assert-crashed if .log.2 file existed in a mailbox
	  (earlier versions leaked memory and file descriptors)
	- io_add() assert-crashfixes
	- Potential SSL hang fix at the beginning of the connection

For details on the security issue, see:
http://www.dovecot.org/list/dovecot-news/2006-November/000023.html
2006-11-19 10:36:34 +00:00
ghen
8a30c5e35e Update to dovecot-1.0rc14. From the release announcement mail:
More fixes.

"Duplicate header extension keywords" is the only known problem (or if I
forgot something, remind me). I'll try to figure out a way to reproduce
it easily and then get it fixed.

	* LDAP: Don't try to use ldap_bind() with empty passwords, since
	  Windows 2003 AD skips password checking with them and just returns
	  success.
	* verbose_ssl=yes: Don't bother logging "syscall failed: EOF"
	  messages. No-one cares about them.

	+ Dovecot sources should now compile without any warnings with gcc 3.2+
	- rc13 crashed if client disconnected while IDLEing
	- LDAP: auth_bind=yes fixes
        - %variables: Fixed zero padding handling and documented it. %0.1n
	  shouldn't enable it, and it really shouldn't stay for the next
	  %variable. -sign also shouldn't stay for the next variable.
	- Don't leak opened .log.2 transaction logs.
	- Fixed a potential hang in IDLE command (probably really rare).
	- Fixed potential problems with client disconnecting while master was
	  handling the login.
	- quota plugin didn't work in Mac OS X
2006-11-13 07:53:59 +00:00
ghen
47bdab4269 Update to dovecot-1.orc13. From the release announcement mail:
I'll just keep on making new releases now whenever something important
is fixed. Hopefully there shouldn't be many left anymore.

Most of the bugs fixed in this release were found by stress testing with
my imaptest tool (http://dovecot.org/tools/imaptest.c). If you're
interested in knowing how perfectly your Dovecot setup works (especially
if you're using NFS), you could try the tool yourself also.

I still see one crash with mmap_disable=yes, but it's pretty rare. Will
see if I get it fixed before v1.0, but it's not that important.

	+ deliver: If we're executing as a normal system user, get the HOME
	  environment from passwd if it's not set. This makes it possible to
	  run deliver from .forward.
	- Older compilers caused LDAP authentication to crash
	- Dying LDAP connections weren't handled exactly correctly in rc11,
	  although it seemed to work usually
	- Fixed crashes and memory leaks with AUTHENTICATE command
	- Fixed crashes and leaks with IMAP/POP3 proxying
	- maildir: Changing a mailbox while another process was saving a
	  message there at the same may have caused the changes to not be made
	  into the maildir, which could have caused other problems later..
2006-11-08 14:40:20 +00:00
ghen
ce0af3b0ce Update to dovecot 1.0rc12. 1.0rc11 didn't compile on FreeBSD and OpenBSD.
From the release announcement mail:

Since rc11 has problems compiling with BSDs, here's a new release. Just
two changes:

	- rc11 didn't compile with some compilers
	- default_mail_env fallbacking was broken with --exec-mail
2006-11-05 15:45:09 +00:00
ghen
aaa13769b0 Update to dovecot-1.0rc11. From the release announcement mail:
Hopefully the last RC release? As far as I know there are no major
problems left now. If nothing big shows up, v1.0 should be out in a
couple of weeks.

	* Renamed default_mail_env to mail_location. default_mail_env still
	  works for backwards compatibility.
	* deliver: When sending rejects, don't include Content-Type in the
	  rejected mail's headers.
	* LDAP changes:
            * If auth binds are used, bind back to the default dn before doing
	      a search. Otherwise it could fail if a user gave an invalid
	      password.
	    * Initial binding at connect is now done asynchronously.
	    * Use pass_attrs even with auth_bind=yes since it may contain
	      useful non-password fields.

	+ passdb checkpassword: Give TCPLOCALIP and TCPREMOTEIP and PROTO=TCP
	  environments to the checkpassword binary so we're UCSPI (and vchkpw)
	  compatible.
	- mbox handling was a bit broken in rc10
	- Using Dovecot via inetd kept crashing dovecot master
	- deliver: Don't crash with -f "". Changed the default from envelope
	  to be "MAILER-DAEMON".
	- INBOX wasn't shown with LSUB command if only prefixed namespaces
	  were used.
	- passdb ldap: Reconnecting to LDAP server wasn't working with
	  auth binds.
	- passdb sql: Non-plaintext authentication didn't work
	- MySQL passdb ignored all non-password checks, such as allow_nets
	- trash plugin was broken
2006-11-04 21:44:03 +00:00
ghen
075da2701f Update to dovecot-1.0rc10. From the release announcement mail:
I've finally read all the mails in the mailing list and in my INBOX. If
I haven't replied to some of your mail, please resend it.

Remember that since 1.0.rc9 release dovecot.index.cache files will get
rebuilt in 64bit systems, and it's probably better to delete them
manually so you don't get errors in log files.

There are only a couple of issues left in my v1.0-TODO list:

 - Master process appears to be leaking log fds with kqueue. Could
   someone again give me access to a system where this happens?
 - Login process problems. How well does it work now? Hopefully well
   enough that v1.0 could be released.
 - LDAP authentication is leaking memory? Can anyone confirm this? Even
   better, can someone figure out what exactly is leaking? :) Not a v1.0
   blocker though.

I think v1.0 will be released once no-one has reported any major
problems for a Dovecot release in 2-4 weeks. I think login process
handling is the only potentially major problem left.

There are a few patches from people that I haven't forgotten, but I've
decided not to put them into v1.0 anymore:

 - Filesystem quota group. I don't think it's that important feature,
   and it might break something.
 - HFS+ hardlink avoiding
 - Managesieve
 - vmailmgr support

And finally the changes in this release:

	* When matching allowed_nets IPs, convert IPv6-mapped-IPv4 addresses
	  to actual IPv4 addresses first.

	+ IMAP: Try to avoid sending duplicate/useless message flag updates
	+ Added support for non-plaintext authentication for vpopmail if it
	  returns plaintext passwords. Based on patch by Remi Gacogne.
	+ Added %D modified to return "sub.domain.org" as
	  "sub,dc=domain,dc=org" (for LDAP queries). Patch by Andrey Panin.
	- rc9 broke cache files in 64bit systems
	- deliver works now with mail_chroot
	- auth cache didn't work properly with multiple passdbs
	- Fixes to handling CRLF linefeeds in mboxes.
2006-10-16 06:55:47 +00:00
ghen
c7bd33b163 Update to dovecot-1.0rc9. From the release announcement mail:
Most importantly this should fix the login process problems that people
have been reporting. There were also some bugs in the proxying feature.

Also note the 64bit change in dovecot.index.cache files. Unless you
delete dovecot.index.cache files manually, you'll these kind of error
messages into your logs:

Error: Corrupted index cache file ...dovecot.index.cache:
registered field date.sent size changed

They'll get fixed automatically of course, but it might be a bit
annoying to see them.

	* 64bit systems: dovecot.index.cache file will be rebuilt because
	  some time fields have been changed from 64bit fields to 32bit
	  fields. Now the same cache file can be used in both 32bit and
	  64bit systems without it being rebuilt.
	* Added libmysqlclient workaround to conflicting sha1_result symbol,
	  which caused Dovecot to fail logging into MySQL.

	+ dovecot.index.cache file opening is delayed until it's actually
	  needed. This reduces disk accesses a bit with eg. STATUS commands.
	+ auth_cache: Try to handle changing passwords automatically: If
	  password verification fails, but the last one had succeeded, don't
	  use the cache. This works only with plaintext auth.
	- dovecot.index.cache: We didn't properly detect if some fields were
	  different length than we expected, which caused assert crashes
	- Lots of fixes to login/master process handling
	- mbox: Fixed a bug causing "X-IMAPbase uid-last unexpectedly lost
	  in mbox file" errors, and possibly others.
2006-10-14 09:33:08 +00:00
ghen
962d2941fd Update to dovecot-1.orc8. From the release announcement mail:
I've still over 200 mails unread in the mailing list, and important
things left in TODO. This release is an improvement over rc7 anyway,
hopefully I'll have time to fix the rest soon.

	* GSSAPI: Changed POP3 service name to "pop", which is what the
	  standard says
	* "mbox:/var/mail/%u" no longer works as the mail location. You'll
	  have to specify the mail root explicitly, just like the examples
	  always have: "mbox:~/mail:INBOX=/var/mail/%u"

	+ SHA1, LDAP-MD5, PLAIN-MD5, PLAIN-MD4: The password can be now either
	  hex or base64 encoded. The encoding is detected automatically based
	  on the password string length.
	+ Allow running only Dovecot master and dovecot-auth processes with
	  protocols=none setting
	+ deliver: -f <envelope sender> parameter can be used to set mbox
	  From_-line's sender address
	+ deliver: Log all mail saves and failures
	+ Tru64 SIA passdb support. Patch by Simon L Jackson.
	- INBOX was listed twice in mailbox list if namespace prefix was used
	- INBOX-prefixed namespaces were a bit broken
	- kqueue: Fix 100% CPU usage
	- deliver: Duplicate storage was a bit broken
	- dictionary code was broken (ie. dict quota)
	- SIGHUP caused crashes sometimes
2006-10-09 19:06:57 +00:00
ghen
97c774a78e Update to dovecot-1.orc7. From the release announcement mail:
> Can everyone now agree that there are no more hangs? :)
>
> 	* Require that Dovecot master process's version number matches the
> 	  child process's, unless version_ignore=yes. Usually it's an
> 	  accidental installation problem if the version numbers don't match.
> 	* Maildir: Create maildirfolder file when creating new maildirs.
>
> 	+ ldap+prefetch: Use global uid/gid settings if LDAP query doesn't
> 	  return them
> 	+ %variables: Negative offsets count from the end of the string.
> 	  Patch by Johannes Berg.
> 	- kqueue ioloop code rewrite
> 	- notify=kqueue might have caused connection hangs sometimes
> 	- deliver: If message body contained a valid mbox From_ line, it
> 	  and the rest of the message was skipped.
> 	- mbox: We got into infinite loops if trying to open a 2 byte sized
> 	  file as mbox.
> 	- Don't crash with ssl_disable=yes
> 	- quota plugin caused compiling problems with some OSes
> 	- mbox: After saving a mail to a synced mbox, we lost the sync which
> 	  caused worse performance
>
> I think my v1.0 TODO list is:
>
>  - avoid duplicate flag change notifications, or in case the message is
>    also expunged don't bother notifying its flag changes at all
>    (shouldn't be hard)
>  - HFS+ avoid-hardlinks patch?
>  - 32bit -> 64bit upgrade still doesn't work without assert-crashing:
>    mail-cache-transaction.c: line 709 (mail_cache_add): assertion failed:
>    (fixed_size == (unsigned int)-1 || fixed_size == data_size)
>  - Courier-compatible INBOX. namespace gives "invalid namespace" errors
>
> I'm still not sure about the last one though. Could someone give me
> specific commands that clients send that causes it?
>
> As for the 32bit -> 64bit upgrade fix, could someone give me access to a
> x86-64 machine for a while to test it out?
2006-08-18 06:46:05 +00:00
ghen
e42aca7e33 When adding --with-ioloop=best last week, I did not see there already was a
pkgsrc option for kqueue support.  Hence, remove --with-ioloop=best again, and
enable the "kqueue" option by default on *BSD platforms (as already suggested
by grant when he first added the option).  The pkg's default behaviour does
not change, so don't bump PKGREVISION.
2006-08-16 20:56:02 +00:00
ghen
a7f3ec6b80 Add --with-ioloop=best to CONFIGURE_ARGS and bump PKGREVISION. The default
I/O loop method was changed from kqueue(2) to poll(2) in 1.0rc2, which has
been reported to cause problems on *BSD.  --with-ioloop=best selects kqueue
on platforms that implement it (*BSD), and poll on others.  You can use
"dovecot --build-options" to see what your binary has been compiled with.
2006-08-09 14:23:10 +00:00
abs
3db0f75ab8 Update dovecot to 1.0rc6nb1
- Use (the newly defined) SSLDIR so we use .../certs & .../private
  rather than .../certs/certs and .../certs/private
- Update ssl_cert_file & ssl_key_file in example dovecot.conf to match SSLDIR
- Update mkcert.sh to also match SSLDIR
2006-08-09 11:26:36 +00:00
ghen
4b8ac090a7 Update dovecot to 1.0rc6. From the announcement mail:
Back to rc1's SSL proxying code with some improvements, which hopefully
now makes everyone happy.

I'm seeing all kinds of problems with namespace prefixes and LIST code.
I guess it would be important to fix it before v1.0 since it makes
upgrades from other servers easier..

I also tried looking into the "Unknown namespace" problems that happens
if you try to create only one namespace with "INBOX." prefix. I couldn't
really figure out what causes those errors. Could someone show me what
commands the client tries to use which causes it?

	* Removed login_max_logging_users setting since it was somewhat weird
	  in how it worked. Added login_max_connections to replace it with
	  login_process_per_connection=no, and with =yes its functionality
	  is now within login_max_processes_count.

	+ Added --with-linux-quota configure option to specify which Linux
	  quota version to use, in case it's not correct in sys/quota.h.
	  Usually used as --with-linux-quota=2
	+ acl plugins: If .DEFAULT file exists in global ACL root directory,
	  use it as the default ACLs for all mailboxes.
	- Fixes to login process handling, especially with
	  login_process_per_connection=no.
	- Back to the original SSL proxy code but with one small fix, which
	  hopefully fixes the occational hangs with it
	- Several fixes to handling LIST command more correctly.
2006-08-07 06:44:51 +00:00
ghen
e6b6c61ca5 Update to dovecot-1.0rc5. This is identical to our 1.0rc4nb1 (patch-ai
applied).  From the website: "This is what RC3 really should have been".
2006-08-03 05:33:50 +00:00
ghen
103c1d32c8 Dovecot 1.0rc4 had another bug in it which was fixed in CVS. Now in patch-ai. 2006-08-02 21:16:43 +00:00
ghen
a94bfe5b5d Update to dovecot-1.0rc4. Just one fix since rc3:
- Saving to mboxes caused assert-crashes
2006-08-02 20:34:36 +00:00
ghen
43237b8c53 Update to dovecot-1.0rc3. This release candidate should fix the following problems:
- SSL connections hanged sometimes, especially when saving messages.
- mbox: Mail bodies were saved with CR+LF linefeeds
- Mail forwarding was broken with deliver/Sieve
- dbox fixes. Might actually be usable now.
- Index file handling fixes with keywords
- Cache file was incorrectly used in some situations, which probably
  caused problems sometimes.
- Maildir++ quota: Don't count "." and ".." directory sizes to quota.
  After rewriting maildirsize file keep its fd open so that we can
  later update it. Patch by Alexander Zagrebin
2006-08-02 17:48:37 +00:00
ghen
2f1454f45a Upgrade Dovecot to 1.0rc2. Changes:
* disable_plaintext_auth=yes: Removed hardcoded 127.* and ::1 IP
  checks. Now we just assume that the connection is secure if the
  local IP matches the remote IP address.
* SSL code rewrite which hopefully makes it work better than before.
  Seems to work correctly, but if you suddently have trouble with SSL
  connections this is likely the reason.
+ verbose_ssl=yes: Log also SSL alerts and BIO errors
- If namespace's location field wasn't set, the default location
  was supposed to be used but it wasn't.
- When copying ssl-parameters.dat file from /var/lib to /var/run its
  permissions went wrong if it couldn't be copied with hard linking.
- Fixed filesystem quota plugin to work with BSDs.
- Maildir: Saving mails didn't work if quota plugin was enabled (again)
- Maildir: Messages' received time wasn't saved properly when
  saving/copying multiple messages at a time. Also if using quota
  plugin the S= size was only set for the first saved file, and even
  that was wrong.
- passdb passwd-file: Don't require valid uid/gid fields if file
  isn't also being used as a userdb.
- PostgreSQL: Handle failures better so that there won't be
  "invalid fd" errors in logs.
- Don't try to expunge messages if the mailbox is read-only. It'll
  just cause our index files to go out of sync with the real
  mailbox and cause errors.
- ANONYMOUS authentication mechanism couldn't work because
  anonymous_username setting wasn't passed from master process.
2006-07-04 18:17:42 +00:00
ghen
eabddf9b4a dovecot's ./configure wants pkg-config. Fixes PR pkg/33881. 2006-07-04 06:54:07 +00:00
ghen
54546b6288 Upgrade dovecot to 1.0rc1. Changes:
* PAM: If user's password is expired, give "Password expired" error
  message to the user. Now actually working thanks to Vaidas Pilkauskas
* Relicensed dovecot-auth, lib-sql and lib-ntlm to MIT license. See
  COPYING file for more information.
* Abuse prevention: When creating a mailbox, limit the number of
  hierarchies (up to 20) and the length of the mailbox name within
  a hierarchy (up to 200 characters).
* mbox: If saved mail doesn't end with LF, add it ourself so that the
  mails always have one empty line before the next From-line.

+ Added --with-statedir configure option which defaults to
  $localstatedir/lib/dovecot. ssl-parameters.dat is permanently
  stored in that directory and is copied to login_dirs from there.
+ IMAP: Support SASL-IR extension (SASL initial response)
+ Support initial SASL response with LOGIN mechanism. Patch by Anders
  Karlsson
+ Added PLAIN-MD4 password scheme. Patch by Andrey Panin.
+ Added support for XFS disk quotas. Patch by Pawel Jarosz
+ If another process deletes the opened mailbox, try to handle it
  without writing errors to log file. Handles the most common cases.
+ Added TLS support for LDAP if the library supports it.
- SEARCH command was more or less broken with OR and NOT conditions
- Dovecot corrupted mbox files which had CR+LF linefeeds in headers
- MySQL code could have crashed while escaping strings
- MD4 code with NTLM authentication was broken with 64bit systems.
  Patch by Andrey Panin
- Plugin loading was broken in some OSes (eg. FreeBSD)
- Several fixes to handling empty values in configuration file
- Several fixes to dictionary quota backend and dict server.
  Also changed how they're configured.
- deliver: Fixed plugin handling settings
- mbox_min_index_size handling was somewhat broken
- passdb passwd-file: extra_args field wasn't read unless the file
  was also used as userdb.
2006-07-02 09:29:17 +00:00
ghen
38e1dedacc 1.0beta9 didn't start when ssl_listen wasn't explicitly set in the config file.
Add a fix from Dovecot's CVS, and bump PKGREVISION.
2006-06-19 08:28:05 +00:00
tv
91f60db676 Remove USE_LANGUAGES; it is unneeded. (All libtoolized programs look for
C++ and Fortran by default, but doing so does not bomb configure or build,
so there's no harm in the pkgsrc warnings.)

Because this changes the dependencies on systems using pkgsrc-supplied gcc,
bump PKGREVISION.  <sigh>
2006-06-15 15:14:59 +00:00
ghen
2c888424e3 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
2006-06-13 16:51:40 +00:00
ghen
6be99ae829 Fix a problem with non-C99 compilers (reported on NetBSD 1.6 and
Solaris).  The patch is from dovecot CVS (see the thread following
http://www.dovecot.org/list/dovecot/2006-May/013389.html), via PR
pkg/33489.  Bump PKGREVISION.
2006-05-21 13:48:51 +00:00
grant
4a9601fb8e 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
2006-05-12 11:02:48 +00:00
jlam
802ce74fcb Modify packages that set PKG_USERS and PKG_GROUPS to follow the new
syntax as specified in pkgsrc/mk/install/bsd.pkginstall.mk:1.47.
2006-04-23 00:12:35 +00:00
ghen
ff1d679c1f 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..
2006-04-14 19:01:53 +00:00
xtraeme
2767293e62 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
2006-04-12 18:19:16 +00:00
ghen
ac62e6f946 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.
2006-04-04 09:38:46 +00:00
tv
a3686cc756 Remove the clause in dovecot-example.conf comments about configured paths,
as was done in wip/dovecot-nightly.  That comment is misleading with
pkgsrc, since those paths are not what pkgsrc encodes into the conf file.

Bump PKGREVISION (unfortunate, but there will be another beta pretty
soon anyway).
2006-02-10 12:20:55 +00:00
ghen
b5779743f0 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".)
2006-02-08 13:43:49 +00:00
ghen
e868349ff9 Import some improvements from the pkgsrc-wip/dovecot package (by tv@) and
correct a mistake in my previous commit:

- add dependency on zlib
- add option for GNU TLS as an alternative to OpenSSL
- drop SASL option, it's no longer supported
- explicitly disable some options with --disable-*
- "s,/usr/pkg,@PREFIX@," in patch-ab -- I accidentally diffed it after the SUBST stage
- change SUBST_STAGE from post-patch to pre-configure to avoid this in the future
- bump PKGREVISION for all this

Thanks to tv@.
2006-02-06 17:28:09 +00:00
ghen
0b7a2ecb2b - 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.
2006-02-06 15:54:37 +00:00
joerg
27f7553ed8 Use SUBST framework. 2006-01-19 02:31:12 +00:00
ghen
9598e44942 Use mk/mysql.buildlink3.mk instead of databases/mysqlX-client/bl3.mk,
same for pgsql.bl3.mk.  Bump PKGREVISION.  Ok by wiz.
2006-01-10 12:39:03 +00:00
jlam
dc9594e09d Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mk
automatically detects whether we want the pkginstall machinery to be
used by the package Makefile.
2005-12-29 06:21:30 +00:00