Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3]: src/lib/libpam/modules Pull up revision 1.4 (requested by luk...



details:   https://anonhg.NetBSD.org/src/rev/ae33074956c7
branches:  netbsd-3
changeset: 576548:ae33074956c7
user:      tron <tron%NetBSD.org@localhost>
date:      Mon Jul 11 11:19:34 2005 +0000

description:
Pull up revision 1.4 (requested by lukem in ticket #539):
check for pwd != in getpw*_r functions.

diffstat:

 lib/libpam/modules/pam_chroot/pam_chroot.c       |   7 ++++---
 lib/libpam/modules/pam_ftpusers/pam_ftpusers.c   |   7 ++++---
 lib/libpam/modules/pam_radius/pam_radius.c       |   7 ++++---
 lib/libpam/modules/pam_rhosts/pam_rhosts.c       |  11 ++++++-----
 lib/libpam/modules/pam_securetty/pam_securetty.c |   7 ++++---
 lib/libpam/modules/pam_self/pam_self.c           |   7 ++++---
 6 files changed, 26 insertions(+), 20 deletions(-)

diffs (180 lines):

diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_chroot/pam_chroot.c
--- a/lib/libpam/modules/pam_chroot/pam_chroot.c        Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_chroot/pam_chroot.c        Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_chroot.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $  */
+/*     $NetBSD: pam_chroot.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $  */
 
 /*-
  * Copyright (c) 2003 Networks Associates Technology, Inc.
@@ -38,7 +38,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_chroot/pam_chroot.c,v 1.3 2003/04/30 00:40:24 des Exp $");
 #else
-__RCSID("$NetBSD: pam_chroot.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $");
+__RCSID("$NetBSD: pam_chroot.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #include <sys/param.h>
@@ -65,7 +65,8 @@
 
        if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS ||
            user == NULL ||
-           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+           pwd == NULL)
                return (PAM_SESSION_ERR);
        if (pwd->pw_uid == 0 && !openpam_get_option(pamh, "also_root"))
                return (PAM_SUCCESS);
diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_ftpusers/pam_ftpusers.c
--- a/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c    Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c    Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_ftpusers.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $        */
+/*     $NetBSD: pam_ftpusers.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $        */
 
 /*-
  * Copyright (c) 2001 Networks Associates Technology, Inc.
@@ -38,7 +38,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c,v 1.1 2002/05/08 00:30:10 des Exp $");
 #else
-__RCSID("$NetBSD: pam_ftpusers.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $");
+__RCSID("$NetBSD: pam_ftpusers.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #include <ctype.h>
@@ -73,7 +73,8 @@
        if (pam_err != PAM_SUCCESS)
                return (pam_err);
        if (user == NULL ||
-           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+           pwd == NULL)
                return (PAM_SERVICE_ERR);
 
        found = 0;
diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_radius/pam_radius.c
--- a/lib/libpam/modules/pam_radius/pam_radius.c        Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_radius/pam_radius.c        Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_radius.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $  */
+/*     $NetBSD: pam_radius.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $  */
 
 /*-
  * Copyright 1998 Juniper Networks, Inc.
@@ -40,7 +40,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.c,v 1.22 2004/06/25 12:32:45 kan Exp $");
 #else
-__RCSID("$NetBSD: pam_radius.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $");
+__RCSID("$NetBSD: pam_radius.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #include <sys/param.h>
@@ -323,7 +323,8 @@
                                if (retval != PAM_SUCCESS)
                                        return (retval);
                                if (getpwnam_r(tmpuser, &pwres, pwbuf,
-                                              sizeof(pwbuf), &pwd) != 0) {
+                                              sizeof(pwbuf), &pwd) != 0 ||
+                                   pwd == NULL) {
                                        pam_set_item(pamh, PAM_USER,
                                            template_user);
                                        PAM_LOG("Using template user");
diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_rhosts/pam_rhosts.c
--- a/lib/libpam/modules/pam_rhosts/pam_rhosts.c        Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_rhosts/pam_rhosts.c        Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_rhosts.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $  */
+/*     $NetBSD: pam_rhosts.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $  */
 
 /*-
  * Copyright (c) 2002 Danny Braniss
@@ -40,7 +40,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_rhosts/pam_rhosts.c,v 1.3 2003/12/11 13:55:16 des Exp $");
 #else
-__RCSID("$NetBSD: pam_rhosts.c,v 1.2.2.1 2005/04/04 17:55:19 tron Exp $");
+__RCSID("$NetBSD: pam_rhosts.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #include <pwd.h>
@@ -59,7 +59,7 @@
 pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
     int argc __unused, const char *argv[] __unused)
 {
-       struct passwd *pw, pwres;
+       struct passwd *pwd, pwres;
        const char *user;
        const void *ruser, *rhost;
        int err, superuser;
@@ -69,9 +69,10 @@
        if (err != PAM_SUCCESS)
                return (err);
 
-       if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pw) != 0)
+       if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+           pwd == NULL)
                return (PAM_USER_UNKNOWN);
-       if (pw->pw_uid == 0 &&
+       if (pwd->pw_uid == 0 &&
            openpam_get_option(pamh, OPT_ALLOW_ROOT) == NULL)
                return (PAM_AUTH_ERR);
 
diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_securetty/pam_securetty.c
--- a/lib/libpam/modules/pam_securetty/pam_securetty.c  Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_securetty/pam_securetty.c  Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_securetty.c,v 1.2.2.1 2005/04/04 17:55:20 tron Exp $       */
+/*     $NetBSD: pam_securetty.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $       */
 
 /*-
  * Copyright (c) 2001 Mark R V Murray
@@ -40,7 +40,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_securetty/pam_securetty.c,v 1.13 2004/02/10 10:13:21 des Exp $");
 #else
-__RCSID("$NetBSD: pam_securetty.c,v 1.2.2.1 2005/04/04 17:55:20 tron Exp $");
+__RCSID("$NetBSD: pam_securetty.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #include <sys/types.h>
@@ -72,7 +72,8 @@
        if (pam_err != PAM_SUCCESS)
                return (pam_err);
        if (user == NULL ||
-           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+           getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+           pwd == NULL)
                return (PAM_SERVICE_ERR);
 
        PAM_LOG("Got user: %s", user);
diff -r f4c1a1aac7c5 -r ae33074956c7 lib/libpam/modules/pam_self/pam_self.c
--- a/lib/libpam/modules/pam_self/pam_self.c    Mon Jul 11 11:19:26 2005 +0000
+++ b/lib/libpam/modules/pam_self/pam_self.c    Mon Jul 11 11:19:34 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pam_self.c,v 1.2.2.1 2005/04/04 17:55:20 tron Exp $    */
+/*     $NetBSD: pam_self.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $    */
 
 /*-
  * Copyright (c) 2001 Mark R V Murray
@@ -40,7 +40,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_self/pam_self.c,v 1.9 2002/04/12 22:27:24 des Exp $");
 #else
-__RCSID("$NetBSD: pam_self.c,v 1.2.2.1 2005/04/04 17:55:20 tron Exp $");
+__RCSID("$NetBSD: pam_self.c,v 1.2.2.2 2005/07/11 11:19:34 tron Exp $");
 #endif
 
 #define _BSD_SOURCE
@@ -71,7 +71,8 @@
        if (pam_err != PAM_SUCCESS)
                return (pam_err);
        if (luser == NULL ||
-           getpwnam_r(luser, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+           getpwnam_r(luser, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+           pwd == NULL)
                return (PAM_AUTH_ERR);
 
        uid = getuid();



Home | Main Index | Thread Index | Old Index