- added definitions from IKEv2 draft
This commit is contained in:
@@ -26,7 +26,9 @@
|
||||
#define TRANSFORM_SUBSTRUCTURE_H_
|
||||
|
||||
#include "../types.h"
|
||||
#include "../definitions.h"
|
||||
#include "payload.h"
|
||||
#include "../definitions.h"
|
||||
#include "../utils/linked_list.h"
|
||||
#include "transform_attribute.h"
|
||||
|
||||
@@ -40,6 +42,128 @@
|
||||
*/
|
||||
#define TRANSFORM_SUBSTRUCTURE_HEADER_LENGTH 8
|
||||
|
||||
|
||||
/**
|
||||
* Type of a transform, as in IKEv2 draft 3.3.2
|
||||
*/
|
||||
typedef enum transform_type_e transform_type_t;
|
||||
|
||||
enum transform_type_e {
|
||||
UNDEFINED_TRANSFORM_TYPE = 241,
|
||||
ENCRYPTION_ALGORITHM = 1,
|
||||
PSEUDO_RANDOM_FUNCTION = 2,
|
||||
INTEGRITIY_ALGORITHM = 3,
|
||||
DIFFIE_HELLMAN_GROUP = 4,
|
||||
EXTENDED_SEQUENCE_NUNBERS = 5
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for transform_type_t
|
||||
*/
|
||||
extern mapping_t transform_type_m[];
|
||||
|
||||
/**
|
||||
* Encryption algorithm, as in IKEv2 draft 3.3.2
|
||||
*/
|
||||
typedef enum encryption_algorithm_e encryption_algorithm_t;
|
||||
|
||||
enum encryption_algorithm_e {
|
||||
ENCR_UNDEFINED = 1024,
|
||||
ENCR_DES_IV64 = 1,
|
||||
ENCR_DES = 2,
|
||||
ENCR_3DES = 3,
|
||||
ENCR_RC5 = 4,
|
||||
ENCR_IDEA = 5,
|
||||
ENCR_CAST = 6,
|
||||
ENCR_BLOWFISH = 7,
|
||||
ENCR_3IDEA = 8,
|
||||
ENCR_DES_IV32 = 9,
|
||||
RESERVED = 10,
|
||||
ENCR_NULL = 11,
|
||||
ENCR_AES_CBC = 12,
|
||||
ENCR_AES_CTR = 13
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for encryption_algorithm_t
|
||||
*/
|
||||
extern mapping_t encryption_algorithm_m[];
|
||||
|
||||
/**
|
||||
* Pseudo random function, as in IKEv2 draft 3.3.2
|
||||
*/
|
||||
typedef enum pseudo_random_function_e pseudo_random_function_t;
|
||||
|
||||
enum pseudo_random_function_e {
|
||||
PRF_UNDEFINED = 1024,
|
||||
PRF_HMAC_MD5 = 1,
|
||||
PRF_HMAC_SHA1 = 2,
|
||||
PRF_HMAC_TIGER = 3,
|
||||
PRF_AES128_CBC = 4
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for encryption_algorithm_t
|
||||
*/
|
||||
extern mapping_t pseudo_random_function_m[];
|
||||
|
||||
/**
|
||||
* Integrity algorithm, as in IKEv2 draft 3.3.2
|
||||
*/
|
||||
typedef enum integrity_algorithm_e integrity_algorithm_t;
|
||||
|
||||
enum integrity_algorithm_e {
|
||||
AUTH_UNDEFINED = 1024,
|
||||
AUTH_HMAC_MD5_96 = 1,
|
||||
AUTH_HMAC_SHA1_96 = 2,
|
||||
AUTH_DES_MAC = 3,
|
||||
AUTH_KPDK_MD5 = 4,
|
||||
AUTH_AES_XCBC_96 = 5
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for integrity_algorithm_t
|
||||
*/
|
||||
extern mapping_t integrity_algorithm_m[];
|
||||
|
||||
|
||||
/**
|
||||
* Diffie-Hellman group, as in IKEv2 draft 3.3.2 and RFC 3526
|
||||
*/
|
||||
typedef enum diffie_hellman_group_e diffie_hellman_group_t;
|
||||
|
||||
enum diffie_hellman_group_e {
|
||||
MODP_UNDEFINED = 1024,
|
||||
MODP_768_BIT = 1,
|
||||
MODP_1024_BIT = 2,
|
||||
MODP_1536_BIT = 5,
|
||||
MODP_2048_BIT = 14,
|
||||
MODP_3072_BIT = 15,
|
||||
MODP_4096_BIT = 16,
|
||||
MODP_6144_BIT = 17,
|
||||
MODP_8192_BIT = 18
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for diffie_hellman_group_t
|
||||
*/
|
||||
extern mapping_t diffie_hellman_group_m[];
|
||||
|
||||
/**
|
||||
* Extended sequence numbers, as in IKEv2 draft 3.3.2
|
||||
*/
|
||||
typedef enum extended_sequence_numbers_e extended_sequence_numbers_t;
|
||||
|
||||
enum extended_sequence_numbers_e {
|
||||
NO_EXT_SEQ_NUMBERS = 0,
|
||||
EXT_SEQ_NUMBERS = 1
|
||||
};
|
||||
|
||||
/**
|
||||
* string mappings for extended_sequence_numbers_t
|
||||
*/
|
||||
extern mapping_t extended_sequence_numbers_m[];
|
||||
|
||||
/**
|
||||
* Object representing an IKEv2- TRANSFORM SUBSTRUCTURE
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user