aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libssh/crypto.h5
-rw-r--r--include/libssh/session.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/include/libssh/crypto.h b/include/libssh/crypto.h
index 0160bafc..16f07325 100644
--- a/include/libssh/crypto.h
+++ b/include/libssh/crypto.h
@@ -164,6 +164,11 @@ struct ssh_cipher_struct {
struct chacha20_poly1305_keysched *chacha20_schedule;
unsigned int keysize; /* bytes of key used. != keylen */
size_t tag_size; /* overhead required for tag */
+ /* Counters for rekeying initialization */
+ uint32_t packets;
+ uint64_t blocks;
+ /* Rekeying limit for the cipher or manually enforced */
+ uint64_t max_blocks;
/* sets the new key for immediate use */
int (*set_encrypt_key)(struct ssh_cipher_struct *cipher, void *key, void *IV);
int (*set_decrypt_key)(struct ssh_cipher_struct *cipher, void *key, void *IV);
diff --git a/include/libssh/session.h b/include/libssh/session.h
index 109cb5f5..fb443b59 100644
--- a/include/libssh/session.h
+++ b/include/libssh/session.h
@@ -30,6 +30,7 @@
#include "libssh/channels.h"
#include "libssh/poll.h"
#include "libssh/config.h"
+#include "libssh/misc.h"
/* These are the different states a SSH session can be into its life */
enum ssh_session_state_e {
@@ -113,6 +114,7 @@ struct ssh_session_struct {
int openssh;
uint32_t send_seq;
uint32_t recv_seq;
+ struct ssh_timestamp last_rekey_time;
int connected;
/* !=0 when the user got a session handle */