summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libssh/crypto.h4
-rw-r--r--src/packet_crypt.c9
2 files changed, 6 insertions, 7 deletions
diff --git a/include/libssh/crypto.h b/include/libssh/crypto.h
index 56561805..61a2b27b 100644
--- a/include/libssh/crypto.h
+++ b/include/libssh/crypto.h
@@ -115,9 +115,9 @@ struct ssh_cipher_struct {
/* 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);
- void (*cbc_encrypt)(struct ssh_cipher_struct *cipher, void *in, void *out,
+ void (*encrypt)(struct ssh_cipher_struct *cipher, void *in, void *out,
unsigned long len);
- void (*cbc_decrypt)(struct ssh_cipher_struct *cipher, void *in, void *out,
+ void (*decrypt)(struct ssh_cipher_struct *cipher, void *in, void *out,
unsigned long len);
};
diff --git a/src/packet_crypt.c b/src/packet_crypt.c
index 4f6ba176..914727e0 100644
--- a/src/packet_crypt.c
+++ b/src/packet_crypt.c
@@ -77,11 +77,10 @@ int packet_decrypt(ssh_session session, void *data,uint32_t len) {
SAFE_FREE(out);
return -1;
}
- crypto->cbc_decrypt(crypto,data,out,len);
+ crypto->decrypt(crypto,data,out,len);
memcpy(data,out,len);
- memset(out,0,len);
-
+ BURN_BUFFER(out, len);
SAFE_FREE(out);
return 0;
}
@@ -136,10 +135,10 @@ unsigned char *packet_encrypt(ssh_session session, void *data, uint32_t len) {
#endif
}
- crypto->cbc_encrypt(crypto, data, out, len);
+ crypto->encrypt(crypto, data, out, len);
memcpy(data, out, len);
- memset(out, 0, len);
+ BURN_BUFFER(out, len);
SAFE_FREE(out);
if (session->version == 2) {