SSH: Take more care when closing channels.

We can't just pretend a channel is already gone after we request it to
close; it's only closed when the server has sent the acknowledgement.

Change-Id: Ib6e8b9bf77635995259885af13755f5fc0e825a9
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
Christian Kandeler
2012-08-17 17:33:06 +02:00
parent 1e71dccc9e
commit d6e85d5522
5 changed files with 25 additions and 6 deletions

View File

@@ -55,7 +55,10 @@ public:
QSharedPointer<SshRemoteProcess> createRemoteProcess(const QByteArray &command);
QSharedPointer<SshRemoteProcess> createRemoteShell();
QSharedPointer<SftpChannel> createSftpChannel();
int closeAllChannels();
int channelCount() const;
enum CloseAllMode { CloseAllRegular, CloseAllAndReset };
int closeAllChannels(CloseAllMode mode);
void handleChannelRequest(const SshIncomingPacket &packet);
void handleChannelOpen(const SshIncomingPacket &packet);