handlePacket method

  1. @override
void handlePacket(
  1. 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;
  }
}