Skip to content

Commit a6459c8

Browse files
authored
Merge branch 'dev' into cryptolib#474
2 parents 5d4ea7b + 07a5e88 commit a6459c8

20 files changed

+617
-532
lines changed

.github/workflows/build.yml

Lines changed: 39 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -62,50 +62,45 @@ jobs:
6262
#
6363
# KMC Build
6464
#
65-
# kmc_build:
66-
# # Container Setup
67-
# runs-on: ubuntu-latest
68-
# steps:
69-
# - uses: actions/checkout@v4
70-
# - name: Update
71-
# run: sudo apt-get update
72-
# - name: Install Dependencies
73-
# run: sudo apt-get install -y lcov libcurl4-openssl-dev libmariadb-dev libmariadb-dev-compat python3
74-
# - name: Install Python Libraries
75-
# run: sudo pip install pycryptodome
76-
# - name: Install Libgcrypt
77-
# run: >
78-
# curl
79-
# -LS https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.50.tar.bz2
80-
# -o /tmp/libgpg-error-1.50.tar.bz2
81-
# && tar -xjf /tmp/libgpg-error-1.50.tar.bz2 -C /tmp/
82-
# && cd /tmp/libgpg-error-1.50
83-
# && sudo ./configure
84-
# && sudo make install
85-
# && curl
86-
# -LS https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.0.tar.bz2
87-
# -o /tmp/libgcrypt-1.11.0.tar.bz2
88-
# && tar -xjf /tmp/libgcrypt-1.11.0.tar.bz2 -C /tmp/
89-
# && cd /tmp/libgcrypt-1.11.0
90-
# && sudo ./configure
91-
# && sudo make install
92-
# && sudo ldconfig
93-
# # End Container Setup
94-
95-
# - name: KMC Build Script
96-
# working-directory: ${{github.workspace}}
97-
# run: bash ${GITHUB_WORKSPACE}/support/scripts/build_kmc.sh
98-
99-
# - name: Code-Coverage
100-
# working-directory: ${{github.workspace}}
101-
# run: make gcov
102-
103-
# - name: Upload
104-
# uses: codecov/codecov-action@v4
105-
# with:
106-
# token: ${{ secrets.CODECOV_TOKEN }}
107-
# files: 'coverage/*.c.gcov'
108-
# verbose: true
65+
kmc_build:
66+
# Container Setup
67+
runs-on: ubuntu-latest
68+
container:
69+
image: ivvitc/cryptolib:20250108
70+
steps:
71+
- uses: actions/checkout@v4
72+
with:
73+
repository: NASA-AMMOS/DCS
74+
path: DCS
75+
submodules: recursive
76+
- name: setup python
77+
uses: actions/setup-python@v5
78+
with:
79+
python-version: '3.11'
80+
- name: Set current branch
81+
run: echo "BRANCH_NAME=$(echo ${{ github.head_ref || github.ref_name }})" >> $GITHUB_ENV
82+
- name: Update
83+
run: apt-get update
84+
- name: Install Dependencies
85+
run: apt-get install -y libcurl4-openssl-dev libmariadb-dev libmariadb-dev-compat python3 openjdk-17-jdk openjdk-17-jre cmake swig maven podman default-jdk
86+
- name: Install Python Libraries
87+
run: |
88+
pip3 install --break-system-packages pycryptodome cffi invoke
89+
- name: update Cryptolib
90+
run: |
91+
cd DCS/ammos-cryptolib
92+
rm -rf CryptoLib
93+
git clone --single-branch --branch $BRANCH_NAME https://github.com/nasa/CryptoLib.git
94+
- name: add required jars
95+
run: |
96+
cd DCS/ammos-cryptolib/kmc_sdls/kmc_sdls_java/kmc_sdls_java_test
97+
curl -LS https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar -o ./junit-4.13.2.jar
98+
curl -LS https://repo1.maven.org/maven2/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar -o ./hamcrest-2.2.jar
99+
- name: build DCS
100+
run: |
101+
cd ./DCS
102+
export JAVA_HOME=/lib/jvm/java-17-openjdk-amd64
103+
./kmc-resources/scripts/build.sh
109104
110105
#
111106
# Wolf Build

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
cmake_minimum_required(VERSION 3.14.0)
1919
project(crypto C)
2020

21+
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
22+
2123
#
2224
# CUSTOM PATH Definiton
2325
#

