1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

r23095: Support systems that have their PAM headers in /usr/include/pam.

(This used to be commit f1e8de4b576b3954d456cb64c02417908bab8da4)
This commit is contained in:
James Peach 2007-05-23 20:31:28 +00:00 committed by Gerald (Jerry) Carter
parent b683f8137b
commit f4ae285763
8 changed files with 69 additions and 9 deletions

View File

@ -41,7 +41,11 @@
* which determines what actions/limitations/allowances become affected.
*********************************************************************/
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
/*
* Structure used to communicate between the conversation function

View File

@ -4399,7 +4399,11 @@ AC_ARG_WITH(cifsmount,
#################################################
# check for a PAM clear-text auth, accounts, password and session support
# Check for a PAM clear-text auth, accounts, password
# and session support. Most PAM implementations keep their
# headers in /usr/include/security. Darwin keeps its in
# /usr/include/pam.
with_pam_for_crypt=no
try_pam=no
AC_MSG_CHECKING(whether to try PAM support)
@ -4419,10 +4423,13 @@ if test x"${try_pam}" != x"no";then
use_pam=yes
create_pam_modules=yes
AC_CHECK_HEADERS(security/pam_appl.h)
if test x"$ac_cv_header_security_pam_appl_h" != x"yes"; then
# Most systems have PAM headers in /usr/include/security, but Darwin
# has them in /usr/include/pam.
AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h)
if test x"$ac_cv_header_security_pam_appl_h" != x"yes" -a \
x"$ac_cv_header_pam_pam_appl_h" != x"yes"; then
if test x"${try_pam}" = x"yes";then
AC_MSG_ERROR([--with-pam=yes but security/pam_appl.h not found])
AC_MSG_ERROR([--with-pam=yes but pam_appl.h not found])
fi
use_pam=no
create_pam_modules=no
@ -4437,14 +4444,18 @@ if test x"${try_pam}" != x"no";then
create_pam_modules=no
fi
AC_CHECK_HEADERS(security/pam_modules.h,,,[[
AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
#if HAVE_SECURITY_PAM_APPL_H
#include <security/pam_appl.h>
#endif
#if HAVE_PAM_PAM_APPL_H
#include <pam/pam_appl.h>
#endif
]])
if test x"$ac_cv_header_security_pam_modules_h" = x"no"; then
if test x"$ac_cv_header_security_pam_modules_h" = x"no" -a \
x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
if test x"${try_pam}" = x"yes";then
AC_MSG_ERROR([--with-pam=yes but security/pam_modules.h not found])
AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
fi
create_pam_modules=no
fi
@ -4460,6 +4471,7 @@ if test x"${try_pam}" != x"no";then
# this checks are optional,
# we don't care about the results here
AC_CHECK_HEADERS(security/pam_ext.h security/_pam_macros.h)
AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
else
AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])

View File

@ -21,7 +21,11 @@
#include "includes.h"
#ifdef WITH_PAM
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#if defined(PAM_AUTHTOK_RECOVERY_ERR) && !defined(PAM_AUTHTOK_RECOVER_ERR)
#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

View File

@ -23,7 +23,11 @@
/* Solaris always uses dynamic pam modules */
#define PAM_EXTERN extern
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#ifndef PAM_AUTHTOK_RECOVER_ERR
#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR
@ -31,12 +35,16 @@
#endif /* defined(SUNOS5) || defined(SUNOS4) || defined(HPUX) || defined(FREEBSD) || defined(AIX) */
#ifdef HAVE_SECURITY_PAM_MODULES_H
#if defined(HAVE_SECURITY_PAM_MODULES_H)
#include <security/pam_modules.h>
#elif defined(HAVE_PAM_PAM_MODULES_H)
#include <pam/pam_modules.h>
#endif
#ifdef HAVE_SECURITY__PAM_MACROS_H
#if defined(HAVE_SECURITY__PAM_MACROS_H)
#include <security/_pam_macros.h>
#elif defined(HAVE_PAM__PAM_MACROS_H)
#include <pam/_pam_macros.h>
#else
/* Define required macros from (Linux PAM 0.68) security/_pam_macros.h */
#define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \

View File

@ -1,9 +1,17 @@
#ifndef LINUX
/* This is only needed by modules in the Sun implementation. */
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#endif /* LINUX */
#if defined(HAVE_SECURITY_PAM_MODULES_H)
#include <security/pam_modules.h>
#elif defined(HAVE_PAM_PAM_MODULES_H)
#include <pam/pam_modules.h>
#endif
#ifndef PAM_AUTHTOK_RECOVER_ERR
#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR

View File

@ -23,11 +23,19 @@
#ifndef LINUX
/* This is only used in the Sun implementation. */
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#endif /* LINUX */
#if defined(HAVE_SECURITY_PAM_MODULES_H)
#include <security/pam_modules.h>
#elif defined(HAVE_PAM_PAM_MODULES_H)
#include <pam/pam_modules.h>
#endif
#include "general.h"

View File

@ -24,11 +24,19 @@
#ifndef LINUX
/* This is only used in the Sun implementation. */
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#endif /* LINUX */
#if defined(HAVE_SECURITY_PAM_MODULES_H)
#include <security/pam_modules.h>
#elif defined(HAVE_PAM_PAM_MODULES_H)
#include <pam/pam_modules.h>
#endif
#include "general.h"

View File

@ -29,10 +29,18 @@
and others (including FreeBSD). */
#ifndef LINUX
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
#endif
#if defined(HAVE_SECURITY_PAM_MODULES_H)
#include <security/pam_modules.h>
#elif defined(HAVE_PAM_PAM_MODULES_H)
#include <pam/pam_modules.h>
#endif
#include "general.h"