Added member fields for reserved bits and bytes in all payloads
This commit is contained in:
@@ -42,6 +42,16 @@ struct private_auth_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved_bit[7];
|
||||
|
||||
/**
|
||||
* Reserved bytes
|
||||
*/
|
||||
u_int8_t reserved_byte[3];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -66,25 +76,25 @@ struct private_auth_payload_t {
|
||||
*/
|
||||
encoding_rule_t auth_payload_encodings[] = {
|
||||
/* 1 Byte next payload type, stored in the field next_payload */
|
||||
{ U_INT_8, offsetof(private_auth_payload_t, next_payload) },
|
||||
{ U_INT_8, offsetof(private_auth_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_auth_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ FLAG, offsetof(private_auth_payload_t, critical) },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_auth_payload_t, reserved_bit[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_auth_payload_t, payload_length)},
|
||||
{ PAYLOAD_LENGTH, offsetof(private_auth_payload_t, payload_length) },
|
||||
/* 1 Byte AUTH type*/
|
||||
{ U_INT_8, offsetof(private_auth_payload_t, auth_method) },
|
||||
{ U_INT_8, offsetof(private_auth_payload_t, auth_method) },
|
||||
/* 3 reserved bytes */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, offsetof(private_auth_payload_t, reserved_byte[0]) },
|
||||
{ RESERVED_BYTE, offsetof(private_auth_payload_t, reserved_byte[1]) },
|
||||
{ RESERVED_BYTE, offsetof(private_auth_payload_t, reserved_byte[2]) },
|
||||
/* some auth data bytes, length is defined in PAYLOAD_LENGTH */
|
||||
{ AUTH_DATA, offsetof(private_auth_payload_t, auth_data) }
|
||||
};
|
||||
|
||||
@@ -73,6 +73,21 @@ struct auth_payload_t {
|
||||
*/
|
||||
chunk_t (*get_data) (auth_payload_t *this);
|
||||
|
||||
/**
|
||||
* Get the value of a reserved bit.
|
||||
*
|
||||
* @param nr number of the reserved bit, 0-6
|
||||
* @return TRUE if bit was set, FALSE to clear
|
||||
*/
|
||||
bool (*get_reserved_bit)(auth_payload_t *this, u_int nr);
|
||||
|
||||
/**
|
||||
* Set one of the reserved bits.
|
||||
*
|
||||
* @param nr number of the reserved bit, 0-6
|
||||
*/
|
||||
void (*set_reserved_bit)(auth_payload_t *this, u_int nr);
|
||||
|
||||
/**
|
||||
* Destroys an auth_payload_t object.
|
||||
*/
|
||||
|
||||
@@ -62,6 +62,11 @@ struct private_cert_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -96,13 +101,13 @@ encoding_rule_t cert_payload_encodings[] = {
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_cert_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_cert_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_cert_payload_t, payload_length)},
|
||||
/* 1 Byte CERT type*/
|
||||
|
||||
@@ -45,6 +45,11 @@ struct private_certreq_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -72,14 +77,14 @@ encoding_rule_t certreq_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_certreq_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_certreq_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_certreq_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_certreq_payload_t, payload_length) },
|
||||
/* 1 Byte CERTREQ type*/
|
||||
|
||||
@@ -35,6 +35,11 @@ struct private_configuration_attribute_t {
|
||||
*/
|
||||
configuration_attribute_t public;
|
||||
|
||||
/**
|
||||
* Reserved bit
|
||||
*/
|
||||
bool reserved;
|
||||
|
||||
/**
|
||||
* Type of the attribute.
|
||||
*/
|
||||
@@ -58,8 +63,8 @@ struct private_configuration_attribute_t {
|
||||
* private_configuration_attribute_t.
|
||||
*/
|
||||
encoding_rule_t configuration_attribute_encodings[] = {
|
||||
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 1 reserved bit */
|
||||
{ RESERVED_BIT, offsetof(private_configuration_attribute_t, reserved)},
|
||||
/* type of the attribute as 15 bit unsigned integer */
|
||||
{ ATTRIBUTE_TYPE, offsetof(private_configuration_attribute_t, type) },
|
||||
/* Length of attribute value */
|
||||
|
||||
@@ -51,6 +51,16 @@ struct private_cp_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved_bit[7];
|
||||
|
||||
/**
|
||||
* Reserved bytes
|
||||
*/
|
||||
u_int8_t reserved_byte[3];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -78,22 +88,23 @@ encoding_rule_t cp_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_cp_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_cp_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_cp_payload_t, reserved_bit[6]) },
|
||||
/* Length of the whole CP payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_cp_payload_t, payload_length) },
|
||||
/* Proposals are stored in a proposal substructure,
|
||||
offset points to a linked_list_t pointer */
|
||||
{ U_INT_8, offsetof(private_cp_payload_t, type) },
|
||||
{ RESERVED_BYTE,0 },
|
||||
{ RESERVED_BYTE,0 },
|
||||
{ RESERVED_BYTE,0 },
|
||||
/* 3 reserved bytes */
|
||||
{ RESERVED_BYTE, offsetof(private_cp_payload_t, reserved_byte[0])},
|
||||
{ RESERVED_BYTE, offsetof(private_cp_payload_t, reserved_byte[1])},
|
||||
{ RESERVED_BYTE, offsetof(private_cp_payload_t, reserved_byte[2])},
|
||||
{ CONFIGURATION_ATTRIBUTES, offsetof(private_cp_payload_t, attributes) }
|
||||
};
|
||||
|
||||
|
||||
@@ -42,6 +42,11 @@ struct private_delete_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -79,14 +84,14 @@ encoding_rule_t delete_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_delete_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_delete_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_delete_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_delete_payload_t, payload_length) },
|
||||
{ U_INT_8, offsetof(private_delete_payload_t, protocol_id) },
|
||||
|
||||
@@ -42,6 +42,11 @@ struct private_eap_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -66,13 +71,13 @@ static encoding_rule_t eap_payload_encodings[] = {
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_eap_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_eap_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_eap_payload_t, payload_length) },
|
||||
/* chunt to data, starting at "code" */
|
||||
|
||||
@@ -51,6 +51,16 @@ struct private_id_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved_bit[7];
|
||||
|
||||
/**
|
||||
* Reserved bytes
|
||||
*/
|
||||
u_int8_t reserved_byte[3];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -78,22 +88,22 @@ encoding_rule_t id_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_id_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_id_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_id_payload_t, reserved_bit[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_id_payload_t, payload_length) },
|
||||
/* 1 Byte ID type*/
|
||||
{ U_INT_8, offsetof(private_id_payload_t, id_type) },
|
||||
/* 3 reserved bytes */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, offsetof(private_id_payload_t, reserved_byte[0])},
|
||||
{ RESERVED_BYTE, offsetof(private_id_payload_t, reserved_byte[1])},
|
||||
{ RESERVED_BYTE, offsetof(private_id_payload_t, reserved_byte[2])},
|
||||
/* some id data bytes, length is defined in PAYLOAD_LENGTH */
|
||||
{ ID_DATA, offsetof(private_id_payload_t, id_data) }
|
||||
};
|
||||
|
||||
@@ -83,6 +83,11 @@ struct private_ike_header_t {
|
||||
bool response;
|
||||
} flags;
|
||||
|
||||
/**
|
||||
* Reserved bits of IKE header
|
||||
*/
|
||||
bool reserved[5];
|
||||
|
||||
/**
|
||||
* Associated Message-ID.
|
||||
*/
|
||||
@@ -128,17 +133,17 @@ encoding_rule_t ike_header_encodings[] = {
|
||||
{ U_INT_4, offsetof(private_ike_header_t, min_version) },
|
||||
/* 8 Bit for the exchange type */
|
||||
{ U_INT_8, offsetof(private_ike_header_t, exchange_type) },
|
||||
/* 2 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 2 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_ike_header_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_ike_header_t, reserved[1]) },
|
||||
/* 3 Bit flags, stored in the fields response, version and initiator */
|
||||
{ FLAG, offsetof(private_ike_header_t, flags.response) },
|
||||
{ FLAG, offsetof(private_ike_header_t, flags.version) },
|
||||
{ FLAG, offsetof(private_ike_header_t, flags.initiator) },
|
||||
/* 3 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 3 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_ike_header_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_ike_header_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_ike_header_t, reserved[4]) },
|
||||
/* 4 Byte message id, stored in the field message_id */
|
||||
{ U_INT_32, offsetof(private_ike_header_t, message_id) },
|
||||
/* 4 Byte length fied, stored in the field length */
|
||||
|
||||
@@ -43,6 +43,16 @@ struct private_ke_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved_bit[7];
|
||||
|
||||
/**
|
||||
* Reserved bytes
|
||||
*/
|
||||
u_int8_t reserved_byte[2];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -70,20 +80,21 @@ encoding_rule_t ke_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_ke_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_ke_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_ke_payload_t, reserved_bit[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_ke_payload_t, payload_length) },
|
||||
/* DH Group number as 16 bit field*/
|
||||
{ U_INT_16, offsetof(private_ke_payload_t, dh_group_number) },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
/* 2 reserved bytes */
|
||||
{ RESERVED_BYTE, offsetof(private_ke_payload_t, reserved_byte[0])},
|
||||
{ RESERVED_BYTE, offsetof(private_ke_payload_t, reserved_byte[1])},
|
||||
/* Key Exchange Data is from variable size */
|
||||
{ KEY_EXCHANGE_DATA, offsetof(private_ke_payload_t, key_exchange_data)}
|
||||
};
|
||||
|
||||
@@ -43,6 +43,11 @@ struct private_nonce_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -65,14 +70,14 @@ encoding_rule_t nonce_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_nonce_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_nonce_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_nonce_payload_t, reserved[6]) },
|
||||
/* Length of the whole nonce payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_nonce_payload_t, payload_length) },
|
||||
/* some nonce bytes, lenth is defined in PAYLOAD_LENGTH */
|
||||
|
||||
@@ -205,6 +205,11 @@ struct private_notify_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -248,13 +253,13 @@ encoding_rule_t notify_payload_encodings[] = {
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_notify_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_notify_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_notify_payload_t, payload_length) },
|
||||
/* Protocol ID as 8 bit field*/
|
||||
|
||||
@@ -46,6 +46,11 @@ struct private_proposal_substructure_t {
|
||||
*/
|
||||
u_int8_t next_payload;
|
||||
|
||||
/**
|
||||
* reserved byte
|
||||
*/
|
||||
u_int8_t reserved;
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -91,8 +96,8 @@ struct private_proposal_substructure_t {
|
||||
encoding_rule_t proposal_substructure_encodings[] = {
|
||||
/* 1 Byte next payload type, stored in the field next_payload */
|
||||
{ U_INT_8, offsetof(private_proposal_substructure_t, next_payload) },
|
||||
/* Reserved Byte is skipped */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
/* 1 Reserved Byte */
|
||||
{ RESERVED_BYTE, offsetof(private_proposal_substructure_t, reserved) },
|
||||
/* Length of the whole proposal substructure payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_proposal_substructure_t, proposal_length) },
|
||||
/* proposal number is a number of 8 bit */
|
||||
|
||||
@@ -45,6 +45,11 @@ struct private_sa_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -68,13 +73,13 @@ encoding_rule_t sa_payload_encodings[] = {
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_sa_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_sa_payload_t, reserved[6]) },
|
||||
/* Length of the whole SA payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_sa_payload_t, payload_length) },
|
||||
/* Proposals are stored in a proposal substructure,
|
||||
|
||||
@@ -41,6 +41,10 @@ struct private_transform_substructure_t {
|
||||
* Next payload type.
|
||||
*/
|
||||
u_int8_t next_payload;
|
||||
/**
|
||||
* Reserved bytes
|
||||
*/
|
||||
u_int8_t reserved[2];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
@@ -72,14 +76,14 @@ struct private_transform_substructure_t {
|
||||
encoding_rule_t transform_substructure_encodings[] = {
|
||||
/* 1 Byte next payload type, stored in the field next_payload */
|
||||
{ U_INT_8, offsetof(private_transform_substructure_t, next_payload) },
|
||||
/* Reserved Byte is skipped */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
/* 1 Reserved Byte */
|
||||
{ RESERVED_BYTE, offsetof(private_transform_substructure_t, reserved[0]) },
|
||||
/* Length of the whole transform substructure*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_transform_substructure_t, transform_length)},
|
||||
/* transform type is a number of 8 bit */
|
||||
{ U_INT_8, offsetof(private_transform_substructure_t, transform_type) },
|
||||
/* Reserved Byte is skipped */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
/* 1 Reserved Byte */
|
||||
{ RESERVED_BYTE, offsetof(private_transform_substructure_t, reserved[1]) },
|
||||
/* tranform ID is a number of 8 bit */
|
||||
{ U_INT_16, offsetof(private_transform_substructure_t, transform_id) },
|
||||
/* Attributes are stored in a transform attribute,
|
||||
|
||||
@@ -49,6 +49,16 @@ struct private_ts_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* reserved bits
|
||||
*/
|
||||
bool reserved_bit[7];
|
||||
|
||||
/**
|
||||
* reserved bytes
|
||||
*/
|
||||
bool reserved_byte[3];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -76,24 +86,24 @@ encoding_rule_t ts_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_ts_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_ts_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_ts_payload_t, reserved_bit[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_ts_payload_t, payload_length) },
|
||||
/* 1 Byte TS type*/
|
||||
{ U_INT_8, offsetof(private_ts_payload_t, ts_num) },
|
||||
/* 3 reserved bytes */
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, 0 },
|
||||
{ RESERVED_BYTE, offsetof(private_ts_payload_t, reserved_byte[0])},
|
||||
{ RESERVED_BYTE, offsetof(private_ts_payload_t, reserved_byte[1])},
|
||||
{ RESERVED_BYTE, offsetof(private_ts_payload_t, reserved_byte[2])},
|
||||
/* some ts data bytes, length is defined in PAYLOAD_LENGTH */
|
||||
{ TRAFFIC_SELECTORS, offsetof(private_ts_payload_t, substrs) }
|
||||
{ TRAFFIC_SELECTORS,offsetof(private_ts_payload_t, substrs) }
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -45,6 +45,11 @@ struct private_unknown_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -68,14 +73,14 @@ encoding_rule_t unknown_payload_encodings[] = {
|
||||
{ U_INT_8, offsetof(private_unknown_payload_t, next_payload) },
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_unknown_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
/* 7 Bit reserved bits */
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_unknown_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_unknown_payload_t, payload_length) },
|
||||
/* some unknown data bytes, length is defined in PAYLOAD_LENGTH */
|
||||
|
||||
@@ -41,6 +41,11 @@ struct private_vendor_id_payload_t {
|
||||
*/
|
||||
bool critical;
|
||||
|
||||
/**
|
||||
* Reserved bits
|
||||
*/
|
||||
bool reserved[7];
|
||||
|
||||
/**
|
||||
* Length of this payload.
|
||||
*/
|
||||
@@ -64,13 +69,13 @@ encoding_rule_t vendor_id_payload_encodings[] = {
|
||||
/* the critical bit */
|
||||
{ FLAG, offsetof(private_vendor_id_payload_t, critical) },
|
||||
/* 7 Bit reserved bits, nowhere stored */
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, 0 },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[0]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[1]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[2]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[3]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[4]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[5]) },
|
||||
{ RESERVED_BIT, offsetof(private_vendor_id_payload_t, reserved[6]) },
|
||||
/* Length of the whole payload*/
|
||||
{ PAYLOAD_LENGTH, offsetof(private_vendor_id_payload_t, payload_length)},
|
||||
/* some vendor_id data bytes, length is defined in PAYLOAD_LENGTH */
|
||||
|
||||
Reference in New Issue
Block a user