diff --git a/libeconf.patch b/libeconf.patch deleted file mode 100644 index e2e943b..0000000 --- a/libeconf.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/libpam/Makefile.am b/libpam/Makefile.am -index 875031e..9f27c16 100644 ---- a/libpam/Makefile.am -+++ b/libpam/Makefile.am -@@ -3,7 +3,8 @@ - # - - AM_CFLAGS = -DDEFAULT_MODULE_PATH=\"$(SECUREDIR)/\" -DLIBPAM_COMPILE \ -- -I$(srcdir)/include $(LIBPRELUDE_CFLAGS) -DPAM_VERSION=\"$(VERSION)\" -+ -I$(srcdir)/include $(LIBPRELUDE_CFLAGS) \ -+ -DPAM_VERSION=\"$(VERSION)\" @ECONF_CFLAGS@ - if HAVE_LIBSELINUX - AM_CFLAGS += -D"WITH_SELINUX" - endif -@@ -21,7 +22,7 @@ noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \ - pam_modutil_private.h - - libpam_la_LDFLAGS = -no-undefined -version-info 84:2:84 --libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ -+libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@ @ECONF_LIBS@ - - if HAVE_VERSIONING - libpam_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libpam.map -diff --git a/libpam/pam_modutil_searchkey.c b/libpam/pam_modutil_searchkey.c -index 338b44f..8e4061f 100644 ---- a/libpam/pam_modutil_searchkey.c -+++ b/libpam/pam_modutil_searchkey.c -@@ -13,9 +13,34 @@ - #include - #include - #include -+#ifdef USE_ECONF -+#include -+#endif - - #define BUF_SIZE 8192 - -+#ifdef USE_ECONF -+#define LOGIN_DEFS "/etc/login.defs" -+ -+static char * -+econf_search_key (const char *name, const char *suffix, const char *key) -+{ -+ econf_file *key_file = NULL; -+ char *val; -+ -+ if (econf_readDirs (&key_file, "/usr/etc", "/etc", name, suffix, " \t", "#")) -+ return NULL; -+ -+ if (econf_getStringValue (key_file, NULL, key, &val)) -+ return NULL; -+ -+ econf_free (key_file); -+ -+ return val; -+} -+ -+#endif -+ - /* lookup a value for key in login.defs file or similar key value format */ - char * - pam_modutil_search_key(pam_handle_t *pamh UNUSED, -@@ -27,6 +52,11 @@ pam_modutil_search_key(pam_handle_t *pamh UNUSED, - size_t buflen = 0; - char *retval = NULL; - -+#ifdef USE_ECONF -+ if (strcmp (file_name, LOGIN_DEFS) == 0) -+ return econf_search_key ("login", ".defs", key); -+#endif -+ - fp = fopen(file_name, "r"); - if (NULL == fp) - return NULL;