diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-05-09 16:33:50 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-05-10 14:16:42 +0800 |
commit | edaca3e9ce514aeddde04d9f022dddfc179bf744 (patch) | |
tree | 504083543bc7c795d2875ca12de13c0be6f5847d /src/protocol/internal/fqterm_ssh_packet.h | |
parent | 456110b0c3165498f3b2b41a0dd10c7d6769ebaa (diff) | |
download | fqterm-edaca3e9ce514aeddde04d9f022dddfc179bf744.tar.xz |
fqterm packet: use C buffer
Tested using SSH2
Diffstat (limited to 'src/protocol/internal/fqterm_ssh_packet.h')
-rw-r--r-- | src/protocol/internal/fqterm_ssh_packet.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/protocol/internal/fqterm_ssh_packet.h b/src/protocol/internal/fqterm_ssh_packet.h index 83dcac7..32f9a29 100644 --- a/src/protocol/internal/fqterm_ssh_packet.h +++ b/src/protocol/internal/fqterm_ssh_packet.h @@ -30,25 +30,27 @@ #include "ssh_mac.h" #include "fqterm_serialization.h" #include "ssh_cipher.h" +#include "buffer.h" namespace FQTerm { class FQTermSSHPacketSender: public QObject { Q_OBJECT; public: - FQTermSSHBuffer *output_buffer_; - FQTermSSHBuffer *buffer_; + buffer orig_data; /* always unencrypted */ + buffer data_to_send; ssh_cipher_t *cipher; ssh_mac_t *mac; FQTermSSHPacketSender(); virtual ~FQTermSSHPacketSender(); - void startPacket(int pkt_type); - void putByte(int data); - void putInt(u_int data); + void startPacket(uint8_t pkt_type); + inline void putByte(uint8_t b) { buffer_append_byte(&orig_data, b); } + inline void putInt(uint32_t x) { buffer_append_be32(&orig_data, x); } void putString(const char *string, int len = -1); - void putRawData(const char *data, int length); + inline void putRawData(const uint8_t *data, size_t len) + { buffer_append(&orig_data, data, len); } void putBN(BIGNUM *bignum); void write(); @@ -84,7 +86,7 @@ class FQTermSSHPacketSender: public QObject { class FQTermSSHPacketReceiver: public QObject { Q_OBJECT; public: - FQTermSSHBuffer *buffer_; + buffer recvbuf; ssh_cipher_t *cipher; ssh_mac_t *mac; |