diff --git a/CMakeLists.txt b/CMakeLists.txt index 210ed137df54c7a2f86c23ef5748dfbd3c6fb87f..04a192ce69d1ae020210853329056c3279306a72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # # CMakeLists.txt # -------------------------------------------------------------------------------------------------- # -cmake_minimum_required( VERSION 3.0 FATAL_ERROR ) +cmake_minimum_required( VERSION 3.5 ) # -------------------------------------------------------------------------------------------------- # set( HEAD_VERSION 0 ) @@ -33,16 +33,6 @@ string( COMPARE EQUAL ${CMAKE_HOST_SYSTEM_NAME} "FreeBSD" AK_FREEBSD ) # set( AK_CONFIG_PATH "/etc" ) # set( AK_CA_PATH "/usr/share/ca-certificates" ) -# -------------------------------------------------------------------------------------------------- # -# Подключаем модули CMake для тонкой настройки параметров СЃР±РѕСЂРєРё -set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH} ) -include( DetectFlags ) -include( DetectHeaders ) -include( DetectIntrinsics ) -include( DetectLibraries ) -# модули CMake -include( GNUInstallDirs ) - # -------------------------------------------------------------------------------------------------- # # Вырабатываем заголовочный файл (РІ каталоге СЃР±РѕСЂРєРё) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/source/libakrypt-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h @ONLY ) @@ -106,6 +96,16 @@ else() endif() message("-- Used compile flags ${CMAKE_C_FLAGS}") +# -------------------------------------------------------------------------------------------------- # +# Подключаем модули CMake для тонкой настройки параметров СЃР±РѕСЂРєРё +set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH} ) +include( DetectFlags ) +include( DetectHeaders ) +include( DetectIntrinsics ) +include( DetectLibraries ) +# модули CMake +include( GNUInstallDirs ) + # -------------------------------------------------------------------------------------------------- # # Определяем место хранения файла СЃ настройками библиотеки # -------------------------------------------------------------------------------------------------- # diff --git a/Changelog.md b/Changelog.md index b761f28a9206b81d4a43356cb43cb3207870b8e7..3e78731d321d0625b7168451b88cf183f122c9ad 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,7 +6,7 @@ - Возвращена реализация ПДСЧ РЅР° РѕСЃРЅРѕРІРµ функций хеширования (hrng) - Рзменена команда для РїРѕРґРїРёСЃРё сертификатов открытого клчюа РІ утилите aktool (произведена замена --cert РЅР° --sign) - - Добавлен СЂСЏРґ функций для работы СЃ сертификатамиб РІ том числе: + - Добавлен СЂСЏРґ функций для работы СЃ сертификатами, РІ том числе: - int ak_certificate_export_to_repository() - int ak_certificate_add_file_to_repository() - int ak_certificate_add_ptr_to_repository() diff --git a/aktool/aktool_test.c b/aktool/aktool_test.c index 2d9a0f8f6a6b2411a9cd18780d7aa27c413d017a..9f68fd12d43ad2452b05c0dddd9a5c5f2847fa8e 100644 --- a/aktool/aktool_test.c +++ b/aktool/aktool_test.c @@ -324,7 +324,7 @@ size_t size = 0, sum = 0, isum = 0, secbytes = 0; int exit_status = EXIT_FAILURE; ak_pointer encryptionKey = NULL, authenticationKey = NULL; - const size_t pcount = 96000; + const size_t pcount = 2000; /* количество пакетов для тестирования */ ak_uint8 *packet, out[1500], icode[128]; size_t *lens = NULL; @@ -469,6 +469,7 @@ } if( error != ak_error_ok ) { aktool_error(_("computational error (%d)"), error ); + free(data); goto exit; } if( !ki.quiet ) { @@ -627,9 +628,10 @@ if( !ki.quiet ) { if( ki.verbose ) printf(_("%s %4lu bytes, time: %f sec., packet per sec.: %lu\n"), - _(packets), lens[j], sec, persec ); + _(packets), (unsigned long int)lens[j], sec, (unsigned long int)persec ); else printf(_("%s %4lu bytes, time: %f sec., packet per sec.: %7lu%s"), - _(packets), lens[j], sec, persec, "\r" ); + _(packets), (unsigned long int)lens[j], sec, (unsigned long int)persec, "\r" ); + fflush( stdout ); } sum += persec; isum += ( lens[j]*persec ); @@ -639,7 +641,7 @@ if( !ki.quiet ) { printf(_(" - average packets: \n" "\t - %6lu per sec. (mean value)\n\t - %6lu per sec. (integral value)\n"), - sum/12, isum/epacketlen ); + (unsigned long int)(sum/12), (unsigned long int)(isum/epacketlen )); } } diff --git a/cmake/DetectFlags.cmake b/cmake/DetectFlags.cmake index 946dbf51c518c51bebabf819edc2122658cc6765..2dda151c2cc7ed1dc01eb2aca458eac50af914cf 100644 --- a/cmake/DetectFlags.cmake +++ b/cmake/DetectFlags.cmake @@ -35,6 +35,7 @@ if( MSVC ) else() # набор Unix'овых флагов try_append_c_flag( "-Wall" CMAKE_C_FLAGS ) + try_append_c_flag( "-Wparentheses" CMAKE_C_FLAGS ) try_append_c_flag( "-pedantic-errors" CMAKE_C_FLAGS ) try_append_c_flag( "-O3" CMAKE_C_FLAGS ) try_append_c_flag( "-pipe" CMAKE_C_FLAGS ) diff --git a/cmake/DetectLibraries.cmake b/cmake/DetectLibraries.cmake index b21b92c5f394ec3362c72050c676ae1b5184c192..070357277530cb5073f3bae5d3e135d4bf0552d9 100644 --- a/cmake/DetectLibraries.cmake +++ b/cmake/DetectLibraries.cmake @@ -1,3 +1,12 @@ +# -------------------------------------------------------------------------------------------------- # +# вырабатываем Рё подключаем файл СЃ ресурсами библиотеки +if( WIN32 ) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/libakrypt.rc.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc @ONLY ) + set( AKRYPT_SOURCES ${AKRYPT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc ) + set( CMAKE_BUILD_TYPE "Release" ) + message("-- Generation of ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc is done") +endif() + # -------------------------------------------------------------------------------------------------- # # РїРѕРёСЃРє gmp if( AK_TESTS_GMP ) @@ -88,11 +97,3 @@ else() endif() endif() endif() - -# -------------------------------------------------------------------------------------------------- # -# вырабатываем Рё подключаем файл СЃ ресурсами библиотеки -if( WIN32 ) - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/libakrypt.rc.in ${CMAKE_CURRENT_SOURCE_DIR}/libakrypt.rc @ONLY ) - set( AKRYPT_SOURCES ${AKRYPT_SOURCES} libakrypt.rc ) - set( CMAKE_BUILD_TYPE "Release" ) -endif() diff --git a/doc/install-guide.rst b/doc/install-guide.rst index 54e3595a11d68871be4c1c8344d58361566a374f..d85e9938b95fa9cc990de402be56c6b08a54f0e7 100644 --- a/doc/install-guide.rst +++ b/doc/install-guide.rst @@ -184,7 +184,7 @@ Cтабильная версия библиотеки распространяе Далее, РЅСѓР¶РЅРѕ перейти РІ созданный каталог Рё запустить `cmake` для конфигурации СЃР±РѕСЂРєРё:: - cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE="Release" ../libakrypt-0.x + cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE="Release" ..\libakrypt-0.x Флаг `-G` определяет РёРјСЏ механизма, используемого далее для СЃР±РѕСЂРєРё исходных текстов. Аргумент `-DCMAKE_BUILD_TYPE` СЃ параметром "Release" указывает компилятору, diff --git a/libakrypt.rc.in b/libakrypt.rc.in index 0854d3ffa2aab2df3ee684e2c0429477b82030b3..4a04c55de6adb3d2666373d304137ed7d8bed726 100644 --- a/libakrypt.rc.in +++ b/libakrypt.rc.in @@ -9,7 +9,7 @@ LANGUAGE 0, SUBLANG_NEUTRAL VS_VERSION_INFO VERSIONINFO FILEVERSION @HEAD_VERSION@,@MAIN_VERSION@,@MINOR_VERSION@,0 PRODUCTVERSION @HEAD_VERSION@,@MAIN_VERSION@,0,0 - FILEOS VOS__WINDOWS64 + FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE VFT2_UNKNOWN FILEFLAGSMASK 0x00000017 @@ -23,7 +23,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", "Crypto API for libakrypt Project" VALUE "FileVersion", "@MINOR_VERSION@" VALUE "InternalName", "akrypt library for Windows" - VALUE "LegalCopyright", "Copyright (c) 2014-2021 by Axel Kenzo" + VALUE "LegalCopyright", "Copyright (c) 2014-2023 by Axel Kenzo" VALUE "OriginalFilename", "akrypt.dll" VALUE "ProductName", "akrypt" VALUE "ProductVersion", "@MAJOR_VERSION@" diff --git a/libakrypt.test.sh b/libakrypt.test.sh index 094b48cc064a31a9bf3d8b40fe0e4cec5709db29..b8323fba42a1caa4ac41854e300fd3b00da4436e 100755 --- a/libakrypt.test.sh +++ b/libakrypt.test.sh @@ -2,8 +2,8 @@ compilerList="gcc-9 gcc-10 gcc-11 gcc-12 gcc-13 gcc-14 gcc-15 musl-gcc clang-11 clang-12 clang-13 clang-14 clang-15 clang-16 clang-17 clang-18 tcc" # формируем каталог для проведения экспериментов -mkdir -p global.build -cd global.build +mkdir -p ../global.build +cd ../global.build for name in $compilerList do @@ -14,7 +14,7 @@ do mkdir -p $name.build cd $name.build # выполняем настройку - cmake -DCMAKE_C_COMPILER=$name -DAK_STATIC_LIB=ON -DAK_EXAMPLES=ON -DAK_TESTS=ON ../.. + cmake -DCMAKE_C_COMPILER=$name -DAK_STATIC_LIB=ON -DAK_EXAMPLES=ON -DAK_TESTS=ON ../../libakrypt-0.x # выполняем СЃР±РѕСЂРєСѓ make # выполняем тестирование @@ -29,7 +29,10 @@ do fi # РЅРµ выполняем очистку созданных каталогов cd .. - echo "--------------------------------------------------------------------------------" + echo "--------------------------------------------------------------------------------" +# выполняем тест скорости криптографических преобразований + echo $name >> speed.log + $name.build/aktool test -n cbc-kuznechik --no-packets --min-length 80 --max-length 128 >> speed.log fi done