(server_accept_connection): Fixed recording of new
authorKim F. Storm <storm@cua.dk>
Wed, 8 Jan 2003 10:38:06 +0000 (10:38 +0000)
committerKim F. Storm <storm@cua.dk>
Wed, 8 Jan 2003 10:38:06 +0000 (10:38 +0000)
connection's local address in :local property of contact info.
(Fmake_network_process): Record local network address for new
client processes in :local property of contact info.

src/process.c

index 09b5270..482b24c 100644 (file)
@@ -3066,6 +3066,16 @@ usage: (make-network-process &rest ARGS)  */)
 #endif
       contact = Fplist_put (contact, QCaddress, 
                            conv_sockaddr_to_lisp (lres->ai_addr, lres->ai_addrlen));
+#ifdef HAVE_GETSOCKNAME
+      if (!is_server)
+       {
+         struct sockaddr_in sa1;
+         int len1 = sizeof (sa1);
+         if (getsockname (s, (struct sockaddr *)&sa1, &len1) == 0)
+           contact = Fplist_put (contact, QClocal,
+                                 conv_sockaddr_to_lisp (&sa1, len1));
+       }
+#endif
     }
 
 #ifdef HAVE_GETADDRINFO
@@ -3548,7 +3558,7 @@ server_accept_connection (server, channel)
                        conv_sockaddr_to_lisp (&saddr.sa, len));
 #ifdef HAVE_GETSOCKNAME
   len = sizeof saddr;
-  if (getsockname (channel, &saddr.sa, &len) == 0)
+  if (getsockname (s, &saddr.sa, &len) == 0)
     contact = Fplist_put (contact, QClocal, 
                          conv_sockaddr_to_lisp (&saddr.sa, len));
 #endif