############################# compiler flags ##################################
SET(CMAKE_C_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
-SET(CMAKE_CXX_FLAGS_PROFILING "-g -std=c++0x -O0 -pg -Wp,-U_FORTIFY_SOURCE")
+SET(CMAKE_CXX_FLAGS_PROFILING "-g -std=c++14 -O0 -pg -Wp,-U_FORTIFY_SOURCE")
SET(CMAKE_C_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
-SET(CMAKE_CXX_FLAGS_DEBUG "-g -std=c++0x -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
+SET(CMAKE_CXX_FLAGS_DEBUG "-g -std=c++14 -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
SET(CMAKE_C_FLAGS_RELEASE "-g -O2")
-SET(CMAKE_CXX_FLAGS_RELEASE "-g -std=c++0x -O2")
+SET(CMAKE_CXX_FLAGS_RELEASE "-g -std=c++14 -O2")
SET(CMAKE_C_FLAGS_CCOV "-g -O2 --coverage")
-SET(CMAKE_CXX_FLAGS_CCOV "-g -std=c++0x -O2 --coverage")
+SET(CMAKE_CXX_FLAGS_CCOV "-g -std=c++14 -O2 --coverage")
# Force PIE
SET(CMAKE_POSITION_INDEPENDENT_CODE "True")
PASSWORD = 1 << 0
};
-template <typename T, typename ...Args>
-std::unique_ptr<T> make_unique(Args &&...args)
-{
- return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-}
-
RawBuffer generateRandIV()
{
RawBuffer civ(EVP_MAX_IV_LENGTH);
RawBuffer data = unpack(token.data, pass);
if (token.dataType.isKeyPrivate() || token.dataType.isKeyPublic())
- return make_unique<AKey>(data, token.dataType);
+ return std::make_unique<AKey>(data, token.dataType);
if (token.dataType == DataType(DataType::KEY_AES))
- return make_unique<SKey>(data, token.dataType);
+ return std::make_unique<SKey>(data, token.dataType);
if (token.dataType.isCertificate() || token.dataType.isChainCert())
- return make_unique<Cert>(data, token.dataType);
+ return std::make_unique<Cert>(data, token.dataType);
if (token.dataType.isBinaryData())
- return make_unique<BData>(data, token.dataType);
+ return std::make_unique<BData>(data, token.dataType);
ThrowErr(Exc::Crypto::DataTypeNotSupported,
"This type of data is not supported by openssl backend: ", (int)token.dataType);
namespace {
-template <typename T, typename ...Args>
-std::unique_ptr<T> make_unique(Args &&...args)
-{
- return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-}
-
// internal SW encryption scheme flags
enum EncryptionScheme {
NONE = 0,
}
if (token.dataType.isKeyPrivate() || token.dataType.isKeyPublic())
- return make_unique<AKey>(scheme, id, Pwd(pass, iv, tag), token.dataType);
+ return std::make_unique<AKey>(scheme, id, Pwd(pass, iv, tag), token.dataType);
if (token.dataType.isSKey())
- return make_unique<SKey>(scheme, id, Pwd(pass, iv, tag), token.dataType);
+ return std::make_unique<SKey>(scheme, id, Pwd(pass, iv, tag), token.dataType);
if (token.dataType.isCertificate() || token.dataType.isChainCert())
- return make_unique<Cert>(scheme, id, Pwd(pass, iv, tag), token.dataType);
+ return std::make_unique<Cert>(scheme, id, Pwd(pass, iv, tag), token.dataType);
if (token.dataType.isBinaryData()) {
RawBuffer exported_data = Internals::getData(id, Pwd(pass, iv, tag));
- return make_unique<BData>(std::move(exported_data));
+ return std::make_unique<BData>(std::move(exported_data));
}
ThrowErr(Exc::Crypto::DataTypeNotSupported,