Skip to content

Commit b052f66

Browse files
sahanaprasad07Jakuje
authored andcommitted
ConfigureChecks.cmake: Disable HAVE_DSA by default (when mbedTLS is not enabled)
Ensure that it is not possible to enable it back with mbedTLS Signed-off-by: Sahana Prasad <[email protected]> Reviewed-by: Jakub Jelen <[email protected]> Reviewed-by: Andreas Schneider <[email protected]>
1 parent ff599a9 commit b052f66

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

.gitlab-ci.yml

+8-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ stages:
1515
stage: build
1616
variables:
1717
CMAKE_DEFAULT_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPICKY_DEVELOPER=ON"
18-
CMAKE_BUILD_OPTIONS: "-DWITH_BLOWFISH_CIPHER=ON -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON -DWITH_DEBUG_CRYPTO=ON -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON"
18+
CMAKE_BUILD_OPTIONS: "-DWITH_BLOWFISH_CIPHER=ON -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON -DWITH_DEBUG_CRYPTO=ON -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON -DWITH_DSA=ON"
1919
CMAKE_TEST_OPTIONS: "-DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON"
2020
CMAKE_OPTIONS: $CMAKE_DEFAULT_OPTIONS $CMAKE_BUILD_OPTIONS $CMAKE_TEST_OPTIONS
2121
before_script:
@@ -109,7 +109,7 @@ fedora/openssl_1.1.x/x86_64/fips:
109109
-DPICKY_DEVELOPER=ON
110110
-DWITH_BLOWFISH_CIPHER=ON
111111
-DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
112-
-DWITH_DEBUG_CRYPTO=ON -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON
112+
-DWITH_DEBUG_CRYPTO=ON -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON -DWITH_DSA=ON
113113
-DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON ..
114114
script:
115115
- cmake $CMAKE_OPTIONS .. &&
@@ -125,6 +125,7 @@ fedora/openssl_1.1.x/x86_64/minimal:
125125
-DWITH_SERVER=OFF
126126
-DWITH_ZLIB=OFF
127127
-DWITH_PCAP=OFF
128+
-DWITH_DSA=OFF
128129
-DUNIT_TESTING=ON
129130
-DCLIENT_TESTING=ON
130131
-DWITH_GEX=OFF .. &&
@@ -188,7 +189,7 @@ fedora/libgcrypt/x86_64:
188189
fedora/mbedtls/x86_64:
189190
extends: .fedora
190191
variables:
191-
CMAKE_ADDTIONAL_OPTIONS: "-DWITH_MBEDTLS=ON -DWITH_DEBUG_CRYPTO=ON"
192+
CMAKE_ADDTIONAL_OPTIONS: "-DWITH_MBEDTLS=ON -DWITH_DEBUG_CRYPTO=ON -DWITH_DSA=OFF"
192193

193194
# Unit testing only, no client and pkd testing, because cwrap is not available
194195
# for MinGW
@@ -260,7 +261,7 @@ fedora/csbuild/openssl_1.1.x:
260261
script:
261262
- csbuild
262263
--build-dir=obj-csbuild
263-
--build-cmd "rm -rf CMakeFiles CMakeCache.txt && cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON -DFUZZ_TESTING=ON @SRCDIR@ && make clean && make -j$(nproc)"
264+
--build-cmd "rm -rf CMakeFiles CMakeCache.txt && cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON -DFUZZ_TESTING=ON -DWITH_DSA=ON @SRCDIR@ && make clean && make -j$(nproc)"
264265
--git-commit-range $CI_COMMIT_RANGE
265266
--color
266267
--print-current --print-fixed
@@ -270,7 +271,7 @@ fedora/csbuild/libgcrypt:
270271
script:
271272
- csbuild
272273
--build-dir=obj-csbuild
273-
--build-cmd "rm -rf CMakeFiles CMakeCache.txt && cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON -DFUZZ_TESTING=ON -DWITH_GCRYPT=ON @SRCDIR@ && make clean && make -j$(nproc)"
274+
--build-cmd "rm -rf CMakeFiles CMakeCache.txt && cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON -DFUZZ_TESTING=ON -DWITH_GCRYPT=ON -DWITH_DSA=ON @SRCDIR@ && make clean && make -j$(nproc)"
274275
--git-commit-range $CI_COMMIT_RANGE
275276
--color
276277
--print-current --print-fixed
@@ -315,6 +316,7 @@ tumbleweed/openssl_1.1.x/x86/gcc:
315316
-DWITH_SERVER=ON
316317
-DWITH_ZLIB=ON
317318
-DWITH_PCAP=ON
319+
-DWITH_DSA=ON
318320
-DUNIT_TESTING=ON ..
319321

