]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-pam.m4
Update more IPP strings.
[thirdparty/cups.git] / config-scripts / cups-pam.m4
1 dnl
2 dnl PAM stuff for CUPS.
3 dnl
4 dnl Copyright 2007-2017 by Apple Inc.
5 dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
6 dnl
7 dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8 dnl
9
10 AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
11 AC_ARG_WITH(pam_module, [ --with-pam-module set the PAM module to use])
12
13 PAMDIR=""
14 PAMFILE="pam.std"
15 PAMLIBS=""
16 PAMMOD="pam_unknown.so"
17 PAMMODAUTH="pam_unknown.so"
18
19 if test x$enable_pam != xno; then
20 SAVELIBS="$LIBS"
21
22 AC_CHECK_LIB(dl,dlopen)
23 AC_CHECK_LIB(pam,pam_start)
24 AC_CHECK_LIB(pam,pam_set_item,AC_DEFINE(HAVE_PAM_SET_ITEM))
25 AC_CHECK_LIB(pam,pam_setcred,AC_DEFINE(HAVE_PAM_SETCRED))
26 AC_CHECK_HEADER(security/pam_appl.h)
27 if test x$ac_cv_header_security_pam_appl_h != xyes; then
28 AC_CHECK_HEADER(pam/pam_appl.h,
29 AC_DEFINE(HAVE_PAM_PAM_APPL_H))
30 fi
31
32 if test x$ac_cv_lib_pam_pam_start != xno; then
33 # Set the necessary libraries for PAM...
34 if test x$ac_cv_lib_dl_dlopen != xno; then
35 PAMLIBS="-lpam -ldl"
36 else
37 PAMLIBS="-lpam"
38 fi
39
40 # Find the PAM configuration directory, if any...
41 for dir in /private/etc/pam.d /etc/pam.d; do
42 if test -d $dir; then
43 PAMDIR=$dir
44 break;
45 fi
46 done
47 fi
48
49 LIBS="$SAVELIBS"
50
51 case "$host_os_name" in
52 darwin*)
53 # Darwin/macOS
54 if test "x$with_pam_module" != x; then
55 PAMFILE="pam.$with_pam_module"
56 elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
57 PAMFILE="pam.opendirectory"
58 else
59 PAMFILE="pam.securityserver"
60 fi
61 ;;
62
63 *)
64 # All others; this test might need to be updated
65 # as Linux distributors move things around...
66 if test "x$with_pam_module" != x; then
67 PAMMOD="pam_${with_pam_module}.so"
68 elif test -f /etc/pam.d/common-auth; then
69 PAMFILE="pam.common"
70 else
71 moddir=""
72 for dir in /lib/security /lib64/security /lib/x86_64-linux-gnu/security /var/lib/pam; do
73 if test -d $dir; then
74 moddir=$dir
75 break;
76 fi
77 done
78
79 if test -f $moddir/pam_unix2.so; then
80 PAMMOD="pam_unix2.so"
81 elif test -f $moddir/pam_unix.so; then
82 PAMMOD="pam_unix.so"
83 fi
84 fi
85
86 if test "x$PAMMOD" = xpam_unix.so; then
87 PAMMODAUTH="$PAMMOD shadow nodelay"
88 else
89 PAMMODAUTH="$PAMMOD nodelay"
90 fi
91 ;;
92 esac
93 fi
94
95 AC_SUBST(PAMDIR)
96 AC_SUBST(PAMFILE)
97 AC_SUBST(PAMLIBS)
98 AC_SUBST(PAMMOD)
99 AC_SUBST(PAMMODAUTH)