From 2026e2865dfe2675d95f3dd9757d2928f3cf7268 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 20 Sep 2024 13:38:26 +0200 Subject: [PATCH] Fix demos/pem-info.c to properly display different CFB modes Also, make CMake build it. --- demos/CMakeLists.txt | 13 +++++++++++-- demos/pem-info.c | 4 +++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index f27865212..7d71b3236 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -2,7 +2,7 @@ # Options #----------------------------------------------------------------------------- option(BUILD_USEFUL_DEMOS "Build useful demos (hashsum)" FALSE) -option(BUILD_USABLE_DEMOS "Build usable demos (ltcrypt sizes constants)" FALSE) +option(BUILD_USABLE_DEMOS "Build usable demos (ltcrypt sizes constants pem-info)" FALSE) #----------------------------------------------------------------------------- # Useful demos @@ -38,7 +38,7 @@ endif() if(BUILD_USABLE_DEMOS) - list(APPEND ALL_DEMOS_TARGETS ltcrypt sizes constants) + list(APPEND ALL_DEMOS_TARGETS ltcrypt sizes constants pem-info) # ltcrypt add_executable(ltcrypt @@ -67,6 +67,15 @@ if(BUILD_USABLE_DEMOS) ${PROJECT_NAME} ) + # pem-info + add_executable(pem-info + ${CMAKE_CURRENT_SOURCE_DIR}/pem-info.c + ) + + target_link_libraries(pem-info PRIVATE + ${PROJECT_NAME} + ) + endif() #----------------------------------------------------------------------------- diff --git a/demos/pem-info.c b/demos/pem-info.c index 5c09ae9e0..b7c743419 100644 --- a/demos/pem-info.c +++ b/demos/pem-info.c @@ -49,6 +49,8 @@ static const struct { { cm_none, "none", }, { cm_cbc, "CBC", }, { cm_cfb, "CFB", }, + { cm_cfb1, "CFB1", }, + { cm_cfb8, "CFB8", }, { cm_ctr, "CTR", }, { cm_ofb, "OFB", }, { cm_stream, "STREAM", }, @@ -58,7 +60,7 @@ static const struct { static const char *s_map_mode(enum cipher_mode mode) { size_t n; - mode &= cm_modes; + mode &= cm_modes | cm_1bit | cm_8bit; for (n = 0; n < sizeof(cipher_mode_map)/sizeof(cipher_mode_map[0]); ++n) { if (cipher_mode_map[n].mode == mode) return cipher_mode_map[n].name;