aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-04-17 08:46:02 +0000
committerMartin Willi <martin@strongswan.org>2009-04-17 08:46:02 +0000
commitd5d199ff6bfc88b597f8e8cfcc67ac64690502a4 (patch)
treef572bf9a6e0a91d6a66475cba0afedec6e0d9e68 /src
parent98e7317daa398122a0c7436c1d270163a234175e (diff)
downloadstrongswan-d5d199ff6bfc88b597f8e8cfcc67ac64690502a4.tar.bz2
strongswan-d5d199ff6bfc88b597f8e8cfcc67ac64690502a4.tar.xz
add keylength transform attribute for all algorithms with a keylength != 0
Diffstat (limited to 'src')
-rw-r--r--src/charon/encoding/payloads/transform_substructure.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/src/charon/encoding/payloads/transform_substructure.c b/src/charon/encoding/payloads/transform_substructure.c
index 27e921a90..1037b84ca 100644
--- a/src/charon/encoding/payloads/transform_substructure.c
+++ b/src/charon/encoding/payloads/transform_substructure.c
@@ -382,37 +382,23 @@ transform_substructure_t *transform_substructure_create()
/*
* Described in header
*/
-transform_substructure_t *transform_substructure_create_type(transform_type_t transform_type, u_int16_t transform_id, u_int16_t key_length)
+transform_substructure_t *transform_substructure_create_type(
+ transform_type_t transform_type,
+ u_int16_t transform_id, u_int16_t key_length)
{
transform_substructure_t *transform = transform_substructure_create();
transform->set_transform_type(transform,transform_type);
transform->set_transform_id(transform,transform_id);
- /* a keylength attribute is only created for variable length algos */
- if (transform_type == ENCRYPTION_ALGORITHM)
+ if (key_length)
{
- switch(transform_id)
- {
- case ENCR_AES_CBC:
- case ENCR_IDEA:
- case ENCR_CAST:
- case ENCR_BLOWFISH:
- case ENCR_AES_CCM_ICV8:
- case ENCR_AES_CCM_ICV12:
- case ENCR_AES_CCM_ICV16:
- case ENCR_AES_GCM_ICV8:
- case ENCR_AES_GCM_ICV12:
- case ENCR_AES_GCM_ICV16:
- {
- transform_attribute_t *attribute = transform_attribute_create_key_length(key_length);
- transform->add_transform_attribute(transform,attribute);
- break;
- }
- default:
- break;
- }
+ transform_attribute_t *attribute;
+
+ attribute = transform_attribute_create_key_length(key_length);
+ transform->add_transform_attribute(transform, attribute);
+
}
-
return transform;
}
+