diff options
| author | Aris Adamantiadis <aris@0xbadc0de.be> | 2014-04-24 08:55:52 +0200 |
|---|---|---|
| committer | Andreas Schneider <asn@cryptomilk.org> | 2014-08-06 10:05:19 +0200 |
| commit | 33cd594f1f36a40882927ccb6b82db8cda651995 (patch) | |
| tree | f5d3b1cb50eb5b13ae47f4d6c39d96ad279ede2e | |
| parent | 0cd0f685c93c66772d2f61cca8ffc71ad7f0a0d6 (diff) | |
| download | libssh-33cd594f1f36a40882927ccb6b82db8cda651995.tar.gz libssh-33cd594f1f36a40882927ccb6b82db8cda651995.tar.xz libssh-33cd594f1f36a40882927ccb6b82db8cda651995.zip | |
crypto: fix secure burning, structure members naming
Reviewed-by: Andreas Schneider <asn@samba.org>
| -rw-r--r-- | include/libssh/crypto.h | 4 | ||||
| -rw-r--r-- | src/packet_crypt.c | 9 |
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) { |
