]>
Commit | Line | Data |
---|---|---|
1 | dnl | |
2 | dnl "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $" | |
3 | dnl | |
4 | dnl PAM stuff for CUPS. | |
5 | dnl | |
6 | dnl Copyright 2007-2013 by Apple Inc. | |
7 | dnl Copyright 1997-2005 by Easy Software Products, all rights reserved. | |
8 | dnl | |
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/". | |
14 | dnl | |
15 | ||
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]) | |
18 | ||
19 | PAMDIR="" | |
20 | PAMFILE="pam.std" | |
21 | PAMLIBS="" | |
22 | PAMMOD="pam_unknown.so" | |
23 | PAMMODAUTH="pam_unknown.so" | |
24 | ||
25 | if 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 | |
87 | fi | |
88 | ||
89 | AC_SUBST(PAMDIR) | |
90 | AC_SUBST(PAMFILE) | |
91 | AC_SUBST(PAMLIBS) | |
92 | AC_SUBST(PAMMOD) | |
93 | AC_SUBST(PAMMODAUTH) | |
94 | ||
95 | dnl | |
96 | dnl End of "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $". | |
97 | dnl |