diff --git a/configure.in b/configure.in index cdafb9919da482c9551e925729aceb6b15ea62fd..e8608311148d619578fc24d57a728d590808804e 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 02e88774717b3b5bb1157dd69db33cb10c159250..06c969224a33dccb3a71324a28856aea2d8d3303 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__)