320322
tumbleweed/openssl_1.1.x/x86_64/gcc7:
@@ -329,7 +331,7 @@ tumbleweed/openssl_1.1.x/x86/gcc7:
329331
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-m32.cmake
330332
-DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
331333
$CMAKE_DEFAULT_OPTIONS
332-
-DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
334+
-DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON -DWITH_DSA=ON
333335
-DUNIT_TESTING=ON .. &&
334336
make -j$(nproc) &&
335337
ctest --output-on-failure

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ message(STATUS "Unit testing: ${UNIT_TESTING}")
235235
message(STATUS "Client code testing: ${CLIENT_TESTING}")
236236
message(STATUS "Blowfish cipher support: ${WITH_BLOWFISH_CIPHER}")
237237
message(STATUS "PKCS #11 URI support: ${WITH_PKCS11_URI}")
238+
message(STATUS "DSA support: ${WITH_DSA}")
238239
set(_SERVER_TESTING OFF)
239240
if (WITH_SERVER)
240241
set(_SERVER_TESTING ${SERVER_TESTING})

ConfigureChecks.cmake

+13-4
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,11 @@ if (NOT WITH_GCRYPT AND NOT WITH_MBEDTLS)
185185
endif (HAVE_OPENSSL_ECC)
186186
endif ()
187187

188-
if (NOT WITH_MBEDTLS)
189-
set(HAVE_DSA 1)
190-
endif (NOT WITH_MBEDTLS)
188+
if (WITH_DSA)
189+
if (NOT WITH_MBEDTLS)
190+
set(HAVE_DSA 1)
191+
endif (NOT WITH_MBEDTLS)
192+
endif()
191193

192194
# FUNCTIONS
193195

@@ -480,12 +482,19 @@ if (WITH_PKCS11_URI)
480482
message(FATAL_ERROR "PKCS #11 is not supported for gcrypt.")
481483
set(WITH_PKCS11_URI 0)
482484
endif()
483-
if (WITH_WITH_MBEDTLS)
485+
if (WITH_MBEDTLS)
484486
message(FATAL_ERROR "PKCS #11 is not supported for mbedcrypto")
485487
set(WITH_PKCS11_URI 0)
486488
endif()
487489
endif()
488490

491+
if (WITH_MBEDTLS)
492+
if (WITH_DSA)
493+
message(FATAL_ERROR "DSA is not supported with mbedTLS crypto")
494+
set(HAVE_DSA 0)
495+
endif()
496+
endif()
497+
489498
# ENDIAN
490499
if (NOT WIN32)
491500
test_big_endian(WORDS_BIGENDIAN)

DefineOptions.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ option(WITH_SERVER "Build with SSH server support" ON)
55
option(WITH_DEBUG_CRYPTO "Build with cryto debug output" OFF)
66
option(WITH_DEBUG_PACKET "Build with packet debug output" OFF)
77
option(WITH_DEBUG_CALLTRACE "Build with calltrace debug output" ON)
8+
option(WITH_DSA "Build with DSA" OFF)
89
option(WITH_GCRYPT "Compile against libgcrypt" OFF)
910
option(WITH_MBEDTLS "Compile against libmbedtls" OFF)
1011
option(WITH_BLOWFISH_CIPHER "Compile with blowfish support" OFF)

0 commit comments

Comments
 (0)