diff options
Diffstat (limited to 'cli-session.c')
-rw-r--r-- | cli-session.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cli-session.c b/cli-session.c index 566dd2a..e58fdbd 100644 --- a/cli-session.c +++ b/cli-session.c @@ -133,6 +133,13 @@ static void cli_session_init() { cli_ses.lastprivkey = NULL; cli_ses.lastauthtype = 0; +#ifdef DROPBEAR_NONE_CIPHER + cli_ses.cipher_none_after_auth = get_algo_usable(sshciphers, "none"); + set_algo_usable(sshciphers, "none", 0); +#else + cli_ses.cipher_none_after_auth = 0; +#endif + /* For printing "remote host closed" for the user */ ses.remoteclosed = cli_remoteclosed; ses.buf_match_algo = cli_buf_match_algo; @@ -207,6 +214,14 @@ static void cli_sessionloop() { case USERAUTH_SUCCESS_RCVD: +#ifdef DROPBEAR_NONE_CIPHER + if (cli_ses.cipher_none_after_auth) + { + set_algo_usable(sshciphers, "none", 1); + send_msg_kexinit(); + } +#endif + if (cli_opts.backgrounded) { int devnull; /* keeping stdin open steals input from the terminal and |