Merge branch 'develop' into feature/library_intermediate2
This commit is contained in:
commit
48dea1b13b
@ -1,13 +1,11 @@
|
|||||||
image:
|
image:
|
||||||
#- Visual Studio 2013
|
|
||||||
#- Visual Studio 2015
|
|
||||||
- Visual Studio 2017
|
- Visual Studio 2017
|
||||||
#- Visual Studio 2017 Preview
|
#- Visual Studio 2017 Preview
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
- x64
|
- x64
|
||||||
- x86
|
- x86
|
||||||
- Any CPU
|
#- Any CPU
|
||||||
|
|
||||||
configuration:
|
configuration:
|
||||||
- Debug
|
- Debug
|
||||||
@ -33,7 +31,8 @@ install:
|
|||||||
build_script:
|
build_script:
|
||||||
- cmd: mkdir build
|
- cmd: mkdir build
|
||||||
- cmd: cd build
|
- cmd: cd build
|
||||||
- cmd: cmake .. -G "Ninja" -DBUILD_TESTING=on -DBOOST_ROOT="C:/Libraries/boost_1_65_1" -DDOKAN_PATH="C:/Program Files/Dokan/DokanLibrary-1.1.0"
|
# note: The cmake+ninja workflow requires us to set build type in both cmake commands ('cmake' and 'cmake --build'), otherwise the cryfs.exe will depend on debug versions of the visual studio c++ runtime (i.e. msvcp140d.dll)
|
||||||
|
- cmd: cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DBUILD_TESTING=on -DBOOST_ROOT="C:/Libraries/boost_1_65_1" -DDOKAN_PATH="C:/Program Files/Dokan/DokanLibrary-1.1.0"
|
||||||
- cmd: cmake --build . --config %CONFIGURATION%
|
- cmd: cmake --build . --config %CONFIGURATION%
|
||||||
- cmd: .\test\gitversion\gitversion-test.exe
|
- cmd: .\test\gitversion\gitversion-test.exe
|
||||||
# cpp-utils-test disables ThreadDebuggingTest_ThreadName.*_thenIsCorrect because the appveyor image is too old to support the API needed for that
|
# cpp-utils-test disables ThreadDebuggingTest_ThreadName.*_thenIsCorrect because the appveyor image is too old to support the API needed for that
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
#ifndef MESSMER_BLOCKSTORE_IMPLEMENTATIONS_COMPRESSING_COMPRESSEDBLOCK_H_
|
#ifndef MESSMER_BLOCKSTORE_IMPLEMENTATIONS_COMPRESSING_COMPRESSEDBLOCK_H_
|
||||||
#define MESSMER_BLOCKSTORE_IMPLEMENTATIONS_COMPRESSING_COMPRESSEDBLOCK_H_
|
#define MESSMER_BLOCKSTORE_IMPLEMENTATIONS_COMPRESSING_COMPRESSEDBLOCK_H_
|
||||||
|
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
|
|
||||||
#include "../../interface/Block.h"
|
#include "../../interface/Block.h"
|
||||||
#include "../../interface/BlockStore.h"
|
#include "../../interface/BlockStore.h"
|
||||||
#include <cpp-utils/data/DataUtils.h>
|
#include <cpp-utils/data/DataUtils.h>
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "Gzip.h"
|
#include "Gzip.h"
|
||||||
#include <vendor_cryptopp/gzip.h>
|
#include <vendor_cryptopp/gzip.h>
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#define MESSMER_BLOCKSTORE_IMPLEMENTATIONS_ENCRYPTED_ENCRYPTEDBLOCKSTORE2_H_
|
#define MESSMER_BLOCKSTORE_IMPLEMENTATIONS_ENCRYPTED_ENCRYPTEDBLOCKSTORE2_H_
|
||||||
|
|
||||||
#include "../../interface/BlockStore2.h"
|
#include "../../interface/BlockStore2.h"
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include <cpp-utils/macros.h>
|
#include <cpp-utils/macros.h>
|
||||||
#include <cpp-utils/crypto/symmetric/Cipher.h>
|
#include <cpp-utils/crypto/symmetric/Cipher.h>
|
||||||
#include <cpp-utils/data/SerializationHelper.h>
|
#include <cpp-utils/data/SerializationHelper.h>
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#ifndef _CPPUTILS_CRYPTO_CRYPTOPP_BYTE_H
|
|
||||||
#define _CPPUTILS_CRYPTO_CRYPTOPP_BYTE_H
|
|
||||||
|
|
||||||
#include <vendor_cryptopp/cryptlib.h>
|
|
||||||
|
|
||||||
// If we're running an older CryptoPP version, CryptoPP::byte isn't defined yet.
|
|
||||||
// Define it. Refer to "byte" type in the global namespace (placed by CryptoPP).
|
|
||||||
// Could also use CRYPTOPP_NO_GLOBAL_BYTE - but don't want to track when it was
|
|
||||||
// introduced. This way seems more reliable, as it is compatible with more of
|
|
||||||
// the Crypto++ versions.
|
|
||||||
#if CRYPTOPP_VERSION < 600
|
|
||||||
namespace CryptoPP {
|
|
||||||
using byte = ::byte;
|
|
||||||
}
|
|
||||||
#endif /* CRYPTOPP_VERSION < 600 */
|
|
||||||
|
|
||||||
#endif /* _CPPUTILS_CRYPTO_CRYPTOPP_BYTE_H */
|
|
@ -2,7 +2,6 @@
|
|||||||
#ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CFBCIPHER_H_
|
#ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CFBCIPHER_H_
|
||||||
#define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CFBCIPHER_H_
|
#define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CFBCIPHER_H_
|
||||||
|
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "../../data/FixedSizeData.h"
|
#include "../../data/FixedSizeData.h"
|
||||||
#include "../../data/Data.h"
|
#include "../../data/Data.h"
|
||||||
#include "../../random/Random.h"
|
#include "../../random/Random.h"
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#include <cpp-utils/data/FixedSizeData.h>
|
#include <cpp-utils/data/FixedSizeData.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <cpp-utils/system/memory.h>
|
#include <cpp-utils/system/memory.h>
|
||||||
#include "../cryptopp_byte.h"
|
|
||||||
#include <cpp-utils/random/RandomGenerator.h>
|
#include <cpp-utils/random/RandomGenerator.h>
|
||||||
|
|
||||||
namespace cpputils {
|
namespace cpputils {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
#ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_GCMCIPHER_H_
|
#ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_GCMCIPHER_H_
|
||||||
#define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_GCMCIPHER_H_
|
#define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_GCMCIPHER_H_
|
||||||
|
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "../../data/FixedSizeData.h"
|
#include "../../data/FixedSizeData.h"
|
||||||
#include "../../data/Data.h"
|
#include "../../data/Data.h"
|
||||||
#include "../../random/Random.h"
|
#include "../../random/Random.h"
|
||||||
|
@ -23,12 +23,8 @@ namespace cpputils {
|
|||||||
DEFINE_CIPHER(Cast256_GCM);
|
DEFINE_CIPHER(Cast256_GCM);
|
||||||
DEFINE_CIPHER(Cast256_CFB);
|
DEFINE_CIPHER(Cast256_CFB);
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
DEFINE_CIPHER(Mars448_GCM);
|
DEFINE_CIPHER(Mars448_GCM);
|
||||||
DEFINE_CIPHER(Mars448_CFB);
|
DEFINE_CIPHER(Mars448_CFB);
|
||||||
#else
|
|
||||||
# warning "You're using Crypto++ 5.6.4. In this version, the MARS-448 cipher is not available. Your CryFS executable will not be able to load file systems using this cipher. Please use Crypto++ 5.6.3 or 5.6.5+ instead."
|
|
||||||
#endif
|
|
||||||
DEFINE_CIPHER(Mars256_GCM);
|
DEFINE_CIPHER(Mars256_GCM);
|
||||||
DEFINE_CIPHER(Mars256_CFB);
|
DEFINE_CIPHER(Mars256_CFB);
|
||||||
DEFINE_CIPHER(Mars128_GCM);
|
DEFINE_CIPHER(Mars128_GCM);
|
||||||
|
@ -41,11 +41,9 @@ static_assert(32 == CryptoPP::CAST256::MAX_KEYLENGTH, "If Cast offered larger ke
|
|||||||
DECLARE_CIPHER(Cast256_GCM, "cast-256-gcm", GCM_Cipher, CryptoPP::CAST256, 32);
|
DECLARE_CIPHER(Cast256_GCM, "cast-256-gcm", GCM_Cipher, CryptoPP::CAST256, 32);
|
||||||
DECLARE_CIPHER(Cast256_CFB, "cast-256-cfb", CFB_Cipher, CryptoPP::CAST256, 32);
|
DECLARE_CIPHER(Cast256_CFB, "cast-256-cfb", CFB_Cipher, CryptoPP::CAST256, 32);
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
static_assert(56 == CryptoPP::MARS::MAX_KEYLENGTH, "If Mars offered larger keys, we should offer a variant with it");
|
static_assert(56 == CryptoPP::MARS::MAX_KEYLENGTH, "If Mars offered larger keys, we should offer a variant with it");
|
||||||
DECLARE_CIPHER(Mars448_GCM, "mars-448-gcm", GCM_Cipher, CryptoPP::MARS, 56);
|
DECLARE_CIPHER(Mars448_GCM, "mars-448-gcm", GCM_Cipher, CryptoPP::MARS, 56);
|
||||||
DECLARE_CIPHER(Mars448_CFB, "mars-448-cfb", CFB_Cipher, CryptoPP::MARS, 56);
|
DECLARE_CIPHER(Mars448_CFB, "mars-448-cfb", CFB_Cipher, CryptoPP::MARS, 56);
|
||||||
#endif
|
|
||||||
DECLARE_CIPHER(Mars256_GCM, "mars-256-gcm", GCM_Cipher, CryptoPP::MARS, 32);
|
DECLARE_CIPHER(Mars256_GCM, "mars-256-gcm", GCM_Cipher, CryptoPP::MARS, 32);
|
||||||
DECLARE_CIPHER(Mars256_CFB, "mars-256-cfb", CFB_Cipher, CryptoPP::MARS, 32);
|
DECLARE_CIPHER(Mars256_CFB, "mars-256-cfb", CFB_Cipher, CryptoPP::MARS, 32);
|
||||||
DECLARE_CIPHER(Mars128_GCM, "mars-128-gcm", GCM_Cipher, CryptoPP::MARS, 16);
|
DECLARE_CIPHER(Mars128_GCM, "mars-128-gcm", GCM_Cipher, CryptoPP::MARS, 16);
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
#ifndef MESSMER_CPPUTILS_TEST_CRYPTO_SYMMETRIC_TESTUTILS_FAKEAUTHENTICATEDCIPHER_H_
|
#ifndef MESSMER_CPPUTILS_TEST_CRYPTO_SYMMETRIC_TESTUTILS_FAKEAUTHENTICATEDCIPHER_H_
|
||||||
#define MESSMER_CPPUTILS_TEST_CRYPTO_SYMMETRIC_TESTUTILS_FAKEAUTHENTICATEDCIPHER_H_
|
#define MESSMER_CPPUTILS_TEST_CRYPTO_SYMMETRIC_TESTUTILS_FAKEAUTHENTICATEDCIPHER_H_
|
||||||
|
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "cpp-utils/crypto/symmetric/Cipher.h"
|
#include "cpp-utils/crypto/symmetric/Cipher.h"
|
||||||
#include "cpp-utils/data/FixedSizeData.h"
|
#include "cpp-utils/data/FixedSizeData.h"
|
||||||
#include "cpp-utils/data/Data.h"
|
#include "cpp-utils/data/Data.h"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#include "Data.h"
|
#include "Data.h"
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <vendor_cryptopp/hex.h>
|
#include <vendor_cryptopp/hex.h>
|
||||||
#include <cpp-utils/crypto/cryptopp_byte.h>
|
|
||||||
|
|
||||||
using std::istream;
|
using std::istream;
|
||||||
using std::ofstream;
|
using std::ofstream;
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
#ifndef MESSMER_CPPUTILS_RANDOM_OSRANDOMGENERATOR_H
|
#ifndef MESSMER_CPPUTILS_RANDOM_OSRANDOMGENERATOR_H
|
||||||
#define MESSMER_CPPUTILS_RANDOM_OSRANDOMGENERATOR_H
|
#define MESSMER_CPPUTILS_RANDOM_OSRANDOMGENERATOR_H
|
||||||
|
|
||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "RandomGenerator.h"
|
#include "RandomGenerator.h"
|
||||||
#include <vendor_cryptopp/osrng.h>
|
#include <vendor_cryptopp/osrng.h>
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include "RandomGeneratorThread.h"
|
#include "RandomGeneratorThread.h"
|
||||||
|
|
||||||
namespace cpputils {
|
namespace cpputils {
|
||||||
|
@ -73,10 +73,8 @@ const vector<shared_ptr<CryCipher>> CryCiphers::SUPPORTED_CIPHERS = {
|
|||||||
make_shared<CryCipherInstance<Serpent128_CFB>>(INTEGRITY_WARNING),
|
make_shared<CryCipherInstance<Serpent128_CFB>>(INTEGRITY_WARNING),
|
||||||
make_shared<CryCipherInstance<Cast256_GCM>>(),
|
make_shared<CryCipherInstance<Cast256_GCM>>(),
|
||||||
make_shared<CryCipherInstance<Cast256_CFB>>(INTEGRITY_WARNING),
|
make_shared<CryCipherInstance<Cast256_CFB>>(INTEGRITY_WARNING),
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
make_shared<CryCipherInstance<Mars448_GCM>>(),
|
make_shared<CryCipherInstance<Mars448_GCM>>(),
|
||||||
make_shared<CryCipherInstance<Mars448_CFB>>(INTEGRITY_WARNING),
|
make_shared<CryCipherInstance<Mars448_CFB>>(INTEGRITY_WARNING),
|
||||||
#endif
|
|
||||||
make_shared<CryCipherInstance<Mars256_GCM>>(),
|
make_shared<CryCipherInstance<Mars256_GCM>>(),
|
||||||
make_shared<CryCipherInstance<Mars256_CFB>>(INTEGRITY_WARNING),
|
make_shared<CryCipherInstance<Mars256_CFB>>(INTEGRITY_WARNING),
|
||||||
make_shared<CryCipherInstance<Mars128_GCM>>(),
|
make_shared<CryCipherInstance<Mars128_GCM>>(),
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include "cpp-utils/crypto/symmetric/testutils/FakeAuthenticatedCipher.h"
|
#include "cpp-utils/crypto/symmetric/testutils/FakeAuthenticatedCipher.h"
|
||||||
#include "blockstore/implementations/encrypted/EncryptedBlockStore2.h"
|
#include "blockstore/implementations/encrypted/EncryptedBlockStore2.h"
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#define _REAL_NDEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
//Include the ASSERT macro for a debug build
|
//Include the ASSERT macro for a debug build
|
||||||
#undef NDEBUG
|
#undef NDEBUG
|
||||||
#include "cpp-utils/assert/assert.h"
|
#include "cpp-utils/assert/assert.h"
|
||||||
@ -29,9 +33,18 @@ constexpr const char* EXPECTED = R"(Assertion \[2==5\] failed in .*assert_debug_
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !(defined(_MSC_VER) && defined(_REAL_NDEBUG))
|
||||||
TEST(AssertTest_DebugBuild, AssertMessageContainsBacktrace) {
|
TEST(AssertTest_DebugBuild, AssertMessageContainsBacktrace) {
|
||||||
EXPECT_DEATH(
|
EXPECT_DEATH(
|
||||||
ASSERT(2==5, "my message"),
|
ASSERT(2==5, "my message"),
|
||||||
"cpputils::"
|
"cpputils::"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
TEST(AssertTest_DebugBuild, AssertMessageContainsBacktrace) {
|
||||||
|
EXPECT_DEATH(
|
||||||
|
ASSERT(2==5, "my message"),
|
||||||
|
"#1"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
#include <regex>
|
#include <regex>
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#define _REAL_NDEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
//Include the ASSERT macro for a release build
|
//Include the ASSERT macro for a release build
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
@ -31,10 +35,11 @@ TEST(AssertTest_ReleaseBuild, AssertMessage) {
|
|||||||
/*EXPECT_THAT(e.what(), MatchesRegex(
|
/*EXPECT_THAT(e.what(), MatchesRegex(
|
||||||
R"(Assertion \[2==5\] failed in .*assert_release_test.cpp:27: my message)"
|
R"(Assertion \[2==5\] failed in .*assert_release_test.cpp:27: my message)"
|
||||||
));*/
|
));*/
|
||||||
EXPECT_TRUE(std::regex_search(e.what(), std::regex(R"(Assertion \[2==5\] failed in .*assert_release_test.cpp:26: my message)")));
|
EXPECT_TRUE(std::regex_search(e.what(), std::regex(R"(Assertion \[2==5\] failed in .*assert_release_test.cpp:30: my message)")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !(defined(_MSC_VER) && defined(_REAL_NDEBUG))
|
||||||
TEST(AssertTest_ReleaseBuild, AssertMessageContainsBacktrace) {
|
TEST(AssertTest_ReleaseBuild, AssertMessageContainsBacktrace) {
|
||||||
try {
|
try {
|
||||||
ASSERT(2==5, "my message");
|
ASSERT(2==5, "my message");
|
||||||
@ -45,3 +50,15 @@ TEST(AssertTest_ReleaseBuild, AssertMessageContainsBacktrace) {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
TEST(AssertTest_ReleaseBuild, AssertMessageContainsBacktrace) {
|
||||||
|
try {
|
||||||
|
ASSERT(2==5, "my message");
|
||||||
|
FAIL();
|
||||||
|
} catch (const cpputils::AssertFailed &e) {
|
||||||
|
EXPECT_THAT(e.what(), HasSubstr(
|
||||||
|
"#1"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -19,6 +19,12 @@ namespace {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(BacktraceTest, ContainsBacktrace) {
|
||||||
|
string backtrace = cpputils::backtrace();
|
||||||
|
EXPECT_THAT(backtrace, HasSubstr("#1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !(defined(_MSC_VER) && defined(NDEBUG))
|
||||||
TEST(BacktraceTest, ContainsExecutableName) {
|
TEST(BacktraceTest, ContainsExecutableName) {
|
||||||
string backtrace = cpputils::backtrace();
|
string backtrace = cpputils::backtrace();
|
||||||
EXPECT_THAT(backtrace, HasSubstr("cpp-utils-test"));
|
EXPECT_THAT(backtrace, HasSubstr("cpp-utils-test"));
|
||||||
@ -29,7 +35,7 @@ TEST(BacktraceTest, ContainsTopLevelLine) {
|
|||||||
EXPECT_THAT(backtrace, HasSubstr("BacktraceTest"));
|
EXPECT_THAT(backtrace, HasSubstr("BacktraceTest"));
|
||||||
EXPECT_THAT(backtrace, HasSubstr("ContainsTopLevelLine"));
|
EXPECT_THAT(backtrace, HasSubstr("ContainsTopLevelLine"));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
std::string call_process_exiting_with_nullptr_violation() {
|
std::string call_process_exiting_with_nullptr_violation() {
|
||||||
@ -77,6 +83,7 @@ TEST(BacktraceTest, DoesntCrashOnCaughtException) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !(defined(_MSC_VER) && defined(NDEBUG))
|
||||||
TEST(BacktraceTest, ShowBacktraceOnNullptrAccess) {
|
TEST(BacktraceTest, ShowBacktraceOnNullptrAccess) {
|
||||||
auto output = call_process_exiting_with_nullptr_violation();
|
auto output = call_process_exiting_with_nullptr_violation();
|
||||||
EXPECT_THAT(output, HasSubstr("cpp-utils-test_exit_signal"));
|
EXPECT_THAT(output, HasSubstr("cpp-utils-test_exit_signal"));
|
||||||
@ -96,6 +103,27 @@ TEST(BacktraceTest, ShowBacktraceOnSigIll) {
|
|||||||
auto output = call_process_exiting_with_sigill();
|
auto output = call_process_exiting_with_sigill();
|
||||||
EXPECT_THAT(output, HasSubstr("cpp-utils-test_exit_signal"));
|
EXPECT_THAT(output, HasSubstr("cpp-utils-test_exit_signal"));
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
TEST(BacktraceTest, ShowBacktraceOnNullptrAccess) {
|
||||||
|
auto output = call_process_exiting_with_nullptr_violation();
|
||||||
|
EXPECT_THAT(output, HasSubstr("#1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(BacktraceTest, ShowBacktraceOnSigSegv) {
|
||||||
|
auto output = call_process_exiting_with_sigsegv();
|
||||||
|
EXPECT_THAT(output, HasSubstr("#1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(BacktraceTest, ShowBacktraceOnUnhandledException) {
|
||||||
|
auto output = call_process_exiting_with_exception("my_exception_message");
|
||||||
|
EXPECT_THAT(output, HasSubstr("#1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(BacktraceTest, ShowBacktraceOnSigIll) {
|
||||||
|
auto output = call_process_exiting_with_sigill();
|
||||||
|
EXPECT_THAT(output, HasSubstr("#1"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(_MSC_VER)
|
#if !defined(_MSC_VER)
|
||||||
TEST(BacktraceTest, ShowBacktraceOnSigAbrt) {
|
TEST(BacktraceTest, ShowBacktraceOnSigAbrt) {
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include "cpp-utils/crypto/symmetric/Cipher.h"
|
#include "cpp-utils/crypto/symmetric/Cipher.h"
|
||||||
#include "cpp-utils/crypto/symmetric/ciphers.h"
|
#include "cpp-utils/crypto/symmetric/ciphers.h"
|
||||||
@ -253,11 +252,9 @@ INSTANTIATE_TYPED_TEST_CASE_P(Cast256_CFB, CipherTest, Cast256_CFB); //CFB mode
|
|||||||
INSTANTIATE_TYPED_TEST_CASE_P(Cast256_GCM, CipherTest, Cast256_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Cast256_GCM, CipherTest, Cast256_GCM);
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Cast256_GCM, AuthenticatedCipherTest, Cast256_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Cast256_GCM, AuthenticatedCipherTest, Cast256_GCM);
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_CFB, CipherTest, Mars448_CFB); //CFB mode is not authenticated
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_CFB, CipherTest, Mars448_CFB); //CFB mode is not authenticated
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_GCM, CipherTest, Mars448_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_GCM, CipherTest, Mars448_GCM);
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_GCM, AuthenticatedCipherTest, Mars448_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars448_GCM, AuthenticatedCipherTest, Mars448_GCM);
|
||||||
#endif
|
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_CFB, CipherTest, Mars256_CFB); //CFB mode is not authenticated
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_CFB, CipherTest, Mars256_CFB); //CFB mode is not authenticated
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_GCM, CipherTest, Mars256_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_GCM, CipherTest, Mars256_GCM);
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_GCM, AuthenticatedCipherTest, Mars256_GCM);
|
INSTANTIATE_TYPED_TEST_CASE_P(Mars256_GCM, AuthenticatedCipherTest, Mars256_GCM);
|
||||||
@ -286,10 +283,9 @@ TEST(CipherNameTest, TestCipherNames) {
|
|||||||
EXPECT_EQ("cast-256-gcm", string(Cast256_GCM::NAME));
|
EXPECT_EQ("cast-256-gcm", string(Cast256_GCM::NAME));
|
||||||
EXPECT_EQ("cast-256-cfb", string(Cast256_CFB::NAME));
|
EXPECT_EQ("cast-256-cfb", string(Cast256_CFB::NAME));
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
EXPECT_EQ("mars-448-gcm", string(Mars448_GCM::NAME));
|
EXPECT_EQ("mars-448-gcm", string(Mars448_GCM::NAME));
|
||||||
EXPECT_EQ("mars-448-cfb", string(Mars448_CFB::NAME));
|
EXPECT_EQ("mars-448-cfb", string(Mars448_CFB::NAME));
|
||||||
#endif
|
|
||||||
EXPECT_EQ("mars-256-gcm", string(Mars256_GCM::NAME));
|
EXPECT_EQ("mars-256-gcm", string(Mars256_GCM::NAME));
|
||||||
EXPECT_EQ("mars-256-cfb", string(Mars256_CFB::NAME));
|
EXPECT_EQ("mars-256-cfb", string(Mars256_CFB::NAME));
|
||||||
EXPECT_EQ("mars-128-gcm", string(Mars128_GCM::NAME));
|
EXPECT_EQ("mars-128-gcm", string(Mars128_GCM::NAME));
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include "cpp-utils/crypto/cryptopp_byte.h"
|
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
@ -77,10 +77,7 @@ TEST_F(CryCipherTest, FindsCorrectCipher) {
|
|||||||
"aes-256-gcm", "aes-256-cfb", "aes-256-gcm", "aes-256-cfb",
|
"aes-256-gcm", "aes-256-cfb", "aes-256-gcm", "aes-256-cfb",
|
||||||
"twofish-256-gcm", "twofish-256-cfb", "twofish-256-gcm", "twofish-256-cfb",
|
"twofish-256-gcm", "twofish-256-cfb", "twofish-256-gcm", "twofish-256-cfb",
|
||||||
"serpent-256-gcm", "serpent-256-cfb", "serpent-256-gcm", "serpent-256-cfb",
|
"serpent-256-gcm", "serpent-256-cfb", "serpent-256-gcm", "serpent-256-cfb",
|
||||||
"cast-256-gcm", "cast-256-cfb",
|
"cast-256-gcm", "cast-256-cfb", "mars-448-gcm", "mars-448-cfb",
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
"mars-448-gcm", "mars-448-cfb",
|
|
||||||
#endif
|
|
||||||
"mars-256-gcm", "mars-256-cfb", "mars-256-gcm", "mars-256-cfb"
|
"mars-256-gcm", "mars-256-cfb", "mars-256-gcm", "mars-256-cfb"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -100,10 +97,8 @@ TEST_F(CryCipherTest, CreatesCorrectEncryptedBlockStore) {
|
|||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Serpent128_CFB>("serpent-128-cfb");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Serpent128_CFB>("serpent-128-cfb");
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Cast256_GCM>("cast-256-gcm");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Cast256_GCM>("cast-256-gcm");
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Cast256_CFB>("cast-256-cfb");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Cast256_CFB>("cast-256-cfb");
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars448_GCM>("mars-448-gcm");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars448_GCM>("mars-448-gcm");
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars448_CFB>("mars-448-cfb");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars448_CFB>("mars-448-cfb");
|
||||||
#endif
|
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars256_GCM>("mars-256-gcm");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars256_GCM>("mars-256-gcm");
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars256_CFB>("mars-256-cfb");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars256_CFB>("mars-256-cfb");
|
||||||
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars128_GCM>("mars-128-gcm");
|
EXPECT_CREATES_CORRECT_ENCRYPTED_BLOCKSTORE<Mars128_GCM>("mars-128-gcm");
|
||||||
@ -123,11 +118,9 @@ TEST_F(CryCipherTest, ThereIsACipherWithIntegrityWarning) {
|
|||||||
EXPECT_THAT(CryCiphers::find("aes-256-cfb").warning().value(), MatchesRegex(".*integrity.*"));
|
EXPECT_THAT(CryCiphers::find("aes-256-cfb").warning().value(), MatchesRegex(".*integrity.*"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
TEST_F(CryCipherTest, EncryptionKeyHasCorrectSize_448) {
|
TEST_F(CryCipherTest, EncryptionKeyHasCorrectSize_448) {
|
||||||
EXPECT_EQ(Mars448_GCM::STRING_KEYSIZE, CryCiphers::find("mars-448-gcm").createKey(Random::PseudoRandom()).size());
|
EXPECT_EQ(Mars448_GCM::STRING_KEYSIZE, CryCiphers::find("mars-448-gcm").createKey(Random::PseudoRandom()).size());
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
TEST_F(CryCipherTest, EncryptionKeyHasCorrectSize_256) {
|
TEST_F(CryCipherTest, EncryptionKeyHasCorrectSize_256) {
|
||||||
EXPECT_EQ(AES256_GCM::STRING_KEYSIZE, CryCiphers::find("aes-256-gcm").createKey(Random::PseudoRandom()).size());
|
EXPECT_EQ(AES256_GCM::STRING_KEYSIZE, CryCiphers::find("aes-256-gcm").createKey(Random::PseudoRandom()).size());
|
||||||
|
@ -155,7 +155,6 @@ TEST_F(CryConfigCreatorTest, ChoosesEmptyRootBlobId) {
|
|||||||
EXPECT_EQ("", config.RootBlob()); // This tells CryFS to create a new root blob
|
EXPECT_EQ("", config.RootBlob()); // This tells CryFS to create a new root blob
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CRYPTOPP_VERSION != 564
|
|
||||||
TEST_F(CryConfigCreatorTest, ChoosesValidEncryptionKey_448) {
|
TEST_F(CryConfigCreatorTest, ChoosesValidEncryptionKey_448) {
|
||||||
AnswerNoToDefaultSettings();
|
AnswerNoToDefaultSettings();
|
||||||
IGNORE_ASK_FOR_MISSINGBLOCKISINTEGRITYVIOLATION();
|
IGNORE_ASK_FOR_MISSINGBLOCKISINTEGRITYVIOLATION();
|
||||||
@ -163,7 +162,6 @@ TEST_F(CryConfigCreatorTest, ChoosesValidEncryptionKey_448) {
|
|||||||
CryConfig config = creator.create(none, none, none, false).config;
|
CryConfig config = creator.create(none, none, none, false).config;
|
||||||
cpputils::Mars448_GCM::EncryptionKey::FromString(config.EncryptionKey()); // This crashes if invalid
|
cpputils::Mars448_GCM::EncryptionKey::FromString(config.EncryptionKey()); // This crashes if invalid
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
TEST_F(CryConfigCreatorTest, ChoosesValidEncryptionKey_256) {
|
TEST_F(CryConfigCreatorTest, ChoosesValidEncryptionKey_256) {
|
||||||
AnswerNoToDefaultSettings();
|
AnswerNoToDefaultSettings();
|
||||||
|
Loading…
Reference in New Issue
Block a user