keepalive message not sent?

Ahilan Anantha aanantha at riverbed.com
Tue Sep 14 11:16:23 WST 2010


Ahilan Anantha <ahilan.anantha <at> gmail.com> writes:
[snip]
> But I don't know why it works when launching dbclient from the shell.
> You'd think it would just always kick dbclient.
> 

I misread the OpenSSH code. I read the "if" but not the "else" block. If
OpenSSH finds an "open session suitable for keepaliving" it will send an
SSH_MSG_CHANNEL_REQUEST.

dbclient does appear to service that. So probably that is what is happening
when there's an actual shell session.

Only when it can't find such a session, will it send an
SSH_MSG_GLOBAL_REQUEST... which dbclient does not implement. I suspect
that's what's going on when you ran dbclient in such a way that it only
has a tunnel.

I think it is fixable by just adding a handler for SSH_MSG_GLOBAL_REQUEST
for the dropbear client loop that just sends back SSH_MSG_REQUEST_FAILURE.

Ahilan



More information about the Dropbear mailing list