diff options
author | Martin Willi <martin@strongswan.org> | 2009-04-17 08:46:02 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-04-17 08:46:02 +0000 |
commit | d5d199ff6bfc88b597f8e8cfcc67ac64690502a4 (patch) | |
tree | f572bf9a6e0a91d6a66475cba0afedec6e0d9e68 /src | |
parent | 98e7317daa398122a0c7436c1d270163a234175e (diff) | |
download | strongswan-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.c | 34 |
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; } + |