diff options
author | Khem Raj <raj.khem@gmail.com> | 2010-06-08 17:02:00 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-06-08 17:05:08 -0700 |
commit | 0298bf1934f6c7d267c6ceaa87b6993489310702 (patch) | |
tree | e00daa30a94a944a599655fdd6b5eecd85a1ec6a /recipes/pam/libpam-1.1.1 | |
parent | 0abf974adf800b52e22d015a42baf3babcb51e43 (diff) |
libpam-1.1.1: Add recipe.
* Tested build on arm*uclibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/pam/libpam-1.1.1')
-rw-r--r-- | recipes/pam/libpam-1.1.1/Linux-PAM-1.1.0-uclibc.patch | 82 | ||||
-rw-r--r-- | recipes/pam/libpam-1.1.1/define-HAVE_DBM.patch | 12 | ||||
-rw-r--r-- | recipes/pam/libpam-1.1.1/disable_modules_uclibc.patch | 16 | ||||
-rw-r--r-- | recipes/pam/libpam-1.1.1/pam-nodocs.patch | 35 |
4 files changed, 145 insertions, 0 deletions
diff --git a/recipes/pam/libpam-1.1.1/Linux-PAM-1.1.0-uclibc.patch b/recipes/pam/libpam-1.1.1/Linux-PAM-1.1.0-uclibc.patch new file mode 100644 index 0000000000..6b8fa25f8f --- /dev/null +++ b/recipes/pam/libpam-1.1.1/Linux-PAM-1.1.0-uclibc.patch @@ -0,0 +1,82 @@ +Index: Linux-PAM-1.1.0/modules/pam_pwhistory/opasswd.c +=================================================================== +--- Linux-PAM-1.1.0.orig/modules/pam_pwhistory/opasswd.c ++++ Linux-PAM-1.1.0/modules/pam_pwhistory/opasswd.c +@@ -94,6 +94,23 @@ parse_entry (char *line, opwd *data) + return 0; + } + ++static int ++compare_password(const char *newpass, const char *oldpass) ++{ ++ char *outval; ++#ifdef HAVE_CRYPT_R ++ struct crypt_data output; ++ ++ output.initialized = 0; ++ ++ outval = crypt_r (newpass, oldpass, &output); ++#else ++ outval = crypt (newpass, oldpass); ++#endif ++ ++ return strcmp(outval, oldpass) == 0; ++} ++ + /* Check, if the new password is already in the opasswd file. */ + int + check_old_password (pam_handle_t *pamh, const char *user, +@@ -167,12 +184,9 @@ check_old_password (pam_handle_t *pamh, + if (found) + { + const char delimiters[] = ","; +- struct crypt_data output; + char *running; + char *oldpass; + +- memset (&output, 0, sizeof (output)); +- + running = strdupa (entry.old_passwords); + if (running == NULL) + return PAM_BUF_ERR; +@@ -180,7 +194,7 @@ check_old_password (pam_handle_t *pamh, + do { + oldpass = strsep (&running, delimiters); + if (oldpass && strlen (oldpass) > 0 && +- strcmp (crypt_r (newpass, oldpass, &output), oldpass) == 0) ++ compare_password(newpass, oldpass) ) + { + if (debug) + pam_syslog (pamh, LOG_DEBUG, "New password already used"); +Index: Linux-PAM-1.1.0/configure.in +=================================================================== +--- Linux-PAM-1.1.0.orig/configure.in ++++ Linux-PAM-1.1.0/configure.in +@@ -458,7 +458,7 @@ AC_FUNC_MEMCMP + AC_FUNC_VPRINTF + AC_CHECK_FUNCS(fseeko gethostname gettimeofday lckpwdf mkdir select) + AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname) +-AC_CHECK_FUNCS(getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r) ++AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r) + AC_CHECK_FUNCS(getgrouplist getline getdelim) + AC_CHECK_FUNCS(inet_ntop inet_pton ruserok_af) + +Index: Linux-PAM-1.1.0/modules/pam_timestamp/pam_timestamp.c +=================================================================== +--- Linux-PAM-1.1.0.orig/modules/pam_timestamp/pam_timestamp.c ++++ Linux-PAM-1.1.0/modules/pam_timestamp/pam_timestamp.c +@@ -200,7 +200,13 @@ check_login_time(const char *ruser, time + time_t oldest_login = 0; + + setutent(); +- while(!getutent_r(&utbuf, &ut)) { ++ while( ++#ifdef HAVE_GETUTENT_R ++ !getutent_r(&utbuf, &ut) ++#else ++ (ut = getutent()) != NULL ++#endif ++ ) { + if (ut->ut_type != USER_PROCESS) { + continue; + } diff --git a/recipes/pam/libpam-1.1.1/define-HAVE_DBM.patch b/recipes/pam/libpam-1.1.1/define-HAVE_DBM.patch new file mode 100644 index 0000000000..eceb67dc3b --- /dev/null +++ b/recipes/pam/libpam-1.1.1/define-HAVE_DBM.patch @@ -0,0 +1,12 @@ +Index: Linux-PAM-1.1.0/modules/pam_userdb/pam_userdb.c +=================================================================== +--- Linux-PAM-1.1.0.orig/modules/pam_userdb/pam_userdb.c 2010-06-08 14:19:25.147555285 -0700 ++++ Linux-PAM-1.1.0/modules/pam_userdb/pam_userdb.c 2010-06-08 14:20:50.707692049 -0700 +@@ -30,6 +30,7 @@ + #else + # ifdef HAVE_DB_H + # define DB_DBM_HSEARCH 1 /* use the dbm interface */ ++# define HAVE_DBM /* for BerkDB 5.0 and later */ + # include <db.h> + # else + # error "failed to find a libdb or equivalent" diff --git a/recipes/pam/libpam-1.1.1/disable_modules_uclibc.patch b/recipes/pam/libpam-1.1.1/disable_modules_uclibc.patch new file mode 100644 index 0000000000..14cc60aacd --- /dev/null +++ b/recipes/pam/libpam-1.1.1/disable_modules_uclibc.patch @@ -0,0 +1,16 @@ +Index: Linux-PAM-1.1.0/modules/Makefile.am +=================================================================== +--- Linux-PAM-1.1.0.orig/modules/Makefile.am 2008-11-28 15:29:12.000000000 +0100 ++++ Linux-PAM-1.1.0/modules/Makefile.am 2009-11-24 22:28:13.248314306 +0100 +@@ -7,9 +7,9 @@ + pam_group pam_issue pam_keyinit pam_lastlog pam_limits \ + pam_listfile pam_localuser pam_loginuid pam_mail \ + pam_mkhomedir pam_motd pam_namespace pam_nologin \ +- pam_permit pam_pwhistory pam_rhosts pam_rootok pam_securetty \ ++ pam_permit pam_rhosts pam_rootok pam_securetty \ + pam_selinux pam_sepermit pam_shells pam_stress \ +- pam_succeed_if pam_tally pam_tally2 pam_time pam_timestamp \ ++ pam_succeed_if pam_tally pam_tally2 pam_time \ + pam_tty_audit pam_umask \ + pam_unix pam_userdb pam_warn pam_wheel pam_xauth + diff --git a/recipes/pam/libpam-1.1.1/pam-nodocs.patch b/recipes/pam/libpam-1.1.1/pam-nodocs.patch new file mode 100644 index 0000000000..895f0e182a --- /dev/null +++ b/recipes/pam/libpam-1.1.1/pam-nodocs.patch @@ -0,0 +1,35 @@ +--- /tmp/Makefile.am 2008-09-05 15:16:21.000000000 +0200 ++++ Linux-PAM-1.0.2/Makefile.am 2008-09-05 15:16:56.153198000 +0200 +@@ -5,9 +5,9 @@ + AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 check-news + + if STATIC_MODULES +-SUBDIRS = modules libpam libpamc libpam_misc tests po conf doc examples xtests ++SUBDIRS = modules libpam libpamc libpam_misc tests po conf examples xtests + else +-SUBDIRS = libpam tests libpamc libpam_misc modules po conf doc examples xtests ++SUBDIRS = libpam tests libpamc libpam_misc modules po conf examples xtests + endif + + CLEANFILES = *~ +@@ -28,19 +28,7 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-release: dist releasedocs +- +-release-docs: releasedocs +- +-releasedocs: +- rm -rf Linux-PAM-$(VERSION) +- mkdir -p Linux-PAM-$(VERSION)/doc +- make -C doc releasedocs +- tar zfc Linux-PAM-$(VERSION)-docs.tar.gz \ +- Linux-PAM-$(VERSION)/doc +- tar jfc Linux-PAM-$(VERSION)-docs.tar.bz2 \ +- Linux-PAM-$(VERSION)/doc +- rm -rf Linux-PAM-$(VERSION) ++release: dist + + xtests: + make -C xtests xtests |