[Dovecot] Bug in dovecot 1.2 dict

Bernhard Herzog bh at intevation.de
Thu Oct 2 21:30:21 EEST 2008


On 02.10.2008, Sascha Wilde wrote:
> We discovered that this new code in dict-server.c seems to be the problem:
>
>       server->fd = net_listen_unix_unlink_stale(path, 64);
>       if (server->fd == -1) {
>               if (errno == EADDRINUSE)
>                       i_fatal("Socket already exists: %s", path);
>               else
>                       i_fatal("net_listen_unix(%s) failed: %m", path);
>       }

It turns out the problem is that net_listen_unix_unlink_stale is called even 
if a file descriptor is passed into dict_server_init.  The attached patch 
fixes it for me.

Regards,

   Bernhard

-- 
Bernhard Herzog  |  ++49-541-335 08 30  |  http://www.intevation.de/
Intevation GmbH, Neuer Graben 17, 49074 Osnabrück | AG Osnabrück, HR B 18998
Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dict-server-listen-fd-fix.diff
Type: text/x-diff
Size: 777 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20081002/171a6508/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://dovecot.org/pipermail/dovecot/attachments/20081002/171a6508/attachment-0001.bin 


More information about the dovecot mailing list