From 46e074985ae89862dc6e5c7b67d4fcb6a8671440 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 25 Oct 2019 14:20:59 +0200 Subject: [PATCH] transform: Add additional key exchange transform types --- src/libstrongswan/crypto/transform.c | 21 ++++++++++++++++++--- src/libstrongswan/crypto/transform.h | 8 ++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/libstrongswan/crypto/transform.c b/src/libstrongswan/crypto/transform.c index 458eb77da..bf0dab308 100644 --- a/src/libstrongswan/crypto/transform.c +++ b/src/libstrongswan/crypto/transform.c @@ -1,4 +1,5 @@ /* + * Copyright (C) 2012-2019 Tobias Brunner * Copyright (C) 2006-2009 Martin Willi * HSR Hochschule fuer Technik Rapperswil * @@ -17,14 +18,21 @@ #include #include -ENUM_BEGIN(transform_type_names, ENCRYPTION_ALGORITHM, EXTENDED_SEQUENCE_NUMBERS, +ENUM_BEGIN(transform_type_names, ENCRYPTION_ALGORITHM, ADDITIONAL_KEY_EXCHANGE_7, "ENCRYPTION_ALGORITHM", "PSEUDO_RANDOM_FUNCTION", "INTEGRITY_ALGORITHM", "KEY_EXCHANGE_METHOD", - "EXTENDED_SEQUENCE_NUMBERS"); + "EXTENDED_SEQUENCE_NUMBERS", + "ADDITIONAL_KEY_EXCHANGE_1", + "ADDITIONAL_KEY_EXCHANGE_2", + "ADDITIONAL_KEY_EXCHANGE_3", + "ADDITIONAL_KEY_EXCHANGE_4", + "ADDITIONAL_KEY_EXCHANGE_5", + "ADDITIONAL_KEY_EXCHANGE_6", + "ADDITIONAL_KEY_EXCHANGE_7"); ENUM_NEXT(transform_type_names, HASH_ALGORITHM, DETERMINISTIC_RANDOM_BIT_GENERATOR, - EXTENDED_SEQUENCE_NUMBERS, + ADDITIONAL_KEY_EXCHANGE_7, "HASH_ALGORITHM", "RANDOM_NUMBER_GENERATOR", "AEAD_ALGORITHM", @@ -58,6 +66,13 @@ enum_name_t* transform_get_enum_names(transform_type_t type) case INTEGRITY_ALGORITHM: return integrity_algorithm_names; case KEY_EXCHANGE_METHOD: + case ADDITIONAL_KEY_EXCHANGE_1: + case ADDITIONAL_KEY_EXCHANGE_2: + case ADDITIONAL_KEY_EXCHANGE_3: + case ADDITIONAL_KEY_EXCHANGE_4: + case ADDITIONAL_KEY_EXCHANGE_5: + case ADDITIONAL_KEY_EXCHANGE_6: + case ADDITIONAL_KEY_EXCHANGE_7: return key_exchange_method_names; case EXTENDED_SEQUENCE_NUMBERS: return extended_sequence_numbers_names; diff --git a/src/libstrongswan/crypto/transform.h b/src/libstrongswan/crypto/transform.h index 51d538dd1..5ca711938 100644 --- a/src/libstrongswan/crypto/transform.h +++ b/src/libstrongswan/crypto/transform.h @@ -1,4 +1,5 @@ /* + * Copyright (C) 2012-2019 Tobias Brunner * Copyright (C) 2006-2009 Martin Willi * HSR Hochschule fuer Technik Rapperswil * @@ -34,6 +35,13 @@ enum transform_type_t { INTEGRITY_ALGORITHM = 3, KEY_EXCHANGE_METHOD = 4, EXTENDED_SEQUENCE_NUMBERS = 5, + ADDITIONAL_KEY_EXCHANGE_1 = 6, + ADDITIONAL_KEY_EXCHANGE_2 = 7, + ADDITIONAL_KEY_EXCHANGE_3 = 8, + ADDITIONAL_KEY_EXCHANGE_4 = 9, + ADDITIONAL_KEY_EXCHANGE_5 = 10, + ADDITIONAL_KEY_EXCHANGE_6 = 11, + ADDITIONAL_KEY_EXCHANGE_7 = 12, HASH_ALGORITHM = 256, RANDOM_NUMBER_GENERATOR = 257, AEAD_ALGORITHM = 258,