notify-payload: Add notify type for IP-TFS/AGGFRAG

This commit is contained in:
Tobias Brunner
2025-05-28 16:37:46 +02:00
parent 6372b2890f
commit f5f7424e1d
2 changed files with 16 additions and 6 deletions
@@ -122,9 +122,10 @@ ENUM_NEXT(notify_type_names, USE_PPK, INTERMEDIATE_EXCHANGE_SUPPORTED, SIGNATURE
"PPK_IDENTITY", "PPK_IDENTITY",
"NO_PPK_AUTH", "NO_PPK_AUTH",
"INTERMEDIATE_EXCHANGE_SUPPORTED"); "INTERMEDIATE_EXCHANGE_SUPPORTED");
ENUM_NEXT(notify_type_names, ADDITIONAL_KEY_EXCHANGE, ADDITIONAL_KEY_EXCHANGE, INTERMEDIATE_EXCHANGE_SUPPORTED, ENUM_NEXT(notify_type_names, ADDITIONAL_KEY_EXCHANGE, USE_AGGFRAG, INTERMEDIATE_EXCHANGE_SUPPORTED,
"ADDITIONAL_KEY_EXCHANGE"); "ADDITIONAL_KEY_EXCHANGE",
ENUM_NEXT(notify_type_names, SA_RESOURCE_INFO, SA_RESOURCE_INFO, ADDITIONAL_KEY_EXCHANGE, "USE_AGGFRAG");
ENUM_NEXT(notify_type_names, SA_RESOURCE_INFO, SA_RESOURCE_INFO, USE_AGGFRAG,
"SA_RESOURCE_INFO"); "SA_RESOURCE_INFO");
ENUM_NEXT(notify_type_names, INITIAL_CONTACT_IKEV1, INITIAL_CONTACT_IKEV1, SA_RESOURCE_INFO, ENUM_NEXT(notify_type_names, INITIAL_CONTACT_IKEV1, INITIAL_CONTACT_IKEV1, SA_RESOURCE_INFO,
"INITIAL_CONTACT"); "INITIAL_CONTACT");
@@ -244,9 +245,10 @@ ENUM_NEXT(notify_type_short_names, USE_PPK, INTERMEDIATE_EXCHANGE_SUPPORTED, SIG
"PPK_ID", "PPK_ID",
"NO_PPK", "NO_PPK",
"IKE_INT_SUP"); "IKE_INT_SUP");
ENUM_NEXT(notify_type_short_names, ADDITIONAL_KEY_EXCHANGE, ADDITIONAL_KEY_EXCHANGE, INTERMEDIATE_EXCHANGE_SUPPORTED, ENUM_NEXT(notify_type_short_names, ADDITIONAL_KEY_EXCHANGE, USE_AGGFRAG, INTERMEDIATE_EXCHANGE_SUPPORTED,
"ADD_KE"); "ADD_KE",
ENUM_NEXT(notify_type_short_names, SA_RESOURCE_INFO, SA_RESOURCE_INFO, ADDITIONAL_KEY_EXCHANGE, "AGGFRAG");
ENUM_NEXT(notify_type_short_names, SA_RESOURCE_INFO, SA_RESOURCE_INFO, USE_AGGFRAG,
"RES_INFO"); "RES_INFO");
ENUM_NEXT(notify_type_short_names, INITIAL_CONTACT_IKEV1, INITIAL_CONTACT_IKEV1, SA_RESOURCE_INFO, ENUM_NEXT(notify_type_short_names, INITIAL_CONTACT_IKEV1, INITIAL_CONTACT_IKEV1, SA_RESOURCE_INFO,
"INITIAL_CONTACT"); "INITIAL_CONTACT");
@@ -560,6 +562,12 @@ METHOD(payload_t, verify, status_t,
bad_length = TRUE; bad_length = TRUE;
} }
break; break;
case USE_AGGFRAG:
if (this->notify_data.len != 1)
{
bad_length = TRUE;
}
break;
default: default:
/* TODO: verify */ /* TODO: verify */
break; break;
@@ -171,6 +171,8 @@ enum notify_type_t {
/* multiple key exchanges, RFC 9370 */ /* multiple key exchanges, RFC 9370 */
ADDITIONAL_KEY_EXCHANGE = 16441, ADDITIONAL_KEY_EXCHANGE = 16441,
/* IP-TFS/AGGFRAG, RFC 9347 */
USE_AGGFRAG = 16442,
/* Resource info for CHILD_SAs, RFC 9611 */ /* Resource info for CHILD_SAs, RFC 9611 */
SA_RESOURCE_INFO = 16444, SA_RESOURCE_INFO = 16444,