From c61b3c677cd3ec189475ba014ef688bbed342454 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 25 Oct 2019 14:39:54 +0200 Subject: [PATCH] wip: ike-header: Add IKE_INTERMEDIATE exchange type --- src/libcharon/encoding/payloads/ike_header.c | 15 +++++++++------ src/libcharon/encoding/payloads/ike_header.h | 5 ++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/libcharon/encoding/payloads/ike_header.c b/src/libcharon/encoding/payloads/ike_header.c index 85e11a2f06..a3a999d2dd 100644 --- a/src/libcharon/encoding/payloads/ike_header.c +++ b/src/libcharon/encoding/payloads/ike_header.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Tobias Brunner + * Copyright (C) 2007-2020 Tobias Brunner * Copyright (C) 2005-2006 Martin Willi * Copyright (C) 2005 Jan Hutter * HSR Hochschule fuer Technik Rapperswil @@ -128,15 +128,17 @@ ENUM_NEXT(exchange_type_names, QUICK_MODE, IKE_SESSION_RESUME, TRANSACTION, "CREATE_CHILD_SA", "INFORMATIONAL", "IKE_SESSION_RESUME"); +ENUM_NEXT(exchange_type_names, IKE_INTERMEDIATE, IKE_INTERMEDIATE, IKE_SESSION_RESUME, + "IKE_INTERMEDIATE"); #ifdef ME -ENUM_NEXT(exchange_type_names, ME_CONNECT, ME_CONNECT, IKE_SESSION_RESUME, +ENUM_NEXT(exchange_type_names, ME_CONNECT, ME_CONNECT, IKE_INTERMEDIATE, "ME_CONNECT"); -ENUM_NEXT(exchange_type_names, EXCHANGE_TYPE_UNDEFINED, - EXCHANGE_TYPE_UNDEFINED, ME_CONNECT, +ENUM_NEXT(exchange_type_names, EXCHANGE_TYPE_UNDEFINED, EXCHANGE_TYPE_UNDEFINED, + ME_CONNECT, "EXCHANGE_TYPE_UNDEFINED"); #else -ENUM_NEXT(exchange_type_names, EXCHANGE_TYPE_UNDEFINED, - EXCHANGE_TYPE_UNDEFINED, IKE_SESSION_RESUME, +ENUM_NEXT(exchange_type_names, EXCHANGE_TYPE_UNDEFINED, EXCHANGE_TYPE_UNDEFINED, + IKE_INTERMEDIATE, "EXCHANGE_TYPE_UNDEFINED"); #endif /* ME */ ENUM_END(exchange_type_names, EXCHANGE_TYPE_UNDEFINED); @@ -217,6 +219,7 @@ METHOD(payload_t, verify, status_t, } break; case IKE_SA_INIT: + case IKE_INTERMEDIATE: case IKE_AUTH: case CREATE_CHILD_SA: case INFORMATIONAL: diff --git a/src/libcharon/encoding/payloads/ike_header.h b/src/libcharon/encoding/payloads/ike_header.h index b7694b5cbd..2c4583acd5 100644 --- a/src/libcharon/encoding/payloads/ike_header.h +++ b/src/libcharon/encoding/payloads/ike_header.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Tobias Brunner + * Copyright (C) 2007-2020 Tobias Brunner * Copyright (C) 2005-2011 Martin Willi * Copyright (C) 2005 Jan Hutter * HSR Hochschule fuer Technik Rapperswil @@ -121,6 +121,9 @@ enum exchange_type_t{ */ IKE_SESSION_RESUME = 38, + /* IKE_INTERMEDIATE (draft-ietf-ipsecme-ikev2-intermediate) */ + IKE_INTERMEDIATE = 43, + #ifdef ME /** * ME_CONNECT