On Wed, 2009-01-07 at 14:08 -0500, Bruce A. Mallett wrote:
> Lastly with an explicit "listen = *, [::]"
> 
> -bash-3.2# dovecot -F
> Fatal: listen(::, 143) failed: Address already in use
> -bash-3.2# dovecot -n
..
> Interesting: I notice that the "listen" does not show up in the last case.

That's because in your configuration it's the default and -n doesn't
show if the value is identical with the default.

But Dovecot distribution's default is "*", so you have applied some
patches to it. Is it possible that one of those patches breaks it?

Also..

> then it will start up fine.  Perhaps it is as though the code tries to
> open the port twice for both ip4 and ip6?

This is correct. It does that. But that shouldn't be a problem because
they are handled separately. This code should make sure of that:

        /* If using IPv6, bind only to IPv6 if possible. This avoids
           ambiguities with IPv4-mapped IPv6 addresses. */
#ifdef IPV6_V6ONLY
        if (so.sin.sin_family == AF_INET6) {
                opt = 1;
                setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &opt, sizeof(opt));
        }
#endif

Maybe it's not working for you for some reason. Did you have this
problem with earlier Dovecot versions? If you set listen = [::], can you
still log in with IPv4?

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to