From 2185db0450078eac96823503e21cb1fac8b3e897 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 8 Jan 2003 10:38:06 +0000 Subject: [PATCH] (server_accept_connection): Fixed recording of new 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 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/process.c b/src/process.c index 09b5270a1bd..482b24c165b 100644 --- a/src/process.c +++ b/src/process.c @@ -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 -- 2.39.2