summaryrefslogtreecommitdiff
path: root/debian/patches-applied/026_pam_unix_passwd_unknown_user
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-applied/026_pam_unix_passwd_unknown_user')
-rw-r--r--debian/patches-applied/026_pam_unix_passwd_unknown_user35
1 files changed, 13 insertions, 22 deletions
diff --git a/debian/patches-applied/026_pam_unix_passwd_unknown_user b/debian/patches-applied/026_pam_unix_passwd_unknown_user
index bf4a4786..e943999a 100644
--- a/debian/patches-applied/026_pam_unix_passwd_unknown_user
+++ b/debian/patches-applied/026_pam_unix_passwd_unknown_user
@@ -1,19 +1,19 @@
Patch from Martin Schwenke <martin@meltin.net>
-Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
+Index: pam.deb/modules/pam_unix/passverify.c
===================================================================
---- Linux-PAM/modules/pam_unix/pam_unix_passwd.c.orig
-+++ Linux-PAM/modules/pam_unix/pam_unix_passwd.c
-@@ -516,7 +516,7 @@
+--- pam.deb.orig/modules/pam_unix/passverify.c
++++ pam.deb/modules/pam_unix/passverify.c
+@@ -714,7 +714,7 @@
struct passwd *tmpent = NULL;
struct stat st;
FILE *pwfile, *opwfile;
- int err = 1;
+ int err = 1, found = 0;
int oldmask;
-
- oldmask = umask(077);
-@@ -584,6 +584,7 @@
+ #ifdef WITH_SELINUX
+ security_context_t prev_context=NULL;
+@@ -785,6 +785,7 @@
tmpent->pw_passwd = assigned_passwd.charp;
err = 0;
@@ -21,7 +21,7 @@ Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
}
if (putpwent(tmpent, pwfile)) {
D(("error writing entry to password file: %m"));
-@@ -620,7 +621,7 @@
+@@ -826,7 +827,7 @@
return PAM_SUCCESS;
} else {
unlink(PW_TMPFILE);
@@ -30,16 +30,16 @@ Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
}
}
-@@ -629,7 +630,7 @@
+@@ -841,7 +842,7 @@
struct spwd *spwdent = NULL, *stmpent = NULL;
struct stat st;
FILE *pwfile, *opwfile;
- int err = 1;
+ int err = 1, found = 0;
int oldmask;
-
- spwdent = getspnam(forwho);
-@@ -697,6 +698,7 @@
+ #ifdef WITH_SELINUX
+ security_context_t prev_context=NULL;
+@@ -912,6 +913,7 @@
stmpent->sp_pwdp = towhat;
stmpent->sp_lstchg = time(NULL) / (60 * 60 * 24);
err = 0;
@@ -47,7 +47,7 @@ Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
D(("Set password %s for %s", stmpent->sp_pwdp, forwho));
}
-@@ -738,7 +740,7 @@
+@@ -958,7 +960,7 @@
return PAM_SUCCESS;
} else {
unlink(SH_TMPFILE);
@@ -56,12 +56,3 @@ Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
}
}
-@@ -885,7 +887,7 @@
- int retval = PAM_SUCCESS;
-
- /* UNIX passwords area */
-- pwd = getpwnam(user); /* Get password file entry... */
-+ _unix_getpwnam(pamh, user, 1, 0, &pwd); /* Get password *file* entry... */
- if (pwd == NULL)
- return PAM_AUTHINFO_UNAVAIL; /* We don't need to do the rest... */
-