+dnl --------------------------------------------------------------------
+dnl Check for Cyrus SASL version compatility, need 2.1.3 or newer
+AC_DEFUN([OL_SASL_COMPAT],
+[AC_CACHE_CHECK([Cyrus SASL library version], [ol_cv_sasl_compat],[
+ AC_EGREP_CPP(__sasl_compat,[
+#ifdef HAVE_SASL_SASL_H
+#include <sasl/sasl.h>
+#else
+#include <sasl.h>
+#endif
+
+/* require 2.1.3 or later */
+#if SASL_VERSION_MAJOR == 2 && SASL_VERSION_MINOR > 1
+ char *__sasl_compat = "2.2+ or better okay (we guess)";
+#elif SASL_VERSION_MAJOR == 2 && SASL_VERSION_MINOR == 1 \
+ && SASL_VERSION_STEP >=3
+ char *__sasl_compat = "2.1.3+ or better okay";
+#endif
+ ], [ol_cv_sasl_compat=yes], [ol_cv_sasl_compat=no])])
+])
+dnl ====================================================================
+dnl check for msg_accrights in msghdr
+AC_DEFUN(OL_MSGHDR_MSG_ACCRIGHTS,
+ [AC_CACHE_CHECK(for msg_accrights in msghdr, ol_cv_msghdr_msg_accrights,
+ [AC_TRY_COMPILE([#include <sys/socket.h>],
+ [struct msghdr m; m.msg_accrightslen=0],
+ ol_cv_msghdr_msg_accrights=yes, ol_cv_msghdr_msg_accrights=no)
+ ])
+ if test $ol_cv_msghdr_msg_accrights = "yes" ; then
+ AC_DEFINE(HAVE_MSGHDR_MSG_ACCRIGHTS,1,
+ [define if struct msghdr has msg_accrights])
+ fi
+])dnl