open_socket_in was attempting to try all the protocols returned from
authorDavid Dykstra <dwd@samba.org>
Fri, 14 Dec 2001 18:00:54 +0000 (18:00 +0000)
committerDavid Dykstra <dwd@samba.org>
Fri, 14 Dec 2001 18:00:54 +0000 (18:00 +0000)
getaddrinfo(), but only if a corresponding call to socket() returned one of
three *NOSUPPORT errno codes.  A Redhat 6.2 system was observed returning
EINVAL instead so it never went on to try IPv4.  This update adds EINVAL to
the list.  Question: why not always continue through the list regardless of
what errno is?

socket.c

index 58d3dde..0ad8a16 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -298,6 +298,7 @@ static int open_socket_in(int type, int port, const char *bind_address,
                        case EPROTONOSUPPORT:
                        case EAFNOSUPPORT:
                        case EPFNOSUPPORT:
+                       case EINVAL:
                                /* See if there's another address that will work... */
                                continue;
                        }