Kai Blin : ws2_32: Change back magic 127.12.34.56 to loopback on connect().

Alexandre Julliard julliard at winehq.org
Wed May 28 04:57:02 CDT 2008


Module: wine
Branch: master
Commit: 36d63105991abef1612433e18207624f2f9e429e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=36d63105991abef1612433e18207624f2f9e429e

Author: Kai Blin <kai.blin at 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;
         }




More information about the wine-cvs mailing list