diff -Nur rsync-2.6.7-orig/config.h.in rsync-2.6.7/config.h.in --- rsync-2.6.7-orig/config.h.in 2006-03-11 18:25:02.000000000 +0000 +++ rsync-2.6.7/config.h.in 2006-04-09 19:03:59.000000000 +0000 @@ -135,7 +135,7 @@ #undef HAVE_LCHMOD /* Define to 1 if you have the `lchown' function. */ -#undef HAVE_LCHOWN +/* #undef HAVE_LCHOWN */ /* Define to 1 if you have the header file. */ #undef HAVE_LIBCHARSET_H @@ -399,7 +399,7 @@ #undef HAVE_WAITPID /* Define to 1 if you have the `__va_copy' function. */ -#undef HAVE___VA_COPY +#define HAVE___VA_COPY 1 /* true if you have IPv6 */ #undef INET6 diff -Nur rsync-2.6.7-orig/lib/addrinfo.h rsync-2.6.7/lib/addrinfo.h --- rsync-2.6.7-orig/lib/addrinfo.h 2004-02-27 07:22:37.000000000 +0000 +++ rsync-2.6.7/lib/addrinfo.h 2006-02-02 20:32:03.000000000 +0000 @@ -76,21 +76,6 @@ /* special recommended flags for getipnodebyname */ #define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG) -/* - * Constants for getnameinfo() - */ -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 - -/* - * Flag values for getnameinfo() - */ -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 - struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ int ai_family; /* PF_xxx */ @@ -107,6 +92,23 @@ #endif /* AI_PASSIVE */ #endif /* HAVE_GETADDRINFO */ +#ifndef HAVE_GETNAMEINFO +/* + * Constants for getnameinfo() + */ +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 + +/* + * Flag values for getnameinfo() + */ +#define NI_NOFQDN 0x00000001 +#define NI_NUMERICHOST 0x00000002 +#define NI_NAMEREQD 0x00000004 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 +#endif /* HAVE_GETNAMEINFO */ + #ifndef HAVE_SOCKADDR_STORAGE struct sockaddr_storage { unsigned long align; diff -Nur rsync-2.6.7-orig/lib/gai_strerror.c rsync-2.6.7/lib/gai_strerror.c --- rsync-2.6.7-orig/lib/gai_strerror.c 1970-01-01 00:00:00.000000000 +0000 +++ rsync-2.6.7/lib/gai_strerror.c 2006-02-02 20:21:21.000000000 +0000 @@ -0,0 +1,28 @@ +#include + +static char *ai_errlist[] = { + "success.", + "Invalid value for `ai_flags' field.", /* EAI_BADFLAGS */ + "NAME or SERVICE is unknown.", /* EAI_NONAME */ + "Temporary failure in name resolution.", /* EAI_AGAIN */ + "Non-recoverable failure in name res.", /* EAI_FAIL */ + "No address associated with NAME.", /* EAI_NODATA */ + "`ai_family' not supported.", /* EAI_FAMILY */ + "`ai_socktype' not supported.", /* EAI_SOCKTYPE */ + "SERVICE not supported for `ai_socktype'.", /* EAI_SERVICE */ + "Address family for NAME not supported.", /* EAI_ADDRFAMILY */ + "Memory allocation failure.", /* EAI_MEMORY */ + "System error returned in `errno'.", /* EAI_SYSTEM */ + "unknown error.", /* EAI_MAX */ +}; +#define EAI_MAX ((-EAI_SYSTEM)+1) + +char * +gai_strerror(ecode) + int ecode; +{ + ecode = -ecode; + if (ecode < 0 || ecode > EAI_MAX) + ecode = EAI_MAX; + return ai_errlist[ecode]; +} diff -Nur rsync-2.6.7-orig/Makefile.in rsync-2.6.7/Makefile.in --- rsync-2.6.7-orig/Makefile.in 2006-02-06 04:54:30.000000000 +0000 +++ rsync-2.6.7/Makefile.in 2006-04-09 19:00:34.000000000 +0000 @@ -27,7 +27,7 @@ HEADERS=byteorder.h config.h errcode.h proto.h rsync.h lib/pool_alloc.h LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o \ - lib/permstring.o lib/pool_alloc.o @LIBOBJS@ + lib/permstring.o lib/pool_alloc.o @LIBOBJS@ lib/gai_strerror.o ZLIBOBJ=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \ zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o OBJS1=rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o \