diff --git a/docs/HACKING-CRYPTO b/docs/HACKING-CRYPTO index f7b0cca5..2b0687ff 100644 --- a/docs/HACKING-CRYPTO +++ b/docs/HACKING-CRYPTO @@ -33,16 +33,14 @@ LTLIBNEWNAME variable on success. 0.3) Add new header to src/Makefile.inc -0.4) Include new source in src/crypto.c - -0.5) Add a new block in configure.ac +0.4) Add a new block in configure.ac ``` elif test "$found_crypto" = "newname"; then LIBS="${LIBS} ${LTLIBNEWNAME}" ``` -0.6) Add CMake detection logic to CMakeLists.txt +0.5) Add CMake detection logic to CMakeLists.txt 1) Crypto library initialization/termination. diff --git a/src/Makefile.inc b/src/Makefile.inc index 1a901fd5..f04b2251 100644 --- a/src/Makefile.inc +++ b/src/Makefile.inc @@ -3,19 +3,22 @@ CSOURCES = \ agent.c \ bcrypt_pbkdf.c \ - channel.c \ - comp.c \ chacha.c \ + channel.c \ cipher-chachapoly.c \ + comp.c \ crypt.c \ - crypto.c \ global.c \ hostkey.c \ keepalive.c \ kex.c \ knownhost.c \ + libgcrypt.c \ mac.c \ + mbedtls.c \ misc.c \ + openssl.c \ + os400qc3.c \ packet.c \ pem.c \ poly1305.c \ @@ -26,7 +29,8 @@ CSOURCES = \ transport.c \ userauth.c \ userauth_kbd_packet.c \ - version.c + version.c \ + wincng.c HHEADERS = \ chacha.h \ @@ -53,9 +57,4 @@ HHEADERS = \ wincng.h EXTRA_DIST = \ - blowfish.c \ - libgcrypt.c \ - mbedtls.c \ - openssl.c \ - os400qc3.c \ - wincng.c + blowfish.c diff --git a/src/crypto.c b/src/crypto.c deleted file mode 100644 index b3b1afcb..00000000 --- a/src/crypto.c +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (C) Viktor Szakats - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#define LIBSSH2_CRYPTO_C -#include "libssh2_priv.h" - -#if defined(LIBSSH2_OPENSSL) || defined(LIBSSH2_WOLFSSL) -#include "openssl.c" -#elif defined(LIBSSH2_LIBGCRYPT) -#include "libgcrypt.c" -#elif defined(LIBSSH2_MBEDTLS) -#include "mbedtls.c" -#elif defined(LIBSSH2_OS400QC3) -#include "os400qc3.c" -#elif defined(LIBSSH2_WINCNG) -#include "wincng.c" -#endif diff --git a/src/libgcrypt.c b/src/libgcrypt.c index bb8a496c..e491c8ff 100644 --- a/src/libgcrypt.c +++ b/src/libgcrypt.c @@ -38,7 +38,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifdef LIBSSH2_CRYPTO_C /* Compile this via crypto.c */ +#include "libssh2_priv.h" + +#ifdef LIBSSH2_LIBGCRYPT int _libssh2_hmac_ctx_init(libssh2_hmac_ctx *ctx) { @@ -860,4 +862,4 @@ _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, return NULL; } -#endif /* LIBSSH2_CRYPTO_C */ +#endif /* LIBSSH2_LIBGCRYPT */ diff --git a/src/mbedtls.c b/src/mbedtls.c index 383c445e..f05dc7d6 100644 --- a/src/mbedtls.c +++ b/src/mbedtls.c @@ -37,7 +37,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifdef LIBSSH2_CRYPTO_C /* Compile this via crypto.c */ +#include "libssh2_priv.h" + +#ifdef LIBSSH2_MBEDTLS #include @@ -1532,4 +1534,4 @@ _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, return NULL; } -#endif /* LIBSSH2_CRYPTO_C */ +#endif /* LIBSSH2_MBEDTLS */ diff --git a/src/openssl.c b/src/openssl.c index c3039ffe..a89c462c 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -39,7 +39,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifdef LIBSSH2_CRYPTO_C /* Compile this via crypto.c */ +#include "libssh2_priv.h" + +#if defined(LIBSSH2_OPENSSL) || defined(LIBSSH2_WOLFSSL) #include #include @@ -5237,4 +5239,4 @@ _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, return NULL; } -#endif /* LIBSSH2_CRYPTO_C */ +#endif /* LIBSSH2_OPENSSL || LIBSSH2_WOLFSSL */ diff --git a/src/os400qc3.c b/src/os400qc3.c index 9ec9b036..ac502b88 100644 --- a/src/os400qc3.c +++ b/src/os400qc3.c @@ -38,7 +38,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifdef LIBSSH2_CRYPTO_C /* Compile this via crypto.c */ +#include "libssh2_priv.h" + +#ifdef LIBSSH2_OS400QC3 #include @@ -2530,6 +2532,6 @@ _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, return NULL; } -#endif /* LIBSSH2_CRYPTO_C */ +#endif /* LIBSSH2_OS400QC3 */ /* vim: set expandtab ts=4 sw=4: */ diff --git a/src/wincng.c b/src/wincng.c index e511b6ae..7146d6f1 100644 --- a/src/wincng.c +++ b/src/wincng.c @@ -38,7 +38,9 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifdef LIBSSH2_CRYPTO_C /* Compile this via crypto.c */ +#include "libssh2_priv.h" + +#ifdef LIBSSH2_WINCNG /* required for cross-compilation against the w64 mingw-runtime package */ #if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600) @@ -4201,4 +4203,4 @@ _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, return NULL; } -#endif /* LIBSSH2_CRYPTO_C */ +#endif /* LIBSSH2_WINCNG */