+# Unix credentials selector
+AH_TEMPLATE(UNIX_AUTH_STYLE, [undefine for no Unix auth, 1 for Linux style, 2 for BSD style])
+AC_CHECK_MEMBER(struct ucred.pid, [ linuxcreds=y ], [ linuxcreds=n ], [#include <sys/socket.h>])
+AC_CHECK_FUNC(getpeereid, [ bsdcreds=y ], [ bsdcreds=n ])
+AC_MSG_CHECKING([for Unix auth style])
+if test $linuxcreds = y; then
+ AC_DEFINE(UNIX_AUTH_STYLE, 1)
+ AC_MSG_RESULT(linux)
+elif test $bsdcreds = y; then
+ AC_DEFINE(UNIX_AUTH_STYLE, 2)
+ AC_MSG_RESULT(bsd)
+else
+ AC_MSG_RESULT(none)
+fi
+