diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2097a42c6..d5594b77e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-11-07 Gilles Courcoux + + * fhandler_socket.cc (fhandler_socket::ioctl): Return correct flags + for loopback interface when name is given on input instead of address. + 2002-11-07 Jason Tishler * cygwin.din: Export fseeko() and ftello(). diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index f2970ac46..7a4465f26 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -1111,7 +1111,8 @@ fhandler_socket::ioctl (unsigned int cmd, void *p) return -1; } ifr->ifr_flags = IFF_NOTRAILERS | IFF_UP | IFF_RUNNING; - if (ntohl (((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr) + if (!strncmp(ifr->ifr_name, "lo", 2) + || ntohl (((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr) == INADDR_LOOPBACK) ifr->ifr_flags |= IFF_LOOPBACK; else