aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/encoding/payloads
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2006-02-09 10:16:20 +0000
committerMartin Willi <martin@strongswan.org>2006-02-09 10:16:20 +0000
commit93df94acade3b53a8110b5a9b3c60c8e358eb85f (patch)
treeb07293244c237860778b1a03d2fd71791ea5807f /Source/charon/encoding/payloads
parentc06dbbabd1498d614d4db88bb4205e2afcd6dab8 (diff)
downloadstrongswan-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.c1
-rw-r--r--Source/charon/encoding/payloads/sa_payload.c14
-rw-r--r--Source/charon/encoding/payloads/sa_payload.h4
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_*/