diff options
| author | Kim F. Storm | 2003-01-08 10:38:06 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2003-01-08 10:38:06 +0000 |
| commit | 2185db0450078eac96823503e21cb1fac8b3e897 (patch) | |
| tree | b191dafa9c91e5470409398ae07157950a83d039 | |
| parent | e49ba7017285ef748eeaee9237cd13c24760e03b (diff) | |
| download | emacs-2185db0450078eac96823503e21cb1fac8b3e897.tar.gz emacs-2185db0450078eac96823503e21cb1fac8b3e897.zip | |
(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.
| -rw-r--r-- | src/process.c | 12 |
1 files changed, 11 insertions, 1 deletions
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) */) | |||
| 3066 | #endif | 3066 | #endif |
| 3067 | contact = Fplist_put (contact, QCaddress, | 3067 | contact = Fplist_put (contact, QCaddress, |
| 3068 | conv_sockaddr_to_lisp (lres->ai_addr, lres->ai_addrlen)); | 3068 | conv_sockaddr_to_lisp (lres->ai_addr, lres->ai_addrlen)); |
| 3069 | #ifdef HAVE_GETSOCKNAME | ||
| 3070 | if (!is_server) | ||
| 3071 | { | ||
| 3072 | struct sockaddr_in sa1; | ||
| 3073 | int len1 = sizeof (sa1); | ||
| 3074 | if (getsockname (s, (struct sockaddr *)&sa1, &len1) == 0) | ||
| 3075 | contact = Fplist_put (contact, QClocal, | ||
| 3076 | conv_sockaddr_to_lisp (&sa1, len1)); | ||
| 3077 | } | ||
| 3078 | #endif | ||
| 3069 | } | 3079 | } |
| 3070 | 3080 | ||
| 3071 | #ifdef HAVE_GETADDRINFO | 3081 | #ifdef HAVE_GETADDRINFO |
| @@ -3548,7 +3558,7 @@ server_accept_connection (server, channel) | |||
| 3548 | conv_sockaddr_to_lisp (&saddr.sa, len)); | 3558 | conv_sockaddr_to_lisp (&saddr.sa, len)); |
| 3549 | #ifdef HAVE_GETSOCKNAME | 3559 | #ifdef HAVE_GETSOCKNAME |
| 3550 | len = sizeof saddr; | 3560 | len = sizeof saddr; |
| 3551 | if (getsockname (channel, &saddr.sa, &len) == 0) | 3561 | if (getsockname (s, &saddr.sa, &len) == 0) |
| 3552 | contact = Fplist_put (contact, QClocal, | 3562 | contact = Fplist_put (contact, QClocal, |
| 3553 | conv_sockaddr_to_lisp (&saddr.sa, len)); | 3563 | conv_sockaddr_to_lisp (&saddr.sa, len)); |
| 3554 | #endif | 3564 | #endif |