summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Grishenko <themiron@users.noreply.github.com>2020-05-25 20:55:13 +0500
committerVladislav Grishenko <themiron@users.noreply.github.com>2020-05-25 20:55:13 +0500
commit98c8392454154d33c08144e91432b690c939021d (patch)
treea9bc7065a70461750467794d533de7a093024f2a
parentd75069e9cbae9068096338ad40f375bbcd561731 (diff)
downloaddropbear-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.c8
-rw-r--r--libtomcrypt/src/headers/tomcrypt_dropbear.h2
-rw-r--r--session.h2
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