diff --git a/MANIFEST b/MANIFEST index dcfd0d2..2381828 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,21 +1,32 @@ # -# $P4: //depot/projects/openpam/MANIFEST#16 $ +# $P4: //depot/projects/openpam/MANIFEST#17 $ # CREDITS HISTORY INSTALL LICENSE MANIFEST -Makefile -Makefile.inc +Makefile.am +Makefile.in README RELNOTES -bin/Makefile -bin/Makefile.inc -bin/su/Makefile +aclocal.m4 +autogen.sh +bin/Makefile.am +bin/Makefile.in +bin/su/Makefile.am +bin/su/Makefile.in bin/su/su.c -doc/Makefile -doc/man/Makefile +config.guess +config.h.in +config.sub +configure +configure.in +depcomp +doc/Makefile.am +doc/Makefile.in +doc/man/Makefile.am +doc/man/Makefile.in doc/man/openpam.3 doc/man/openpam.man doc/man/openpam_borrow_cred.3 @@ -61,13 +72,19 @@ doc/man/pam_strerror.3 doc/man/pam_verror.3 doc/man/pam_vinfo.3 doc/man/pam_vprompt.3 +include/Makefile.am +include/Makefile.in +include/security/Makefile.am +include/security/Makefile.in include/security/openpam.h include/security/openpam_version.h include/security/pam_appl.h include/security/pam_constants.h include/security/pam_modules.h include/security/pam_types.h -lib/Makefile +install-sh +lib/Makefile.am +lib/Makefile.in lib/openpam_borrow_cred.c lib/openpam_configure.c lib/openpam_dispatch.c @@ -125,11 +142,20 @@ lib/pam_strerror.c lib/pam_verror.c lib/pam_vinfo.c lib/pam_vprompt.c +ltconfig +ltmain.sh misc/gendoc.pl -modules/Makefile -modules/pam_deny/Makefile +missing +mkinstalldirs +modules/Makefile.am +modules/Makefile.in +modules/pam_deny/Makefile.am +modules/pam_deny/Makefile.in modules/pam_deny/pam_deny.c -modules/pam_permit/Makefile +modules/pam_permit/Makefile.am +modules/pam_permit/Makefile.in modules/pam_permit/pam_permit.c -modules/pam_unix/Makefile +modules/pam_unix/Makefile.am +modules/pam_unix/Makefile.in modules/pam_unix/pam_unix.c +stamp-h.in diff --git a/Makefile b/Makefile deleted file mode 100644 index 1e29452..0000000 --- a/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS -# and Network Associates Laboratories, the Security Research Division -# of Network Associates, Inc. under DARPA/SPAWAR contract -# N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research -# program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/Makefile#8 $ -# - -SUBDIR = -SUBDIR += modules -SUBDIR += lib -SUBDIR += bin -SUBDIR += doc - -.include diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..24848d9 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = lib bin modules doc include + +EXTRA_DIST = README CREDITS LICENSE INSTALL MANIFEST RELNOTES diff --git a/Makefile.inc b/Makefile.inc deleted file mode 100644 index 3b95c59..0000000 --- a/Makefile.inc +++ /dev/null @@ -1,8 +0,0 @@ -# $P4: //depot/projects/openpam/Makefile.inc#2 $ - -DESTDIR ?= /usr -BINDIR = /bin -LIBDIR = /lib - -SHLIB_MAJOR = 2 -SHLIB_MINOR = 0 diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 0000000..2a117e6 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,7 @@ +#!/bin/sh -ex + +libtoolize --copy --force +aclocal +autoheader +automake -a -c --foreign +autoconf diff --git a/bin/Makefile b/bin/Makefile deleted file mode 100644 index 75bb5ad..0000000 --- a/bin/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS -# and Network Associates Laboratories, the Security Research Division -# of Network Associates, Inc. under DARPA/SPAWAR contract -# N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research -# program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/bin/Makefile#7 $ -# - -SUBDIR = -SUBDIR += su - -.include diff --git a/bin/Makefile.am b/bin/Makefile.am new file mode 100644 index 0000000..b7232b1 --- /dev/null +++ b/bin/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = su diff --git a/bin/Makefile.inc b/bin/Makefile.inc deleted file mode 100644 index a368da3..0000000 --- a/bin/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $P4: //depot/projects/openpam/bin/Makefile.inc#1 $ - -.include "../Makefile.inc" diff --git a/bin/su/Makefile b/bin/su/Makefile deleted file mode 100644 index 17a78a8..0000000 --- a/bin/su/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS -# and Network Associates Laboratories, the Security Research Division -# of Network Associates, Inc. under DARPA/SPAWAR contract -# N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research -# program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/bin/su/Makefile#8 $ -# - -PROG = su -WARNS ?= 4 -CFLAGS += -I${.CURDIR}/../../include -DPADD = ${.OBJDIR}/../../lib/libpam.a -LDADD = -L${.OBJDIR}/../../lib -R${.OBJDIR}/../../lib -lpam -NOMAN = YES - -.include diff --git a/bin/su/Makefile.am b/bin/su/Makefile.am new file mode 100644 index 0000000..598254f --- /dev/null +++ b/bin/su/Makefile.am @@ -0,0 +1,7 @@ +INCLUDES = -I$(top_srcdir)/include + +if WITH_PAM_SU +bin_PROGRAMS = su +su_SOURCES = su.c +su_LDADD = $(top_builddir)/lib/libpam.la +endif diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..61f9508 --- /dev/null +++ b/configure.in @@ -0,0 +1,94 @@ +AC_PREREQ(2.53) +AC_INIT([OpenPAM],[20030601],[des@freebsd.org]) +AC_CONFIG_SRCDIR([lib/pam_start.c]) +AM_CONFIG_HEADER([config.h]) + +AC_CANONICAL_SYSTEM +AC_DISABLE_STATIC +AC_PROG_LIBTOOL +AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) + +LIB_MAJ=2 +AC_SUBST(LIB_MAJ) +AC_DEFINE_UNQUOTED(LIB_MAJ, $LIB_MAJ, [OpenPAM library major number]) + +AC_MSG_CHECKING([whether loading unversioned modules support is enabled]) +AC_ARG_ENABLE(unversioned-modules, + AC_HELP_STRING([--disable-unversioned-modules], + [support loading of unversioned modules]), + [if test "$enableval" = "no"; then + AC_DEFINE(DISABLE_UNVERSIONED_MODULES, + 1, + [Whether loading unversioned modules support is disabled]) + fi + AC_MSG_RESULT(no)], + AC_MSG_RESULT(yes)) + +AC_MSG_CHECKING([for modules directory support]) +AC_ARG_WITH(modules-dir, + AC_HELP_STRING([--with-modules-dir=DIR], + [OpenPAM modules directory]), + [if test "$withval" != "no"; then + OPENPAM_MODULES_DIR="$withval" + AC_DEFINE_UNQUOTED(OPENPAM_MODULES_DIR, + "$OPENPAM_MODULES_DIR", + [OpenPAM modules directory]) + AC_MSG_RESULT($OPENPAM_MODULES_DIR) + else + OPENPAM_MODULES_DIR="$libdir" + AC_MSG_RESULT(no) + fi], + [OPENPAM_MODULES_DIR="$libdir" + AC_MSG_RESULT(no)]) +AC_SUBST(OPENPAM_MODULES_DIR) + +AC_MSG_CHECKING([whether to build example version of /bin/su]) +AC_ARG_WITH(pam-su, + AC_HELP_STRING([--with-pam-su], + [compile example version of /bin/su]), + , + [with_pam_su=yes]) +AC_MSG_RESULT($with_pam_su) + +AC_MSG_CHECKING([whether to build example version of pam_unix.so]) +AC_ARG_WITH(pam-unix, + AC_HELP_STRING([--with-pam-unix], + [compile example version of pam_unix.so]), + , + [with_pam_unix=yes]) +AC_MSG_RESULT($with_pam_unix) + +AM_CONDITIONAL(WITH_PAM_SU, test "x$with_pam_su" = "xyes") +AM_CONDITIONAL(WITH_PAM_UNIX, test "x$with_pam_unix" = "xyes") + +AC_CHECK_HEADERS(crypt.h) + +AC_PROG_INSTALL + +DL_LIBS= +AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl) +AC_SUBST(DL_LIBS) + +CRYPT_LIBS= +AC_CHECK_LIB(crypt, crypt, CRYPT_LIBS=-lcrypt) +AC_SUBST(CRYPT_LIBS) + +CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" +AC_SUBST(CPPFLAGS) + +CFLAGS="$CFLAGS -Werror" +AC_SUBST(CFLAGS) + +AC_CONFIG_FILES([bin/Makefile + bin/su/Makefile + include/Makefile + include/security/Makefile + lib/Makefile + modules/Makefile + modules/pam_unix/Makefile + modules/pam_deny/Makefile + modules/pam_permit/Makefile + doc/Makefile + doc/man/Makefile + Makefile]) +AC_OUTPUT diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 18ff33e..0000000 --- a/doc/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS -# and Network Associates Laboratories, the Security Research Division -# of Network Associates, Inc. under DARPA/SPAWAR contract -# N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research -# program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/doc/Makefile#5 $ -# - -SUBDIR = -SUBDIR += man - -.include diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..ad800b6 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = man diff --git a/doc/man/Makefile b/doc/man/Makefile deleted file mode 100644 index 32c9e46..0000000 --- a/doc/man/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS -# and Network Associates Laboratories, the Security Research Division -# of Network Associates, Inc. under DARPA/SPAWAR contract -# N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research -# program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/doc/man/Makefile#13 $ -# - -GENDOC = ${.CURDIR}/../../misc/gendoc.pl - -# Standard PAM API -PMAN = -PMAN += pam_acct_mgmt.3 -PMAN += pam_authenticate.3 -PMAN += pam_chauthtok.3 -PMAN += pam_close_session.3 -PMAN += pam_end.3 -PMAN += pam_get_data.3 -PMAN += pam_get_item.3 -PMAN += pam_get_user.3 -PMAN += pam_getenv.3 -PMAN += pam_getenvlist.3 -PMAN += pam_open_session.3 -PMAN += pam_putenv.3 -PMAN += pam_set_data.3 -PMAN += pam_set_item.3 -PMAN += pam_setcred.3 -PMAN += pam_start.3 -PMAN += pam_strerror.3 - -# Standard module API -MMAN = -MMAN += pam_sm_acct_mgmt.3 -MMAN += pam_sm_authenticate.3 -MMAN += pam_sm_chauthtok.3 -MMAN += pam_sm_close_session.3 -MMAN += pam_sm_open_session.3 -MMAN += pam_sm_setcred.3 - -# OpenPAM extensions -OMAN = -OMAN += openpam_borrow_cred.3 -OMAN += openpam_free_data.3 -OMAN += openpam_get_option.3 -OMAN += openpam_log.3 -OMAN += openpam_nullconv.3 -OMAN += openpam_readline.3 -OMAN += openpam_restore_cred.3 -OMAN += openpam_set_option.3 -OMAN += openpam_ttyconv.3 -OMAN += pam_error.3 -OMAN += pam_get_authtok.3 -OMAN += pam_info.3 -OMAN += pam_prompt.3 -OMAN += pam_setenv.3 -OMAN += pam_verror.3 -OMAN += pam_vinfo.3 -OMAN += pam_vprompt.3 - -MAN = ${PMAN} ${OMAN} ${MMAN} -MAN += openpam.3 -MAN += pam.3 -MAN += pam_conv.3 - -CLEANFILES += ${PMAN} ${OMAN} ${MMAN} openpam.3 pam.3 - -.for man in ${PMAN} ${OMAN} ${MMAN} -${man}: ${.CURDIR}/../../lib/${man:R}.c ${GENDOC} - perl -w ${GENDOC} ${.CURDIR}/../../lib/${man:R}.c -.endfor - -openpam.3: ${OMAN} ${GENDOC} openpam.man - perl -w ${GENDOC} -o ${OMAN} <${.CURDIR}/openpam.man - -pam.3: ${PMAN} ${GENDOC} pam.man - perl -w ${GENDOC} -p ${PMAN} <${.CURDIR}/pam.man - -.include diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am new file mode 100644 index 0000000..f50385b --- /dev/null +++ b/doc/man/Makefile.am @@ -0,0 +1,81 @@ +NULL = + +# Standard PAM API +PMAN = \ + pam_acct_mgmt.3 \ + pam_authenticate.3 \ + pam_chauthtok.3 \ + pam_close_session.3 \ + pam_end.3 \ + pam_get_data.3 \ + pam_get_item.3 \ + pam_get_user.3 \ + pam_getenv.3 \ + pam_getenvlist.3 \ + pam_open_session.3 \ + pam_putenv.3 \ + pam_set_data.3 \ + pam_set_item.3 \ + pam_setcred.3 \ + pam_start.3 \ + pam_strerror.3 \ + $(NULL) + +# Standard module API +MMAN = \ + pam_sm_acct_mgmt.3 \ + pam_sm_authenticate.3 \ + pam_sm_chauthtok.3 \ + pam_sm_close_session.3 \ + pam_sm_open_session.3 \ + pam_sm_setcred.3 \ + $(NULL) + +# OpenPAM extensions +OMAN = \ + openpam_borrow_cred.3 \ + openpam_free_data.3 \ + openpam_get_option.3 \ + openpam_log.3 \ + openpam_nullconv.3 \ + openpam_readline.3 \ + openpam_restore_cred.3 \ + openpam_set_option.3 \ + openpam_ttyconv.3 \ + pam_error.3 \ + pam_get_authtok.3 \ + pam_info.3 \ + pam_prompt.3 \ + pam_setenv.3 \ + pam_verror.3 \ + pam_vinfo.3 \ + pam_vprompt.3 \ + $(NULL) + +ALLCMAN = $(PMAN) $(MMAN) $(OMAN) +LINKS= $(ALLCMAN:.3=.c) + +man3_MANS = $(ALLCMAN) openpam.3 pam.3 pam_conv.3 + +CLEANFILES = $(ALLCMAN) $(LINKS) openpam.3 pam.3 symlink-stamp + +GENDOC = $(top_srcdir)/misc/gendoc.pl + +SUFFIXES = .3 + +$(LINKS): symlink-stamp + +symlink-stamp: Makefile + for lnk in $(LINKS); do \ + ln -sf $(top_srcdir)/lib/$$lnk ./; \ + done && \ + touch symlink-stamp + +.c.3: symlink-stamp + perl -w $(GENDOC) $(top_srcdir)/lib/$*.c + +openpam.3: $(OMAN) $(GENDOC) openpam.man + perl -w $(GENDOC) -o $(OMAN) <$(srcdir)/openpam.man + +pam.3: $(PMAN) $(GENDOC) pam.man + perl -w $(GENDOC) -p $(PMAN) <$(srcdir)/pam.man diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 0000000..9f5ad4b --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = security diff --git a/include/security/Makefile.am b/include/security/Makefile.am new file mode 100644 index 0000000..34a3469 --- /dev/null +++ b/include/security/Makefile.am @@ -0,0 +1,9 @@ +openpamdir = $(oldincludedir)/security + +openpam_HEADERS = \ + openpam.h \ + openpam_version.h \ + pam_appl.h \ + pam_constants.h \ + pam_modules.h \ + pam_types.h diff --git a/lib/Makefile b/lib/Makefile deleted file mode 100644 index da3aecd..0000000 --- a/lib/Makefile +++ /dev/null @@ -1,99 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS and -# Network Associates Laboratories, the Security Research Division of -# Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 -# ("CBOSS"), as part of the DARPA CHATS research program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/lib/Makefile#21 $ -# - -LIB = pam - -WARNS ?= 4 -NO_WERROR = yes -CFLAGS += -I${.CURDIR}/../include -CFLAGS += -DLIB_MAJ=${SHLIB_MAJOR} - -OSNAME != uname -s -.if ${OSNAME} == "Linux" -LDADD += -ldl -.endif - -SRCS = -SRCS += openpam_borrow_cred.c -SRCS += openpam_configure.c -SRCS += openpam_dispatch.c -SRCS += openpam_dynamic.c -SRCS += openpam_findenv.c -SRCS += openpam_free_data.c -SRCS += openpam_get_option.c -SRCS += openpam_load.c -SRCS += openpam_log.c -SRCS += openpam_nullconv.c -SRCS += openpam_readline.c -SRCS += openpam_restore_cred.c -SRCS += openpam_set_option.c -SRCS += openpam_static.c -SRCS += openpam_ttyconv.c -SRCS += pam_acct_mgmt.c -SRCS += pam_authenticate.c -SRCS += pam_chauthtok.c -SRCS += pam_close_session.c -SRCS += pam_end.c -SRCS += pam_error.c -SRCS += pam_get_authtok.c -SRCS += pam_get_data.c -SRCS += pam_get_item.c -SRCS += pam_get_user.c -SRCS += pam_getenv.c -SRCS += pam_getenvlist.c -SRCS += pam_info.c -SRCS += pam_open_session.c -SRCS += pam_prompt.c -SRCS += pam_putenv.c -SRCS += pam_set_data.c -SRCS += pam_set_item.c -SRCS += pam_setcred.c -SRCS += pam_setenv.c -SRCS += pam_start.c -SRCS += pam_strerror.c -SRCS += pam_verror.c -SRCS += pam_vinfo.c -SRCS += pam_vprompt.c - -.if 0 -SRCS += pam_authenticate_secondary.c -SRCS += pam_get_mapped_authtok.c -SRCS += pam_get_mapped_username.c -SRCS += pam_set_mapped_authtok.c -SRCS += pam_set_mapped_username.c -.endif - -.include diff --git a/lib/Makefile.am b/lib/Makefile.am new file mode 100644 index 0000000..4960d52 --- /dev/null +++ b/lib/Makefile.am @@ -0,0 +1,57 @@ +NULL = + +INCLUDES = -I$(top_srcdir)/include + +lib_LTLIBRARIES = libpam.la + +libpam_la_SOURCES = \ + openpam_borrow_cred.c \ + openpam_configure.c \ + openpam_dispatch.c \ + openpam_dynamic.c \ + openpam_findenv.c \ + openpam_free_data.c \ + openpam_get_option.c \ + openpam_load.c \ + openpam_log.c \ + openpam_nullconv.c \ + openpam_readline.c \ + openpam_restore_cred.c \ + openpam_set_option.c \ + openpam_static.c \ + openpam_ttyconv.c \ + pam_acct_mgmt.c \ + pam_authenticate.c \ + pam_chauthtok.c \ + pam_close_session.c \ + pam_end.c \ + pam_error.c \ + pam_get_authtok.c \ + pam_get_data.c \ + pam_get_item.c \ + pam_get_user.c \ + pam_getenv.c \ + pam_getenvlist.c \ + pam_info.c \ + pam_open_session.c \ + pam_prompt.c \ + pam_putenv.c \ + pam_set_data.c \ + pam_set_item.c \ + pam_setcred.c \ + pam_setenv.c \ + pam_start.c \ + pam_strerror.c \ + pam_verror.c \ + pam_vinfo.c \ + pam_vprompt.c \ + $(NULL) + +libpam_la_LDFLAGS = -no-undefined -version-info @LIB_MAJ@ @DL_LIBS@ + +# Not implemented yet: +# pam_authenticate_secondary.c +# pam_get_mapped_authtok.c +# pam_get_mapped_username.c +# pam_set_mapped_authtok.c +# pam_set_mapped_username.c diff --git a/lib/openpam_impl.h b/lib/openpam_impl.h index 3786ad2..54ff813 100644 --- a/lib/openpam_impl.h +++ b/lib/openpam_impl.h @@ -31,12 +31,16 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_impl.h#27 $ + * $P4: //depot/projects/openpam/lib/openpam_impl.h#28 $ */ #ifndef _OPENPAM_IMPL_H_INCLUDED #define _OPENPAM_IMPL_H_INCLUDED +#ifdef HAVE_CONFIG_H +# include +#endif + #include extern const char *_pam_func_name[PAM_NUM_PRIMITIVES]; diff --git a/misc/gendoc.pl b/misc/gendoc.pl index fc21d0f..feb6e48 100644 --- a/misc/gendoc.pl +++ b/misc/gendoc.pl @@ -32,13 +32,14 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $P4: //depot/projects/openpam/misc/gendoc.pl#26 $ +# $P4: //depot/projects/openpam/misc/gendoc.pl#27 $ # use strict; +use locale; use Fcntl; use Getopt::Std; -use POSIX qw(strftime); +use POSIX qw(locale_h strftime); use vars qw($COPYRIGHT $TODAY %FUNCTIONS %PAMERR); $COPYRIGHT = ".\\\"- @@ -552,6 +553,7 @@ MAIN:{ usage() unless (@ARGV && getopts("op", \%opts)); + setlocale(LC_ALL, "en_US.ISO8859-1"); $TODAY = strftime("%B %e, %Y", localtime(time())); $TODAY =~ s,\s+, ,g; if ($opts{'o'} || $opts{'p'}) { diff --git a/modules/Makefile b/modules/Makefile deleted file mode 100644 index 0818653..0000000 --- a/modules/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS and -# Network Associates Laboratories, the Security Research Division of -# Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 -# ("CBOSS"), as part of the DARPA CHATS research program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/modules/Makefile#9 $ -# - -SUBDIR = -SUBDIR += pam_deny -SUBDIR += pam_permit -SUBDIR += pam_unix - -.include diff --git a/modules/Makefile.am b/modules/Makefile.am new file mode 100644 index 0000000..b8e5eb8 --- /dev/null +++ b/modules/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = pam_unix pam_deny pam_permit diff --git a/modules/pam_deny/Makefile b/modules/pam_deny/Makefile deleted file mode 100644 index 98a7ce3..0000000 --- a/modules/pam_deny/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS and -# Network Associates Laboratories, the Security Research Division of -# Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 -# ("CBOSS"), as part of the DARPA CHATS research program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/modules/pam_deny/Makefile#6 $ -# - -LIB = pam_deny -SHLIB_NAME = pam_deny.so -SRCS = pam_deny.c -CFLAGS += -I${.CURDIR}/../../include - -.include diff --git a/modules/pam_deny/Makefile.am b/modules/pam_deny/Makefile.am new file mode 100644 index 0000000..06a4c58 --- /dev/null +++ b/modules/pam_deny/Makefile.am @@ -0,0 +1,8 @@ +pkglibdir = @OPENPAM_MODULES_DIR@ +INCLUDES = -I$(top_srcdir)/include + +pkglib_LTLIBRARIES = pam_deny.la + +pam_deny_la_SOURCES = pam_deny.c +pam_deny_la_LDFLAGS = -no-undefined -module -version-info @LIB_MAJ@ +pam_deny_la_LIBADD = $(top_builddir)/lib/libpam.la diff --git a/modules/pam_deny/pam_deny.c b/modules/pam_deny/pam_deny.c index 0c79618..dce206c 100644 --- a/modules/pam_deny/pam_deny.c +++ b/modules/pam_deny/pam_deny.c @@ -31,9 +31,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/modules/pam_deny/pam_deny.c#8 $ + * $P4: //depot/projects/openpam/modules/pam_deny/pam_deny.c#9 $ */ +#ifdef HAVE_CONFIG_H +# include +#endif + #include #include diff --git a/modules/pam_permit/Makefile b/modules/pam_permit/Makefile deleted file mode 100644 index b443a6c..0000000 --- a/modules/pam_permit/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS and -# Network Associates Laboratories, the Security Research Division of -# Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 -# ("CBOSS"), as part of the DARPA CHATS research program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/modules/pam_permit/Makefile#6 $ -# - -LIB = pam_permit -SHLIB_NAME = pam_permit.so -SRCS = pam_permit.c -CFLAGS += -I${.CURDIR}/../../include - -.include diff --git a/modules/pam_permit/Makefile.am b/modules/pam_permit/Makefile.am new file mode 100644 index 0000000..539c323 --- /dev/null +++ b/modules/pam_permit/Makefile.am @@ -0,0 +1,8 @@ +pkglibdir = @OPENPAM_MODULES_DIR@ +INCLUDES = -I$(top_srcdir)/include + +pkglib_LTLIBRARIES = pam_permit.la + +pam_permit_la_SOURCES = pam_permit.c +pam_permit_la_LDFLAGS = -no-undefined -module -version-info @LIB_MAJ@ +pam_permit_la_LIBADD = $(top_builddir)/lib/libpam.la diff --git a/modules/pam_permit/pam_permit.c b/modules/pam_permit/pam_permit.c index 33c7093..802450e 100644 --- a/modules/pam_permit/pam_permit.c +++ b/modules/pam_permit/pam_permit.c @@ -31,9 +31,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/modules/pam_permit/pam_permit.c#8 $ + * $P4: //depot/projects/openpam/modules/pam_permit/pam_permit.c#9 $ */ +#ifdef HAVE_CONFIG_H +# include +#endif + #include #include diff --git a/modules/pam_unix/Makefile b/modules/pam_unix/Makefile deleted file mode 100644 index 2e4be46..0000000 --- a/modules/pam_unix/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -#- -# Copyright (c) 2002-2003 Networks Associates Technology, Inc. -# All rights reserved. -# -# This software was developed for the FreeBSD Project by ThinkSec AS and -# Network Associates Laboratories, the Security Research Division of -# Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 -# ("CBOSS"), as part of the DARPA CHATS research program. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $P4: //depot/projects/openpam/modules/pam_unix/Makefile#3 $ -# - -LIB = pam_unix -SHLIB_NAME = pam_unix.so -SRCS = pam_unix.c -CFLAGS += -I${.CURDIR}/../../include -DPADD = ${LIBCRYPT} -LDADD = -lcrypt - -.include diff --git a/modules/pam_unix/Makefile.am b/modules/pam_unix/Makefile.am new file mode 100644 index 0000000..a54d665 --- /dev/null +++ b/modules/pam_unix/Makefile.am @@ -0,0 +1,10 @@ +pkglibdir = @OPENPAM_MODULES_DIR@ +INCLUDES = -I$(top_srcdir)/include + +if WITH_PAM_UNIX +pkglib_LTLIBRARIES = pam_unix.la + +pam_unix_la_SOURCES = pam_unix.c +pam_unix_la_LDFLAGS = -no-undefined -module -version-info @LIB_MAJ@ @CRYPT_LIBS@ +pam_unix_la_LIBADD = $(top_builddir)/lib/libpam.la +endif diff --git a/modules/pam_unix/pam_unix.c b/modules/pam_unix/pam_unix.c index 2283915..259aa60 100644 --- a/modules/pam_unix/pam_unix.c +++ b/modules/pam_unix/pam_unix.c @@ -31,9 +31,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#5 $ + * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#6 $ */ +#ifdef HAVE_CONFIG_H +# include +#endif + #include #include @@ -42,8 +46,8 @@ #include #include -#ifdef __GLIBC__ -#include +#ifdef HAVE_CRYPT_H +# include #endif #include