diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-05-21 13:31:45 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-05-21 16:45:38 +0800 |
commit | 9f00a9265c05dc02ad1b1e4c8148e1950c394530 (patch) | |
tree | 8e16b0aba71bef63b0dfe2ab5aab444969d7c144 /src/protocol/internal/fqterm_ssh_packet.h | |
parent | 61109437da7a73e8cf559a29450b87bff4cb1043 (diff) | |
download | fqterm-9f00a9265c05dc02ad1b1e4c8148e1950c394530.tar.xz |
remove FQTermSSH{1,2}PacketSender, remove duplicated code
Diffstat (limited to 'src/protocol/internal/fqterm_ssh_packet.h')
-rw-r--r-- | src/protocol/internal/fqterm_ssh_packet.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/protocol/internal/fqterm_ssh_packet.h b/src/protocol/internal/fqterm_ssh_packet.h index 071c8e0..3020d6b 100644 --- a/src/protocol/internal/fqterm_ssh_packet.h +++ b/src/protocol/internal/fqterm_ssh_packet.h @@ -29,6 +29,7 @@ #include "ssh_mac.h" #include "ssh_cipher.h" #include "buffer.h" +#include "ssh_packet.h" namespace FQTerm { @@ -42,7 +43,9 @@ class FQTermSSHPacketSender: public QObject { bool is_mac_; uint32_t sequence_no_; - FQTermSSHPacketSender(); + int ver; + + FQTermSSHPacketSender(int); virtual ~FQTermSSHPacketSender(); void startPacket(uint8_t pkt_type); @@ -61,14 +64,20 @@ class FQTermSSHPacketSender: public QObject { void startEncryption(const u_char *key, const u_char *IV = NULL); void startMac(const u_char *sessionkey); void resetMac(); + inline void makePacket() + { + if (ver == 2) { + make_ssh2_packet(&orig_data, &data_to_send, cipher, + mac, is_mac_, &sequence_no_); + } else { + make_ssh1_packet(&orig_data, &data_to_send, cipher); + } + } public slots: void resetEncryption(); signals: void dataToWrite(); - - protected: - virtual void makePacket() = 0; }; class FQTermSSHPacketReceiver: public QObject { |