4 dnl PAM stuff for CUPS.
6 dnl Copyright 2007-2013 by Apple Inc.
7 dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
9 dnl These coded instructions, statements, and computer programs are the
10 dnl property of Apple Inc. and are protected by Federal copyright
11 dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 dnl which should have been included with this file. If this file is
13 dnl file is missing or damaged, see the license at "http://www.cups.org/".
16 AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
17 AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use])
22 PAMMOD="pam_unknown.so"
23 PAMMODAUTH="pam_unknown.so"
25 if test x$enable_pam != xno; then
28 AC_CHECK_LIB(dl,dlopen)
29 AC_CHECK_LIB(pam,pam_start)
30 AC_CHECK_LIB(pam,pam_set_item,AC_DEFINE(HAVE_PAM_SET_ITEM))
31 AC_CHECK_LIB(pam,pam_setcred,AC_DEFINE(HAVE_PAM_SETCRED))
32 AC_CHECK_HEADER(security/pam_appl.h)
33 if test x$ac_cv_header_security_pam_appl_h != xyes; then
34 AC_CHECK_HEADER(pam/pam_appl.h,
35 AC_DEFINE(HAVE_PAM_PAM_APPL_H))
38 if test x$ac_cv_lib_pam_pam_start != xno; then
39 # Set the necessary libraries for PAM...
40 if test x$ac_cv_lib_dl_dlopen != xno; then
46 # Find the PAM configuration directory, if any...
47 for dir in /private/etc/pam.d /etc/pam.d; do
60 if test "x$with_pam_module" != x; then
61 PAMFILE="pam.$with_pam_module"
62 elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
63 PAMFILE="pam.opendirectory"
65 PAMFILE="pam.securityserver"
70 # All others; this test might need to be updated
71 # as Linux distributors move things around...
72 if test "x$with_pam_module" != x; then
73 PAMMOD="pam_${with_pam_module}.so"
74 elif test -f /lib/security/pam_unix2.so; then
76 elif test -f /lib/security/pam_unix.so; then
80 if test "x$PAMMOD" = xpam_unix.so; then
81 PAMMODAUTH="$PAMMOD shadow nodelay"
83 PAMMODAUTH="$PAMMOD nodelay"