[svn] Check for struct sockaddr_storage.

This commit is contained in:
hniksic 2003-11-26 09:20:23 -08:00
parent 3f84a5e00e
commit 795614dcbb
5 changed files with 55 additions and 41 deletions

View File

@ -1,3 +1,7 @@
2003-11-26 Hrvoje Niksic <hniksic@xemacs.org>
* configure.in: Check for struct sockaddr_storage.
2003-11-12 Hrvoje Niksic <hniksic@xemacs.org> 2003-11-12 Hrvoje Niksic <hniksic@xemacs.org>
* configure.in: Use a more standard checking message when checking * configure.in: Use a more standard checking message when checking

57
aclocal.m4 vendored
View File

@ -167,18 +167,18 @@ dnl START OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
dnl ************************************************************ dnl ************************************************************
AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
ds6_have_sockaddr_in6= wget_have_sockaddr_in6=
AC_CHECK_TYPES([struct sockaddr_in6],[ AC_CHECK_TYPES([struct sockaddr_in6],[
ds6_have_sockaddr_in6=yes wget_have_sockaddr_in6=yes
],[ ],[
ds6_have_sockaddr_in6=no wget_have_sockaddr_in6=no
],[ ],[
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
]) ])
if test "X$ds6_have_sockaddr_in6" = "Xyes"; then : if test "X$wget_have_sockaddr_in6" = "Xyes"; then :
$1 $1
else : else :
$2 $2
@ -189,12 +189,12 @@ AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[ AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
AC_REQUIRE([TYPE_STRUCT_SOCKADDR_IN6]) AC_REQUIRE([TYPE_STRUCT_SOCKADDR_IN6])
ds6_member_sin6_scope_id= wget_member_sin6_scope_id=
if test "X$ds6_have_sockaddr_in6" = "Xyes"; then if test "X$wget_have_sockaddr_in6" = "Xyes"; then
AC_CHECK_MEMBER([struct sockaddr_in6.sin6_scope_id],[ AC_CHECK_MEMBER([struct sockaddr_in6.sin6_scope_id],[
ds6_member_sin6_scope_id=yes wget_member_sin6_scope_id=yes
],[ ],[
ds6_member_sin6_scope_id=no wget_member_sin6_scope_id=no
],[ ],[
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
@ -202,7 +202,7 @@ AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
]) ])
fi fi
if test "X$ds6_member_sin6_scope_id" = "Xyes"; then if test "X$wget_member_sin6_scope_id" = "Xyes"; then
AC_DEFINE([HAVE_SOCKADDR_IN6_SCOPE_ID], 1, AC_DEFINE([HAVE_SOCKADDR_IN6_SCOPE_ID], 1,
[Define if struct sockaddr_in6 has the sin6_scope_id member]) [Define if struct sockaddr_in6 has the sin6_scope_id member])
$1 $1
@ -213,7 +213,7 @@ AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
AC_DEFUN([PROTO_INET6],[ AC_DEFUN([PROTO_INET6],[
AC_CACHE_CHECK([for INET6 protocol support], [ds6_cv_proto_inet6],[ AC_CACHE_CHECK([for INET6 protocol support], [wget_cv_proto_inet6],[
AC_TRY_CPP([ AC_TRY_CPP([
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
@ -225,13 +225,13 @@ AC_DEFUN([PROTO_INET6],[
#error Mlssing AF_INET6 #error Mlssing AF_INET6
#endif #endif
],[ ],[
ds6_cv_proto_inet6=yes wget_cv_proto_inet6=yes
],[ ],[
ds6_cv_proto_inet6=no wget_cv_proto_inet6=no
]) ])
]) ])
if test "X$ds6_cv_proto_inet6" = "Xyes"; then : if test "X$wget_cv_proto_inet6" = "Xyes"; then :
$1 $1
else : else :
$2 $2
@ -241,7 +241,7 @@ AC_DEFUN([PROTO_INET6],[
AC_DEFUN([GETADDRINFO_AI_ADDRCONFIG],[ AC_DEFUN([GETADDRINFO_AI_ADDRCONFIG],[
AC_CACHE_CHECK([if getaddrinfo supports AI_ADDRCONFIG], AC_CACHE_CHECK([if getaddrinfo supports AI_ADDRCONFIG],
[ds6_cv_gai_ai_addrconfig],[ [wget_cv_gai_ai_addrconfig],[
AC_TRY_CPP([ AC_TRY_CPP([
#include <netdb.h> #include <netdb.h>
@ -249,13 +249,13 @@ AC_DEFUN([GETADDRINFO_AI_ADDRCONFIG],[
#error Missing AI_ADDRCONFIG #error Missing AI_ADDRCONFIG
#endif #endif
],[ ],[
ds6_cv_gai_ai_addrconfig=yes wget_cv_gai_ai_addrconfig=yes
],[ ],[
ds6_cv_gai_ai_addrconfig=no wget_cv_gai_ai_addrconfig=no
]) ])
]) ])
if test "X$ds6_cv_gai_ai_addrconfig" = "Xyes"; then : if test "X$wget_cv_gai_ai_addrconfig" = "Xyes"; then :
$1 $1
else : else :
$2 $2
@ -264,7 +264,7 @@ AC_DEFUN([GETADDRINFO_AI_ADDRCONFIG],[
AC_DEFUN([GETADDRINFO_AI_ALL],[ AC_DEFUN([GETADDRINFO_AI_ALL],[
AC_CACHE_CHECK([if getaddrinfo supports AI_ALL],[ds6_cv_gai_ai_all],[ AC_CACHE_CHECK([if getaddrinfo supports AI_ALL],[wget_cv_gai_ai_all],[
AC_TRY_CPP([ AC_TRY_CPP([
#include <netdb.h> #include <netdb.h>
@ -272,13 +272,13 @@ AC_DEFUN([GETADDRINFO_AI_ALL],[
#error Missing AI_ALL #error Missing AI_ALL
#endif #endif
],[ ],[
ds6_cv_gai_ai_all=yes wget_cv_gai_ai_all=yes
],[ ],[
ds6_cv_gai_ai_all=no wget_cv_gai_ai_all=no
]) ])
]) ])
if test "X$ds6_cv_gai_ai_all" = "Xyes"; then : if test "X$wget_cv_gai_ai_all" = "Xyes"; then :
$1 $1
else : else :
$2 $2
@ -287,7 +287,7 @@ AC_DEFUN([GETADDRINFO_AI_ALL],[
AC_DEFUN([GETADDRINFO_AI_V4MAPPED],[ AC_DEFUN([GETADDRINFO_AI_V4MAPPED],[
AC_CACHE_CHECK([if getaddrinfo supports AI_V4MAPPED],[ds6_cv_gai_ai_v4mapped],[ AC_CACHE_CHECK([if getaddrinfo supports AI_V4MAPPED],[wget_cv_gai_ai_v4mapped],[
AC_TRY_CPP([ AC_TRY_CPP([
#include <netdb.h> #include <netdb.h>
@ -295,19 +295,26 @@ AC_DEFUN([GETADDRINFO_AI_V4MAPPED],[
#error Missing AI_V4MAPPED #error Missing AI_V4MAPPED
#endif #endif
],[ ],[
ds6_cv_gai_ai_v4mapped=yes wget_cv_gai_ai_v4mapped=yes
],[ ],[
ds6_cv_gai_ai_v4mapped=no wget_cv_gai_ai_v4mapped=no
]) ])
]) ])
if test "X$ds6_cv_gai_ai_v4mapped" = "Xyes"; then : if test "X$wget_cv_gai_ai_v4mapped" = "Xyes"; then :
$1 $1
else : else :
$2 $2
fi fi
]) ])
AC_DEFUN([WGET_STRUCT_SOCKADDR_STORAGE],[
AC_CHECK_TYPES([struct sockaddr_storage],[], [], [
#include <sys/types.h>
#include <sys/socket.h>
])
])
dnl ************************************************************ dnl ************************************************************
dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
dnl ************************************************************ dnl ************************************************************

View File

@ -484,33 +484,33 @@ AC_ARG_ENABLE(ipv6,
) )
if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then
AC_CHECK_FUNCS(getaddrinfo,[ AC_CHECK_FUNCS(getaddrinfo, [
GETADDRINFO_AI_ADDRCONFIG( GETADDRINFO_AI_ADDRCONFIG([
AC_DEFINE( AC_DEFINE(
[HAVE_GETADDRINFO_AI_ADDRCONFIG], 1, [HAVE_GETADDRINFO_AI_ADDRCONFIG], 1,
[Define if the system headers support the AI_ADDRCONFIG flag.] [Define if the system headers support the AI_ADDRCONFIG flag.]
) )
) ])
GETADDRINFO_AI_V4MAPPED( GETADDRINFO_AI_V4MAPPED([
AC_DEFINE( AC_DEFINE(
[HAVE_GETADDRINFO_AI_V4MAPPED], 1, [HAVE_GETADDRINFO_AI_V4MAPPED], 1,
[Define if the system headers support the AI_V4MAPPED flag.] [Define if the system headers support the AI_V4MAPPED flag.]
) )
) ])
GETADDRINFO_AI_ALL( GETADDRINFO_AI_ALL([
AC_DEFINE( AC_DEFINE(
[HAVE_GETADDRINFO_AI_ALL], 1, [HAVE_GETADDRINFO_AI_ALL], 1,
[Define if the system headers support the AI_ALL flag.] [Define if the system headers support the AI_ALL flag.]
) )
) ])
],[ ], [
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)]) AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)])
ipv6=no ipv6=no
]) ])
fi fi
if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then
PROTO_INET6(,[ PROTO_INET6([], [
AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family]) AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family])
ipv6=no ipv6=no
]) ])
@ -524,6 +524,7 @@ if test "X$ipv6" = "Xyes" || test "X$check_for_ipv6" = "Xyes"; then
ipv6=no ipv6=no
]) ])
if test "X$ipv6" = "Xyes"; then if test "X$ipv6" = "Xyes"; then
WGET_STRUCT_SOCKADDR_STORAGE
MEMBER_SIN6_SCOPE_ID MEMBER_SIN6_SCOPE_ID
fi fi
fi fi

View File

@ -66,7 +66,15 @@ so, delete this exception statement from your version. */
extern int errno; extern int errno;
#endif #endif
/* Define sockaddr_storage where unavailable (presumably on IPv4-only
hosts). */
#ifndef ENABLE_IPV6
# ifndef HAVE_STRUCT_SOCKADDR_STORAGE
# define sockaddr_storage sockaddr_in
# endif
#endif /* ENABLE_IPV6 */
/* Fill SA as per the data in IP and PORT. SA shoult point to struct /* Fill SA as per the data in IP and PORT. SA shoult point to struct
sockaddr_storage if ENABLE_IPV6 is defined, to struct sockaddr_in sockaddr_storage if ENABLE_IPV6 is defined, to struct sockaddr_in
otherwise. */ otherwise. */

View File

@ -32,12 +32,6 @@ so, delete this exception statement from your version. */
#include "host.h" /* for definition of ip_address */ #include "host.h" /* for definition of ip_address */
#ifndef ENABLE_IPV6
# ifndef HAVE_SOCKADDR_STORAGE
# define sockaddr_storage sockaddr_in
# endif
#endif /* ENABLE_IPV6 */
/* Function declarations */ /* Function declarations */
/* Returned by connect_to_host when host name cannot be resolved. */ /* Returned by connect_to_host when host name cannot be resolved. */