diff options
author | Vladislav Grishenko <themiron@users.noreply.github.com> | 2020-05-25 20:55:13 +0500 |
---|---|---|
committer | Vladislav Grishenko <themiron@users.noreply.github.com> | 2020-05-25 20:55:13 +0500 |
commit | 98c8392454154d33c08144e91432b690c939021d (patch) | |
tree | a9bc7065a70461750467794d533de7a093024f2a | |
parent | d75069e9cbae9068096338ad40f375bbcd561731 (diff) | |
download | dropbear-98c8392454154d33c08144e91432b690c939021d.tar.gz |
CBC mode cleanup (#95)
* Fix CBC mode can't be fully disabled
* Fix CBC mode can't be the only mode
-rw-r--r-- | common-algo.c | 8 | ||||
-rw-r--r-- | libtomcrypt/src/headers/tomcrypt_dropbear.h | 2 | ||||
-rw-r--r-- | session.h | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/common-algo.c b/common-algo.c index eb1323f..21ccbe3 100644 --- a/common-algo.c +++ b/common-algo.c @@ -184,12 +184,18 @@ algo_type sshciphers[] = { #if DROPBEAR_TWOFISH128 {"twofish128-cbc", 0, &dropbear_twofish128, 1, &dropbear_mode_cbc}, #endif +#endif /* DROPBEAR_ENABLE_CBC_MODE */ + #if DROPBEAR_3DES +#if DROPBEAR_ENABLE_CTR_MODE {"3des-ctr", 0, &dropbear_3des, 1, &dropbear_mode_ctr}, #endif -#if DROPBEAR_3DES +#if DROPBEAR_ENABLE_CBC_MODE {"3des-cbc", 0, &dropbear_3des, 1, &dropbear_mode_cbc}, #endif +#endif /* DROPBEAR_3DES */ + +#if DROPBEAR_ENABLE_CBC_MODE #if DROPBEAR_BLOWFISH {"blowfish-cbc", 0, &dropbear_blowfish, 1, &dropbear_mode_cbc}, #endif diff --git a/libtomcrypt/src/headers/tomcrypt_dropbear.h b/libtomcrypt/src/headers/tomcrypt_dropbear.h index ae29475..323902b 100644 --- a/libtomcrypt/src/headers/tomcrypt_dropbear.h +++ b/libtomcrypt/src/headers/tomcrypt_dropbear.h @@ -27,7 +27,7 @@ #define LTC_DES #endif -#if DROPBEAR_ENABLE_CTR_MODE +#if DROPBEAR_ENABLE_CBC_MODE #define LTC_CBC_MODE #endif @@ -79,7 +79,9 @@ struct key_context_directional { #endif /* actual keys */ union { +#if DROPBEAR_ENABLE_CBC_MODE symmetric_CBC cbc; +#endif #if DROPBEAR_ENABLE_CTR_MODE symmetric_CTR ctr; #endif |