handlePacket method
void
handlePacket(
- Uint8List packet
)
override
Implementation
@override
void handlePacket(Uint8List packet) {
packetId = packetS.getUint8();
switch (packetId) {
case MSG_KEXINIT.ID:
state = state == SSHTransportState.FIRST_KEXINIT
? SSHTransportState.FIRST_KEXREPLY
: SSHTransportState.KEXREPLY;
handleMSG_KEXINIT(MSG_KEXINIT()..deserialize(packetS), packet);
break;
case MSG_KEXDH_REPLY.ID:
case MSG_KEX_DH_GEX_REPLY.ID:
handleMSG_KEXDH_REPLY(packetId, packet);
break;
case MSG_NEWKEYS.ID:
handleMSG_NEWKEYS();
writeCipher(MSG_SERVICE_REQUEST('ssh-userauth'));
break;
case MSG_SERVICE_ACCEPT.ID:
handleMSG_SERVICE_ACCEPT();
break;
case MSG_USERAUTH_FAILURE.ID:
handleMSG_USERAUTH_FAILURE(
MSG_USERAUTH_FAILURE()..deserialize(packetS));
break;
case MSG_USERAUTH_SUCCESS.ID:
handleMSG_USERAUTH_SUCCESS();
break;
case MSG_USERAUTH_INFO_REQUEST.ID:
handleMSG_USERAUTH_INFO_REQUEST(
MSG_USERAUTH_INFO_REQUEST()..deserialize(packetS));
break;
case MSG_GLOBAL_REQUEST.ID:
handleMSG_GLOBAL_REQUEST(MSG_GLOBAL_REQUEST()..deserialize(packetS));
break;
case MSG_CHANNEL_OPEN.ID:
handleMSG_CHANNEL_OPEN(
MSG_CHANNEL_OPEN()..deserialize(packetS), packetS);
break;
case MSG_CHANNEL_OPEN_CONFIRMATION.ID:
handleMSG_CHANNEL_OPEN_CONFIRMATION(
MSG_CHANNEL_OPEN_CONFIRMATION()..deserialize(packetS));
break;
case MSG_CHANNEL_OPEN_FAILURE.ID:
handleMSG_CHANNEL_OPEN_FAILURE(
MSG_CHANNEL_OPEN_FAILURE()..deserialize(packetS));
break;
case MSG_CHANNEL_WINDOW_ADJUST.ID:
handleMSG_CHANNEL_WINDOW_ADJUST(
MSG_CHANNEL_WINDOW_ADJUST()..deserialize(packetS));
break;
case MSG_CHANNEL_DATA.ID:
handleMSG_CHANNEL_DATA(MSG_CHANNEL_DATA()..deserialize(packetS));
break;
case MSG_CHANNEL_EOF.ID:
handleMSG_CHANNEL_EOF(MSG_CHANNEL_EOF()..deserialize(packetS));
break;
case MSG_CHANNEL_CLOSE.ID:
handleMSG_CHANNEL_CLOSE(MSG_CHANNEL_CLOSE()..deserialize(packetS));
break;
case MSG_CHANNEL_REQUEST.ID:
handleMSG_CHANNEL_REQUEST(MSG_CHANNEL_REQUEST()..deserialize(packetS));
break;
case MSG_CHANNEL_SUCCESS.ID:
if (tracePrint != null) {
tracePrint('$hostport: MSG_CHANNEL_SUCCESS');
}
break;
case MSG_CHANNEL_FAILURE.ID:
if (tracePrint != null) {
tracePrint('$hostport: MSG_CHANNEL_FAILURE');
}
break;
case MSG_DISCONNECT.ID:
handleMSG_DISCONNECT(MSG_DISCONNECT()..deserialize(packetS));
break;
case MSG_IGNORE.ID:
handleMSG_IGNORE(MSG_IGNORE()..deserialize(packetS));
break;
case MSG_DEBUG.ID:
handleMSG_DEBUG(MSG_DEBUG()..deserialize(packetS));
break;
default:
if (print != null) {
print('$hostport: unknown packet number: $packetId, len $packetLen');
}
break;
}
}