From 59ba222ca222aecaaf6de6d8c367b5ade733c5be Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 7 Nov 2002 10:22:26 +0000 Subject: [PATCH] * fhandler_socket.cc (fhandler_socket::ioctl): Return correct flags for loopback interface when name is given on input instead of address. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler_socket.cc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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