IKEv2 notification types updated.

This commit is contained in:
Tobias Brunner
2010-08-04 10:06:00 +02:00
parent e82186fb5a
commit 12549bedea
2 changed files with 34 additions and 27 deletions
@@ -53,7 +53,7 @@ ENUM_NEXT(notify_type_names, SINGLE_PAIR_REQUIRED, USE_ASSIGNED_HoA, AUTHENTICAT
"USE_ASSIGNED_HoA"); "USE_ASSIGNED_HoA");
ENUM_NEXT(notify_type_names, ME_CONNECT_FAILED, ME_CONNECT_FAILED, USE_ASSIGNED_HoA, ENUM_NEXT(notify_type_names, ME_CONNECT_FAILED, ME_CONNECT_FAILED, USE_ASSIGNED_HoA,
"ME_CONNECT_FAILED"); "ME_CONNECT_FAILED");
ENUM_NEXT(notify_type_names, INITIAL_CONTACT, LINK_ID, ME_CONNECT_FAILED, ENUM_NEXT(notify_type_names, INITIAL_CONTACT, EAP_ONLY_AUTHENTICATION, ME_CONNECT_FAILED,
"INITIAL_CONTACT", "INITIAL_CONTACT",
"SET_WINDOW_SIZE", "SET_WINDOW_SIZE",
"ADDITIONAL_TS_POSSIBLE", "ADDITIONAL_TS_POSSIBLE",
@@ -84,8 +84,9 @@ ENUM_NEXT(notify_type_names, INITIAL_CONTACT, LINK_ID, ME_CONNECT_FAILED,
"TICKET_ACK", "TICKET_ACK",
"TICKET_NACK", "TICKET_NACK",
"TICKET_OPAQUE", "TICKET_OPAQUE",
"LINK_ID"); "LINK_ID",
ENUM_NEXT(notify_type_names, EAP_ONLY_AUTHENTICATION, EAP_ONLY_AUTHENTICATION, LINK_ID, "USE_WESP_MODE",
"ROHC_SUPPORTED",
"EAP_ONLY_AUTHENTICATION"); "EAP_ONLY_AUTHENTICATION");
ENUM_NEXT(notify_type_names, USE_BEET_MODE, USE_BEET_MODE, EAP_ONLY_AUTHENTICATION, ENUM_NEXT(notify_type_names, USE_BEET_MODE, USE_BEET_MODE, EAP_ONLY_AUTHENTICATION,
"USE_BEET_MODE"); "USE_BEET_MODE");
@@ -129,7 +130,7 @@ ENUM_NEXT(notify_type_short_names, SINGLE_PAIR_REQUIRED, USE_ASSIGNED_HoA, AUTHE
"ASSIGNED_HoA"); "ASSIGNED_HoA");
ENUM_NEXT(notify_type_short_names, ME_CONNECT_FAILED, ME_CONNECT_FAILED, USE_ASSIGNED_HoA, ENUM_NEXT(notify_type_short_names, ME_CONNECT_FAILED, ME_CONNECT_FAILED, USE_ASSIGNED_HoA,
"ME_CONN_FAIL"); "ME_CONN_FAIL");
ENUM_NEXT(notify_type_short_names, INITIAL_CONTACT, LINK_ID, ME_CONNECT_FAILED, ENUM_NEXT(notify_type_short_names, INITIAL_CONTACT, EAP_ONLY_AUTHENTICATION, ME_CONNECT_FAILED,
"INIT_CONTACT", "INIT_CONTACT",
"SET_WINSIZE", "SET_WINSIZE",
"ADD_TS_POSS", "ADD_TS_POSS",
@@ -160,8 +161,9 @@ ENUM_NEXT(notify_type_short_names, INITIAL_CONTACT, LINK_ID, ME_CONNECT_FAILED,
"TKT_ACK", "TKT_ACK",
"TKT_NACK", "TKT_NACK",
"TKT_OPAK", "TKT_OPAK",
"LINK_ID"); "LINK_ID",
ENUM_NEXT(notify_type_short_names, EAP_ONLY_AUTHENTICATION, EAP_ONLY_AUTHENTICATION, LINK_ID, "WESP_MODE",
"ROHC_SUP",
"EAP_ONLY"); "EAP_ONLY");
ENUM_NEXT(notify_type_short_names, USE_BEET_MODE, USE_BEET_MODE, EAP_ONLY_AUTHENTICATION, ENUM_NEXT(notify_type_short_names, USE_BEET_MODE, USE_BEET_MODE, EAP_ONLY_AUTHENTICATION,
"BEET_MODE"); "BEET_MODE");
@@ -238,29 +240,29 @@ struct private_notify_payload_t {
*/ */
encoding_rule_t notify_payload_encodings[] = { encoding_rule_t notify_payload_encodings[] = {
/* 1 Byte next payload type, stored in the field next_payload */ /* 1 Byte next payload type, stored in the field next_payload */
{ U_INT_8, offsetof(private_notify_payload_t, next_payload) }, { U_INT_8, offsetof(private_notify_payload_t, next_payload) },
/* the critical bit */ /* the critical bit */
{ FLAG, offsetof(private_notify_payload_t, critical) }, { FLAG, offsetof(private_notify_payload_t, critical) },
/* 7 Bit reserved bits, nowhere stored */ /* 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, 0 },
{ RESERVED_BIT, 0 }, { RESERVED_BIT, 0 },
{ RESERVED_BIT, 0 }, { RESERVED_BIT, 0 },
{ RESERVED_BIT, 0 }, { RESERVED_BIT, 0 },
/* Length of the whole payload*/ /* Length of the whole payload*/
{ PAYLOAD_LENGTH, offsetof(private_notify_payload_t, payload_length) }, { PAYLOAD_LENGTH, offsetof(private_notify_payload_t, payload_length) },
/* Protocol ID as 8 bit field*/ /* Protocol ID as 8 bit field*/
{ U_INT_8, offsetof(private_notify_payload_t, protocol_id) }, { U_INT_8, offsetof(private_notify_payload_t, protocol_id) },
/* SPI Size as 8 bit field*/ /* SPI Size as 8 bit field*/
{ SPI_SIZE, offsetof(private_notify_payload_t, spi_size) }, { SPI_SIZE, offsetof(private_notify_payload_t, spi_size) },
/* Notify message type as 16 bit field*/ /* Notify message type as 16 bit field*/
{ U_INT_16, offsetof(private_notify_payload_t, notify_type) }, { U_INT_16, offsetof(private_notify_payload_t, notify_type) },
/* SPI as variable length field*/ /* SPI as variable length field*/
{ SPI, offsetof(private_notify_payload_t, spi) }, { SPI, offsetof(private_notify_payload_t, spi) },
/* Key Exchange Data is from variable size */ /* Key Exchange Data is from variable size */
{ NOTIFICATION_DATA, offsetof(private_notify_payload_t, notification_data) } { NOTIFICATION_DATA, offsetof(private_notify_payload_t, notification_data) }
}; };
/* /*
@@ -98,16 +98,21 @@ enum notify_type_t {
REDIRECT_SUPPORTED = 16406, REDIRECT_SUPPORTED = 16406,
REDIRECT = 16407, REDIRECT = 16407,
REDIRECTED_FROM = 16408, REDIRECTED_FROM = 16408,
/* draft-ietf-ipsecme-ikev2-resumption, assigned by IANA */ /* session resumption, RFC 5723 */
TICKET_LT_OPAQUE = 16409, TICKET_LT_OPAQUE = 16409,
TICKET_REQUEST = 16410, TICKET_REQUEST = 16410,
TICKET_ACK = 16411, TICKET_ACK = 16411,
TICKET_NACK = 16412, TICKET_NACK = 16412,
TICKET_OPAQUE = 16413, TICKET_OPAQUE = 16413,
/* IPv6 configuration, RFC 5739 */
LINK_ID = 16414, LINK_ID = 16414,
/* wrapped esp, RFC 5840 */
USE_WESP_MODE = 16415,
/* robust header compression, RFC 5857 */
ROHC_SUPPORTED = 16416,
/* RFC-ietf-ipsecme-eap-mutual, assigned by IANA */
EAP_ONLY_AUTHENTICATION = 16417,
/* draft-eronen-ipsec-ikev2-eap-auth, not assigned by IANA yet */
EAP_ONLY_AUTHENTICATION = 40960,
/* BEET mode, not even a draft yet. private use */ /* BEET mode, not even a draft yet. private use */
USE_BEET_MODE = 40961, USE_BEET_MODE = 40961,
/* IKE-ME, private use */ /* IKE-ME, private use */
@@ -144,7 +149,7 @@ struct notify_payload_t {
/** /**
* Gets the protocol id of this payload. * Gets the protocol id of this payload.
* *
* @return protocol id of this payload * @return protocol id of this payload
*/ */
u_int8_t (*get_protocol_id) (notify_payload_t *this); u_int8_t (*get_protocol_id) (notify_payload_t *this);
@@ -158,7 +163,7 @@ struct notify_payload_t {
/** /**
* Gets the notify message type of this payload. * Gets the notify message type of this payload.
* *
* @return notify message type of this payload * @return notify message type of this payload
*/ */
notify_type_t (*get_notify_type) (notify_payload_t *this); notify_type_t (*get_notify_type) (notify_payload_t *this);
@@ -174,7 +179,7 @@ struct notify_payload_t {
* *
* This is only valid for notifys with protocol AH|ESP * This is only valid for notifys with protocol AH|ESP
* *
* @return SPI value * @return SPI value
*/ */
u_int32_t (*get_spi) (notify_payload_t *this); u_int32_t (*get_spi) (notify_payload_t *this);
@@ -192,7 +197,7 @@ struct notify_payload_t {
* *
* Returned data are not copied. * Returned data are not copied.
* *
* @return chunk_t pointing to the value * @return chunk_t pointing to the value
*/ */
chunk_t (*get_notification_data) (notify_payload_t *this); chunk_t (*get_notification_data) (notify_payload_t *this);
@@ -201,7 +206,7 @@ struct notify_payload_t {
* *
* @warning Value is getting copied. * @warning Value is getting copied.
* *
* @param notification_data chunk_t pointing to the value to set * @param notification_data chunk_t pointing to the value to set
*/ */
void (*set_notification_data) (notify_payload_t *this, void (*set_notification_data) (notify_payload_t *this,
chunk_t notification_data); chunk_t notification_data);