summaryrefslogtreecommitdiff
path: root/sshconnect2.c
diff options
context:
space:
mode:
Diffstat (limited to 'sshconnect2.c')
-rw-r--r--sshconnect2.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/sshconnect2.c b/sshconnect2.c
index 34d72818f..8321c9eb7 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: sshconnect2.c,v 1.34 2000/12/27 12:34:50 markus Exp $"); 26RCSID("$OpenBSD: sshconnect2.c,v 1.35 2001/01/04 22:21:26 markus Exp $");
27 27
28#include <openssl/bn.h> 28#include <openssl/bn.h>
29#include <openssl/rsa.h> 29#include <openssl/rsa.h>
@@ -467,6 +467,7 @@ struct Authmethod {
467 467
468void input_userauth_success(int type, int plen, void *ctxt); 468void input_userauth_success(int type, int plen, void *ctxt);
469void input_userauth_failure(int type, int plen, void *ctxt); 469void input_userauth_failure(int type, int plen, void *ctxt);
470void input_userauth_banner(int type, int plen, void *ctxt);
470void input_userauth_error(int type, int plen, void *ctxt); 471void input_userauth_error(int type, int plen, void *ctxt);
471void input_userauth_info_req(int type, int plen, void *ctxt); 472void input_userauth_info_req(int type, int plen, void *ctxt);
472 473
@@ -543,6 +544,7 @@ ssh_userauth2(const char *server_user, char *host)
543 dispatch_init(&input_userauth_error); 544 dispatch_init(&input_userauth_error);
544 dispatch_set(SSH2_MSG_USERAUTH_SUCCESS, &input_userauth_success); 545 dispatch_set(SSH2_MSG_USERAUTH_SUCCESS, &input_userauth_success);
545 dispatch_set(SSH2_MSG_USERAUTH_FAILURE, &input_userauth_failure); 546 dispatch_set(SSH2_MSG_USERAUTH_FAILURE, &input_userauth_failure);
547 dispatch_set(SSH2_MSG_USERAUTH_BANNER, &input_userauth_banner);
546 dispatch_run(DISPATCH_BLOCK, &authctxt.success, &authctxt); /* loop until success */ 548 dispatch_run(DISPATCH_BLOCK, &authctxt.success, &authctxt); /* loop until success */
547 549
548 if (authctxt.agent != NULL) 550 if (authctxt.agent != NULL)
@@ -553,7 +555,19 @@ ssh_userauth2(const char *server_user, char *host)
553void 555void
554input_userauth_error(int type, int plen, void *ctxt) 556input_userauth_error(int type, int plen, void *ctxt)
555{ 557{
556 fatal("input_userauth_error: bad message during authentication"); 558 fatal("input_userauth_error: bad message during authentication: "
559 "type %d", type);
560}
561void
562input_userauth_banner(int type, int plen, void *ctxt)
563{
564 char *msg, *lang;
565 debug3("input_userauth_banner");
566 msg = packet_get_string(NULL);
567 lang = packet_get_string(NULL);
568 fprintf(stderr, "%s", msg);
569 xfree(msg);
570 xfree(lang);
557} 571}
558void 572void
559input_userauth_success(int type, int plen, void *ctxt) 573input_userauth_success(int type, int plen, void *ctxt)