include/crypto.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
** Crypto Version
5050
*/
5151
#define CRYPTO_LIB_MAJOR_VERSION 1
52-
#define CRYPTO_LIB_MINOR_VERSION 3
52+
#define CRYPTO_LIB_MINOR_VERSION 4
5353
#define CRYPTO_LIB_REVISION 1
5454
#define CRYPTO_LIB_MISSION_REV 0
5555

@@ -329,7 +329,9 @@ extern CamConfig_t *cam_config;
329329
extern GvcidManagedParameters_t *gvcid_managed_parameters;
330330
extern GvcidManagedParameters_t *current_managed_parameters;
331331
extern GvcidManagedParameters_t gvcid_managed_parameters_array[GVCID_MAX_PARAM_SIZE];
332-
extern GvcidManagedParameters_t current_managed_parameters_struct;
332+
extern GvcidManagedParameters_t tc_current_managed_parameters_struct;
333+
extern GvcidManagedParameters_t tm_current_managed_parameters_struct;
334+
extern GvcidManagedParameters_t aos_current_managed_parameters_struct;
333335
extern int gvcid_counter;
334336
extern KeyInterface key_if;
335337
extern McInterface mc_if;

src/CMakeLists.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,13 @@ endif()
128128

129129
# Create the app module
130130
if(DEFINED CFE_SYSTEM_PSPNAME)
131-
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/cpu${TGTSYS_${SYSVAR}}/${INSTALL_SUBDIR}")
131+
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${TGTSYS_${SYSVAR}}/${INSTALL_SUBDIR}")
132132
add_cfe_app(crypto ${LIB_SRC_FILES})
133133
target_include_directories(crypto PUBLIC ../include)
134134
else()
135135
# Standalone build
136136
add_library(crypto SHARED ${LIB_SRC_FILES})
137+
target_include_directories(crypto PUBLIC ../include)
137138
endif()
138139

139140
if(CRYPTO_LIBGCRYPT)
@@ -159,23 +160,25 @@ endif()
159160

160161
file(GLOB CRYPTO_INCLUDES ../include/*.h)
161162
set_target_properties(crypto PROPERTIES PUBLIC_HEADER "${CRYPTO_INCLUDES}")
163+
file(GLOB CRYPTO_INCLUDES ../support/standalone/*.h)
164+
set_target_properties(crypto PROPERTIES PUBLIC_HEADER "${CRYPTO_INCLUDES}")
162165
# This causes the library to be installed as libcryptolib.so while still being
163166
# referred to as crypto from CMake. Without this, the library filename would be
164167
# libcrypto.so which would conflict with openssl
165168
set_target_properties(crypto PROPERTIES OUTPUT_NAME "cryptolib")
166169

167170
add_custom_command(TARGET crypto POST_BUILD
168-
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:crypto> ${PROJECT_BINARY_DIR}/lib/libcrypto.so
169-
COMMENT "Created ${PROJECT_BINARY_DIR}/lib/libCrypto.so"
171+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:crypto> ${PROJECT_BINARY_DIR}/libcryptolib.so
172+
COMMENT "Created ${PROJECT_BINARY_DIR}/libcryptolib.so"
170173
)
171174

172175
if(DEFINED CFE_SYSTEM_PSPNAME)
173176
install(TARGETS crypto
174177
DESTINATION ${CMAKE_INSTALL_PREFIX}/${TGTSYS_${SYSVAR}}/${INSTALL_SUBDIR}
175-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_PREFIX}/host)
178+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
176179
else()
177180
install(TARGETS crypto
178-
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
181+
DESTINATION ${CMAKE_INSTALL_PREFIX}/
179182
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
180183
endif()
181184

src/core/crypto.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,8 +1447,8 @@ int32_t Crypto_Get_Security_Trailer_Length(SecurityAssociation_t *sa_ptr)
14471447
**/
14481448
void Crypto_Set_FSR(uint8_t *p_ingest, uint16_t byte_idx, uint16_t pdu_len, SecurityAssociation_t *sa_ptr)
14491449
{
1450-
if (current_managed_parameters_struct.has_ocf == TM_HAS_OCF ||
1451-
current_managed_parameters_struct.has_ocf == AOS_HAS_OCF)
1450+
if (tm_current_managed_parameters_struct.has_ocf == TM_HAS_OCF ||
1451+
aos_current_managed_parameters_struct.has_ocf == AOS_HAS_OCF)
14521452
{
14531453
Telemetry_Frame_Ocf_Fsr_t temp_report;
14541454
byte_idx += (pdu_len + sa_ptr->stmacf_len);

0 commit comments

Comments
 (0)