summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_socket.cc3
2 files changed, 7 insertions, 1 deletions
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 <Gilles.Courcoux@col.bsf.alcatel.fr>
+
+ * 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 <jason@tishler.net>
* 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