summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/acconfig.h2
-rw-r--r--src/aclocal.m431
3 files changed, 41 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fa0940dfd9..c448455299 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
+2001-08-31 Ken Raeburn <raeburn@mit.edu>
+
+ * aclocal.m4 (KRB5_AC_CHECK_TYPE_WITH_HEADERS,
+ KRB5_AC_CHECK_SOCKADDR_STORAGE): New macros.
+ (KRB5_AC_CHECK_INET6): Call KRB5_AC_CHECK_SOCKADDR_STORAGE, but
+ don't require success for IPv6 support.
+ (KRB5_SOCKADDR_SA_LEN): Change first letter of checking message to
+ lowercase.
+ * acconfig.h (HAVE_STRUCT_SOCKADDR_STORAGE): Undef.
+
2001-08-30 Ken Raeburn <raeburn@mit.edu>
* aclocal.m4 (AC_KRB5_TCL_FIND_CONFIG): Do put /usr/include/tcl$v
diff --git a/src/acconfig.h b/src/acconfig.h
index 74e4b66446..44870c22da 100644
--- a/src/acconfig.h
+++ b/src/acconfig.h
@@ -26,6 +26,8 @@
/* Define if there is a socklen_t type; if not, size_t is probably
what we should use. */
#undef HAVE_SOCKLEN_T
+/* Define if "struct sockaddr_storage" is available. */
+#undef HAVE_STRUCT_SOCKADDR_STORAGE
/* Define if MIT Project Athena default configuration should be used */
#undef KRB5_ATHENA_COMPAT
diff --git a/src/aclocal.m4 b/src/aclocal.m4
index e047084427..695ccbec25 100644
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -241,7 +241,35 @@ case "$enableval" in
*) AC_MSG_ERROR(bad value "$enableval" for enable-ipv6 option) ;;
esac
])dnl
+dnl
+AC_DEFUN(KRB5_AC_CHECK_TYPE_WITH_HEADERS,[
+AC_MSG_CHECKING(for type $1)
+changequote(<<,>>)dnl
+varname=`echo $1 | sed 's,[ -],_,g'`
+changequote([,])dnl
+AC_CACHE_VAL(krb5_cv_$varname,[
+AC_TRY_COMPILE([$2],[ $1 foo; ], eval krb5_cv_$varname=yes, eval krb5_cv_$varname=no)])
+eval x="\$krb5_cv_$varname"
+AC_MSG_RESULT($x)
+if eval test "$x" = yes ; then
+ AC_DEFINE_UNQUOTED(HAVE_`echo $varname | tr a-z A-Z`)
+fi])
+dnl
+dnl
+AC_DEFUN(KRB5_AC_CHECK_SOCKADDR_STORAGE,[
+KRB5_AC_CHECK_TYPE_WITH_HEADERS(struct sockaddr_storage, [
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_MACSOCK_H
+#include <macsock.h>
+#else
+#include <sys/socket.h>
+#endif
+#include <netinet/in.h>
+])])dnl
AC_DEFUN(KRB5_AC_CHECK_INET6,[
+AC_REQUIRE([KRB5_AC_CHECK_SOCKADDR_STORAGE])
AC_MSG_CHECKING(for IPv6 compile-time support)
AC_CACHE_VAL(krb5_cv_inet6,[
dnl NetBSD and Linux both seem to have gotten get*info but not getipnodeby*
@@ -262,7 +290,6 @@ AC_TRY_COMPILE([
#include <netdb.h>
],[
struct sockaddr_in6 in;
- struct sockaddr_storage x;
AF_INET6;
IN6_IS_ADDR_LINKLOCAL (&in.sin6_addr);
],krb5_cv_inet6=yes,krb5_cv_inet6=no)])
@@ -528,7 +555,7 @@ dnl KRB5_SOCKADDR_SA_LEN: define HAVE_SA_LEN if sockaddr contains the sa_len
dnl component
dnl
AC_DEFUN([KRB5_SOCKADDR_SA_LEN],[ dnl
-AC_MSG_CHECKING(Whether struct sockaddr contains sa_len)
+AC_MSG_CHECKING(whether struct sockaddr contains sa_len)
AC_CACHE_VAL(krb5_cv_sockaddr_sa_len,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/socket.h>