summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2014-04-24 08:55:52 +0200
committerAndreas Schneider <asn@cryptomilk.org>2014-08-06 10:05:19 +0200
commit33cd594f1f36a40882927ccb6b82db8cda651995 (patch)
treef5d3b1cb50eb5b13ae47f4d6c39d96ad279ede2e
parent0cd0f685c93c66772d2f61cca8ffc71ad7f0a0d6 (diff)
downloadlibssh-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.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) {