diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-08-16 12:27:38 +0000 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-08-16 12:27:38 +0000 |
commit | 23624ea6f78ec8acc167a2491c00998907fc76b1 (patch) | |
tree | a57b3caee23a167d442d7d4e0419c4689dfba565 /libpam | |
parent | 2b5457bbf7352200f7bc77795adbbcfd47550855 (diff) | |
download | pam-23624ea6f78ec8acc167a2491c00998907fc76b1.tar.gz pam-23624ea6f78ec8acc167a2491c00998907fc76b1.tar.bz2 pam-23624ea6f78ec8acc167a2491c00998907fc76b1.zip |
Relevant BUGIDs: none
Purpose of commit: new feature
Commit summary:
---------------
Big "automake/autoconf/libtool" commit
Diffstat (limited to 'libpam')
-rw-r--r-- | libpam/Makefile | 170 | ||||
-rw-r--r-- | libpam/Makefile.am | 28 | ||||
-rw-r--r-- | libpam/include/security/_pam_macros.h | 2 | ||||
-rw-r--r-- | libpam/include/security/_pam_types.h | 5 | ||||
-rw-r--r-- | libpam/include/security/pam_malloc.h | 4 | ||||
-rw-r--r-- | libpam/libpam.map | 38 | ||||
-rw-r--r-- | libpam/pam_handlers.c | 5 | ||||
-rw-r--r-- | libpam/pam_item.c | 4 | ||||
-rw-r--r-- | libpam/pam_malloc.c | 26 | ||||
-rw-r--r-- | libpam/pam_prelude.c | 4 | ||||
-rw-r--r-- | libpam/pam_second.c | 12 | ||||
-rw-r--r-- | libpam/pam_static.c | 10 | ||||
-rw-r--r-- | libpam/pam_strerror.c | 2 |
13 files changed, 84 insertions, 226 deletions
diff --git a/libpam/Makefile b/libpam/Makefile deleted file mode 100644 index 269bc091..00000000 --- a/libpam/Makefile +++ /dev/null @@ -1,170 +0,0 @@ -# -# $Id$ -# -# - -include ../Make.Rules - -# need to tell libpam about the default directory for PAMs -MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\"" - -ifeq ($(WITH_LIBDEBUG),yes) - LIBNAME=libpamd - CFLAGS += -D"DEBUG" - CFLAGS += -g -else - LIBNAME=libpam -endif -ifeq ($(WITH_PRELUDE),yes) - CFLAGS += -DPRELUDE -DLIBPRELUDE_CONFIG_PREFIX=\"`libprelude-config --prefix`\" - LINKLIBS += -lprelude -endif -VERSION=.$(MAJOR_REL) -MODIFICATION=.$(MINOR_REL) - -# --------------------------------------------- - -dummy: ../Make.Rules all - -# --------------------------------------------- - -CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS) \ - -DLIBPAM_VERSION_MAJOR=$(MAJOR_REL) \ - -DLIBPAM_VERSION_MINOR=$(MINOR_REL) \ - -DLIBPAM_VERSION_STRING=\"$(MAJOR_REL).$(MINOR_REL)\" - -# dynamic library names - -LIBPAM = $(LIBNAME).$(DYNTYPE) -LIBPAMNAME = $(LIBPAM)$(VERSION) -LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION) - -# static library name - -LIBPAMSTATIC = $(LIBNAME).a - -ifdef STATIC -# @echo Did you mean to set STATIC\? -MODULES = $(shell cat ../modules/_static_module_objects) -STATICOBJ = pam_static.o -else -MODULES = -endif - -ifeq ($(WITH_MEMORY_DEBUG),yes) -EXTRAS += pam_malloc.o -endif - -LIBOBJECTS = pam_item.o pam_strerror.o pam_end.o pam_start.o pam_data.o \ - pam_delay.o pam_dispatch.o pam_handlers.o pam_misc.o \ - pam_account.o pam_auth.o pam_prelude.o pam_session.o pam_password.o \ - pam_env.o pam_log.o $(EXTRAS) - -ifeq ($(DYNAMIC_LIBPAM),yes) -# libpam.so needs -ldl, too. -DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ)) -ifeq ($(STATICOBJ),yes) -dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects - $(CC) $(CFLAGS) -c pam_static.c -o $@ -endif -endif - -ifeq ($(STATIC_LIBPAM),yes) -SLIBOBJECTS = $(addprefix static/,$(LIBOBJECTS) $(STATICOBJ)) -ifdef STATICOBJ -static/pam_static.o: pam_static.c ../modules/_static_module_objects - $(CC) $(CFLAGS) -c pam_static.c -o $@ -endif -endif - -# --------------------------------------------- -## rules - -all: dirs $(LIBPAM) $(LIBPAMSTATIC) ../Make.Rules - -dirs: -ifeq ($(DYNAMIC_LIBPAM),yes) - $(MKDIR) dynamic -endif -ifeq ($(STATIC_LIBPAM),yes) - $(MKDIR) static -endif - -dynamic/%.o : %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ - -static/%.o : %.c - $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ -bootstrap-libpam: bootdir $(LIBPAM) -bootdir: - test -d dynamic || mkdir dynamic - -$(LIBPAM): $(DLIBOBJECTS) -ifeq ($(DYNAMIC_LIBPAM),yes) - ifeq ($(USESONAME),yes) - $(LD_L) $(SOSWITCH)$(LIBPAMNAME) -o $@ $(DLIBOBJECTS) \ - $(MODULES) $(LINKLIBS) - else - $(LD_L) -o $@ $(DLIBOBJECTS) $(MODULES) $(LINKLIBS) - endif - ifeq ($(NEEDSONAME),yes) - rm -f $(LIBPAMFULL) - ln -sf $(LIBPAM) $(LIBPAMFULL) - rm -f $(LIBPAMNAME) - ln -sf $(LIBPAM) $(LIBPAMNAME) - endif -endif - -$(LIBPAMSTATIC): $(SLIBOBJECTS) -ifeq ($(STATIC_LIBPAM),yes) - $(AR) cru $@ $(SLIBOBJECTS) $(MODULES) -ifdef RANLIB - $(RANLIB) $@ -endif -endif - -install: all - $(MKDIR) $(FAKEROOT)$(INCLUDED) $(FAKEROOT)$(libdir) - $(INSTALL) -m 644 include/security/pam_appl.h $(FAKEROOT)$(INCLUDED) - $(INSTALL) -m 644 include/security/pam_modules.h $(FAKEROOT)$(INCLUDED) - $(INSTALL) -m 644 include/security/_pam_macros.h $(FAKEROOT)$(INCLUDED) - $(INSTALL) -m 644 include/security/_pam_types.h $(FAKEROOT)$(INCLUDED) - $(INSTALL) -m 644 include/security/_pam_compat.h $(FAKEROOT)$(INCLUDED) -ifdef MEMORY_DEBUG - $(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED) -endif -ifeq ($(DYNAMIC_LIBPAM),yes) - $(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(libdir)/$(LIBPAMFULL) -ifndef FAKEROOT - $(LDCONFIG) -else - $(LDCONFIG) -n $(FAKEROOT)$(libdir) -endif - ifneq ($(DYNTYPE),"sl") - ( cd $(FAKEROOT)$(libdir) ; rm -f $(LIBPAM) ; \ - ln -sf $(LIBPAMNAME) $(LIBPAM) ) - endif -endif -ifeq ($(STATIC_LIBPAM),yes) - $(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(libdir) -endif - -remove: - rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h - rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h - rm -f $(FAKEROOT)$(INCLUDED)/pam_appl.h - rm -f $(FAKEROOT)$(INCLUDED)/pam_modules.h - rm -f $(FAKEROOT)$(INCLUDED)/pam_malloc.h - rm -f $(FAKEROOT)$(libdir)/$(LIBPAM).* - rm -f $(FAKEROOT)$(libdir)/$(LIBPAM) -ifndef FAKEROOT - $(LDCONFIG) -endif - rm -f $(FAKEROOT)$(libdir)/$(LIBPAMSTATIC) - -clean: - rm -f a.out core *~ static/*.o dynamic/*.o - rm -f *.orig $(LIBPAMNAME) $(LIBPAMFULL) - rm -f *.a *.o *.so ./include/security/*~ - if [ -d dynamic ]; then rmdir dynamic ; fi - if [ -d static ]; then rmdir static ; fi diff --git a/libpam/Makefile.am b/libpam/Makefile.am new file mode 100644 index 00000000..b7ac5a33 --- /dev/null +++ b/libpam/Makefile.am @@ -0,0 +1,28 @@ +# +# Copyright (c) 2005 Thorsten Kukuk <kukuk@suse.de> +# + +AM_CFLAGS = -DDEFAULT_MODULE_PATH=\"$(SECUREDIR)/\" \ + -I$(srcdir)/include $(LIBPRELUDE_CFLAGS) -DPAM_VERSION=\"$(VERSION)\" +AM_LDFLAGS = $(LIBPRELUDE_LIBS) @LIBDL@ + +CLEANFILES = *~ + +EXTRA_DIST = libpam.map pam_map.c + +include_HEADERS = $(addprefix include/security/, _pam_compat.h _pam_macros.h _pam_types.h pam_appl.h pam_malloc.h pam_modules.h) + +noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h + +libpam_la_LDFLAGS = -version-info 1:0:0 +if HAVE_VERSIONING + libpam_la_LDFLAGS += -Wl,--version-script=libpam.map +endif + +lib_LTLIBRARIES = libpam.la + +libpam_la_SOURCES = pam_account.c pam_auth.c pam_data.c pam_delay.c \ + pam_dispatch.c pam_end.c pam_env.c pam_handlers.c pam_item.c \ + pam_log.c pam_malloc.c pam_misc.c pam_password.c \ + pam_prelude.c pam_second.c pam_session.c pam_start.c \ + pam_static.c pam_strerror.c diff --git a/libpam/include/security/_pam_macros.h b/libpam/include/security/_pam_macros.h index 2827fabf..e328d989 100644 --- a/libpam/include/security/_pam_macros.h +++ b/libpam/include/security/_pam_macros.h @@ -9,8 +9,8 @@ /* a 'safe' version of strdup */ -#include <string.h> #include <stdlib.h> +#include <string.h> #define x_strdup(s) ( (s) ? strdup(s):NULL ) diff --git a/libpam/include/security/_pam_types.h b/libpam/include/security/_pam_types.h index a48a7942..366b7e04 100644 --- a/libpam/include/security/_pam_types.h +++ b/libpam/include/security/_pam_types.h @@ -14,11 +14,6 @@ #ifndef _SECURITY__PAM_TYPES_H #define _SECURITY__PAM_TYPES_H -#ifndef __LIBPAM_VERSION -# define __LIBPAM_VERSION __libpam_version -#endif -extern unsigned int __libpam_version; - /* * include local definition for POSIX - NULL */ diff --git a/libpam/include/security/pam_malloc.h b/libpam/include/security/pam_malloc.h index cc95d7de..05ca16f0 100644 --- a/libpam/include/security/pam_malloc.h +++ b/libpam/include/security/pam_malloc.h @@ -18,11 +18,9 @@ #define malloc(s) pam_malloc(s,__FILE__,__FUNCTION__,__LINE__) #define calloc(n,s) pam_calloc(n,s,__FILE__,__FUNCTION__,__LINE__) #define free(x) pam_free(x,__FILE__,__FUNCTION__,__LINE__) -/* #define memalign(a,s) pam_memalign(a,s,__FILE__,__FUNCTION__,__LINE__) */ #define realloc(x,s) pam_realloc(x,s,__FILE__,__FUNCTION__,__LINE__) -/* #define valloc(s) pam_valloc(s,__FILE__,__FUNCTION__,__LINE__) */ -/* #define alloca(s) pam_alloca(s,__FILE__,__FUNCTION__,__LINE__) */ #define exit(i) pam_exit(i,__FILE__,__FUNCTION__,__LINE__) +#undef strdup #define strdup(s) pam_strdup(s,__FILE__,__FUNCTION__,__LINE__) /* these are the prototypes for the wrapper functions */ diff --git a/libpam/libpam.map b/libpam/libpam.map new file mode 100644 index 00000000..66bfed9b --- /dev/null +++ b/libpam/libpam.map @@ -0,0 +1,38 @@ +LIBPAM_1.0 { + global: + pam_acct_mgmt; + pam_authenticate; + pam_authenticate_secondary; + pam_chauthtok; + pam_close_session; + pam_end; + pam_open_session; + pam_setcred; + pam_start; + pam_getenv; + pam_putenv; + pam_getenvlist; + pam_set_item; + pam_get_item; + pam_strerror; + pam_fail_delay; + pam_set_data; + pam_get_data; + pam_get_user; + pam_get_mapped_authtok; + pam_set_mapped_authtok; + pam_get_mapped_username; + pam_set_mapped_username; + + local: + *; +}; +LIBPAM_MALLOC_DEBUG_1.0 { + global: + pam_malloc; + pam_calloc; + pam_free; + pam_realloc; + pam_exit; + pam_strdup; +}; diff --git a/libpam/pam_handlers.c b/libpam/pam_handlers.c index ef444c58..3e861115 100644 --- a/libpam/pam_handlers.c +++ b/libpam/pam_handlers.c @@ -594,7 +594,10 @@ int _pam_add_handler(pam_handle_t *pamh #ifdef PAM_SHL const char *_sym, *_sym2; #endif - char *mod_full_path=NULL, *mod_full_isa_path=NULL, *isa=NULL; + char *mod_full_path=NULL; +#ifdef PAM_DYNAMIC + char *mod_full_isa_path=NULL, *isa=NULL; +#endif servicefn func, func2; int success; diff --git a/libpam/pam_item.c b/libpam/pam_item.c index 230f5068..96e88247 100644 --- a/libpam/pam_item.c +++ b/libpam/pam_item.c @@ -21,10 +21,6 @@ } \ } -/* handy version id */ - -unsigned int __libpam_version = LIBPAM_VERSION; - /* functions */ int pam_set_item (pam_handle_t *pamh, int item_type, const void *item) diff --git a/libpam/pam_malloc.c b/libpam/pam_malloc.c index 75a1045d..f899c283 100644 --- a/libpam/pam_malloc.c +++ b/libpam/pam_malloc.c @@ -323,14 +323,6 @@ void pam_free(void *ptr } } -void *pam_memalign(size_t ali, size_t size - , const char *file, const char *fn, const int line) -{ - _fn("memalign"); - if (on(0)) err(("not implemented currently (Sorry)")); - exit(1); -} - void *pam_realloc(void *ptr, size_t size , const char *file, const char *fn, const int line) { @@ -363,24 +355,6 @@ void *pam_realloc(void *ptr, size_t size return new; } -void *pam_valloc(size_t size - , const char *file, const char *fn, const int line) -{ - _fn("valloc"); - if (on(0)) err(("not implemented currently (Sorry)")); - exit(1); -} - -#include <alloca.h> - -void *pam_alloca(size_t size - , const char *file, const char *fn, const int line) -{ - _fn("alloca"); - if (on(0)) err(("not implemented currently (Sorry)")); - exit(1); -} - void pam_exit(int i , const char *file, const char *fn, const int line) { diff --git a/libpam/pam_prelude.c b/libpam/pam_prelude.c index 6226db5f..a6eaca5d 100644 --- a/libpam/pam_prelude.c +++ b/libpam/pam_prelude.c @@ -23,10 +23,6 @@ #define ANALYZER_MANUFACTURER "Sebastien Tricaud, http://www.kernel.org/pub/linux/libs/pam/" #define DEFAULT_ANALYZER_NAME "PAM" -#define DEFAULT_ANALYZER_CONFIG LIBPRELUDE_CONFIG_PREFIX "/etc/prelude/default/idmef-client.conf" - -#define PAM_VERSION LIBPAM_VERSION_STRING - static const char * pam_get_item_service(pam_handle_t *pamh) diff --git a/libpam/pam_second.c b/libpam/pam_second.c index 31bdc6cb..75d86650 100644 --- a/libpam/pam_second.c +++ b/libpam/pam_second.c @@ -25,12 +25,12 @@ int pam_authenticate_secondary(pam_handle_t *pamh, int flags); int pam_authenticate_secondary(pam_handle_t *pamh, - char *target_username, - char *target_module_type, - char *target_authn_domain, - char *target_supp_data, - unsigned char *target_module_authtok, - int flags) + char *target_username UNUSED, + char *target_module_type UNUSED, + char *target_authn_domain UNUSED, + char *target_supp_data UNUSED, + unsigned char *target_module_authtok UNUSED, + int flags UNUSED) { int retval=PAM_SYSTEM_ERR; diff --git a/libpam/pam_static.c b/libpam/pam_static.c index 64a3dd31..db73c127 100644 --- a/libpam/pam_static.c +++ b/libpam/pam_static.c @@ -47,7 +47,7 @@ struct pam_module * _pam_open_static_handler(const char *path) if (strchr(clpath, '/')) { /* ignore path and leading "/" */ - clpath = strrchr(lpath, '/') + 1; + clpath = strrchr(path, '/') + 1; } /* create copy to muck with (must free before return) */ lpath = _pam_strdup(clpath); @@ -68,8 +68,8 @@ struct pam_module * _pam_open_static_handler(const char *path) } if (static_modules[i] == NULL) { - _pam_system_log(NULL, NULL, LOG_ERR, "no static module named %s", - lpath); + _pam_system_log (LOG_ERR, "no static module named %s", + lpath); } free(lpath); @@ -120,13 +120,13 @@ voidfunc *_pam_get_static_sym(struct pam_module *mod, const char *symname) { * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior * written permission. - * + * * ALTERNATIVELY, this product may be distributed under the terms of * the GNU Public License, in which case the provisions of the GPL are * required INSTEAD OF the above restrictions. (This clause is * necessary due to a potential bad interaction between the GPL and * the restrictions contained in a BSD-style copyright.) - * + * * THIS SOFTWARE IS PROVIDED ``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 diff --git a/libpam/pam_strerror.c b/libpam/pam_strerror.c index ecdad0c0..ca7bde83 100644 --- a/libpam/pam_strerror.c +++ b/libpam/pam_strerror.c @@ -6,7 +6,7 @@ #include "pam_private.h" -const char *pam_strerror(pam_handle_t *pamh, int errnum) +const char *pam_strerror(pam_handle_t *pamh UNUSED, int errnum) { switch (errnum) { case PAM_SUCCESS: |