diff options
author | Thomas Egerer <thomas.egerer@secunet.com> | 2016-07-04 11:10:53 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2016-08-25 13:34:36 +0200 |
commit | 8456d6f5a8e94948075ad69852ec28d8f9774a49 (patch) | |
tree | 2adb2edeeaa6b75a406c13816e095e71b6e6e786 | |
parent | d1259418020bd452053ed7555f49018482cadf60 (diff) | |
download | strongswan-8456d6f5a8e9.tar.bz2 strongswan-8456d6f5a8e9.tar.xz |
ikev1: Don't require AH mapping for integrity algorithm when generating proposal
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
-rw-r--r-- | src/libcharon/encoding/payloads/proposal_substructure.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/libcharon/encoding/payloads/proposal_substructure.c b/src/libcharon/encoding/payloads/proposal_substructure.c index 1a435a823..55641e145 100644 --- a/src/libcharon/encoding/payloads/proposal_substructure.c +++ b/src/libcharon/encoding/payloads/proposal_substructure.c @@ -1360,18 +1360,21 @@ static void set_from_proposal_v1(private_proposal_substructure_t *this, enumerator = proposal->create_enumerator(proposal, INTEGRITY_ALGORITHM); if (enumerator->enumerate(enumerator, &alg, &key_size)) { - transid = get_ikev1_transid_from_alg(INTEGRITY_ALGORITHM, alg); alg = get_ikev1_auth_from_alg(alg); - if (transid && alg) + if (alg) { - if (!transform) + transid = get_ikev1_transid_from_alg(INTEGRITY_ALGORITHM, alg); + if (!transform && transid) { transform = transform_substructure_create_type( PLV1_TRANSFORM_SUBSTRUCTURE, number, transid); } - transform->add_transform_attribute(transform, - transform_attribute_create_value(PLV1_TRANSFORM_ATTRIBUTE, - TATTR_PH2_AUTH_ALGORITHM, alg)); + if (transform) + { + transform->add_transform_attribute(transform, + transform_attribute_create_value(PLV1_TRANSFORM_ATTRIBUTE, + TATTR_PH2_AUTH_ALGORITHM, alg)); + } } } enumerator->destroy(enumerator); |