diff options
Diffstat (limited to 'Source/charon/encoding')
-rw-r--r-- | Source/charon/encoding/payloads/sa_payload.c | 10 | ||||
-rw-r--r-- | Source/charon/encoding/payloads/sa_payload.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/Source/charon/encoding/payloads/sa_payload.c b/Source/charon/encoding/payloads/sa_payload.c index d2bfc9c17..0cae8948f 100644 --- a/Source/charon/encoding/payloads/sa_payload.c +++ b/Source/charon/encoding/payloads/sa_payload.c @@ -278,9 +278,8 @@ static status_t get_ike_proposals (private_sa_payload_t *this,ike_proposal_t ** iterator->current(iterator,(void **)&(current_proposal)); if (current_proposal->get_protocol_id(current_proposal) == IKE) { - /* a ike proposal consists of 4 transforms and an empty spi*/ - if ((current_proposal->get_transform_count(current_proposal) != 4) || - (current_proposal->get_spi_size(current_proposal) != 0)) + /* a ike proposal consists of an empty spi*/ + if (current_proposal->get_spi_size(current_proposal) != 0) { iterator->destroy(iterator); return FAILED; @@ -445,10 +444,13 @@ static status_t get_child_proposals (private_sa_payload_t *this,child_proposal_t current_suite_number = 1; tmp_proposals[current_suite_number - 1].ah.extended_sequence_numbers = NO_EXT_SEQ_NUMBERS; tmp_proposals[current_suite_number - 1].ah.diffie_hellman_group = MODP_UNDEFINED; - + tmp_proposals[current_suite_number - 1].ah.integrity_algorithm = AUTH_UNDEFINED; + tmp_proposals[current_suite_number - 1].ah.is_set = FALSE; + tmp_proposals[current_suite_number - 1].esp.integrity_algorithm = AUTH_UNDEFINED; tmp_proposals[current_suite_number - 1].esp.diffie_hellman_group = MODP_UNDEFINED; tmp_proposals[current_suite_number - 1].esp.extended_sequence_numbers = NO_EXT_SEQ_NUMBERS; + tmp_proposals[current_suite_number - 1].esp.is_set = FALSE; /* create from each proposal_substructure a child_proposal_t data area*/ while (iterator->has_next(iterator)) diff --git a/Source/charon/encoding/payloads/sa_payload.h b/Source/charon/encoding/payloads/sa_payload.h index 1dbb5a83a..8c4f5d530 100644 --- a/Source/charon/encoding/payloads/sa_payload.h +++ b/Source/charon/encoding/payloads/sa_payload.h @@ -56,6 +56,8 @@ typedef struct sa_payload_t sa_payload_t; * - sa_payload_create_from_ike_proposals() * - sa_payload_create_from_child_proposal() * + * @todo Add support of algorithms without specified keylength in get_child_proposals and get_ike_proposals. + * * @ingroup payloads */ struct sa_payload_t { |