[Dovecot] v1.1.2 released
http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz.sig
Development of new features in this release and the upcoming multi-master replication are sponsored by Directi (www.directi.com).
Lucene indexing is currently deprecated in favor of the new Solr indexing. I'm even considering removing the Lucene C++ library support, so if you're interested in keeping it send me a mail. Note that the current fts-lucene is somewhat broken as well as non-optimal.
Anyone interested in using zlib plugin with Maildir should read http://wiki.dovecot.org/Plugins/Zlib.
I'm hoping to get the first v1.2 betas out in a couple of weeks and an eventual v1.2.0 release in a couple of months.
+ Added full text search indexing support for Apache Lucene Solr
server: http://wiki.dovecot.org/Plugins/FTS/Solr
+ IMAP SORT: Added X-SCORE sort key for use with Solr searches.
+ zlib plugin supports now bzip2 also.
+ quota: All backends now take noenforcing parameter.
+ Maildir: Add ,S=<size> to maildir filename whenever quota plugin
is loaded, even when not using Maildir++ quota.
+ deliver: Allow lda section to override plugin settings.
+ deliver: Giving a -m <namespace prefix> parameter now silently saves
the mail to INBOX. This is useful for e.g. -m INBOX/${extension}
+ Added a new maildirlock utility for write-locking Dovecot Maildir.
+ dict-sql: Support non-MySQL databases by assuming they implement the
"INSERT .. ON DUPLICATE KEY" using an INSERT trigger.
- SORT: Fixed several crashes/errors with sort indexing.
- IMAP: BODYSTRUCTURE is finally RFC 3501 compliant. Earlier versions
didn't include Content-Location support.
- IMAP: Fixed bugs with listing INBOX.
- Maildir: maildirfolder file wasn't created when dovecot-shared
file existed on the root directory
- deliver didn't expand %variables in namespace location settings.
- zlib: Copying non-compressed messages resulted in empty mails
(except when hardlink-copying between maildirs).
- mbox-snarf plugin was somewhat broken
- deliver + Maildir: If uidlist couldn't be locked while saving,
we might have assert-crashed
- mbox: Fixed an assert-crash with \Recent flag handling
On Thursday, July 24 at 03:05 AM, quoth Timo Sirainen:
- Added a new maildirlock utility for write-locking Dovecot Maildir.
Every time I attempt to use this (as root), it exits with a return code of 143 and my shell prints out "Terminated".
I'm guessing that what happens is a result of this:
/* locked - send a */
if (kill(parent_pid, SIGTERM) < 0)
i_fatal("kill(parent, SIGTERM) failed: %m");
Any idea on how I can fix it?
~Kyle
When we blindly adopt any religion, political system, or literary dogma, we become automatons. We cease to grow. -- Anais Nin
On Jul 24, 2008, at 3:28 PM, Kyle Wheeler wrote:
On Thursday, July 24 at 03:05 AM, quoth Timo Sirainen:
- Added a new maildirlock utility for write-locking Dovecot Maildir.
Every time I attempt to use this (as root), it exits with a return
code of 143 and my shell prints out "Terminated".I'm guessing that what happens is a result of this:
/* locked - send a */ if (kill(parent_pid, SIGTERM) < 0) i_fatal("kill(parent, SIGTERM) failed: %m");
Any idea on how I can fix it?
Not really.. The parent PID should be the parent maildirlock process,
which also should have caught the TERM signal. You could see what
happens if you change all SIGTERMs to SIGHUPs for example. What shell
do you use? Try another one?
On Monday, August 4 at 01:54 PM, quoth Timo Sirainen:
On Thursday, July 24 at 03:05 AM, quoth Timo Sirainen:
- Added a new maildirlock utility for write-locking Dovecot Maildir.
Every time I attempt to use this (as root), it exits with a return code of 143 and my shell prints out "Terminated".
I'm guessing that what happens is a result of this:
/* locked - send a */ if (kill(parent_pid, SIGTERM) < 0) i_fatal("kill(parent, SIGTERM) failed: %m");
Any idea on how I can fix it?
Not really.. The parent PID should be the parent maildirlock process, which also should have caught the TERM signal. You could see what happens if you change all SIGTERMs to SIGHUPs for example. What shell do you use? Try another one?
I use bash. I tried using CSH and it does the same thing.
I tried recompiling it after replacing all instances of SIGTERM with SIGHUP, and instead of printing out "Terminated", it prints out "Hangup" (i.e. the same problem).
The issue, I think, is that maildirlock has a race condition. There is no guarantee that the parent has set up its signal handlers before the child gets around to killing it.
To demonstrate it, I modified the source to force the child to give the parent some time, like this:
if (pid != 0) {
io_loop_run(ioloop);
if (!success)
return 1;
printf("%s", dec2str(pid));
return 0;
} else {
sleep(1);
}
And that fixed the problem. Now, telling the child to sleep is obviously an unacceptable solution.
I think signals are probably a bad way of handling this inter-process communication. How about using a pipe? I've attached a patch that seems to work.
~Kyle
Time is an illusion. Lunchtime doubly so. -- Douglas Adams
On Aug 4, 2008, at 3:04 PM, Kyle Wheeler wrote:
The issue, I think, is that maildirlock has a race condition. There
is no guarantee that the parent has set up its signal handlers
before the child gets around to killing it.
Oh, you're right.
I think signals are probably a bad way of handling this inter- process communication. How about using a pipe? I've attached a patch
that seems to work.
It would have been possible to also set up the signal handlers before
the forking, but on OS X I seem to be getting the SIGCHLD signal
before the SIGTERM.. So I changed the code to use a pipe: http://hg.dovecot.org/dovecot-1.1/rev/635a988626d0
Timo,
Is this safe to install? The reason that I ask, I read a few reports
of problems immediately after your announcement and haven't seen your
responses to them.
Thanks, B. Bodger
On Jul 23, 2008, at 8:05 PM, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz.sig
- Bruce Bodger <bbodger@bodcon.com>:
Timo,
Is this safe to install? The reason that I ask, I read a few reports of problems immediately after your announcement and haven't seen your
responses to them.
It's giving me less odd warnings in the log than 1.1.1 :) Count that as a "yes".
-- Ralf Hildebrandt (Ralf.Hildebrandt@charite.de) snickebo@charite.de Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155 http://www.arschkrebs.de Like medieval peasants, computer manufacturers and millions of users are locked in a seemingly eternal lease with their evil landlord, who comes around every two years to collect billions of dollars of taxes in return for mediocre services. --Mark Harris, Electronics Times
On Jul 27, 2008, at 12:41 PM, Ralf Hildebrandt wrote:
- Bruce Bodger <bbodger@bodcon.com>:
Timo,
Is this safe to install? The reason that I ask, I read a few
reports of problems immediately after your announcement and haven't seen your responses to them.It's giving me less odd warnings in the log than 1.1.1 :) Count that as a "yes".
Took your advice, Ralf. All is well so far. Running on OS X 10.4.11
Thank you.
Timo Sirainen wrote:
http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz http://dovecot.org/releases/1.1/dovecot-1.1.2.tar.gz.sig
I (finally) refreshed the managesieve patch to cleanly apply on the new release:
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.2-managesieve-0.10.3.diff.gz http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.2-managesieve-0.10.3.diff.gz...
Regards,
Stephan
participants (5)
-
Bruce Bodger
-
Kyle Wheeler
-
Ralf Hildebrandt
-
Stephan Bosch
-
Timo Sirainen