diff --git a/cli-session.c b/cli-session.c index c2e4863ba418bd42fb16c7f744f40f104e061f54..8cd75f8386bf6ebf87709dbb7636b46805e8aeb4 100644 --- a/cli-session.c +++ b/cli-session.c @@ -100,6 +100,7 @@ void cli_connected(int result, int sock, void* userdata, const char *errstring) dropbear_exit("Connect failed: %s", errstring); } ses.sock_in = ses.sock_out = sock; + update_channel_prio(); } void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection *progress) { diff --git a/common-session.c b/common-session.c index 6ca7f547977f02f9e076300fc54471714d56b047..d95c2eea33fbb60d4c27b46406c9c54a510b676f 100644 --- a/common-session.c +++ b/common-session.c @@ -552,6 +552,11 @@ void update_channel_prio() { TRACE(("update_channel_prio")) + if (ses.sock_out < 0) { + TRACE(("leave update_channel_prio: no socket")) + return; + } + new_prio = DROPBEAR_PRIO_BULK; for (i = 0; i < ses.chansize; i++) { struct Channel *channel = ses.channels[i];