diff options
author | Martin Willi <martin@strongswan.org> | 2006-02-09 10:16:20 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-02-09 10:16:20 +0000 |
commit | 93df94acade3b53a8110b5a9b3c60c8e358eb85f (patch) | |
tree | b07293244c237860778b1a03d2fd71791ea5807f /Source/charon/encoding/payloads | |
parent | c06dbbabd1498d614d4db88bb4205e2afcd6dab8 (diff) | |
download | strongswan-93df94acade3b53a8110b5a9b3c60c8e358eb85f.tar.bz2 strongswan-93df94acade3b53a8110b5a9b3c60c8e358eb85f.tar.xz |
- works with new proposal code
- still some(!) memleaks
Diffstat (limited to 'Source/charon/encoding/payloads')
-rw-r--r-- | Source/charon/encoding/payloads/proposal_substructure.c | 1 | ||||
-rw-r--r-- | Source/charon/encoding/payloads/sa_payload.c | 14 | ||||
-rw-r--r-- | Source/charon/encoding/payloads/sa_payload.h | 4 |
3 files changed, 16 insertions, 3 deletions
diff --git a/Source/charon/encoding/payloads/proposal_substructure.c b/Source/charon/encoding/payloads/proposal_substructure.c index 1f52281cc..a2ba15b9e 100644 --- a/Source/charon/encoding/payloads/proposal_substructure.c +++ b/Source/charon/encoding/payloads/proposal_substructure.c @@ -569,7 +569,6 @@ proposal_substructure_t *proposal_substructure_create_from_child_proposal(child_ this->proposal_number = proposal->get_number(proposal); this->protocol_id = proto; - /* encryption algorithm is only availble in ESP */ iterator = proposal->create_algorithm_iterator(proposal, proto, ENCRYPTION_ALGORITHM); while (iterator->has_next(iterator)) diff --git a/Source/charon/encoding/payloads/sa_payload.c b/Source/charon/encoding/payloads/sa_payload.c index b0b94df20..54b34568b 100644 --- a/Source/charon/encoding/payloads/sa_payload.c +++ b/Source/charon/encoding/payloads/sa_payload.c @@ -545,7 +545,7 @@ sa_payload_t *sa_payload_create_from_ike_proposals(ike_proposal_t *proposals, si /* * Described in header. */ -sa_payload_t *sa_payload_create_from_child_proposals(linked_list_t *proposals) +sa_payload_t *sa_payload_create_from_child_proposal_list(linked_list_t *proposals) { iterator_t *iterator; child_proposal_t *proposal; @@ -561,3 +561,15 @@ sa_payload_t *sa_payload_create_from_child_proposals(linked_list_t *proposals) return sa_payload; } + +/* + * Described in header. + */ +sa_payload_t *sa_payload_create_from_child_proposal(child_proposal_t *proposal) +{ + sa_payload_t *sa_payload = sa_payload_create(); + + add_child_proposal((private_sa_payload_t*)sa_payload, proposal); + + return sa_payload; +} diff --git a/Source/charon/encoding/payloads/sa_payload.h b/Source/charon/encoding/payloads/sa_payload.h index b9ba209cb..0c54ae689 100644 --- a/Source/charon/encoding/payloads/sa_payload.h +++ b/Source/charon/encoding/payloads/sa_payload.h @@ -151,6 +151,8 @@ sa_payload_t *sa_payload_create(); */ sa_payload_t *sa_payload_create_from_ike_proposals(ike_proposal_t *proposals, size_t proposal_count); -sa_payload_t *sa_payload_create_from_child_proposals(linked_list_t *proposals); +sa_payload_t *sa_payload_create_from_child_proposal_list(linked_list_t *proposals); + +sa_payload_t *sa_payload_create_from_child_proposal(child_proposal_t *proposal); #endif /*SA_PAYLOAD_H_*/ |