From 2017420bc41f5c245126d0bf2dba8fdd0f3b9cd9 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 29 Oct 2019 11:46:22 +0100 Subject: [PATCH] transform: Add helper to check if transform type negotiates key exchange --- src/libstrongswan/crypto/transform.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libstrongswan/crypto/transform.h b/src/libstrongswan/crypto/transform.h index 4ec4e9b153..6e6594fc21 100644 --- a/src/libstrongswan/crypto/transform.h +++ b/src/libstrongswan/crypto/transform.h @@ -65,6 +65,18 @@ extern enum_name_t *transform_type_names; */ enum_name_t *transform_get_enum_names(transform_type_t type); +/** + * Check if the given transform type is used to negotiate a key exchange. + * + * @param type type of transform to check + * @return TRUE if the transform type negotiates a key exchange + */ +static inline bool is_ke_transform(transform_type_t type) +{ + return type == KEY_EXCHANGE_METHOD || (ADDITIONAL_KEY_EXCHANGE_1 <= type && + type <= ADDITIONAL_KEY_EXCHANGE_7); +} + /** * Extended sequence numbers, as in IKEv2 RFC 3.3.2. */ -- 2.47.2