=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/auth1.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- src/usr.bin/ssh/Attic/auth1.c 2002/03/18 17:50:31 1.38 +++ src/usr.bin/ssh/Attic/auth1.c 2002/03/19 14:27:39 1.39 @@ -10,7 +10,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: auth1.c,v 1.38 2002/03/18 17:50:31 provos Exp $"); +RCSID("$OpenBSD: auth1.c,v 1.39 2002/03/19 14:27:39 markus Exp $"); #include "xmalloc.h" #include "rsa.h" @@ -24,7 +24,6 @@ #include "auth.h" #include "channels.h" #include "session.h" -#include "misc.h" #include "uidswap.h" #include "monitor_wrap.h" @@ -323,7 +322,6 @@ do_authentication(void) { Authctxt *authctxt; - struct passwd *pw = NULL, *pwent; u_int ulen; char *p, *user, *style = NULL; @@ -346,28 +344,20 @@ authctxt->style = style; /* Verify that the user is a valid user. */ - pwent = PRIVSEP(getpwnamallow(user)); - if (pwent) { + if ((authctxt->pw = PRIVSEP(getpwnamallow(user))) != NULL) authctxt->valid = 1; - pw = pwcopy(pwent); - } else { + else debug("do_authentication: illegal user %s", user); - pw = NULL; - } - /* Free memory */ - if (use_privsep && pwent != NULL) - pwfree(pwent); - authctxt->pw = pw; - - setproctitle("%s%s", pw ? user : "unknown", + setproctitle("%s%s", authctxt->pw ? user : "unknown", use_privsep ? " [net]" : ""); /* * If we are not running as root, the user must have the same uid as * the server. */ - if (!use_privsep && getuid() != 0 && pw && pw->pw_uid != getuid()) + if (!use_privsep && getuid() != 0 && authctxt->pw && + authctxt->pw->pw_uid != getuid()) packet_disconnect("Cannot change user when server not running as root."); /*