aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/payloads
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/payloads')
-rw-r--r--Source/charon/payloads/encodings.c1
-rw-r--r--Source/charon/payloads/encodings.h12
-rw-r--r--Source/charon/payloads/nonce_payload.c2
-rw-r--r--Source/charon/payloads/payload.c3
4 files changed, 16 insertions, 2 deletions
diff --git a/Source/charon/payloads/encodings.c b/Source/charon/payloads/encodings.c
index eb26819b1..327da633f 100644
--- a/Source/charon/payloads/encodings.c
+++ b/Source/charon/payloads/encodings.c
@@ -47,6 +47,7 @@ mapping_t encoding_type_t_mappings[] = {
{ATTRIBUTE_TYPE, "ATTRIBUTE_TYPE"},
{ATTRIBUTE_LENGTH_OR_VALUE, "ATTRIBUTE_LENGTH_OR_VALUE"},
{ATTRIBUTE_VALUE, "ATTRIBUTE_VALUE"},
+ {NONCE_DATA, "NONCE_DATA"},
{MAPPING_END, NULL}
};
diff --git a/Source/charon/payloads/encodings.h b/Source/charon/payloads/encodings.h
index 2c69d494c..f6315176f 100644
--- a/Source/charon/payloads/encodings.h
+++ b/Source/charon/payloads/encodings.h
@@ -296,7 +296,17 @@ enum encoding_type_e{
*
* When parsing SPI_SIZE bytes are read and written into the chunk pointing to.
*/
- ATTRIBUTE_VALUE
+ ATTRIBUTE_VALUE,
+
+ /**
+ * Representating a Nonce Data field
+ *
+ * When generating the content of the chunkt pointing to
+ * is written.
+ *
+ * When parsing (Payload Length - 4) bytes are read and written into the chunk pointing to.
+ */
+ NONCE_DATA
};
/**
diff --git a/Source/charon/payloads/nonce_payload.c b/Source/charon/payloads/nonce_payload.c
index 8126341a1..10070e3e9 100644
--- a/Source/charon/payloads/nonce_payload.c
+++ b/Source/charon/payloads/nonce_payload.c
@@ -97,7 +97,7 @@ encoding_rule_t nonce_payload_encodings[] = {
/* Length of the whole nonce payload*/
{ PAYLOAD_LENGTH, offsetof(private_nonce_payload_t, payload_length) },
/* some nonce bytes, lenth is defined in PAYLOAD_LENGTH */
- { NONCE, offsetof(private_nonce_payload_t, nonce) }
+ { NONCE_DATA, offsetof(private_nonce_payload_t, nonce) }
};
/**
diff --git a/Source/charon/payloads/payload.c b/Source/charon/payloads/payload.c
index cf7a75b4f..22bb85bdc 100644
--- a/Source/charon/payloads/payload.c
+++ b/Source/charon/payloads/payload.c
@@ -26,6 +26,7 @@
#include "ike_header.h"
#include "sa_payload.h"
+#include "nonce_payload.h"
@@ -76,6 +77,8 @@ payload_t *payload_create(payload_type_t type)
return (payload_t*)transform_substructure_create();
case TRANSFORM_ATTRIBUTE:
return (payload_t*)transform_attribute_create();
+ case NONCE:
+ return (payload_t*)nonce_payload_create();
default:
return NULL;
}