From: Sergiy Vyshnevetskiy <serg@vostok.net>

Subject: [zebra 18947] [PATCH] openpam patch

configure support for openpam (freebsd5.0)
This commit is contained in:
paul 2003-05-06 12:16:27 +00:00
parent a805cc2d70
commit 24cd435b1a
2 changed files with 35 additions and 3 deletions

View file

@ -223,6 +223,33 @@ esac
dnl ----------
dnl PAM module
dnl ----------
if test "$with_libpam" = "yes"; then
AC_MSG_CHECKING(security/pam_misc.h)
AC_CHECK_HEADER(security/pam_misc.h)
if test "$ac_cv_header_security_pam_misc_h" = yes; then
AC_DEFINE(HAVE_PAM_MISC_H,,Have pam_misc.h)
AC_DEFINE(PAM_CONV_FUNC,misc_conv,Have misc_conv)
pam_conv_func="misc_conv"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(security/openpam.h)
AC_CHECK_HEADER(security/openpam.h)
if test "$ac_cv_header_security_openpam_h" = yes; then
AC_DEFINE(HAVE_OPENPAM_H,,Have openpam.h)
AC_DEFINE(PAM_CONV_FUNC,openpam_ttyconv,Have openpam_ttyconv)
pam_conv_func="openpam_ttyconv"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
if test -z "$ac_cv_header_security_pam_misc_h$ac_cv_header_security_openpam_h" ; then
AC_MSG_WARN([*** pam support will not be built ***])
with_libpam="no"
fi
fi
if test "$with_libpam" = "yes"; then
dnl took this test from proftpd's configure.in and suited to our needs
dnl -------------------------------------------------------------------------
@ -232,7 +259,7 @@ dnl of the PAM library. Prior to 0.72 release, the Linux PAM shared library
dnl omitted requiring libdl linking information. PAM-0.72 or better ships
dnl with RedHat 6.2 and Debian 2.2 or better.
AC_CHECK_LIB(pam, pam_start,
[AC_CHECK_LIB(pam, misc_conv,
[AC_CHECK_LIB(pam, $pam_conv_func,
[AC_DEFINE(USE_PAM,,Use PAM for authentication)
LIBPAM="-lpam"],
[AC_DEFINE(USE_PAM,,Use PAM for authentication)
@ -241,7 +268,7 @@ AC_CHECK_LIB(pam, pam_start,
],
[AC_CHECK_LIB(pam, pam_end,
[AC_CHECK_LIB(pam, misc_conv,
[AC_CHECK_LIB(pam, $pam_conv_func,
[AC_DEFINE(USE_PAM)
LIBPAM="-lpam -ldl"],
[AC_DEFINE(USE_PAM)

View file

@ -25,7 +25,12 @@
#ifdef USE_PAM
#include <security/pam_appl.h>
#ifdef HAVE_PAM_MISC_H
#include <security/pam_misc.h>
#endif
#ifdef HAVE_OPENPAM_H
#include <security/openpam.h>
#endif
#endif /* USE_PAM */
#include "memory.h"
@ -35,7 +40,7 @@
#ifdef USE_PAM
static struct pam_conv conv =
{
misc_conv,
PAM_CONV_FUNC,
NULL
};