Reorganize:
- move libpam into lib/libpam - move the OATH code into lib/liboath - move oath.h into include/security - update all pointers git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@646 185d5e19-27fe-0310-9dcf-9bff6b9f3609
This commit is contained in:
parent
374a1769ca
commit
a9a5497d3f
106 changed files with 331 additions and 136 deletions
14
HISTORY
14
HISTORY
|
@ -3,18 +3,20 @@ OpenPAM ?????????? 2013-??-??
|
|||
- FEATURE: Add a pam_oath module that implements RFC 4226 (HOTP) and
|
||||
RFC 6238 (TOTP).
|
||||
|
||||
- ENHANCE: Allow openpam_straddch(3) to be called without a character
|
||||
so it can be used to preallocate a string.
|
||||
|
||||
- ENHANCE: Improve portability by adding simple asprintf(3) and
|
||||
vasprintf(3) implementations for platforms that don't have them.
|
||||
|
||||
- ENHANCE: Move the libpam sources into a separate subdirectory.
|
||||
|
||||
- BUGFIX: When openpam_readword(3) encountered an opening quote, it
|
||||
would set the first byte in the buffer to '\0', discarding all
|
||||
existing text and, unless the buffer was empty to begin with, all
|
||||
subsequent text as well. This went unnoticed because none of the
|
||||
unit tests for quoted strings had any text preceding the opening
|
||||
quote.
|
||||
|
||||
- ENHANCE: Allow openpam_straddch(3) to be called without a character
|
||||
so it can be used to preallocate a string.
|
||||
|
||||
- ENHANCE: Improve portability by adding simple asprintf(3) and
|
||||
vasprintf(3) implementations for platforms that don't have them.
|
||||
============================================================================
|
||||
OpenPAM Micrampelis 2012-05-26
|
||||
|
||||
|
|
|
@ -11,9 +11,9 @@ set -ex
|
|||
export CONFIG_SHELL=/bin/sh
|
||||
|
||||
./configure \
|
||||
--with-oath \
|
||||
--with-doc \
|
||||
--with-pam-unix \
|
||||
--with-pam-oath \
|
||||
--with-pamtest \
|
||||
--with-su \
|
||||
--with-modules-dir=/usr/lib \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# $Id$
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/lib
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/libpam
|
||||
|
||||
noinst_PROGRAMS = openpam_dump_policy
|
||||
openpam_dump_policy_SOURCES = openpam_dump_policy.c
|
||||
openpam_dump_policy_LDADD = $(top_builddir)/lib/libpam.la
|
||||
openpam_dump_policy_LDADD = $(top_builddir)/lib/libpam/libpam.la
|
||||
|
|
|
@ -4,6 +4,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
|
|||
|
||||
bin_PROGRAMS = pamtest
|
||||
pamtest_SOURCES = pamtest.c
|
||||
pamtest_LDADD = $(top_builddir)/lib/libpam.la
|
||||
pamtest_LDADD = $(top_builddir)/lib/libpam/libpam.la
|
||||
|
||||
dist_man1_MANS = pamtest.1
|
||||
|
|
|
@ -4,6 +4,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
|
|||
|
||||
bin_PROGRAMS = su
|
||||
su_SOURCES = su.c
|
||||
su_LDADD = $(top_builddir)/lib/libpam.la
|
||||
su_LDADD = $(top_builddir)/lib/libpam/libpam.la
|
||||
|
||||
dist_man1_MANS = su.1
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -3,7 +3,7 @@ dnl $Id$
|
|||
AC_PREREQ([2.62])
|
||||
AC_REVISION([$Id$])
|
||||
AC_INIT([OpenPAM], [trunk], [des@des.no])
|
||||
AC_CONFIG_SRCDIR([lib/pam_start.c])
|
||||
AC_CONFIG_SRCDIR([lib/libpam/pam_start.c])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
AM_CONFIG_HEADER([config.h])
|
||||
|
@ -69,11 +69,11 @@ AC_ARG_WITH([pam-unix],
|
|||
[with_pam_unix=no])
|
||||
AM_CONDITIONAL([WITH_PAM_UNIX], [test x"$with_pam_unix" = x"yes"])
|
||||
|
||||
AC_ARG_WITH([pam-oath],
|
||||
AC_HELP_STRING([--with-pam-oath], [compile pam_oath(8) module]),
|
||||
AC_ARG_WITH([oath],
|
||||
AC_HELP_STRING([--with-oath], [compile OATH library, module and utility]),
|
||||
[],
|
||||
[with_pam_oath=no])
|
||||
AM_CONDITIONAL([WITH_PAM_OATH], [test x"$with_pam_oath" = x"yes"])
|
||||
[with_oath=no])
|
||||
AM_CONDITIONAL([WITH_OATH], [test x"$with_oath" = x"yes"])
|
||||
|
||||
AC_ARG_WITH(pamtest,
|
||||
AC_HELP_STRING([--with-pamtest], [compile test application]),
|
||||
|
@ -137,6 +137,8 @@ AC_CONFIG_FILES([
|
|||
include/Makefile
|
||||
include/security/Makefile
|
||||
lib/Makefile
|
||||
lib/liboath/Makefile
|
||||
lib/libpam/Makefile
|
||||
modules/Makefile
|
||||
modules/pam_deny/Makefile
|
||||
modules/pam_permit/Makefile
|
||||
|
|
|
@ -73,7 +73,7 @@ CLEANFILES = $(ALLCMAN) openpam.3 pam.3
|
|||
|
||||
GENDOC = $(top_srcdir)/misc/gendoc.pl
|
||||
|
||||
LIBSRCDIR = $(top_srcdir)/lib
|
||||
LIBSRCDIR = $(top_srcdir)/lib/libpam
|
||||
|
||||
VPATH = $(LIBSRCDIR) $(srcdir)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# $Id$
|
||||
|
||||
openpamdir = $(includedir)/security
|
||||
securitydir = $(includedir)/security
|
||||
|
||||
openpam_HEADERS = \
|
||||
security_HEADERS = \
|
||||
openpam.h \
|
||||
openpam_attr.h \
|
||||
openpam_version.h \
|
||||
|
@ -10,3 +10,7 @@ openpam_HEADERS = \
|
|||
pam_constants.h \
|
||||
pam_modules.h \
|
||||
pam_types.h
|
||||
|
||||
if WITH_OATH
|
||||
security_HEADERS += oath.h
|
||||
endif
|
||||
|
|
100
lib/Makefile.am
100
lib/Makefile.am
|
@ -1,99 +1,7 @@
|
|||
# $Id$
|
||||
|
||||
NULL =
|
||||
SUBDIRS = libpam
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||
|
||||
lib_LTLIBRARIES = libpam.la
|
||||
|
||||
noinst_HEADERS = \
|
||||
openpam_asprintf.h \
|
||||
openpam_constants.h \
|
||||
openpam_cred.h \
|
||||
openpam_ctype.h \
|
||||
openpam_debug.h \
|
||||
openpam_features.h \
|
||||
openpam_impl.h \
|
||||
openpam_strlcat.h \
|
||||
openpam_strlcmp.h \
|
||||
openpam_strlcpy.h \
|
||||
openpam_vasprintf.h
|
||||
|
||||
libpam_la_SOURCES = \
|
||||
openpam_asprintf.c \
|
||||
openpam_borrow_cred.c \
|
||||
openpam_check_owner_perms.c \
|
||||
openpam_configure.c \
|
||||
openpam_constants.c \
|
||||
openpam_dispatch.c \
|
||||
openpam_dynamic.c \
|
||||
openpam_features.c \
|
||||
openpam_findenv.c \
|
||||
openpam_free_data.c \
|
||||
openpam_free_envlist.c \
|
||||
openpam_get_feature.c \
|
||||
openpam_get_option.c \
|
||||
openpam_load.c \
|
||||
openpam_log.c \
|
||||
openpam_nullconv.c \
|
||||
openpam_readline.c \
|
||||
openpam_readlinev.c \
|
||||
openpam_readword.c \
|
||||
openpam_restore_cred.c \
|
||||
openpam_set_option.c \
|
||||
openpam_set_feature.c \
|
||||
openpam_static.c \
|
||||
openpam_strlcat.c \
|
||||
openpam_strlcpy.c \
|
||||
openpam_straddch.c \
|
||||
openpam_subst.c \
|
||||
openpam_vasprintf.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@
|
||||
libpam_la_LIBADD = @DL_LIBS@
|
||||
|
||||
EXTRA_DIST = \
|
||||
pam_authenticate_secondary.c \
|
||||
pam_get_mapped_authtok.c \
|
||||
pam_get_mapped_username.c \
|
||||
pam_set_mapped_authtok.c \
|
||||
pam_set_mapped_username.c \
|
||||
\
|
||||
pam_sm_acct_mgmt.c \
|
||||
pam_sm_authenticate.c \
|
||||
pam_sm_authenticate_secondary.c \
|
||||
pam_sm_chauthtok.c \
|
||||
pam_sm_close_session.c \
|
||||
pam_sm_get_mapped_authtok.c \
|
||||
pam_sm_get_mapped_username.c \
|
||||
pam_sm_open_session.c \
|
||||
pam_sm_set_mapped_authtok.c \
|
||||
pam_sm_set_mapped_username.c \
|
||||
pam_sm_setcred.c
|
||||
if WITH_OATH
|
||||
SUBDIRS += liboath
|
||||
endif
|
||||
|
|
15
lib/liboath/Makefile.am
Normal file
15
lib/liboath/Makefile.am
Normal file
|
@ -0,0 +1,15 @@
|
|||
# $Id$
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/libpam
|
||||
|
||||
lib_LTLIBRARIES = liboath.la
|
||||
|
||||
liboath_la_SOURCES = \
|
||||
oath_base32.c \
|
||||
oath_base64.c \
|
||||
oath_hotp.c \
|
||||
oath_totp.c \
|
||||
oath_key.c
|
||||
|
||||
liboath_la_LDFLAGS = -no-undefined -version-info @LIB_MAJ@
|
||||
liboath_la_LIBADD = $(top_builddir)/lib/libpam/libpam.la
|
|
@ -38,7 +38,7 @@
|
|||
#include <errno.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "oath.h"
|
||||
#include <security/oath.h>
|
||||
|
||||
static const char b32[] =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
|
|
@ -38,7 +38,7 @@
|
|||
#include <errno.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "oath.h"
|
||||
#include <security/oath.h>
|
||||
|
||||
static const char b64[] =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
@ -39,7 +39,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "oath.h"
|
||||
#include <security/oath.h>
|
||||
|
||||
#define StToNum(St) (St)
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
#include "openpam_asprintf.h"
|
||||
#include "openpam_strlcmp.h"
|
||||
|
||||
#include "oath.h"
|
||||
#include <security/oath.h>
|
||||
|
||||
/*
|
||||
* Allocate a struct oath_key with sufficient additional space for the
|
|
@ -37,7 +37,7 @@
|
|||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "oath.h"
|
||||
#include <security/oath.h>
|
||||
|
||||
#define TOTP_TIME_STEP 30
|
||||
|
99
lib/libpam/Makefile.am
Normal file
99
lib/libpam/Makefile.am
Normal file
|
@ -0,0 +1,99 @@
|
|||
# $Id$
|
||||
|
||||
NULL =
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||
|
||||
lib_LTLIBRARIES = libpam.la
|
||||
|
||||
noinst_HEADERS = \
|
||||
openpam_asprintf.h \
|
||||
openpam_constants.h \
|
||||
openpam_cred.h \
|
||||
openpam_ctype.h \
|
||||
openpam_debug.h \
|
||||
openpam_features.h \
|
||||
openpam_impl.h \
|
||||
openpam_strlcat.h \
|
||||
openpam_strlcmp.h \
|
||||
openpam_strlcpy.h \
|
||||
openpam_vasprintf.h
|
||||
|
||||
libpam_la_SOURCES = \
|
||||
openpam_asprintf.c \
|
||||
openpam_borrow_cred.c \
|
||||
openpam_check_owner_perms.c \
|
||||
openpam_configure.c \
|
||||
openpam_constants.c \
|
||||
openpam_dispatch.c \
|
||||
openpam_dynamic.c \
|
||||
openpam_features.c \
|
||||
openpam_findenv.c \
|
||||
openpam_free_data.c \
|
||||
openpam_free_envlist.c \
|
||||
openpam_get_feature.c \
|
||||
openpam_get_option.c \
|
||||
openpam_load.c \
|
||||
openpam_log.c \
|
||||
openpam_nullconv.c \
|
||||
openpam_readline.c \
|
||||
openpam_readlinev.c \
|
||||
openpam_readword.c \
|
||||
openpam_restore_cred.c \
|
||||
openpam_set_option.c \
|
||||
openpam_set_feature.c \
|
||||
openpam_static.c \
|
||||
openpam_strlcat.c \
|
||||
openpam_strlcpy.c \
|
||||
openpam_straddch.c \
|
||||
openpam_subst.c \
|
||||
openpam_vasprintf.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@
|
||||
libpam_la_LIBADD = @DL_LIBS@
|
||||
|
||||
EXTRA_DIST = \
|
||||
pam_authenticate_secondary.c \
|
||||
pam_get_mapped_authtok.c \
|
||||
pam_get_mapped_username.c \
|
||||
pam_set_mapped_authtok.c \
|
||||
pam_set_mapped_username.c \
|
||||
\
|
||||
pam_sm_acct_mgmt.c \
|
||||
pam_sm_authenticate.c \
|
||||
pam_sm_authenticate_secondary.c \
|
||||
pam_sm_chauthtok.c \
|
||||
pam_sm_close_session.c \
|
||||
pam_sm_get_mapped_authtok.c \
|
||||
pam_sm_get_mapped_username.c \
|
||||
pam_sm_open_session.c \
|
||||
pam_sm_set_mapped_authtok.c \
|
||||
pam_sm_set_mapped_username.c \
|
||||
pam_sm_setcred.c
|
|
@ -6,6 +6,6 @@ if WITH_PAM_UNIX
|
|||
SUBDIRS += pam_unix
|
||||
endif
|
||||
|
||||
if WITH_PAM_OATH
|
||||
if WITH_OATH
|
||||
SUBDIRS += pam_oath
|
||||
endif
|
||||
|
|
|
@ -8,4 +8,4 @@ pkglib_LTLIBRARIES = pam_deny.la
|
|||
pam_deny_la_SOURCES = pam_deny.c
|
||||
pam_deny_la_LDFLAGS = -no-undefined -module -version-info @LIB_MAJ@ \
|
||||
-export-symbols-regex '^pam_sm_'
|
||||
pam_deny_la_LIBADD = $(top_builddir)/lib/libpam.la
|
||||
pam_deny_la_LIBADD = $(top_builddir)/lib/libpam/libpam.la
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue