diff options
author | Damien Miller <djm@mindrot.org> | 2001-12-21 15:00:19 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2001-12-21 15:00:19 +1100 |
commit | 278f907a2d6d00d6f52a11bf9577648aadbf0994 (patch) | |
tree | 50f885a7fd73b813754e3b675e810dc01ba78b78 /sshconnect2.c | |
parent | e737856350287104a12f5a97c81fad1f7bcd7096 (diff) |
- djm@cvs.openbsd.org 2001/12/20 22:50:24
[auth2.c auth2-chall.c channels.c channels.h clientloop.c dispatch.c]
[dispatch.h kex.c kex.h packet.c packet.h serverloop.c ssh.c]
[sshconnect2.c]
Conformance fix: we should send failing packet sequence number when
responding with a SSH_MSG_UNIMPLEMENTED message. Spotted by
yakk@yakk.dot.net; ok markus@
Diffstat (limited to 'sshconnect2.c')
-rw-r--r-- | sshconnect2.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sshconnect2.c b/sshconnect2.c index 8689da087..d7143cd18 100644 --- a/sshconnect2.c +++ b/sshconnect2.c | |||
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: sshconnect2.c,v 1.88 2001/12/19 07:18:56 deraadt Exp $"); | 26 | RCSID("$OpenBSD: sshconnect2.c,v 1.89 2001/12/20 22:50:24 djm Exp $"); |
27 | 27 | ||
28 | #include <openssl/bn.h> | 28 | #include <openssl/bn.h> |
29 | #include <openssl/md5.h> | 29 | #include <openssl/md5.h> |
@@ -174,12 +174,12 @@ struct Authmethod { | |||
174 | int *batch_flag; /* flag in option struct that disables method */ | 174 | int *batch_flag; /* flag in option struct that disables method */ |
175 | }; | 175 | }; |
176 | 176 | ||
177 | void input_userauth_success(int, int, void *); | 177 | void input_userauth_success(int, int, u_int32_t, void *); |
178 | void input_userauth_failure(int, int, void *); | 178 | void input_userauth_failure(int, int, u_int32_t, void *); |
179 | void input_userauth_banner(int, int, void *); | 179 | void input_userauth_banner(int, int, u_int32_t, void *); |
180 | void input_userauth_error(int, int, void *); | 180 | void input_userauth_error(int, int, u_int32_t, void *); |
181 | void input_userauth_info_req(int, int, void *); | 181 | void input_userauth_info_req(int, int, u_int32_t, void *); |
182 | void input_userauth_pk_ok(int, int, void *); | 182 | void input_userauth_pk_ok(int, int, u_int32_t, void *); |
183 | 183 | ||
184 | int userauth_none(Authctxt *); | 184 | int userauth_none(Authctxt *); |
185 | int userauth_pubkey(Authctxt *); | 185 | int userauth_pubkey(Authctxt *); |
@@ -308,13 +308,13 @@ userauth(Authctxt *authctxt, char *authlist) | |||
308 | } | 308 | } |
309 | } | 309 | } |
310 | void | 310 | void |
311 | input_userauth_error(int type, int plen, void *ctxt) | 311 | input_userauth_error(int type, int plen, u_int32_t seq, void *ctxt) |
312 | { | 312 | { |
313 | fatal("input_userauth_error: bad message during authentication: " | 313 | fatal("input_userauth_error: bad message during authentication: " |
314 | "type %d", type); | 314 | "type %d", type); |
315 | } | 315 | } |
316 | void | 316 | void |
317 | input_userauth_banner(int type, int plen, void *ctxt) | 317 | input_userauth_banner(int type, int plen, u_int32_t seq, void *ctxt) |
318 | { | 318 | { |
319 | char *msg, *lang; | 319 | char *msg, *lang; |
320 | debug3("input_userauth_banner"); | 320 | debug3("input_userauth_banner"); |
@@ -325,7 +325,7 @@ input_userauth_banner(int type, int plen, void *ctxt) | |||
325 | xfree(lang); | 325 | xfree(lang); |
326 | } | 326 | } |
327 | void | 327 | void |
328 | input_userauth_success(int type, int plen, void *ctxt) | 328 | input_userauth_success(int type, int plen, u_int32_t seq, void *ctxt) |
329 | { | 329 | { |
330 | Authctxt *authctxt = ctxt; | 330 | Authctxt *authctxt = ctxt; |
331 | if (authctxt == NULL) | 331 | if (authctxt == NULL) |
@@ -336,7 +336,7 @@ input_userauth_success(int type, int plen, void *ctxt) | |||
336 | authctxt->success = 1; /* break out */ | 336 | authctxt->success = 1; /* break out */ |
337 | } | 337 | } |
338 | void | 338 | void |
339 | input_userauth_failure(int type, int plen, void *ctxt) | 339 | input_userauth_failure(int type, int plen, u_int32_t seq, void *ctxt) |
340 | { | 340 | { |
341 | Authctxt *authctxt = ctxt; | 341 | Authctxt *authctxt = ctxt; |
342 | char *authlist = NULL; | 342 | char *authlist = NULL; |
@@ -357,7 +357,7 @@ input_userauth_failure(int type, int plen, void *ctxt) | |||
357 | userauth(authctxt, authlist); | 357 | userauth(authctxt, authlist); |
358 | } | 358 | } |
359 | void | 359 | void |
360 | input_userauth_pk_ok(int type, int plen, void *ctxt) | 360 | input_userauth_pk_ok(int type, int plen, u_int32_t seq, void *ctxt) |
361 | { | 361 | { |
362 | Authctxt *authctxt = ctxt; | 362 | Authctxt *authctxt = ctxt; |
363 | Key *key = NULL; | 363 | Key *key = NULL; |
@@ -768,7 +768,7 @@ userauth_kbdint(Authctxt *authctxt) | |||
768 | * parse INFO_REQUEST, prompt user and send INFO_RESPONSE | 768 | * parse INFO_REQUEST, prompt user and send INFO_RESPONSE |
769 | */ | 769 | */ |
770 | void | 770 | void |
771 | input_userauth_info_req(int type, int plen, void *ctxt) | 771 | input_userauth_info_req(int type, int plen, u_int32_t seq, void *ctxt) |
772 | { | 772 | { |
773 | Authctxt *authctxt = ctxt; | 773 | Authctxt *authctxt = ctxt; |
774 | char *name, *inst, *lang, *prompt, *response; | 774 | char *name, *inst, *lang, *prompt, *response; |