aboutsummaryrefslogtreecommitdiff
path: root/src/packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/packet.c')
-rw-r--r--src/packet.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/packet.c b/src/packet.c
index 847a363d..d6162432 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -1151,6 +1151,13 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
#endif /* WITH_ZLIB */
payloadsize = ssh_buffer_get_len(session->in_buffer);
session->recv_seq++;
+ if (session->current_crypto != NULL) {
+ struct ssh_cipher_struct *cipher = NULL;
+
+ cipher = session->current_crypto->in_cipher;
+ cipher->packets++;
+ cipher->blocks += payloadsize / cipher->blocksize;
+ }
if (session->raw_counter != NULL) {
session->raw_counter->in_bytes += payloadsize;
session->raw_counter->in_packets++;
@@ -1486,6 +1493,13 @@ static int packet_send2(ssh_session session)
rc = ssh_packet_write(session);
session->send_seq++;
+ if (session->current_crypto != NULL) {
+ struct ssh_cipher_struct *cipher = NULL;
+
+ cipher = session->current_crypto->out_cipher;
+ cipher->packets++;
+ cipher->blocks += payloadsize / cipher->blocksize;
+ }
if (session->raw_counter != NULL) {
session->raw_counter->out_bytes += payloadsize;
session->raw_counter->out_packets++;
@@ -1504,7 +1518,6 @@ error:
return rc; /* SSH_OK, AGAIN or ERROR */
}
-
int ssh_packet_send(ssh_session session) {
return packet_send2(session);
}