From 61267f85035c0c77059992f50ef20f62e192ba04 Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Mon, 25 May 2020 20:55:13 +0500 Subject: [PATCH] CBC mode cleanup (#95) * Fix CBC mode can't be fully disabled * Fix CBC mode can't be the only mode --- common-algo.c | 8 +++++++- libtomcrypt/src/headers/tomcrypt_dropbear.h | 2 +- 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 diff --git a/session.h b/session.h index 01416c9..0cf4280 100644 --- a/session.h +++ b/session.h @@ -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