aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/encoding/payloads/transform_substructure.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/encoding/payloads/transform_substructure.c')
-rw-r--r--src/charon/encoding/payloads/transform_substructure.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/charon/encoding/payloads/transform_substructure.c b/src/charon/encoding/payloads/transform_substructure.c
index 350ad63e4..d814f765c 100644
--- a/src/charon/encoding/payloads/transform_substructure.c
+++ b/src/charon/encoding/payloads/transform_substructure.c
@@ -473,12 +473,15 @@ transform_substructure_t *transform_substructure_create_type(transform_type_t tr
transform->set_transform_type(transform,transform_type);
transform->set_transform_id(transform,transform_id);
- /* a keylength attribute is only created for AES encryption */
+ /* a keylength attribute is only created for variable length algos */
if (transform_type == ENCRYPTION_ALGORITHM &&
- transform_id == ENCR_AES_CBC)
+ (transform_id == ENCR_AES_CBC ||
+ transform_id == ENCR_IDEA ||
+ transform_id == ENCR_CAST ||
+ transform_id == ENCR_BLOWFISH))
{
transform_attribute_t *attribute = transform_attribute_create_key_length(key_length);
- transform->add_transform_attribute(transform,attribute);
+ transform->add_transform_attribute(transform,attribute);
}
return transform;