Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix last change to use correct IPv6 structure names when using INET6.
[rsync/rsync.git]
/
clientname.c
diff --git
a/clientname.c
b/clientname.c
index
8d22fc8
..
caf0af6
100644
(file)
--- a/
clientname.c
+++ b/
clientname.c
@@
-51,8
+51,7
@@
char *client_addr(int fd)
initialised = 1;
initialised = 1;
- ssh_client = getenv("SSH_CLIENT");
- if (ssh_client != NULL) {
+ if ((ssh_client = getenv("SSH_CLIENT")) != NULL) {
strlcpy(addr_buf, ssh_client, sizeof(addr_buf));
/* truncate SSH_CLIENT to just IP address */
p = strchr(addr_buf, ' ');
strlcpy(addr_buf, ssh_client, sizeof(addr_buf));
/* truncate SSH_CLIENT to just IP address */
p = strchr(addr_buf, ' ');
@@
-112,8
+111,14
@@
char *client_name(int fd)
socklen_t sin_len = sizeof sin;
memset(&sin, 0, sin_len);
socklen_t sin_len = sizeof sin;
memset(&sin, 0, sin_len);
+
+#ifdef INET6
+ sin.sin6_family = af;
+ inet_pton(af, client_addr(fd), &sin.sin6_addr.s6_addr);
+#else
sin.sin_family = af;
inet_pton(af, client_addr(fd), &sin.sin_addr.s_addr);
sin.sin_family = af;
inet_pton(af, client_addr(fd), &sin.sin_addr.s_addr);
+#endif
if (!lookup_name(fd, (struct sockaddr_storage *)&sin, sin_len,
name_buf, sizeof name_buf, port_buf, sizeof port_buf))
if (!lookup_name(fd, (struct sockaddr_storage *)&sin, sin_len,
name_buf, sizeof name_buf, port_buf, sizeof port_buf))