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
More notes
[rsync/rsync.git]
/
clientname.c
diff --git
a/clientname.c
b/clientname.c
index
41bdeda
..
6602052
100644
(file)
--- a/
clientname.c
+++ b/
clientname.c
@@
-91,7
+91,7
@@
char *client_name(int fd)
client_sockaddr(fd, &ss, &ss_len);
if (!lookup_name(fd, &ss, ss_len, name_buf, sizeof name_buf, port_buf, sizeof port_buf))
client_sockaddr(fd, &ss, &ss_len);
if (!lookup_name(fd, &ss, ss_len, name_buf, sizeof name_buf, port_buf, sizeof port_buf))
- check_name(fd, &ss,
ss_len,
name_buf, port_buf);
+ check_name(fd, &ss, name_buf, port_buf);
return name_buf;
}
return name_buf;
}
@@
-200,12
+200,18
@@
int compare_addrinfo_sockaddr(const struct addrinfo *ai,
sin1 = (const struct sockaddr_in *) ss;
sin2 = (const struct sockaddr_in *) ai->ai_addr;
sin1 = (const struct sockaddr_in *) ss;
sin2 = (const struct sockaddr_in *) ai->ai_addr;
- return memcmp(sin1, sin2, sizeof *sin1);
+ return memcmp(&sin1->sin_addr, &sin2->sin_addr,
+ sizeof sin1->sin_addr);
}
#ifdef INET6
else if (ss_family == AF_INET6) {
}
#ifdef INET6
else if (ss_family == AF_INET6) {
- /* XXXX */
- return 1;
+ const struct sockaddr_in6 *sin1, *sin2;
+
+ sin1 = (const struct sockaddr_in6 *) ss;
+ sin2 = (const struct sockaddr_in6 *) ai->ai_addr;
+
+ return memcmp(&sin1->sin6_addr, &sin2->sin6_addr,
+ sizeof sin1->sin6_addr);
}
#endif /* INET6 */
else {
}
#endif /* INET6 */
else {
@@
-223,7
+229,6
@@
int compare_addrinfo_sockaddr(const struct addrinfo *ai,
**/
int check_name(int fd,
const struct sockaddr_storage *ss,
**/
int check_name(int fd,
const struct sockaddr_storage *ss,
- socklen_t ss_len,
char *name_buf,
const char *port_buf)
{
char *name_buf,
const char *port_buf)
{
@@
-232,8
+237,8
@@
int check_name(int fd,
int ss_family = get_sockaddr_family(ss);
memset(&hints, 0, sizeof(hints));
int ss_family = get_sockaddr_family(ss);
memset(&hints, 0, sizeof(hints));
- hints.ai_family =
PF_UNSPEC
;
- hints.ai_flags =
ss_family
;
+ hints.ai_family =
ss_family
;
+ hints.ai_flags =
AI_CANONNAME
;
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo(name_buf, port_buf, &hints, &res0);
if (error) {
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo(name_buf, port_buf, &hints, &res0);
if (error) {