aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2008-03-19 09:50:00 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2008-03-19 09:50:00 +0000
commit06aaf68ec3764ec42b6226f27e294bb9f7b7fed6 (patch)
tree063e13431f9ac790d983c4bea91ec94457986c1b /configure.ac
parent80aafa9dcf019a68ce2a9958f4ec09026c44f2dc (diff)
downloadpam-modules-06aaf68ec3764ec42b6226f27e294bb9f7b7fed6.tar.gz
pam-modules-06aaf68ec3764ec42b6226f27e294bb9f7b7fed6.tar.bz2
* configure.ac: Check for pam libraries and header files.
* pam_sql/pam_mysql.c (mysql_setenv): Protect by #ifdef HAVE_PAM_MISC_SETENV. Prevent coredumps on NULL values. * pam_sql/pam_pgsql.c (pgsql_setenv): Likewise. * pam_sql/Makefile.am (pam_mysql_la_LDADD,pam_pgsql_la_LDADD): Add @PAM_MISC@. * pam_sql/pam_sql.c (read_config): Read lines of arbitrary length. git-svn-id: file:///svnroot/pam-modules/trunk@90 56984be4-0537-0410-a56c-fcb268c96130
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac14
1 files changed, 12 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index c7b0987..1fdc24a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,11 +34,21 @@ AC_PROG_INSTALL
AM_PROG_LIBTOOL
dnl Checks for libraries.
+AC_CHECK_LIB(pam, pam_get_item,:,
+ [AC_MSG_ERROR([Required library libpam is not found])])
AC_CHECK_LIB(crypt, crypt)
-
+AC_SUBST(PAM_MISC)
+AH_TEMPLATE([HAVE_PAM_MISC_SETENV],[Define if pam_misc_setenv is available.])
+AC_CHECK_LIB(pam_misc, pam_misc_setenv,
+ [PAM_MISC=-lpam_misc
+ AC_DEFINE([HAVE_PAM_MISC_SETENV],1)],:,[-lpam])
+
dnl Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS(fcntl.h syslog.h unistd.h crypt.h)
+AC_CHECK_HEADERS(security/pam_appl.h security/pam_modules.h,
+ :,
+ AC_MSG_ERROR([Required PAM header files not found]))
+AC_CHECK_HEADERS(fcntl.h syslog.h unistd.h crypt.h security/_pam_aconf.h)
AC_CHECK_HEADER(shadow.h,
[],
[AC_MSG_ERROR(shadow.h is not present on your system)])

Return to:

Send suggestions and report system problems to the System administrator.