]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - config-scripts/cups-pam.m4
Remove all of the Subversion keywords from various source files.
[thirdparty/cups.git] / config-scripts / cups-pam.m4
index 9b49e7ad6e53da676d8a2920d45c22c148bd0b28..de9c476bedd7f748b0b5d1d42fbd2446a510453d 100644 (file)
@@ -1,29 +1,24 @@
 dnl
-dnl "$Id: cups-pam.m4 7149 2007-12-19 19:38:37Z mike $"
+dnl PAM stuff for CUPS.
 dnl
-dnl   PAM stuff for the Common UNIX Printing System (CUPS).
+dnl Copyright 2007-2013 by Apple Inc.
+dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
-dnl   Copyright 2007 by Apple Inc.
-dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
+dnl These coded instructions, statements, and computer programs are the
+dnl property of Apple Inc. and are protected by Federal copyright
+dnl law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+dnl which should have been included with this file.  If this file is
+dnl file is missing or damaged, see the license at "http://www.cups.org/".
 dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-AC_ARG_ENABLE(pam, [  --enable-pam            turn on PAM support, default=yes])
 
-dnl Don't use PAM with AIX...
-if test $uname = AIX; then
-       enable_pam=no
-fi
+AC_ARG_ENABLE(pam, [  --disable-pam           disable PAM support])
+AC_ARG_WITH(pam_module, [  --with-pam-module       specify the PAM module to use])
 
 PAMDIR=""
-PAMFILE=""
+PAMFILE="pam.std"
 PAMLIBS=""
 PAMMOD="pam_unknown.so"
+PAMMODAUTH="pam_unknown.so"
 
 if test x$enable_pam != xno; then
        SAVELIBS="$LIBS"
@@ -31,6 +26,7 @@ if test x$enable_pam != xno; then
        AC_CHECK_LIB(dl,dlopen)
        AC_CHECK_LIB(pam,pam_start)
        AC_CHECK_LIB(pam,pam_set_item,AC_DEFINE(HAVE_PAM_SET_ITEM))
+       AC_CHECK_LIB(pam,pam_setcred,AC_DEFINE(HAVE_PAM_SETCRED))
        AC_CHECK_HEADER(security/pam_appl.h)
        if test x$ac_cv_header_security_pam_appl_h != xyes; then
                AC_CHECK_HEADER(pam/pam_appl.h,
@@ -58,24 +54,32 @@ if test x$enable_pam != xno; then
 
        case "$uname" in
                Darwin*)
-                       # Darwin, MacOS X
-                       PAMFILE="pam.darwin"
-                       ;;
-               IRIX)
-                       # SGI IRIX
-                       PAMFILE="pam.irix"
+                       # Darwin/OS X
+                       if test "x$with_pam_module" != x; then
+                               PAMFILE="pam.$with_pam_module"
+                       elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
+                               PAMFILE="pam.opendirectory"
+                       else
+                               PAMFILE="pam.securityserver"
+                       fi
                        ;;
+
                *)
                        # All others; this test might need to be updated
                        # as Linux distributors move things around...
-                       for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do
-                               if test -f /lib/security/$mod; then
-                                       PAMMOD="$mod"
-                                       break;
-                               fi
-                       done
+                       if test "x$with_pam_module" != x; then
+                               PAMMOD="pam_${with_pam_module}.so"
+                       elif test -f /lib/security/pam_unix2.so; then
+                               PAMMOD="pam_unix2.so"
+                       elif test -f /lib/security/pam_unix.so; then
+                               PAMMOD="pam_unix.so"
+                       fi
 
-                       PAMFILE="pam.std"
+                       if test "x$PAMMOD" = xpam_unix.so; then
+                               PAMMODAUTH="$PAMMOD shadow nodelay"
+                       else
+                               PAMMODAUTH="$PAMMOD nodelay"
+                       fi
                        ;;
        esac
 fi
@@ -84,7 +88,4 @@ AC_SUBST(PAMDIR)
 AC_SUBST(PAMFILE)
 AC_SUBST(PAMLIBS)
 AC_SUBST(PAMMOD)
-
-dnl
-dnl End of "$Id: cups-pam.m4 7149 2007-12-19 19:38:37Z mike $".
-dnl
+AC_SUBST(PAMMODAUTH)