aboutsummaryrefslogtreecommitdiff
path: root/src/aclocal.m4
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>1995-07-18 22:00:47 +0000
committerSam Hartman <hartmans@mit.edu>1995-07-18 22:00:47 +0000
commitd4091516be57fb8f76f0880c808a8281f06f1869 (patch)
tree81d48e5782c2cae8c7bdd2d82bdd6bf29b7534cd /src/aclocal.m4
parent1af820e9d3c8d1d9fb315fd0d2a1b9bf83d42925 (diff)
downloadkrb5-d4091516be57fb8f76f0880c808a8281f06f1869.zip
krb5-d4091516be57fb8f76f0880c808a8281f06f1869.tar.gz
krb5-d4091516be57fb8f76f0880c808a8281f06f1869.tar.bz2
Bsd 4.4 has a field sa_len in struct sockaddr which is the
length of the struct. Often, sizeof(struct sockaddr) is not equal to sockaddr.sa_len. Unfortunately, this effects the side of structures containing sockaddrs, like struct ifreq. The size of an ifreq is, under BSD 4.4, max(sizeof(struct ifreq), sizeof(ifreq.ifr_name)+ifreq.ifr_caddr.sa_len). To get krb5_xcrypto_os_localaddr to work under NetBSD and other 4.4-based systems, the following changes were made: * aclocal.m4: Ad KRB5_SOCKADDR_SA_LEN to determine if there appears to be a sa_len element of struct sockaddr. * lib/crypto/os/configure.in: use this test * lib/crypto/os/localaddr.c: Deal with size changes if appropriate. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6310 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/aclocal.m4')
-rw-r--r--src/aclocal.m419
1 files changed, 19 insertions, 0 deletions
diff --git a/src/aclocal.m4 b/src/aclocal.m4
index 57c9918..44b1e76 100644
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -628,6 +628,25 @@ rm pre.out Makefile.out post.out
],
CONF_FRAGDIR=$srcdir/${ac_config_fragdir} )])dnl
dnl
+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_CACHE_VAL(krb5_cv_sockaddr_sa_len,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
+],
+[struct sockaddr sa;
+sa.sa_len;],
+krb5_cv_sockaddr_sa_len=yes,krb5_cv_sockaddr_sa_len=no)])
+AC_MSG_RESULT([$]krb5_cv_sockaddr_sa_len)
+if $krb5_cv_sockaddr_sa_len= yes; then
+ AC_DEFINE_UNQUOTED(HAVE_SA_LEN)
+ fi
+])
+dnl
+dnl
dnl CHECK_UTMP: check utmp structure and functions
dnl
define(CHECK_UTMP,[