upstream commit
switch auth2-passwd.c to modern APIs; ok djm@ Upstream-ID: cba0a8b72b4f97adfb7e3b3fd2f8ba3159981fc7
This commit is contained in:
parent
eb76698b91
commit
60306b2d2f
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue