]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - config-scripts/cups-pam.m4
Import experimental work-in-progress HTTP/2 branch
[thirdparty/cups.git] / config-scripts / cups-pam.m4
... / ...
CommitLineData
1dnl
2dnl "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $"
3dnl
4dnl PAM stuff for CUPS.
5dnl
6dnl Copyright 2007-2013 by Apple Inc.
7dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
8dnl
9dnl These coded instructions, statements, and computer programs are the
10dnl property of Apple Inc. and are protected by Federal copyright
11dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12dnl which should have been included with this file. If this file is
13dnl file is missing or damaged, see the license at "http://www.cups.org/".
14dnl
15
16AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
17AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use])
18
19PAMDIR=""
20PAMFILE="pam.std"
21PAMLIBS=""
22PAMMOD="pam_unknown.so"
23PAMMODAUTH="pam_unknown.so"
24
25if test x$enable_pam != xno; then
26 SAVELIBS="$LIBS"
27
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))
36 fi
37
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
41 PAMLIBS="-lpam -ldl"
42 else
43 PAMLIBS="-lpam"
44 fi
45
46 # Find the PAM configuration directory, if any...
47 for dir in /private/etc/pam.d /etc/pam.d; do
48 if test -d $dir; then
49 PAMDIR=$dir
50 break;
51 fi
52 done
53 fi
54
55 LIBS="$SAVELIBS"
56
57 case "$uname" in
58 Darwin*)
59 # Darwin/OS X
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"
64 else
65 PAMFILE="pam.securityserver"
66 fi
67 ;;
68
69 *)
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
75 PAMMOD="pam_unix2.so"
76 elif test -f /lib/security/pam_unix.so; then
77 PAMMOD="pam_unix.so"
78 fi
79
80 if test "x$PAMMOD" = xpam_unix.so; then
81 PAMMODAUTH="$PAMMOD shadow nodelay"
82 else
83 PAMMODAUTH="$PAMMOD nodelay"
84 fi
85 ;;
86 esac
87fi
88
89AC_SUBST(PAMDIR)
90AC_SUBST(PAMFILE)
91AC_SUBST(PAMLIBS)
92AC_SUBST(PAMMOD)
93AC_SUBST(PAMMODAUTH)
94
95dnl
96dnl End of "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $".
97dnl