Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*~
.vscode
.project
.cproject
.pydevproject

# Build files
Expand Down
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ add_compile_options(
-Wextra
-Wpedantic
-Werror
-Wshadow -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wredundant-decls -Wcast-align
-Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
-fno-strict-aliasing -Werror=format-security -fno-common
-Wstrict-aliasing=2
# -Wconversion
)
# LEON safe options
add_compile_options(
Expand Down
1 change: 0 additions & 1 deletion cmake/FindQCBOR.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@ set_target_properties(QCBOR::qcbor PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${QCBOR_HEADER}"
IMPORTED_LOCATION "${QCBOR_LIB}"
)
target_link_libraries(QCBOR::qcbor INTERFACE m)
1 change: 1 addition & 0 deletions cmake/Findunitytools.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ function(add_unity_test)
UNITY_INCLUDE_FLOAT
UNITY_INCLUDE_DOUBLE
)
target_compile_options(${BASENAME} PRIVATE -Wno-redundant-decls -Wno-missing-prototypes -Wno-shadow)
target_link_libraries(${BASENAME} PUBLIC unity::framework)

add_test(
Expand Down
2 changes: 1 addition & 1 deletion deps/mlib
Submodule mlib updated 110 files
2 changes: 1 addition & 1 deletion deps/unity
Submodule unity updated 123 files
6 changes: 6 additions & 0 deletions pkg/bsl.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ popd
%{_libdir}/libqcbor.so.*
%{_libdir}/libbsl_front.so.*
%{_libdir}/libbsl_dynamic.so.*
%{_libdir}/libbsl_crypto.so.*
%{_libdir}/libbsl_sample_pp.so.*
%{_libdir}/libbsl_default_sc.so.*

%files devel
%license LICENSE
Expand All @@ -108,6 +111,9 @@ popd
%{_libdir}/libqcbor.so
%{_libdir}/libbsl_front.so
%{_libdir}/libbsl_dynamic.so
%{_libdir}/libbsl_crypto.so
%{_libdir}/libbsl_sample_pp.so
%{_libdir}/libbsl_default_sc.so

%files test
%license LICENSE
Expand Down
89 changes: 62 additions & 27 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,7 @@ set(BSL_FRONT_C

add_library(bsl_front)
target_sources(bsl_front PUBLIC ${BSL_FRONT_H})
target_sources(bsl_front PUBLIC ${BSL_FRONT_C})
add_compile_options(-include ${CMAKE_CURRENT_BINARY_DIR}/BSLConfig.h)
target_compile_options(bsl_front PRIVATE -Wshadow -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wredundant-decls -Wcast-align
-Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
-fno-strict-aliasing -Werror=format-security -fno-common
-Wstrict-aliasing=2)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
target_sources(bsl_front PRIVATE ${BSL_FRONT_C})

set_target_properties(bsl_front
PROPERTIES
Expand All @@ -58,18 +51,73 @@ target_include_directories(
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/bsl>
)

# Crypto Library
set(BSL_CRYPTO_C
${CMAKE_CURRENT_SOURCE_DIR}/crypto/CryptoInterface.c
)

add_library(bsl_crypto)
target_sources(bsl_crypto PRIVATE ${BSL_CRYPTO_C})
set_target_properties(bsl_crypto
PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
)
target_link_libraries(bsl_crypto PUBLIC bsl_front)
target_link_libraries(bsl_crypto PUBLIC MLIB::mlib)
target_link_libraries(bsl_crypto INTERFACE OpenSSL::Crypto)

# Default Security Context library
set(BSL_DEFAULT_SC_H
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext.h
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext_Private.h
)

set(BSL_DEFAULT_SC_C
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext.c
${CMAKE_CURRENT_SOURCE_DIR}/security_context/BCB_AES_GCM.c
${CMAKE_CURRENT_SOURCE_DIR}/security_context/BIB_HMAC_SHA2.c
)

add_library(bsl_default_sc)
target_sources(bsl_default_sc PUBLIC ${BSL_DEFAULT_SC_H})
target_sources(bsl_default_sc PRIVATE ${BSL_DEFAULT_SC_C})
set_target_properties(bsl_default_sc
PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
)
target_link_libraries(bsl_default_sc PUBLIC bsl_front)
target_link_libraries(bsl_default_sc PUBLIC bsl_crypto)
target_link_libraries(bsl_default_sc PUBLIC QCBOR::qcbor)

# Example Policy Provider library
set(BSL_SAMPLE_PP_H
${CMAKE_CURRENT_SOURCE_DIR}/policy_provider/SamplePolicyProvider.h
)

set(BSL_SAMPLE_PP_C
${CMAKE_CURRENT_SOURCE_DIR}/policy_provider/SamplePolicyProvider.c
)

add_library(bsl_sample_pp)
target_sources(bsl_sample_pp PUBLIC ${BSL_SAMPLE_PP_H})
target_sources(bsl_sample_pp PRIVATE ${BSL_SAMPLE_PP_C})
set_target_properties(bsl_sample_pp
PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
)
target_link_libraries(bsl_sample_pp PUBLIC bsl_front)

# Dynamic backend library
set(BSL_DYNAMIC_H
${CMAKE_CURRENT_SOURCE_DIR}/backend/PublicInterfaceImpl.h
${CMAKE_CURRENT_SOURCE_DIR}/backend/UtilDefs_SeqReadWrite.h
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext.h
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext_Private.h
${CMAKE_CURRENT_SOURCE_DIR}/policy_provider/SamplePolicyProvider.h
)

set(BSL_DYNAMIC_C
${CMAKE_CURRENT_SOURCE_DIR}/backend/AbsSecBlock.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/CryptoInterface.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/UtilDefs_Data.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/HostInterface.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/PublicInterfaceImpl.c
Expand All @@ -83,22 +131,12 @@ set(BSL_DYNAMIC_C
${CMAKE_CURRENT_SOURCE_DIR}/backend/SecurityContext.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/SecurityResultSet.c
${CMAKE_CURRENT_SOURCE_DIR}/backend/UtilDefs_SeqReadWrite.c
${CMAKE_CURRENT_SOURCE_DIR}/policy_provider/SamplePolicyProvider.c
${CMAKE_CURRENT_SOURCE_DIR}/security_context/DefaultSecContext.c
${CMAKE_CURRENT_SOURCE_DIR}/security_context/BCB_AES_GCM.c
${CMAKE_CURRENT_SOURCE_DIR}/security_context/BIB_HMAC_SHA2.c
)

add_library(bsl_dynamic)
add_compile_options(-include ${CMAKE_CURRENT_BINARY_DIR}/BSLConfig.h)
target_sources(bsl_dynamic PUBLIC ${BSL_DYNAMIC_H})
target_sources(bsl_dynamic PUBLIC ${BSL_DYNAMIC_C})
target_compile_options(bsl_dynamic PRIVATE -Wshadow -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wredundant-decls -Wcast-align
-Wformat=2 -Wswitch-enum -Wlogical-op -Wduplicated-branches
-fno-strict-aliasing -Werror=format-security -fno-common
-Wstrict-aliasing=2)
# -Wconversion
target_sources(bsl_dynamic PRIVATE ${BSL_DYNAMIC_C})
set_target_properties(bsl_dynamic
PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
Expand All @@ -107,9 +145,6 @@ set_target_properties(bsl_dynamic
target_link_libraries(bsl_dynamic PUBLIC bsl_front)
target_link_libraries(bsl_dynamic PUBLIC MLIB::mlib)
target_link_libraries(bsl_dynamic PUBLIC QCBOR::qcbor)
target_link_libraries(bsl_dynamic PUBLIC OpenSSL::SSL)
target_link_libraries(bsl_dynamic PUBLIC Threads::Threads)


add_subdirectory(mock_bpa)
find_program(CLANG_FORMAT "clang-format")
Expand All @@ -128,7 +163,7 @@ endif()

# Installation config
install(
TARGETS bsl_front bsl_dynamic
TARGETS bsl_front bsl_dynamic bsl_default_sc bsl_sample_pp bsl_crypto
RUNTIME
COMPONENT runtime
LIBRARY
Expand Down
File renamed without changes.
7 changes: 4 additions & 3 deletions src/mock_bpa/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ target_sources(
${CMAKE_CURRENT_SOURCE_DIR}/BPSecLib_MockBPA.h
)
target_sources(
bsl_mock_bpa PUBLIC
bsl_mock_bpa PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/bsl_mock_bpa.c
${CMAKE_CURRENT_SOURCE_DIR}/bsl_mock_bpa_crc.c
${CMAKE_CURRENT_SOURCE_DIR}/bsl_mock_bpa_eid.c
Expand All @@ -54,11 +54,12 @@ set_target_properties(bsl_mock_bpa
VERSION ${CMAKE_PROJECT_VERSION}
SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
)
target_link_libraries(bsl_mock_bpa PUBLIC bsl_front QCBOR::qcbor MLIB::mlib)
target_link_libraries(bsl_mock_bpa PUBLIC MLIB::mlib QCBOR::qcbor)
target_link_libraries(bsl_mock_bpa PUBLIC bsl_front bsl_default_sc bsl_sample_pp)

add_executable(bsl-mock-bpa)
target_sources(bsl-mock-bpa PRIVATE mock_bpa.c)
target_link_libraries(bsl-mock-bpa PUBLIC bsl_mock_bpa bsl_dynamic)
target_link_libraries(bsl-mock-bpa PUBLIC bsl_mock_bpa bsl_dynamic bsl_default_sc bsl_sample_pp bsl_crypto)
target_link_libraries(bsl-mock-bpa PUBLIC Threads::Threads)

# Installation config
Expand Down
2 changes: 2 additions & 0 deletions src/mock_bpa/bsl_mock_bpa_crc.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ void mock_bpa_crc_apply(UsefulBuf buf, size_t begin, size_t end, BSL_BundleCRCTy
*crc_enc = htonl(crc_val);
break;
}
case BSL_BUNDLECRCTYPE_NONE:
default:
break;
}
Expand Down Expand Up @@ -124,6 +125,7 @@ bool mock_bpa_crc_check(UsefulBufC buf, size_t begin, size_t end, BSL_BundleCRCT
same = (crc_val == orig_val);
break;
}
case BSL_BUNDLECRCTYPE_NONE:
default:
break;
}
Expand Down
2 changes: 1 addition & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ find_package(unitytools)

add_library(bsl_test_utils)
target_sources(bsl_test_utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bsl_test_utils.h)
target_sources(bsl_test_utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bsl_test_utils.c)
target_sources(bsl_test_utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bsl_test_utils.c)
set_target_properties(bsl_test_utils
PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
Expand Down
2 changes: 1 addition & 1 deletion test/bsl_test_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ BSL_SecurityActionSet_t *BSL_TestUtils_InitMallocBIBActionSet(BIBTestContext *bi
return action_set;
}

BSL_SecurityResponseSet_t *BSL_TestUtils_MallocEmptyPolicyResponse()
BSL_SecurityResponseSet_t *BSL_TestUtils_MallocEmptyPolicyResponse(void)
{
return calloc(BSL_SecurityResponseSet_Sizeof(), 1);
}
Expand Down
2 changes: 1 addition & 1 deletion test/bsl_test_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ typedef struct BSL_TestContext_s
} BSL_TestContext_t;

BSL_SecurityActionSet_t *BSL_TestUtils_InitMallocBIBActionSet(BIBTestContext *bib_context);
BSL_SecurityResponseSet_t *BSL_TestUtils_MallocEmptyPolicyResponse();
BSL_SecurityResponseSet_t *BSL_TestUtils_MallocEmptyPolicyResponse(void);

void BSL_TestUtils_SetupDefaultSecurityContext(BSL_LibCtx_t *bsl_lib);

Expand Down