summaryrefslogtreecommitdiff
path: root/security/PAM/patches/patch-ap
diff options
context:
space:
mode:
Diffstat (limited to 'security/PAM/patches/patch-ap')
-rw-r--r--security/PAM/patches/patch-ap74
1 files changed, 74 insertions, 0 deletions
diff --git a/security/PAM/patches/patch-ap b/security/PAM/patches/patch-ap
new file mode 100644
index 00000000000..710dbe842db
--- /dev/null
+++ b/security/PAM/patches/patch-ap
@@ -0,0 +1,74 @@
+$NetBSD: patch-ap,v 1.1.1.1 2000/10/21 18:41:54 rh Exp $
+
+--- modules/pam_unix/support.c.orig Sat Oct 21 14:21:48 2000
++++ modules/pam_unix/support.c
+@@ -12,7 +12,10 @@
+ #include <string.h>
+ #include <malloc.h>
+ #include <pwd.h>
++#include <sys/param.h>
++#ifndef BSD
+ #include <shadow.h>
++#endif
+ #include <limits.h>
+ #include <utmp.h>
+
+@@ -99,6 +102,9 @@
+ */
+ char *PAM_getlogin(void)
+ {
++#ifdef BSD
++ return getlogin();
++#else
+ struct utmp *ut, line;
+ char *curr_tty, *retval;
+ static char curr_user[UT_NAMESIZE + 4];
+@@ -120,6 +126,7 @@
+ D(("PAM_getlogin retval: %s", retval));
+
+ return retval;
++#endif
+ }
+
+ /*
+@@ -302,6 +309,7 @@
+ pwd = getpwnam(name); /* Get password file entry... */
+
+ if (pwd != NULL) {
++#ifndef BSD
+ if (strcmp( pwd->pw_passwd, "*NP*" ) == 0)
+ { /* NIS+ */
+ uid_t save_euid, save_uid;
+@@ -339,6 +347,7 @@
+ if (spwdent)
+ salt = x_strdup(spwdent->sp_pwdp);
+ else
++#endif
+ salt = x_strdup(pwd->pw_passwd);
+ }
+ /* Does this user have a password? */
+@@ -450,6 +459,7 @@
+ pwd = getpwnam(name); /* Get password file entry... */
+
+ if (pwd != NULL) {
++#ifndef BSD
+ if (strcmp( pwd->pw_passwd, "*NP*" ) == 0)
+ { /* NIS+ */
+ uid_t save_euid, save_uid;
+@@ -467,7 +477,7 @@
+ return PAM_CRED_INSUFFICIENT;
+ }
+ }
+-
++
+ spwdent = getspnam( name );
+ if (save_uid == pwd->pw_uid)
+ setreuid( save_uid, save_euid );
+@@ -486,6 +496,7 @@
+ if (spwdent)
+ salt = x_strdup(spwdent->sp_pwdp);
+ else
++#endif
+ salt = x_strdup(pwd->pw_passwd);
+ }
+