upstream commit
protocol handlers all get struct ssh passed; ok djm@ Upstream-ID: 0ca9ea2a5d01a6d2ded94c5024456a930c5bfb5d
This commit is contained in:
parent
94583beb24
commit
2ae666a8fc
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: auth2-chall.c,v 1.46 2017/05/30 14:18:15 markus Exp $ */
|
||||
/* $OpenBSD: auth2-chall.c,v 1.47 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2001 Per Allansson. All rights reserved.
|
||||
|
@ -49,7 +49,7 @@ extern ServerOptions options;
|
|||
|
||||
static int auth2_challenge_start(Authctxt *);
|
||||
static int send_userauth_info_request(Authctxt *);
|
||||
static int input_userauth_info_response(int, u_int32_t, void *);
|
||||
static int input_userauth_info_response(int, u_int32_t, struct ssh *);
|
||||
|
||||
#ifdef BSD_AUTH
|
||||
extern KbdintDevice bsdauth_device;
|
||||
|
@ -285,9 +285,8 @@ send_userauth_info_request(Authctxt *authctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
input_userauth_info_response(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_info_response(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
KbdintAuthctxt *kbdintctxt;
|
||||
int authenticated = 0, res;
|
||||
|
|
22
auth2-gss.c
22
auth2-gss.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: auth2-gss.c,v 1.23 2017/05/30 14:18:15 markus Exp $ */
|
||||
/* $OpenBSD: auth2-gss.c,v 1.24 2017/05/30 14:23:52 markus Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
||||
|
@ -48,10 +48,10 @@
|
|||
|
||||
extern ServerOptions options;
|
||||
|
||||
static int input_gssapi_token(int type, u_int32_t plen, void *ctxt);
|
||||
static int input_gssapi_mic(int type, u_int32_t plen, void *ctxt);
|
||||
static int input_gssapi_exchange_complete(int type, u_int32_t plen, void *ctxt);
|
||||
static int input_gssapi_errtok(int, u_int32_t, void *);
|
||||
static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh);
|
||||
static int input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh);
|
||||
static int input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh);
|
||||
static int input_gssapi_errtok(int, u_int32_t, struct ssh *);
|
||||
|
||||
/*
|
||||
* We only support those mechanisms that we know about (ie ones that we know
|
||||
|
@ -127,9 +127,8 @@ userauth_gssapi(Authctxt *authctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
input_gssapi_token(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Gssctxt *gssctxt;
|
||||
gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
|
||||
|
@ -183,9 +182,8 @@ input_gssapi_token(int type, u_int32_t plen, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
input_gssapi_errtok(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Gssctxt *gssctxt;
|
||||
gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
|
||||
|
@ -225,9 +223,8 @@ input_gssapi_errtok(int type, u_int32_t plen, void *ctxt)
|
|||
*/
|
||||
|
||||
static int
|
||||
input_gssapi_exchange_complete(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
int authenticated;
|
||||
|
||||
|
@ -253,9 +250,8 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
input_gssapi_mic(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Gssctxt *gssctxt;
|
||||
int authenticated = 0;
|
||||
|
|
12
auth2.c
12
auth2.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: auth2.c,v 1.138 2017/05/30 14:18:15 markus Exp $ */
|
||||
/* $OpenBSD: auth2.c,v 1.139 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||
*
|
||||
|
@ -87,8 +87,8 @@ Authmethod *authmethods[] = {
|
|||
|
||||
/* protocol */
|
||||
|
||||
static int input_service_request(int, u_int32_t, void *);
|
||||
static int input_userauth_request(int, u_int32_t, void *);
|
||||
static int input_service_request(int, u_int32_t, struct ssh *);
|
||||
static int input_userauth_request(int, u_int32_t, struct ssh *);
|
||||
|
||||
/* helper */
|
||||
static Authmethod *authmethod_lookup(Authctxt *, const char *);
|
||||
|
@ -178,9 +178,8 @@ do_authentication2(Authctxt *authctxt)
|
|||
|
||||
/*ARGSUSED*/
|
||||
static int
|
||||
input_service_request(int type, u_int32_t seq, void *ctxt)
|
||||
input_service_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
u_int len;
|
||||
int acceptit = 0;
|
||||
|
@ -214,9 +213,8 @@ input_service_request(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/*ARGSUSED*/
|
||||
static int
|
||||
input_userauth_request(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Authmethod *m = NULL;
|
||||
char *user, *service, *method, *style = NULL;
|
||||
|
|
37
channels.c
37
channels.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: channels.c,v 1.362 2017/05/30 08:49:58 markus Exp $ */
|
||||
/* $OpenBSD: channels.c,v 1.363 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -2394,9 +2394,8 @@ channel_proxy_downstream(Channel *downstream)
|
|||
* replaces local (proxy) channel ID with downstream channel ID.
|
||||
*/
|
||||
int
|
||||
channel_proxy_upstream(Channel *c, int type, u_int32_t seq, void *ctxt)
|
||||
channel_proxy_upstream(Channel *c, int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = active_state;
|
||||
struct sshbuf *b = NULL;
|
||||
Channel *downstream;
|
||||
const u_char *cp = NULL;
|
||||
|
@ -2476,7 +2475,7 @@ channel_proxy_upstream(Channel *c, int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_data(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_data(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id;
|
||||
const u_char *data;
|
||||
|
@ -2488,7 +2487,7 @@ channel_input_data(int type, u_int32_t seq, void *ctxt)
|
|||
c = channel_lookup(id);
|
||||
if (c == NULL)
|
||||
packet_disconnect("Received data for nonexistent channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
|
||||
/* Ignore any data for non-open channels (might happen on close) */
|
||||
|
@ -2536,7 +2535,7 @@ channel_input_data(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_extended_data(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_extended_data(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id;
|
||||
char *data;
|
||||
|
@ -2549,7 +2548,7 @@ channel_input_extended_data(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
if (c == NULL)
|
||||
packet_disconnect("Received extended_data for bad channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
if (c->type != SSH_CHANNEL_OPEN) {
|
||||
logit("channel %d: ext data for non open", id);
|
||||
|
@ -2586,7 +2585,7 @@ channel_input_extended_data(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_ieof(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_ieof(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id;
|
||||
Channel *c;
|
||||
|
@ -2596,7 +2595,7 @@ channel_input_ieof(int type, u_int32_t seq, void *ctxt)
|
|||
c = channel_lookup(id);
|
||||
if (c == NULL)
|
||||
packet_disconnect("Received ieof for nonexistent channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
chan_rcvd_ieof(c);
|
||||
|
||||
|
@ -2612,14 +2611,14 @@ channel_input_ieof(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_oclose(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_oclose(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id = packet_get_int();
|
||||
Channel *c = channel_lookup(id);
|
||||
|
||||
if (c == NULL)
|
||||
packet_disconnect("Received oclose for nonexistent channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
packet_check_eom();
|
||||
chan_rcvd_oclose(c);
|
||||
|
@ -2628,7 +2627,7 @@ channel_input_oclose(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_open_confirmation(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_open_confirmation(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id, remote_id;
|
||||
Channel *c;
|
||||
|
@ -2639,7 +2638,7 @@ channel_input_open_confirmation(int type, u_int32_t seq, void *ctxt)
|
|||
if (c==NULL)
|
||||
packet_disconnect("Received open confirmation for "
|
||||
"unknown channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
if (c->type != SSH_CHANNEL_OPENING)
|
||||
packet_disconnect("Received open confirmation for "
|
||||
|
@ -2680,7 +2679,7 @@ reason2txt(int reason)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_open_failure(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_open_failure(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
int id, reason;
|
||||
char *msg = NULL, *lang = NULL;
|
||||
|
@ -2692,7 +2691,7 @@ channel_input_open_failure(int type, u_int32_t seq, void *ctxt)
|
|||
if (c==NULL)
|
||||
packet_disconnect("Received open failure for "
|
||||
"unknown channel %d.", id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
if (c->type != SSH_CHANNEL_OPENING)
|
||||
packet_disconnect("Received open failure for "
|
||||
|
@ -2719,7 +2718,7 @@ channel_input_open_failure(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_window_adjust(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_window_adjust(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c;
|
||||
int id;
|
||||
|
@ -2733,7 +2732,7 @@ channel_input_window_adjust(int type, u_int32_t seq, void *ctxt)
|
|||
logit("Received window adjust for non-open channel %d.", id);
|
||||
return 0;
|
||||
}
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
adjust = packet_get_int();
|
||||
packet_check_eom();
|
||||
|
@ -2747,7 +2746,7 @@ channel_input_window_adjust(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
channel_input_status_confirm(int type, u_int32_t seq, void *ctxt)
|
||||
channel_input_status_confirm(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c;
|
||||
struct channel_confirm *cc;
|
||||
|
@ -2763,7 +2762,7 @@ channel_input_status_confirm(int type, u_int32_t seq, void *ctxt)
|
|||
logit("channel_input_status_confirm: %d: unknown", id);
|
||||
return 0;
|
||||
}
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
packet_check_eom();
|
||||
if ((cc = TAILQ_FIRST(&c->status_confirms)) == NULL)
|
||||
|
|
22
channels.h
22
channels.h
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: channels.h,v 1.125 2017/05/26 19:35:50 markus Exp $ */
|
||||
/* $OpenBSD: channels.h,v 1.126 2017/05/30 14:23:52 markus Exp $ */
|
||||
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
|
@ -61,6 +61,7 @@
|
|||
|
||||
#define CHANNEL_CANCEL_PORT_STATIC -1
|
||||
|
||||
struct ssh;
|
||||
struct Channel;
|
||||
typedef struct Channel Channel;
|
||||
|
||||
|
@ -232,18 +233,19 @@ void channel_send_window_changes(void);
|
|||
/* mux proxy support */
|
||||
|
||||
int channel_proxy_downstream(Channel *mc);
|
||||
int channel_proxy_upstream(Channel *, int, u_int32_t, void *);
|
||||
int channel_proxy_upstream(Channel *, int, u_int32_t, struct ssh *);
|
||||
|
||||
/* protocol handler */
|
||||
|
||||
int channel_input_data(int, u_int32_t, void *);
|
||||
int channel_input_extended_data(int, u_int32_t, void *);
|
||||
int channel_input_ieof(int, u_int32_t, void *);
|
||||
int channel_input_oclose(int, u_int32_t, void *);
|
||||
int channel_input_open_confirmation(int, u_int32_t, void *);
|
||||
int channel_input_open_failure(int, u_int32_t, void *);
|
||||
int channel_input_window_adjust(int, u_int32_t, void *);
|
||||
int channel_input_status_confirm(int, u_int32_t, void *);
|
||||
int channel_input_data(int, u_int32_t, struct ssh *);
|
||||
int channel_input_extended_data(int, u_int32_t, struct ssh *);
|
||||
int channel_input_ieof(int, u_int32_t, struct ssh *);
|
||||
int channel_input_oclose(int, u_int32_t, struct ssh *);
|
||||
int channel_input_open_confirmation(int, u_int32_t, struct ssh *);
|
||||
int channel_input_open_failure(int, u_int32_t, struct ssh *);
|
||||
int channel_input_port_open(int, u_int32_t, struct ssh *);
|
||||
int channel_input_window_adjust(int, u_int32_t, struct ssh *);
|
||||
int channel_input_status_confirm(int, u_int32_t, struct ssh *);
|
||||
|
||||
/* file descriptor handling (read/write) */
|
||||
|
||||
|
|
12
clientloop.c
12
clientloop.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: clientloop.c,v 1.296 2017/05/03 21:08:09 naddy Exp $ */
|
||||
/* $OpenBSD: clientloop.c,v 1.297 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -459,7 +459,7 @@ client_check_window_change(void)
|
|||
}
|
||||
|
||||
static int
|
||||
client_global_request_reply(int type, u_int32_t seq, void *ctxt)
|
||||
client_global_request_reply(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct global_confirm *gc;
|
||||
|
||||
|
@ -1642,7 +1642,7 @@ client_request_tun_fwd(int tun_mode, int local_tun, int remote_tun)
|
|||
|
||||
/* XXXX move to generic input handler */
|
||||
static int
|
||||
client_input_channel_open(int type, u_int32_t seq, void *ctxt)
|
||||
client_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c = NULL;
|
||||
char *ctype;
|
||||
|
@ -1698,7 +1698,7 @@ client_input_channel_open(int type, u_int32_t seq, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
client_input_channel_req(int type, u_int32_t seq, void *ctxt)
|
||||
client_input_channel_req(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c = NULL;
|
||||
int exitval, id, reply, success = 0;
|
||||
|
@ -1706,7 +1706,7 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
id = packet_get_int();
|
||||
c = channel_lookup(id);
|
||||
if (channel_proxy_upstream(c, type, seq, ctxt))
|
||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||
return 0;
|
||||
rtype = packet_get_string(NULL);
|
||||
reply = packet_get_char();
|
||||
|
@ -2136,7 +2136,7 @@ client_input_hostkeys(void)
|
|||
}
|
||||
|
||||
static int
|
||||
client_input_global_request(int type, u_int32_t seq, void *ctxt)
|
||||
client_input_global_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
char *rtype;
|
||||
int want_reply;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: dispatch.c,v 1.29 2017/04/30 23:28:42 djm Exp $ */
|
||||
/* $OpenBSD: dispatch.c,v 1.30 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||
*
|
||||
|
@ -38,9 +38,8 @@
|
|||
#include "ssherr.h"
|
||||
|
||||
int
|
||||
dispatch_protocol_error(int type, u_int32_t seq, void *ctx)
|
||||
dispatch_protocol_error(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = active_state; /* XXX */
|
||||
int r;
|
||||
|
||||
logit("dispatch_protocol_error: type %d seq %u", type, seq);
|
||||
|
@ -53,7 +52,7 @@ dispatch_protocol_error(int type, u_int32_t seq, void *ctx)
|
|||
}
|
||||
|
||||
int
|
||||
dispatch_protocol_ignore(int type, u_int32_t seq, void *ssh)
|
||||
dispatch_protocol_ignore(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
logit("dispatch_protocol_ignore: type %d seq %u", type, seq);
|
||||
return 0;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: dispatch.h,v 1.12 2015/01/19 20:07:45 markus Exp $ */
|
||||
/* $OpenBSD: dispatch.h,v 1.13 2017/05/30 14:23:52 markus Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||
|
@ -36,10 +36,10 @@ enum {
|
|||
|
||||
struct ssh;
|
||||
|
||||
typedef int dispatch_fn(int, u_int32_t, void *);
|
||||
typedef int dispatch_fn(int, u_int32_t, struct ssh *);
|
||||
|
||||
int dispatch_protocol_error(int, u_int32_t, void *);
|
||||
int dispatch_protocol_ignore(int, u_int32_t, void *);
|
||||
int dispatch_protocol_error(int, u_int32_t, struct ssh *);
|
||||
int dispatch_protocol_ignore(int, u_int32_t, struct ssh *);
|
||||
void ssh_dispatch_init(struct ssh *, dispatch_fn *);
|
||||
void ssh_dispatch_set(struct ssh *, int, dispatch_fn *);
|
||||
void ssh_dispatch_range(struct ssh *, u_int, u_int, dispatch_fn *);
|
||||
|
|
16
kex.c
16
kex.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kex.c,v 1.132 2017/04/30 23:10:43 djm Exp $ */
|
||||
/* $OpenBSD: kex.c,v 1.133 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||
*
|
||||
|
@ -56,7 +56,7 @@
|
|||
|
||||
/* prototype */
|
||||
static int kex_choose_conf(struct ssh *);
|
||||
static int kex_input_newkeys(int, u_int32_t, void *);
|
||||
static int kex_input_newkeys(int, u_int32_t, struct ssh *);
|
||||
|
||||
static const char *proposal_names[PROPOSAL_MAX] = {
|
||||
"KEX algorithms",
|
||||
|
@ -315,9 +315,8 @@ kex_prop_free(char **proposal)
|
|||
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
kex_protocol_error(int type, u_int32_t seq, void *ctxt)
|
||||
kex_protocol_error(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = active_state; /* XXX */
|
||||
int r;
|
||||
|
||||
error("kex protocol error: type %d seq %u", type, seq);
|
||||
|
@ -375,9 +374,8 @@ kex_send_newkeys(struct ssh *ssh)
|
|||
}
|
||||
|
||||
int
|
||||
kex_input_ext_info(int type, u_int32_t seq, void *ctxt)
|
||||
kex_input_ext_info(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
u_int32_t i, ninfo;
|
||||
char *name, *val, *found;
|
||||
|
@ -414,9 +412,8 @@ kex_input_ext_info(int type, u_int32_t seq, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
kex_input_newkeys(int type, u_int32_t seq, void *ctxt)
|
||||
kex_input_newkeys(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
int r;
|
||||
|
||||
|
@ -467,9 +464,8 @@ kex_send_kexinit(struct ssh *ssh)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
kex_input_kexinit(int type, u_int32_t seq, void *ctxt)
|
||||
kex_input_kexinit(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
const u_char *ptr;
|
||||
u_int i;
|
||||
|
|
6
kex.h
6
kex.h
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kex.h,v 1.82 2017/05/03 21:08:09 naddy Exp $ */
|
||||
/* $OpenBSD: kex.h,v 1.83 2017/05/30 14:23:52 markus Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||
|
@ -181,8 +181,8 @@ int kex_prop2buf(struct sshbuf *, char *proposal[PROPOSAL_MAX]);
|
|||
void kex_prop_free(char **);
|
||||
|
||||
int kex_send_kexinit(struct ssh *);
|
||||
int kex_input_kexinit(int, u_int32_t, void *);
|
||||
int kex_input_ext_info(int, u_int32_t, void *);
|
||||
int kex_input_kexinit(int, u_int32_t, struct ssh *);
|
||||
int kex_input_ext_info(int, u_int32_t, struct ssh *);
|
||||
int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *);
|
||||
int kex_derive_keys_bn(struct ssh *, u_char *, u_int, const BIGNUM *);
|
||||
int kex_send_newkeys(struct ssh *);
|
||||
|
|
7
kexdhc.c
7
kexdhc.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexdhc.c,v 1.19 2016/05/02 10:26:04 djm Exp $ */
|
||||
/* $OpenBSD: kexdhc.c,v 1.20 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
*
|
||||
|
@ -49,7 +49,7 @@
|
|||
#include "ssherr.h"
|
||||
#include "sshbuf.h"
|
||||
|
||||
static int input_kex_dh(int, u_int32_t, void *);
|
||||
static int input_kex_dh(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexdh_client(struct ssh *ssh)
|
||||
|
@ -100,9 +100,8 @@ kexdh_client(struct ssh *ssh)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_dh(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
BIGNUM *dh_server_pub = NULL, *shared_secret = NULL;
|
||||
struct sshkey *server_host_key = NULL;
|
||||
|
|
7
kexdhs.c
7
kexdhs.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexdhs.c,v 1.24 2016/05/02 10:26:04 djm Exp $ */
|
||||
/* $OpenBSD: kexdhs.c,v 1.25 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
*
|
||||
|
@ -49,7 +49,7 @@
|
|||
#include "ssherr.h"
|
||||
#include "sshbuf.h"
|
||||
|
||||
static int input_kex_dh_init(int, u_int32_t, void *);
|
||||
static int input_kex_dh_init(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexdh_server(struct ssh *ssh)
|
||||
|
@ -91,9 +91,8 @@ kexdh_server(struct ssh *ssh)
|
|||
}
|
||||
|
||||
int
|
||||
input_kex_dh_init(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh_init(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
BIGNUM *shared_secret = NULL, *dh_client_pub = NULL;
|
||||
struct sshkey *server_host_public, *server_host_private;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexecdhc.c,v 1.10 2015/01/26 06:10:03 djm Exp $ */
|
||||
/* $OpenBSD: kexecdhc.c,v 1.11 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||
|
@ -49,7 +49,7 @@
|
|||
#include "ssherr.h"
|
||||
#include "sshbuf.h"
|
||||
|
||||
static int input_kex_ecdh_reply(int, u_int32_t, void *);
|
||||
static int input_kex_ecdh_reply(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexecdh_client(struct ssh *ssh)
|
||||
|
@ -95,9 +95,8 @@ kexecdh_client(struct ssh *ssh)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_ecdh_reply(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_ecdh_reply(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
const EC_GROUP *group;
|
||||
EC_POINT *server_public = NULL;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexecdhs.c,v 1.15 2015/12/04 16:41:28 markus Exp $ */
|
||||
/* $OpenBSD: kexecdhs.c,v 1.16 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||
|
@ -47,7 +47,7 @@
|
|||
#include "ssherr.h"
|
||||
#include "sshbuf.h"
|
||||
|
||||
static int input_kex_ecdh_init(int, u_int32_t, void *);
|
||||
static int input_kex_ecdh_init(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexecdh_server(struct ssh *ssh)
|
||||
|
@ -58,9 +58,8 @@ kexecdh_server(struct ssh *ssh)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_ecdh_init(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_ecdh_init(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
EC_POINT *client_public;
|
||||
EC_KEY *server_key = NULL;
|
||||
|
|
12
kexgexc.c
12
kexgexc.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexgexc.c,v 1.24 2017/05/16 16:56:15 djm Exp $ */
|
||||
/* $OpenBSD: kexgexc.c,v 1.25 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
|
@ -51,8 +51,8 @@
|
|||
#include "sshbuf.h"
|
||||
#include "misc.h"
|
||||
|
||||
static int input_kex_dh_gex_group(int, u_int32_t, void *);
|
||||
static int input_kex_dh_gex_reply(int, u_int32_t, void *);
|
||||
static int input_kex_dh_gex_group(int, u_int32_t, struct ssh *);
|
||||
static int input_kex_dh_gex_reply(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexgex_client(struct ssh *ssh)
|
||||
|
@ -89,9 +89,8 @@ kexgex_client(struct ssh *ssh)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_dh_gex_group(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh_gex_group(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
BIGNUM *p = NULL, *g = NULL;
|
||||
int r, bits;
|
||||
|
@ -143,9 +142,8 @@ out:
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_dh_gex_reply(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh_gex_reply(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
BIGNUM *dh_server_pub = NULL, *shared_secret = NULL;
|
||||
struct sshkey *server_host_key = NULL;
|
||||
|
|
12
kexgexs.c
12
kexgexs.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kexgexs.c,v 1.30 2016/09/12 01:22:38 deraadt Exp $ */
|
||||
/* $OpenBSD: kexgexs.c,v 1.31 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
|
@ -54,8 +54,8 @@
|
|||
#include "sshbuf.h"
|
||||
#include "misc.h"
|
||||
|
||||
static int input_kex_dh_gex_request(int, u_int32_t, void *);
|
||||
static int input_kex_dh_gex_init(int, u_int32_t, void *);
|
||||
static int input_kex_dh_gex_request(int, u_int32_t, struct ssh *);
|
||||
static int input_kex_dh_gex_init(int, u_int32_t, struct ssh *);
|
||||
|
||||
int
|
||||
kexgex_server(struct ssh *ssh)
|
||||
|
@ -67,9 +67,8 @@ kexgex_server(struct ssh *ssh)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_dh_gex_request(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
int r;
|
||||
u_int min = 0, max = 0, nbits = 0;
|
||||
|
@ -120,9 +119,8 @@ input_kex_dh_gex_request(int type, u_int32_t seq, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
input_kex_dh_gex_init(int type, u_int32_t seq, void *ctxt)
|
||||
input_kex_dh_gex_init(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
struct kex *kex = ssh->kex;
|
||||
BIGNUM *shared_secret = NULL, *dh_client_pub = NULL;
|
||||
struct sshkey *server_host_public, *server_host_private;
|
||||
|
|
10
serverloop.c
10
serverloop.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: serverloop.c,v 1.191 2017/02/01 02:59:09 dtucker Exp $ */
|
||||
/* $OpenBSD: serverloop.c,v 1.192 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -417,7 +417,7 @@ server_loop2(Authctxt *authctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
server_input_keep_alive(int type, u_int32_t seq, void *ctxt)
|
||||
server_input_keep_alive(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
debug("Got %d/%u for keepalive", type, seq);
|
||||
/*
|
||||
|
@ -579,7 +579,7 @@ server_request_session(void)
|
|||
}
|
||||
|
||||
static int
|
||||
server_input_channel_open(int type, u_int32_t seq, void *ctxt)
|
||||
server_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c = NULL;
|
||||
char *ctype;
|
||||
|
@ -703,7 +703,7 @@ server_input_hostkeys_prove(struct sshbuf **respp)
|
|||
}
|
||||
|
||||
static int
|
||||
server_input_global_request(int type, u_int32_t seq, void *ctxt)
|
||||
server_input_global_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
char *rtype;
|
||||
int want_reply;
|
||||
|
@ -810,7 +810,7 @@ server_input_global_request(int type, u_int32_t seq, void *ctxt)
|
|||
}
|
||||
|
||||
static int
|
||||
server_input_channel_req(int type, u_int32_t seq, void *ctxt)
|
||||
server_input_channel_req(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
Channel *c;
|
||||
int id, reply, success = 0;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: sshconnect2.c,v 1.260 2017/05/30 14:19:15 markus Exp $ */
|
||||
/* $OpenBSD: sshconnect2.c,v 1.261 2017/05/30 14:23:52 markus Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2008 Damien Miller. All rights reserved.
|
||||
|
@ -287,16 +287,16 @@ struct cauthmethod {
|
|||
int *batch_flag; /* flag in option struct that disables method */
|
||||
};
|
||||
|
||||
int input_userauth_service_accept(int, u_int32_t, void *);
|
||||
int input_userauth_ext_info(int, u_int32_t, void *);
|
||||
int input_userauth_success(int, u_int32_t, void *);
|
||||
int input_userauth_success_unexpected(int, u_int32_t, void *);
|
||||
int input_userauth_failure(int, u_int32_t, void *);
|
||||
int input_userauth_banner(int, u_int32_t, void *);
|
||||
int input_userauth_error(int, u_int32_t, void *);
|
||||
int input_userauth_info_req(int, u_int32_t, void *);
|
||||
int input_userauth_pk_ok(int, u_int32_t, void *);
|
||||
int input_userauth_passwd_changereq(int, u_int32_t, void *);
|
||||
int input_userauth_service_accept(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_ext_info(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_success(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_success_unexpected(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_failure(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_banner(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_error(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_info_req(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_pk_ok(int, u_int32_t, struct ssh *);
|
||||
int input_userauth_passwd_changereq(int, u_int32_t, struct ssh *);
|
||||
|
||||
int userauth_none(Authctxt *);
|
||||
int userauth_pubkey(Authctxt *);
|
||||
|
@ -306,11 +306,11 @@ int userauth_hostbased(Authctxt *);
|
|||
|
||||
#ifdef GSSAPI
|
||||
int userauth_gssapi(Authctxt *authctxt);
|
||||
int input_gssapi_response(int type, u_int32_t, void *);
|
||||
int input_gssapi_token(int type, u_int32_t, void *);
|
||||
int input_gssapi_hash(int type, u_int32_t, void *);
|
||||
int input_gssapi_error(int, u_int32_t, void *);
|
||||
int input_gssapi_errtok(int, u_int32_t, void *);
|
||||
int input_gssapi_response(int type, u_int32_t, struct ssh *);
|
||||
int input_gssapi_token(int type, u_int32_t, struct ssh *);
|
||||
int input_gssapi_hash(int type, u_int32_t, struct ssh *);
|
||||
int input_gssapi_error(int, u_int32_t, struct ssh *);
|
||||
int input_gssapi_errtok(int, u_int32_t, struct ssh *);
|
||||
#endif
|
||||
|
||||
void userauth(Authctxt *, char *);
|
||||
|
@ -414,9 +414,8 @@ ssh_userauth2(const char *local_user, const char *server_user, char *host,
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_service_accept(int type, u_int32_t seqnr, void *ctxt)
|
||||
input_userauth_service_accept(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
int r;
|
||||
|
||||
|
@ -448,9 +447,9 @@ input_userauth_service_accept(int type, u_int32_t seqnr, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_ext_info(int type, u_int32_t seqnr, void *ctxt)
|
||||
input_userauth_ext_info(int type, u_int32_t seqnr, struct ssh *ssh)
|
||||
{
|
||||
return kex_input_ext_info(type, seqnr, ctxt);
|
||||
return kex_input_ext_info(type, seqnr, ssh);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -490,7 +489,7 @@ userauth(Authctxt *authctxt, char *authlist)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_error(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_error(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
fatal("input_userauth_error: bad message during authentication: "
|
||||
"type %d", type);
|
||||
|
@ -499,7 +498,7 @@ input_userauth_error(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_banner(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_banner(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
char *msg, *lang;
|
||||
u_int len;
|
||||
|
@ -516,9 +515,8 @@ input_userauth_banner(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_success(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_success(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
|
||||
if (authctxt == NULL)
|
||||
|
@ -534,9 +532,8 @@ input_userauth_success(int type, u_int32_t seq, void *ctxt)
|
|||
}
|
||||
|
||||
int
|
||||
input_userauth_success_unexpected(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_success_unexpected(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
|
||||
if (authctxt == NULL)
|
||||
|
@ -549,9 +546,8 @@ input_userauth_success_unexpected(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_failure(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_failure(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
char *authlist = NULL;
|
||||
int partial;
|
||||
|
@ -576,9 +572,8 @@ input_userauth_failure(int type, u_int32_t seq, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_pk_ok(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_pk_ok(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
struct sshkey *key = NULL;
|
||||
Identity *id = NULL;
|
||||
|
@ -764,9 +759,8 @@ process_gssapi_token(void *ctxt, gss_buffer_t recv_tok)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_gssapi_response(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_response(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Gssctxt *gssctxt;
|
||||
int oidlen;
|
||||
|
@ -806,9 +800,8 @@ input_gssapi_response(int type, u_int32_t plen, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_gssapi_token(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
gss_buffer_desc recv_tok;
|
||||
OM_uint32 status;
|
||||
|
@ -836,9 +829,8 @@ input_gssapi_token(int type, u_int32_t plen, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_gssapi_errtok(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
Gssctxt *gssctxt;
|
||||
gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
|
||||
|
@ -868,7 +860,7 @@ input_gssapi_errtok(int type, u_int32_t plen, void *ctxt)
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_gssapi_error(int type, u_int32_t plen, void *ctxt)
|
||||
input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh)
|
||||
{
|
||||
char *msg;
|
||||
char *lang;
|
||||
|
@ -939,9 +931,8 @@ userauth_passwd(Authctxt *authctxt)
|
|||
*/
|
||||
/* ARGSUSED */
|
||||
int
|
||||
input_userauth_passwd_changereq(int type, u_int32_t seqnr, void *ctxt)
|
||||
input_userauth_passwd_changereq(int type, u_int32_t seqnr, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
char *info, *lang, *password = NULL, *retype = NULL;
|
||||
char prompt[150];
|
||||
|
@ -1570,9 +1561,8 @@ userauth_kbdint(Authctxt *authctxt)
|
|||
* parse INFO_REQUEST, prompt user and send INFO_RESPONSE
|
||||
*/
|
||||
int
|
||||
input_userauth_info_req(int type, u_int32_t seq, void *ctxt)
|
||||
input_userauth_info_req(int type, u_int32_t seq, struct ssh *ssh)
|
||||
{
|
||||
struct ssh *ssh = ctxt;
|
||||
Authctxt *authctxt = ssh->authctxt;
|
||||
char *name, *inst, *lang, *prompt, *response;
|
||||
u_int num_prompts, i;
|
||||
|
|
Loading…
Reference in New Issue