From 6506bed9f8aa246029128bb488bb0c75b90fa800 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 5ca711938f..ed6034da50 100644 --- a/src/libstrongswan/crypto/transform.h +++ b/src/libstrongswan/crypto/transform.h @@ -63,6 +63,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. */