summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2005-12-06 17:49:59 +0000
committerMatt Johnston <matt@ucc.asn.au>2005-12-06 17:49:59 +0000
commit9a07b93cb3f5ab210485e88f6a476dbceb08bfaf (patch)
tree3c70876add6f6d99a55f0e9034aad08b2ce595ad
parenta4bf09e7b929dbd61686783641b98f0b30c907f0 (diff)
* workaround for systems such as glibc 2.1 that have
sockaddr_storage.__ss_family rather than sockaddr_storage.ss_family --HG-- extra : convert_revision : 702c67055040d451a946e8c6aadbb6f7af1d3999
-rw-r--r--configure.in3
-rw-r--r--includes.h7
2 files changed, 9 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index cdafb99..e860831 100644
--- a/configure.in
+++ b/configure.in
@@ -339,8 +339,9 @@ AC_CHECK_MEMBERS([struct utmp.ut_host, struct utmp.ut_pid, struct utmp.ut_type,
#endif
])
-AC_CHECK_MEMBERS([struct utmpx.ut_host, struct utmpx.ut_syslen, struct utmpx.ut_type, struct utmpx.ut_id, struct utmpx.ut_addr, struct utmpx.ut_addr_v6, struct utmpx.ut_time, struct utmpx.ut_tv],,,[
+AC_CHECK_MEMBERS([struct utmpx.ut_host, struct utmpx.ut_syslen, struct utmpx.ut_type, struct utmpx.ut_id, struct utmpx.ut_addr, struct utmpx.ut_addr_v6, struct utmpx.ut_time, struct utmpx.ut_tv, struct sockaddr_storage.ss_family, struct sockadd_storage.__family],,,[
#include <sys/types.h>
+#include <sys/socket.h>
#if HAVE_UTMPX_H
#include <utmpx.h>
#endif
diff --git a/includes.h b/includes.h
index 02e8877..06c9692 100644
--- a/includes.h
+++ b/includes.h
@@ -135,6 +135,13 @@ typedef u_int16_t uint16_t;
#define LOG_AUTHPRIV LOG_AUTH
#endif
+/* glibc 2.1.3 systems have sockaddr_storage.__ss_family rather than
+ * sockaddr_storage.ss_family */
+#if !defined(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY) \
+ && defined(HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY)
+#define ss_family __ss_family
+#endif
+
/* so we can avoid warnings about unused params (ie in signal handlers etc) */
#ifdef UNUSED
#elif defined(__GNUC__)