]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
b19ccc9e | 2 | dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $" |
ef416fc2 | 3 | dnl |
4 | dnl PAM stuff for the Common UNIX Printing System (CUPS). | |
5 | dnl | |
b19ccc9e | 6 | dnl Copyright 2007-2008 by Apple Inc. |
ef416fc2 | 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 | |
bc44d920 | 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/". | |
ef416fc2 | 14 | dnl |
15 | ||
16 | AC_ARG_ENABLE(pam, [ --enable-pam turn on PAM support, default=yes]) | |
b19ccc9e | 17 | AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use, default=auto]) |
ef416fc2 | 18 | |
19 | dnl Don't use PAM with AIX... | |
20 | if test $uname = AIX; then | |
21 | enable_pam=no | |
22 | fi | |
23 | ||
24 | PAMDIR="" | |
25 | PAMFILE="" | |
26 | PAMLIBS="" | |
27 | PAMMOD="pam_unknown.so" | |
28 | ||
29 | if test x$enable_pam != xno; then | |
30 | SAVELIBS="$LIBS" | |
31 | ||
32 | AC_CHECK_LIB(dl,dlopen) | |
33 | AC_CHECK_LIB(pam,pam_start) | |
a4924f6c | 34 | AC_CHECK_LIB(pam,pam_set_item,AC_DEFINE(HAVE_PAM_SET_ITEM)) |
ee571f26 | 35 | AC_CHECK_LIB(pam,pam_setcred,AC_DEFINE(HAVE_PAM_SETCRED)) |
ef416fc2 | 36 | AC_CHECK_HEADER(security/pam_appl.h) |
37 | if test x$ac_cv_header_security_pam_appl_h != xyes; then | |
38 | AC_CHECK_HEADER(pam/pam_appl.h, | |
39 | AC_DEFINE(HAVE_PAM_PAM_APPL_H)) | |
40 | fi | |
41 | ||
42 | if test x$ac_cv_lib_pam_pam_start != xno; then | |
43 | # Set the necessary libraries for PAM... | |
44 | if test x$ac_cv_lib_dl_dlopen != xno; then | |
45 | PAMLIBS="-lpam -ldl" | |
46 | else | |
47 | PAMLIBS="-lpam" | |
48 | fi | |
49 | ||
50 | # Find the PAM configuration directory, if any... | |
51 | for dir in /private/etc/pam.d /etc/pam.d; do | |
52 | if test -d $dir; then | |
53 | PAMDIR=$dir | |
54 | break; | |
55 | fi | |
56 | done | |
57 | fi | |
58 | ||
59 | LIBS="$SAVELIBS" | |
60 | ||
61 | case "$uname" in | |
62 | Darwin*) | |
63 | # Darwin, MacOS X | |
b19ccc9e MS |
64 | if test "x$with_pam_module" != x; then |
65 | PAMFILE="pam.$with_pam_module" | |
66 | elif test -f /usr/lib/pam/pam_opendirectory.so; then | |
67 | PAMFILE="pam.opendirectory" | |
68 | else | |
69 | PAMFILE="pam.securityserver" | |
70 | fi | |
ef416fc2 | 71 | ;; |
b19ccc9e | 72 | |
ef416fc2 | 73 | IRIX) |
74 | # SGI IRIX | |
75 | PAMFILE="pam.irix" | |
76 | ;; | |
b19ccc9e | 77 | |
ef416fc2 | 78 | *) |
79 | # All others; this test might need to be updated | |
80 | # as Linux distributors move things around... | |
b19ccc9e MS |
81 | if test "x$with_pam_module" != x; then |
82 | PAMMOD="pam_${with_pam_module}.so" | |
83 | else | |
84 | for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do | |
85 | if test -f /lib/security/$mod; then | |
86 | PAMMOD="$mod" | |
87 | break; | |
88 | fi | |
89 | done | |
90 | fi | |
ef416fc2 | 91 | |
92 | PAMFILE="pam.std" | |
93 | ;; | |
94 | esac | |
95 | fi | |
96 | ||
97 | AC_SUBST(PAMDIR) | |
98 | AC_SUBST(PAMFILE) | |
99 | AC_SUBST(PAMLIBS) | |
100 | AC_SUBST(PAMMOD) | |
101 | ||
102 | dnl | |
b19ccc9e | 103 | dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $". |
ef416fc2 | 104 | dnl |