Skip to content

Commit 89b20af

Browse files
authored
Merge pull request #352 from nasa/336-revisit-crypto_configh-defines
336 revisit crypto configh defines
2 parents 7971deb + 234d64f commit 89b20af

File tree

4 files changed

+64
-61
lines changed

4 files changed

+64
-61
lines changed

include/crypto_config.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
#define SPI_LEN 2 /* bytes */
113113
#define KEY_SIZE 512 /* bytes */
114114
#define KEY_ID_SIZE 8
115+
#define MKID_MAX 128
115116
#define NUM_KEYS 256
116117
#define DISABLED 0
117118
#define ENABLED 1
@@ -131,6 +132,7 @@
131132
#define CHALLENGE_SIZE 16 /* bytes */
132133
#define CHALLENGE_MAC_SIZE 16 /* bytes */
133134
#define BYTE_LEN 8 /* bits */
135+
#define CRYPTOLIB_APPID 128
134136

135137
// Monitoring and Control Defines
136138
#define EMV_SIZE 4 /* bytes */
@@ -206,6 +208,7 @@
206208
#define AOS_FILL_SIZE 1145 /* bytes */
207209

208210
// SDLS Behavior Defines
211+
#define SDLS_OTAR_IV_OFFSET 2
209212
#define SDLS_KEYV_MAX_KEYS 21 /* keys */
210213
#define SDLS_IV_LEN 12 /* bytes */
211214
#define SDLS_KEYV_KEY_ID_LEN 2 /* bytes */

src/core/crypto_key_mgmt.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ int32_t Crypto_Key_OTAR(void)
5050
crypto_key_t *ekp = NULL;
5151

5252
// Master Key ID
53-
packet.mkid = (sdls_frame.pdu.data[0] << 8) | (sdls_frame.pdu.data[1]);
53+
packet.mkid = (sdls_frame.pdu.data[0] << BYTE_LEN) | (sdls_frame.pdu.data[1]);
5454
#ifdef DEBUG
5555
printf("# PDU Keys: %d\n", pdu_keys);
5656
printf("MKID: %d\n", packet.mkid);
5757
#endif
58-
if (packet.mkid >= 128)
58+
if (packet.mkid >= MKID_MAX)
5959
{
6060
report.af = 1;
6161
if (log_summary.rs > 0)
@@ -76,11 +76,11 @@ int32_t Crypto_Key_OTAR(void)
7676
return status;
7777
}
7878

79-
for (count = 2; count < (2 + SDLS_IV_LEN); count++)
79+
for (count = SDLS_OTAR_IV_OFFSET; count < (SDLS_OTAR_IV_OFFSET + SDLS_IV_LEN); count++)
8080
{ // Initialization Vector
81-
packet.iv[count - 2] = sdls_frame.pdu.data[count];
81+
packet.iv[count - SDLS_OTAR_IV_OFFSET] = sdls_frame.pdu.data[count];
8282
#ifdef DEBUG
83-
printf("packet.iv[%d] = 0x%02x\n", count - 2, packet.iv[count - 2]);
83+
printf("packet.iv[%d] = 0x%02x\n", count - SDLS_OTAR_IV_OFFSET, packet.iv[count - SDLS_OTAR_IV_OFFSET]);
8484
#endif
8585
}
8686

