fix errors in pdu definitions
authorMazet Laurent <laurent.mazet@thalesgroup.com>
Tue, 8 Apr 2025 03:15:43 +0000 (05:15 +0200)
committerMazet Laurent <laurent.mazet@thalesgroup.com>
Tue, 8 Apr 2025 03:15:43 +0000 (05:15 +0200)
morep_simulator.c
parse.h
pdu_clear_data.c
pdu_clear_data.h
pdu_encrypted_data.c
pdu_encrypted_data.h
pdu_prng_param.c
pdu_prng_param.h

index a19c13bedac6fabfc0c1d64c93064d384c1ebf5e..769d7b83e674011b5f5d6c70ce8fe2d7ddb1df0c 100644 (file)
@@ -81,7 +81,7 @@ typedef struct {
     pdu_t pdu;
 } message_t;
 
-message_t message_list[] = {
+message_t message_list[] = {
 
     /* Cross cryptographic service */
     {"ENCRYPT_CROSS_ASYNC", cross_crypto_e, 0x00, clear_data_e},
@@ -121,8 +121,11 @@ message_t message_list[] = {
     {"ZEROIZE_REQ", control_e, 0x04, nopdu_e},
     {"ZEROIZE_RESP", control_e, 0x05, status_e},
     {"LOCK_REQ", control_e, 0xFE, nopdu_e},
-    {"LOCK_RESP", control_e, 0xFF, status_e}
-}
+    {"LOCK_RESP", control_e, 0xFF, status_e},
+
+    /* End of list */
+    {"", noserv_e, 0x00, nopdu_e}
+};
 
 void sig_handler (int sig)
 {
diff --git a/parse.h b/parse.h
index d2e3046912eea03cfff2858aa4f83d39c39c8eed..1145fb1af37af5112565d97be2740d4181fecd78 100644 (file)
--- a/parse.h
+++ b/parse.h
@@ -333,7 +333,7 @@ __BEGIN_DECLS
    @param field data from structure
 */
 #define SERIAL_TAB(name, field)                                            \
-    if (sizeof (field) < _maxlen - len) {                                  \
+    if ((int)sizeof (field) < _maxlen - len) {                             \
         memcpy (_buffer + len, field, sizeof (field));                     \
         len += sizeof (field);                                             \
     } else {                                                               \
@@ -440,10 +440,9 @@ __BEGIN_DECLS
    @param len table length
 */
 #define DESERIAL_TAB(name, field)                                            \
-    if (sizeof (field) < end - ptr) {                                        \
+    if ((int)sizeof (field) < end - ptr) {                                   \
         memcpy (field, ptr, sizeof (field));                                 \
-        field##_len = sizeof (field);                                        \
-        ptr += field##_len;                                                  \
+        ptr += sizeof (field);                                                \
     } else {                                                                 \
         VERBOSE (morep, WARNING, PRINTF ("no data for field '%s'\n", name)); \
         ptr = end + 1;                                                       \
index 4a64fabe830c3734b33986c13f5f2d6a70ff54ee..edc81922abe44126ebe28a8b8ee7e1b972246eda 100644 (file)
@@ -21,7 +21,7 @@
 int parse_clear_data (char *line, CLEAR_DATA_t *out)
 {
     BEGIN_PARSE (line)
-    PARSE_INT ("CHANNEL", out->channel_id)
+    PARSE_INT ("CHANNELID", out->channel_id)
     PARSE_INT ("BYPASSLEN", out->bypass_len)
     PARSE_ARRAY ("BYPASS", out->bypass)
     PARSE_ARRAY ("DATA", out->data)
@@ -31,7 +31,7 @@ int parse_clear_data (char *line, CLEAR_DATA_t *out)
 int format_clear_data (CLEAR_DATA_t *in, char *buffer, int maxlen)
 {
     BEGIN_FORMAT (buffer, maxlen)
-    FORMAT_INT ("CHANNEL", in->channel_id)
+    FORMAT_INT ("CHANNELID", in->channel_id)
     FORMAT_INT ("BYPASSLEN", in->bypass_len)
     FORMAT_ARRAY ("BYPASS", in->bypass)
     FORMAT_ARRAY ("DATA", in->data)
@@ -41,7 +41,7 @@ int format_clear_data (CLEAR_DATA_t *in, char *buffer, int maxlen)
 int serial_clear_data (CLEAR_DATA_t *in, uint8_t *buffer, int maxlen)
 {
     BEGIN_SERIAL (buffer, maxlen)
-    SERIAL_INT ("CHANNEL", in->channel_id)
+    SERIAL_INT ("CHANNELID", in->channel_id)
     SERIAL_INT ("BYPASSLEN", in->bypass_len)
     SERIAL_ARRAY ("BYPASS", in->bypass)
     SERIAL_ARRAY ("DATA", in->data)
@@ -51,7 +51,7 @@ int serial_clear_data (CLEAR_DATA_t *in, uint8_t *buffer, int maxlen)
 int deserial_clear_data (uint8_t *buffer, int len, CLEAR_DATA_t *out)
 {
     BEGIN_DESERIAL (buffer, len)
-    DESERIAL_INT ("CHANNEL", out->channel)
+    DESERIAL_INT ("CHANNELID", out->channel_id)
     DESERIAL_INT ("BYPASSLEN", out->bypass_len)
     DESERIAL_ARRAY ("BYPASS", out->bypass)
     DESERIAL_ARRAY ("DATA", out->data)
index 18021566aaf5c09f860c0bef5f63093abc1c930b..8aac51779b91fede96a0aeebe6f44d897bb6144f 100644 (file)
@@ -26,7 +26,7 @@ __BEGIN_DECLS
    Clear data type
 */
 typedef struct {
-    uint8_t channelid; /**< channel index */
+    uint8_t channel_id; /**< channel index */
     int bypass_len; /**< attached bypass message length */
     uint8_t bypass[255]; /**< attached bypass message */
     int data_len; /**< data length (must be aligned to 16 bytes) */
index 738222045f080f39d1958713de3ce2756401a1cb..194dcadc492e46cf0ff00694b2aaaa7697755f4a 100644 (file)
@@ -21,7 +21,7 @@
 int parse_encrypted_data (char *line, ENCRYPTED_DATA_t *out)
 {
     BEGIN_PARSE (line)
-    PARSE_INT ("CHANNEL", out->channel_id)
+    PARSE_INT ("CHANNELID", out->channel_id)
     PARSE_TAB ("IV", out->iv)
     PARSE_INT ("BYPASSLEN", out->bypass_len)
     PARSE_ARRAY ("BYPASS", out->bypass)
@@ -32,7 +32,7 @@ int parse_encrypted_data (char *line, ENCRYPTED_DATA_t *out)
 int format_encrypted_data (ENCRYPTED_DATA_t *in, char *buffer, int maxlen)
 {
     BEGIN_FORMAT (buffer, maxlen)
-    FORMAT_INT ("CHANNEL", in->channel_id)
+    FORMAT_INT ("CHANNELID", in->channel_id)
     FORMAT_TAB ("IV", in->iv)
     FORMAT_INT ("BYPASSLEN", in->bypass_len)
     FORMAT_ARRAY ("BYPASS", in->bypass)
@@ -43,7 +43,7 @@ int format_encrypted_data (ENCRYPTED_DATA_t *in, char *buffer, int maxlen)
 int serial_encrypted_data (ENCRYPTED_DATA_t *in, uint8_t *buffer, int maxlen)
 {
     BEGIN_SERIAL (buffer, maxlen)
-    SERIAL_INT ("CHANNEL", in->channel_id)
+    SERIAL_INT ("CHANNELID", in->channel_id)
     SERIAL_TAB ("IV", in->iv)
     SERIAL_INT ("BYPASSLEN", in->bypass_len)
     SERIAL_ARRAY ("BYPASS", in->bypass)
@@ -54,7 +54,7 @@ int serial_encrypted_data (ENCRYPTED_DATA_t *in, uint8_t *buffer, int maxlen)
 int deserial_encrypted_data (uint8_t *buffer, int len, ENCRYPTED_DATA_t *out)
 {
     BEGIN_DESERIAL (buffer, len)
-    DESERIAL_INT ("CHANNEL", out->channel)
+    DESERIAL_INT ("CHANNELID", out->channel_id)
     DESERIAL_TAB ("IV", out->iv)
     DESERIAL_INT ("BYPASSLEN", out->bypass_len)
     DESERIAL_ARRAY ("BYPASS", out->bypass)
index 6cc93d012025fa452e59a1a44ebbab165b92dbb1..40f8040bbd5972867d68f1227582f554e9281e51 100644 (file)
@@ -29,7 +29,7 @@ typedef struct {
     uint8_t channel_id; /**< channel index */
     uint8_t iv[12]; /**< initial vector */
     uint8_t bypass_len; /**< attached bypass message length */
-    uint8_t bypass_msg[255]; /**< attached bypass message */
+    uint8_t bypass[255]; /**< attached bypass message */
     uint8_t data_len; /**< data length (must be aligned to 16 bytes) */
     uint8_t data[1472]; /**< data message */
 } ENCRYPTED_DATA_t;
index 9425bbd1c980e812d240439b58532a8c9f06e92b..3e48ae2d7c55d6afc50376dd5ae8d7776a039afa 100644 (file)
 
 #include "parse.h"
 
-#include "pdu_key.h"
+#include "pdu_prng_param.h"
 
 int parse_prng_param (char *line, PRNG_PARAM_t *out)
 {
     BEGIN_PARSE (line)
     PARSE_INT ("PRNGID", out->prng_id)
-    PARSE_INT ("SEEDLEN", out->seed_len)
+    PARSE_INT ("SEQLEN", out->seq_len)
     PARSE_ARRAY ("SEED", out->seed)
     END_PARSE ()
 }
@@ -31,7 +31,7 @@ int format_prng_param (PRNG_PARAM_t *in, char *buffer, int maxlen)
 {
     BEGIN_FORMAT (buffer, maxlen)
     FORMAT_INT ("PRNGID", in->prng_id)
-    FORMAT_INT ("SEEDLEN", in->seed_len)
+    FORMAT_INT ("SEQLEN", in->seq_len)
     FORMAT_ARRAY ("SEED", in->seed)
     END_FORMAT ()
 }
@@ -40,7 +40,7 @@ int serial_prng_param (PRNG_PARAM_t *in, uint8_t *buffer, int maxlen)
 {
     BEGIN_SERIAL (buffer, maxlen)
     SERIAL_INT ("PRNGID", in->prng_id)
-    SERIAL_INT ("SEEDLEN", in->seed_len)
+    SERIAL_INT ("SEQLEN", in->seq_len)
     SERIAL_ARRAY ("SEED", in->seed)
     END_SERIAL ()
 }
@@ -49,7 +49,7 @@ int deserial_prng_param (uint8_t *buffer, int len, PRNG_PARAM_t *out)
 {
     BEGIN_DESERIAL (buffer, len)
     DESERIAL_INT ("PRNGID", out->prng_id)
-    DESERIAL_INT ("SEEDLEN", out->seed_len)
+    DESERIAL_INT ("SEQLEN", out->seq_len)
     DESERIAL_ARRAY ("SEED", out->seed)
     END_DESERIAL ()
 }
index 319d901ab4e1018fa7e5408afa2e6b7fd76c0c97..1799def9945785d78b86f9d4ab3450c31eb8f309 100644 (file)
@@ -28,7 +28,8 @@ __BEGIN_DECLS
 typedef struct {
     uint8_t prng_id; /**< algorithm index */
     uint16_t seq_len; /**< requested PRNG sequence length */
-    uint8_t seed_len; /**< data length (must be aligned to 16 bytes) */
+    uint8_t seed_len; /**< seed length */
+    uint8_t seed[1495]; /**< seed */
 } PRNG_PARAM_t;
 
 /**