]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
net_listen(): If IPv6 isn't supported, don't fallback to IPv4 if my_ip is given.
authorTimo Sirainen <tss@iki.fi>
Mon, 13 Dec 2010 13:40:27 +0000 (13:40 +0000)
committerTimo Sirainen <tss@iki.fi>
Mon, 13 Dec 2010 13:40:27 +0000 (13:40 +0000)
src/lib/network.c

index 8f010b9f0b317b797493da282e05664117692d23..f9ad33d89337218632f7ef179aea107dd9be020d 100644 (file)
@@ -371,7 +371,8 @@ int net_listen(const struct ip_addr *my_ip, unsigned int *port, int backlog)
        /* create the socket */
        fd = socket(so.sin.sin_family, SOCK_STREAM, 0);
 #ifdef HAVE_IPV6
-       if (fd == -1 && (errno == EINVAL || errno == EAFNOSUPPORT)) {
+       if (fd == -1 && my_ip == NULL &&
+           (errno == EINVAL || errno == EAFNOSUPPORT)) {
                /* IPv6 is not supported by OS */
                so.sin.sin_family = AF_INET;
                so.sin.sin_addr.s_addr = INADDR_ANY;