@@ -124,8 +124,8 @@ int32_t Crypto_Key_OTAR(void)
124124
// Read in Decrypted Data
125125
for (count = 14; x < pdu_keys; x++)
126126
{ // Encrypted Key Blocks
127-
packet.EKB[x].ekid = (sdls_frame.pdu.data[count] << 8) | (sdls_frame.pdu.data[count + 1]);
128-
if (packet.EKB[x].ekid < 128)
127+
packet.EKB[x].ekid = (sdls_frame.pdu.data[count] << BYTE_LEN) | (sdls_frame.pdu.data[count + 1]);
128+
if (packet.EKB[x].ekid < CRYPTOLIB_APPID)
129129
{
130130
report.af = 1;
131131
if (log_summary.rs > 0)
@@ -213,7 +213,7 @@ int32_t Crypto_Key_update(uint8_t state)
213213
// Read in PDU
214214
for (x = 0; x < pdu_keys; x++)
215215
{
216-
packet.kblk[x].kid = (sdls_frame.pdu.data[count] << 8) | (sdls_frame.pdu.data[count + 1]);
216+
packet.kblk[x].kid = (sdls_frame.pdu.data[count] << BYTE_LEN) | (sdls_frame.pdu.data[count + 1]);
217217
count = count + 2;
218218
#ifdef PDU_DEBUG
219219
if (x != (pdu_keys - 1))
@@ -253,7 +253,7 @@ int32_t Crypto_Key_update(uint8_t state)
253253
// Update Key State
254254
for (x = 0; x < pdu_keys; x++)
255255
{
256-
if (packet.kblk[x].kid < 128)
256+
if (packet.kblk[x].kid < MKID_MAX)
257257
{
258258
report.af = 1;
259259
if (log_summary.rs > 0)
@@ -327,24 +327,24 @@ int32_t Crypto_Key_inventory(uint8_t *ingest)
327327
}
328328

329329
// Read in PDU
330-
packet.kid_first = ((uint8_t)sdls_frame.pdu.data[count] << 8) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
330+
packet.kid_first = ((uint8_t)sdls_frame.pdu.data[count] << BYTE_LEN) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
331331
count = count + 2;
332-
packet.kid_last = ((uint8_t)sdls_frame.pdu.data[count] << 8) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
332+
packet.kid_last = ((uint8_t)sdls_frame.pdu.data[count] << BYTE_LEN) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
333333
count = count + 2;
334334

335335
// Prepare for Reply
336336
range = packet.kid_last - packet.kid_first + 1;
337-
sdls_frame.pdu.hdr.pdu_len = (SDLS_KEY_INVENTORY_RPLY_SIZE * (range)) * 8;
337+
sdls_frame.pdu.hdr.pdu_len = (SDLS_KEY_INVENTORY_RPLY_SIZE * (range)) * BYTE_LEN;
338338
sdls_frame.hdr.pkt_length =
339-
(sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 2 + 9; // 2 = Num Keys Returned Field (2 Bytes)
340-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
339+
CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1 + 2; // 2 = Num Keys Returned Field (2 Bytes)
340+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
341341

342-
sdls_ep_reply[count++] = ((range & 0xFF00) >> 8);
342+
sdls_ep_reply[count++] = ((range & 0xFF00) >> BYTE_LEN);
343343
sdls_ep_reply[count++] = (range & 0x00FF);
344344
for (x = packet.kid_first; x <= packet.kid_last; x++)
345345
{
346346
// Key ID
347-
sdls_ep_reply[count++] = ((x & 0xFF00) >> 8);
347+
sdls_ep_reply[count++] = ((x & 0xFF00) >> BYTE_LEN);
348348
sdls_ep_reply[count++] = (x & 0x00FF);
349349
// Get Key
350350
ekp = key_if->get_key(x);
@@ -397,7 +397,7 @@ int32_t Crypto_Key_verify(TC_t *tc_frame)
397397
for (x = 0; x < pdu_keys; x++)
398398
{
399399
// Key ID
400-
packet.blk[x].kid = ((uint8_t)sdls_frame.pdu.data[count] << 8) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
400+
packet.blk[x].kid = ((uint8_t)sdls_frame.pdu.data[count] << BYTE_LEN) | ((uint8_t)sdls_frame.pdu.data[count + 1]);
401401
count += 2;
402402
#ifdef PDU_DEBUG
403403
printf("\tCrypto_Key_verify: Block %d Key ID is %d ", x, packet.blk[x].kid);
@@ -415,29 +415,29 @@ int32_t Crypto_Key_verify(TC_t *tc_frame)
415415

416416
// Prepare for Reply
417417
sdls_frame.pdu.hdr.pdu_len =
418-
pdu_keys * (SDLS_KEYV_KEY_ID_LEN + SDLS_IV_LEN + CHALLENGE_SIZE + CHALLENGE_MAC_SIZE) * 8;
418+
pdu_keys * (SDLS_KEYV_KEY_ID_LEN + SDLS_IV_LEN + CHALLENGE_SIZE + CHALLENGE_MAC_SIZE) * BYTE_LEN;
419419

420420
// length = pdu_len + HDR + PUS - 1 (per CCSDS Convention)
421421
if (crypto_config.has_pus_hdr == TC_HAS_PUS_HDR)
422422
{
423423
sdls_frame.hdr.pkt_length =
424-
CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / 8) - 1;
424+
CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
425425
}
426426
else
427427
{
428-
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / 8) - 1;
428+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
429429
}
430430

431-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
431+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
432432
uint16_t pdu_data_idx = count;
433433

434434
for (x = 0; x < pdu_keys; x++)
435435
{
436436
// Key ID
437437
sdls_ep_keyv_reply.blk[x].kid = packet.blk[x].kid;
438438

439-
sdls_frame.pdu.data[pdu_data_idx] = (packet.blk[x].kid & 0xFF00) >> 8;
440-
sdls_ep_reply[pdu_data_idx] = (packet.blk[x].kid & 0xFF00) >> 8;
439+
sdls_frame.pdu.data[pdu_data_idx] = (packet.blk[x].kid & 0xFF00) >> BYTE_LEN;
440+
sdls_ep_reply[pdu_data_idx] = (packet.blk[x].kid & 0xFF00) >> BYTE_LEN;
441441
pdu_data_idx += 1;
442442

443443
sdls_frame.pdu.data[pdu_data_idx] = (packet.blk[x].kid & 0x00FF);

src/core/crypto_mc.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ int32_t Crypto_MC_ping(uint8_t *ingest)
3737

3838
// Prepare for Reply
3939
sdls_frame.pdu.hdr.pdu_len = 0;
40-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
41-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
40+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
41+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
4242

4343
#ifdef PDU_DEBUG
4444
printf("MC Ping Reply: \t 0x");
@@ -64,15 +64,15 @@ int32_t Crypto_MC_status(uint8_t *ingest)
6464
uint8_t count = 0;
6565

6666
// Prepare for Reply
67-
sdls_frame.pdu.hdr.pdu_len = SDLS_MC_LOG_RPLY_SIZE * 8;
68-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
69-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
67+
sdls_frame.pdu.hdr.pdu_len = SDLS_MC_LOG_RPLY_SIZE * BYTE_LEN;
68+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
69+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
7070
// PDU
71-
sdls_ep_reply[count] = (log_summary.num_se & 0xFF00) >> 8;
71+
sdls_ep_reply[count] = (log_summary.num_se & 0xFF00) >> BYTE_LEN;
7272
count++;
7373
sdls_ep_reply[count] = (log_summary.num_se & 0x00FF);
7474
count++;
75-
sdls_ep_reply[count] = (log_summary.rs & 0xFF00) >> 8;
75+
sdls_ep_reply[count] = (log_summary.rs & 0xFF00) >> BYTE_LEN;
7676
count++;
7777
sdls_ep_reply[count] = (log_summary.rs & 0x00FF);
7878
count++;
@@ -105,15 +105,15 @@ int32_t Crypto_MC_dump(uint8_t *ingest)
105105
int y;
106106

107107
// Prepare for Reply
108-
sdls_frame.pdu.hdr.pdu_len = (SDLS_MC_DUMP_RPLY_SIZE * log_count) * 8;
109-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
110-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
108+
sdls_frame.pdu.hdr.pdu_len = (SDLS_MC_DUMP_RPLY_SIZE * log_count) * BYTE_LEN;
109+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
110+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
111111
// PDU
112112
for (x = 0; x < log_count; x++)
113113
{
114114
sdls_ep_reply[count] = mc_log.blk[x].emt;
115115
count++;
116-
sdls_ep_reply[count] = (mc_log.blk[x].em_len & 0xFF00) >> 8;
116+
sdls_ep_reply[count] = (mc_log.blk[x].em_len & 0xFF00) >> BYTE_LEN;
117117
count++;
118118
sdls_ep_reply[count] = (mc_log.blk[x].em_len & 0x00FF);
119119
count++;
@@ -179,15 +179,15 @@ int32_t Crypto_MC_erase(uint8_t *ingest)
179179
log_summary.rs = LOG_SIZE;
180180

181181
// Prepare for Reply
182-
sdls_frame.pdu.hdr.pdu_len = SDLS_MC_LOG_RPLY_SIZE * 8; // 4
183-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
184-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
182+
sdls_frame.pdu.hdr.pdu_len = SDLS_MC_LOG_RPLY_SIZE * BYTE_LEN; // 4
183+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
184+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
185185
// PDU
186-
sdls_ep_reply[count] = (log_summary.num_se & 0xFF00) >> 8;
186+
sdls_ep_reply[count] = (log_summary.num_se & 0xFF00) >> BYTE_LEN;
187187
count++;
188188
sdls_ep_reply[count] = (log_summary.num_se & 0x00FF);
189189
count++;
190-
sdls_ep_reply[count] = (log_summary.rs & 0xFF00) >> 8;
190+
sdls_ep_reply[count] = (log_summary.rs & 0xFF00) >> BYTE_LEN;
191191
count++;
192192
sdls_ep_reply[count] = (log_summary.rs & 0x00FF);
193193
count++;
@@ -222,10 +222,10 @@ int32_t Crypto_MC_selftest(uint8_t *ingest)
222222
// TODO: Perform test
223223

224224
// Prepare for Reply
225-
sdls_frame.pdu.hdr.pdu_len = (SDLS_MC_ST_RPLY_SIZE)*8;
226-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + (SDLS_TLV_HDR_SIZE) + 9;
225+
sdls_frame.pdu.hdr.pdu_len = SDLS_MC_ST_RPLY_SIZE * BYTE_LEN;
226+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
227227
sdls_frame.pdu.data[0] = result;
228-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
228+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
229229

230230
sdls_ep_reply[count] = result;
231231
count++;
@@ -264,7 +264,7 @@ int32_t Crypto_SA_readARSN(uint8_t *ingest)
264264
int x;
265265

266266
// Read ingest
267-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
267+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
268268

269269
if (sa_if->sa_get_from_spi(spi, &sa_ptr) != CRYPTO_LIB_SUCCESS)
270270
{
@@ -275,12 +275,12 @@ int32_t Crypto_SA_readARSN(uint8_t *ingest)
275275
if (status == CRYPTO_LIB_SUCCESS)
276276
{
277277
// Prepare for Reply
278-
sdls_frame.pdu.hdr.pdu_len = (SPI_LEN + sa_ptr->arsn_len) * 8; // bits
279-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
280-
uint8_t count = Crypto_Prep_Reply(sdls_ep_reply, 128);
278+
sdls_frame.pdu.hdr.pdu_len = (SPI_LEN + sa_ptr->arsn_len) * BYTE_LEN; // bits
279+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
280+
uint8_t count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
281281

282282
// Write SPI to reply
283-
sdls_ep_reply[count] = (spi & 0xFF00) >> 8;
283+
sdls_ep_reply[count] = (spi & 0xFF00) >> BYTE_LEN;
284284
count++;
285285
sdls_ep_reply[count] = (spi & 0x00FF);
286286
count++;

src/sa/internal/sa_interface_inmemory.template.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,7 @@ static int32_t sa_stop(void)
11121112
int x;
11131113

11141114
// Read ingest
1115-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1115+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
11161116
printf("spi = %d \n", spi);
11171117

11181118
// Check SPI exists and in 'Active' state
@@ -1178,7 +1178,7 @@ static int32_t sa_rekey(void)
11781178
int x = 0;
11791179

11801180
// Read ingest
1181-
spi = ((uint8_t)sdls_frame.pdu.data[count] << 8) | (uint8_t)sdls_frame.pdu.data[count + 1];
1181+
spi = ((uint8_t)sdls_frame.pdu.data[count] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[count + 1];
11821182
count = count + 2;
11831183

11841184
// Check SPI exists and in 'Unkeyed' state
@@ -1195,7 +1195,7 @@ static int32_t sa_rekey(void)
11951195

11961196
if (sa[spi].sa_state == SA_UNKEYED)
11971197
{ // Encryption Key
1198-
sa[spi].ekid = ((uint8_t)sdls_frame.pdu.data[count] << 8) | (uint8_t)sdls_frame.pdu.data[count + 1];
1198+
sa[spi].ekid = ((uint8_t)sdls_frame.pdu.data[count] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[count + 1];
11991199
count = count + 2;
12001200

12011201
// Authentication Key
@@ -1265,7 +1265,7 @@ static int32_t sa_expire(void)
12651265
uint16_t spi = 0x0000;
12661266

12671267
// Read ingest
1268-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1268+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
12691269
printf("spi = %d \n", spi);
12701270

12711271
// Check SPI exists and in 'Keyed' state
@@ -1312,7 +1312,7 @@ static int32_t sa_create(void)
13121312
int x;
13131313

13141314
// Read sdls_frame.pdu.data
1315-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1315+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
13161316
#ifdef DEBUG
13171317
printf("spi = %d \n", spi);
13181318
#endif
@@ -1351,7 +1351,7 @@ static int32_t sa_create(void)
13511351
{
13521352
sa[spi].acs = ((uint8_t)sdls_frame.pdu.data[count++]);
13531353
}
1354-
sa[spi].abm_len = (uint8_t)((sdls_frame.pdu.data[count] << 8) | (sdls_frame.pdu.data[count + 1]));
1354+
sa[spi].abm_len = (uint8_t)((sdls_frame.pdu.data[count] << BYTE_LEN) | (sdls_frame.pdu.data[count + 1]));
13551355
count = count + 2;
13561356
for (x = 0; x < sa[spi].abm_len; x++)
13571357
{
@@ -1397,7 +1397,7 @@ static int32_t sa_delete(void)
13971397
uint16_t spi = 0x0000;
13981398

13991399
// Read ingest
1400-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1400+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
14011401
#ifdef DEBUG
14021402
printf("spi = %d \n", spi);
14031403
#endif
@@ -1447,7 +1447,7 @@ static int32_t sa_setARSN(void)
14471447
int x;
14481448

14491449
// Read ingest
1450-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1450+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
14511451
printf("spi = %d \n", spi);
14521452

14531453
// TODO: Check SA type (authenticated, encrypted, both) and set appropriately
@@ -1505,7 +1505,7 @@ static int32_t sa_setARSNW(void)
15051505
uint16_t spi = 0x0000;
15061506

15071507
// Read ingest
1508-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1508+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
15091509
#ifdef PDU_DEBUG
15101510
printf("spi = %d \n", spi);
15111511
#endif
@@ -1555,19 +1555,19 @@ static int32_t sa_status(uint8_t *ingest)
15551555
uint16_t spi = 0x0000;
15561556

15571557
// Read ingest
1558-
spi = ((uint8_t)sdls_frame.pdu.data[0] << 8) | (uint8_t)sdls_frame.pdu.data[1];
1558+
spi = ((uint8_t)sdls_frame.pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.pdu.data[1];
15591559
printf("spi = %d \n", spi);
15601560

15611561
// Check SPI exists
15621562
if (spi < NUM_SA)
15631563
{
15641564
printf("SIZE: %ld\n", SDLS_SA_STATUS_RPLY_SIZE);
15651565
// Prepare for Reply
1566-
sdls_frame.pdu.hdr.pdu_len = SDLS_SA_STATUS_RPLY_SIZE * 8;
1567-
sdls_frame.hdr.pkt_length = (sdls_frame.pdu.hdr.pdu_len / 8) + SDLS_TLV_HDR_SIZE + 9;
1568-
count = Crypto_Prep_Reply(sdls_ep_reply, 128);
1566+
sdls_frame.pdu.hdr.pdu_len = SDLS_SA_STATUS_RPLY_SIZE * BYTE_LEN;
1567+
sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + CCSDS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.pdu.hdr.pdu_len / BYTE_LEN) - 1;
1568+
count = Crypto_Prep_Reply(sdls_ep_reply, CRYPTOLIB_APPID);
15691569
// PDU
1570-
sdls_ep_reply[count++] = (spi & 0xFF00) >> 8;
1570+
sdls_ep_reply[count++] = (spi & 0xFF00) >> BYTE_LEN;
15711571
sdls_ep_reply[count++] = (spi & 0x00FF);
15721572
sdls_ep_reply[count++] = sa[spi].lpid;
15731573
}

0 commit comments

Comments
 (0)