I had to apply the following patch to the clientname.c check_name() function before I could successfully use "hosts allow" in rsyncd.conf. Without the patch I kept getting "rsync: forward name lookup for ... failed: Host not found" errors. These errors were produced by the rsync daemon, and putting in a debugging statement revealed that the port_buf being used had a large port number in it (like 32835). It seems wrong-headed to pass that port to getaddrinfo to check for host name validity, but since I don't know much network programming, I'll defer to almost anyone :-)
Perhaps it's just AIX 4.3.3 getaddrinfo() that's busted?
$ gdiff -u clientname.c.orig clientname.c
--- clientname.c.orig Fri Jan 25 17:59:37 2002
+++ clientname.c Mon Apr 1 13:32:10 2002
@@ -240,7 +240,7 @@
hints.ai_family = ss_family;
hints.ai_flags = AI_CANONNAME;
hints.ai_socktype = SOCK_STREAM;
- error = getaddrinfo(name_buf, port_buf, &hints, &res0);
+ error = getaddrinfo(name_buf, NULL, &hints, &res0);
if (error) {
rprintf(FERROR,
RSYNC_NAME ": forward name lookup for %s failed:
%s\n",
--
John L. Allen, Dept 0631, EMS
516-346-8456, MS C06-001
Northrop Grumman Information Technology
Internal Information Services
--
<<JOHN.L.ALLEN.vcf>>
JOHN.L.ALLEN.vcf
Description: Binary data
