[Dovecot] 1.0.rc10 released
http://dovecot.org/releases/dovecot-1.0.rc10.tar.gz http://dovecot.org/releases/dovecot-1.0.rc10.tar.gz.sig
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.
On Mon, Oct 16, 2006 at 04:54:14PM +0200, Remi Gacogne wrote:
`-delete' is not [1]portable. :]
$ find /path -name 'dovecot.index.*' -delete find: -delete: unknown option $ uname -mrs NetBSD 3.0 i386
[1] http://www.opengroup.org/onlinepubs/007908799/xcu/find.html
On Mon, 2006-10-16 at 15:48 +0200, Petar Bogdanovic wrote:
find /path -name dovecot.index.\* | xargs rm
find /path -name 'dovecot.index.*' -exec rm {} \;
The version with xargs is much more efficient on a large file store.
The second version forks a separate rm process for each file.
xargs forks the minimum number of rm processes required by the shell.
-- Ian
On Tue, 17 Oct 2006, Noel Jones wrote:
If you want to use a non-portable construct like "-print0", then there is a better way: use a "find" with built-in "xargs"-style functionality, like the "find" in recent versions of Solaris.
From the manual page:
-exec command
True if the executed command returns a zero value as
exit status. The end of command must be punctuated by
an escaped semicolon (;). A command argument { }
is replaced by the current path name. If the last
argument to -exec is { } and you specify + rather than
the semicolon (;), the command is invoked fewer times,
with { } replaced by groups of pathnames.
So, for example, you can use
find . -type f -name '*whatever*' -exec rm '{}' '+'
This avoids all the quoting issues as the files never even pass through the pipe.
- Logan
On Tue, 2006-10-17 at 13:25 -0500, Logan Shaw wrote:
find . -type f -name '*whatever*' -exec rm '{}' '+'
Yes, but as already mentioned, this has the bad side effect of fork()ing one rm process per file, which is really inefficient.
It seems to me that if you want to delete files, you should use -delete, otherwise you should use -print0 | xargs -0 (if the command you're running works with multiple arguments), otherwise you should use -exec.
Richard
On Tue, 17 Oct 2006, Richard Laager wrote:
On *BSD you can also use find -X which properly quotes the results.
find . -type f -name '*whatever*' -exec rm '{}' '+'
Yes, but as already mentioned, this has the bad side effect of fork()ing one rm process per file, which is really inefficient.
I may not have highlighted the "+" clearly enough. It behaves differently than ";" does.
What I was saying is that if you are going to use a non-portable find feature (like "-print0"), Solaris 10 allows you to give "+" instead of ";" at the end. Then, as the Solaris 10 manual page says,
If the last argument to -exec is {} and you specify +
rather than the semicolon (;), the command is invoked
fewer times, with {} replaced by groups of pathnames.
So that is just as clean as the inefficient way, and more efficient than the "-print0 | xargs -0" way.
- Logan
On Tue, Oct 17, 2006 at 01:06:38PM -0500, Noel Jones wrote:
-X The -X option is a modification to permit find to be safely used
in conjunction with xargs(1). If a file name contains any of the
delimiting characters used by xargs, a diagnostic message is dis-
played on standard error, and the file is skipped. The delimit-
ing characters include single (''') and double (
"'') quotes,
backslash (``\''), space, tab and newline characters. Alterna-
tively, the -print0 or -printx primaries can be used to format
the output in a way that xargs can accept.
Geert
On Tue, Oct 17, 2006 at 12:27:39PM +1000, Ian Mortimer wrote:
No, it fires an rm process for each 5000 files (by default, change with find -n). I don't know which is more efficient though. Anyway, thinking about it will take more time than running either command. :-)
Geert
participants (13)
-
Dirk Essl
-
Frank Cusack
-
Geert Hendrickx
-
Ian Mortimer
-
Logan Shaw
-
Mart Pirita
-
Noel Jones
-
Petar Bogdanovic
-
Peter Abrahamsen
-
Remi Gacogne
-
Renaud Allard
-
Richard Laager
-
Timo Sirainen