#include <stddef.h>
#include <errno.h>
+#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
+#endif
#include "fetchmail.h"
#include "getaddrinfo.h"
}
#endif
default:
+#ifdef HAVE_INET_NTOP
if (inet_ntop(afd->a_af, addr, host,
hostlen) == NULL)
return EAI_SYSTEM;
+#else
+ if (afd->a_af == AF_INET)
+ strlcpy(host, inet_ntoa(addr), hostlen);
+ else
+ return EAI_FAMILY;
+#endif
break;
}
}
guessing.
* Improve --with-gssapi auto detection for /usr-based GSSAPI installs.
* Fix --with-gssapi builds for NetBSD 3.0.
+* Improve KAME/getnameinfo.c portability to Linux libc5 systems.
+ Based on a patch by Dan Fandrich.
+* Provide INET6 to KAME/getnameinfo.c (only useful on IPv6-enabled systems that
+ lack getnameinfo, and there only visible in some Received: headers).
+ Found by Dan Fandrich.
# CHANGES:
* Rename all fetchmail-internal lock_* functions to fm_lock_*. Obsoletes
sigaction strdup setlocale)
AC_CHECK_DECLS(strerror)
+dnl INET6 is used by KAME/getnameinfo
+AC_CACHE_CHECK(for AF_INET6/PF_INET6,ac_cv_inet6,
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ #ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+ ]],[[
+ int foo = AF_INET6;
+ int bar = PF_INET6;
+ ]])],
+ ac_cv_inet6=yes , ac_cv_inet6=no
+))
+if test "x$ac_cv_inet6" = xyes
+then
+ AC_DEFINE(INET6,1,Define to 1 if your system defines AF_INET6 and PF_INET6.)
+fi
# Under Red Hat 4.0 (and many other Linuxes) -lresolv is seriously flaky
# and breaks gethostbyname(2). It's better to use the bind stuff in the C
test "$with_opie" = "yes" && AC_DEFINE(OPIE_ENABLE,1,Define if you want OPIE support compiled in)
AC_SEARCH_LIBS(getaddrinfo, inet6, [AC_DEFINE(HAVE_GETADDRINFO,1,[define to 1 if you have the getaddrinfo function])])
-AC_CHECK_FUNCS(getnameinfo)
+AC_CHECK_FUNCS(getnameinfo inet_ntop)
# This version of the Kerberos 4 and 5 options addresses the follwing issues:
#