upstream commit

switch auth2-passwd.c to modern APIs; ok djm@

Upstream-ID: cba0a8b72b4f97adfb7e3b3fd2f8ba3159981fc7
This commit is contained in:
markus@openbsd.org 2017-05-30 14:26:49 +00:00 committed by Damien Miller
parent eb76698b91
commit 60306b2d2f
1 changed files with 14 additions and 17 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: auth2-passwd.c,v 1.12 2014/07/15 15:54:14 millert Exp $ */ /* $OpenBSD: auth2-passwd.c,v 1.13 2017/05/30 14:26:49 markus Exp $ */
/* /*
* Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2000 Markus Friedl. All rights reserved.
* *
@ -30,10 +30,10 @@
#include <string.h> #include <string.h>
#include <stdarg.h> #include <stdarg.h>
#include "xmalloc.h"
#include "packet.h" #include "packet.h"
#include "ssherr.h"
#include "log.h" #include "log.h"
#include "key.h" #include "sshkey.h"
#include "hostfile.h" #include "hostfile.h"
#include "auth.h" #include "auth.h"
#include "buffer.h" #include "buffer.h"
@ -50,24 +50,21 @@ extern ServerOptions options;
static int static int
userauth_passwd(Authctxt *authctxt) userauth_passwd(Authctxt *authctxt)
{ {
char *password, *newpass; struct ssh *ssh = active_state; /* XXX */
int authenticated = 0; char *password;
int change; int authenticated = 0, r;
u_int len, newlen; u_char change;
size_t len;
change = packet_get_char(); if ((r = sshpkt_get_u8(ssh, &change)) != 0 ||
password = packet_get_string(&len); (r = sshpkt_get_cstring(ssh, &password, &len)) != 0 ||
if (change) { (change && (r = sshpkt_get_cstring(ssh, NULL, NULL)) != 0) ||
/* discard new password from packet */ (r = sshpkt_get_end(ssh)) != 0)
newpass = packet_get_string(&newlen); fatal("%s: %s", __func__, ssh_err(r));
explicit_bzero(newpass, newlen);
free(newpass);
}
packet_check_eom();
if (change) if (change)
logit("password change not supported"); logit("password change not supported");
else if (PRIVSEP(auth_password(authctxt, password)) == 1) else if (PRIVSEP(auth_password(ssh->authctxt, password)) == 1)
authenticated = 1; authenticated = 1;
explicit_bzero(password, len); explicit_bzero(password, len);
free(password); free(password);