From: Jeremy Allison Date: Thu, 4 Oct 2007 17:35:12 +0000 (+0000) Subject: r25507: Fix definition of struct sockaddr_storage if X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=4cf17df5caeb2b0220f6a7dd82d5fed5aca56850;p=jerry%2Fsamba.git r25507: Fix definition of struct sockaddr_storage if struct sockaddr_in6 is defined. Jeremy. --- diff --git a/source/configure.in b/source/configure.in index dd9d296f6..cd111a021 100644 --- a/source/configure.in +++ b/source/configure.in @@ -3195,7 +3195,7 @@ if test x"$samba_cv_HAVE_IPV6" = x"yes"; then fi dnl test for struct sockaddr_storage -AC_CACHE_CHECK([for ipv6 support],samba_cv_HAVE_STRUCT_SOCKADDR_STORAGE,[ +AC_CACHE_CHECK([for struct sockaddr_storage],samba_cv_HAVE_STRUCT_SOCKADDR_STORAGE,[ AC_TRY_COMPILE([ #include #include ], @@ -3207,6 +3207,19 @@ if test x"$samba_cv_HAVE_STRUCT_SOCKADDR_STORAGE" = x"yes"; then AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE,1,[Whether the system has struct sockaddr_storage]) fi +dnl test for struct struct sockaddr_in6 +AC_CACHE_CHECK([for struct sockaddr_in6],samba_cv_HAVE_STRUCT_SOCKADDR_IN6,[ +AC_TRY_COMPILE([ +#include +#include ], +[ +struct sockaddr_in6 sa6; +], +samba_cv_HAVE_STRUCT_SOCKADDR_IN6=yes,samba_cv_HAVE_STRUCT_SOCKADDR_IN6=no)]) +if test x"$samba_cv_HAVE_STRUCT_SOCKADDR_IN6" = x"yes"; then + AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6,1,[Whether the system has struct sockaddr_in6]) +fi + dnl test for struct addrinfo AC_CACHE_CHECK([for struct addrinfo],samba_cv_HAVE_STRUCT_ADDRINFO,[ AC_TRY_COMPILE([ diff --git a/source/lib/replace/system/network.h b/source/lib/replace/system/network.h index a09d3bb01..c2a5dec5a 100644 --- a/source/lib/replace/system/network.h +++ b/source/lib/replace/system/network.h @@ -127,9 +127,14 @@ typedef unsigned short int sa_family_t; #endif #ifndef HAVE_STRUCT_SOCKADDR_STORAGE +#ifdef HAVE_STRUCT_SOCKADDR_IN6 +#define sockaddr_storage sockaddr_in6 +#define ss_family sin6_family +#else #define sockaddr_storage sockaddr_in #define ss_family sin_family #endif +#endif #ifndef HOST_NAME_MAX #define HOST_NAME_MAX 256