Module: wine Branch: master Commit: 36d63105991abef1612433e18207624f2f9e429e URL: http://source.winehq.org/git/wine.git/?a=commit;h=36d63105991abef1612433e182...
Author: Kai Blin kai.blin@gmail.com Date: Wed May 28 10:24:12 2008 +0200
ws2_32: Change back magic 127.12.34.56 to loopback on connect().
---
dlls/ws2_32/socket.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index ab57388..889f88f 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -1492,6 +1492,19 @@ int WINAPI WS_connect(SOCKET s, const struct WS_sockaddr* name, int namelen) } else { + if (name->sa_family == WS_AF_INET) + { + struct sockaddr_in *in4 = (struct sockaddr_in*) &uaddr; + if (memcmp(&in4->sin_addr, &magic_loopback_addr, 4) == 0) + { + /* Trying to connect to magic replace-loopback address, + * assuming we really want to connect to localhost */ + TRACE("Trying to connect to magic IP address, using " + "INADDR_LOOPBACK instead.\n"); + in4->sin_addr.s_addr = htonl(WS_INADDR_LOOPBACK); + } + } + if (connect(fd, &uaddr.addr, uaddrlen) == 0) goto connect_success; }