From 93df94acade3b53a8110b5a9b3c60c8e358eb85f Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 9 Feb 2006 10:16:20 +0000 Subject: - works with new proposal code - still some(!) memleaks --- Source/charon/encoding/generator.c | 4 ++-- Source/charon/encoding/parser.c | 2 +- Source/charon/encoding/payloads/proposal_substructure.c | 1 - Source/charon/encoding/payloads/sa_payload.c | 14 +++++++++++++- Source/charon/encoding/payloads/sa_payload.h | 4 +++- 5 files changed, 19 insertions(+), 6 deletions(-) (limited to 'Source/charon/encoding') diff --git a/Source/charon/encoding/generator.c b/Source/charon/encoding/generator.c index f1d7462b0..a036b8ed4 100644 --- a/Source/charon/encoding/generator.c +++ b/Source/charon/encoding/generator.c @@ -633,7 +633,7 @@ static void write_to_chunk (private_generator_t *this,chunk_t *data) memcpy(data->ptr,this->buffer,data_length); data->len = data_length; - this->logger->log_chunk(this->logger, RAW, "generated data of this parser", data); + this->logger->log_chunk(this->logger, RAW|LEVEL3, "generated data of this generator", data); } /** @@ -1017,7 +1017,7 @@ static void generate_payload (private_generator_t *this,payload_t *payload) return; } } - this->logger->log_bytes(this->logger, RAW|LEVEL1, "generated data for this payload", + this->logger->log_bytes(this->logger, RAW|LEVEL3, "generated data for this payload", payload_start, this->out_position-payload_start); } diff --git a/Source/charon/encoding/parser.c b/Source/charon/encoding/parser.c index 49d432103..f161391bd 100644 --- a/Source/charon/encoding/parser.c +++ b/Source/charon/encoding/parser.c @@ -595,7 +595,7 @@ static status_t parse_payload(private_parser_t *this, payload_type_t payload_typ mapping_find(payload_type_m, payload_type), this->input_roof-this->byte_pos); - this->logger->log_bytes(this->logger, RAW, "parsing payload from", this->byte_pos, + this->logger->log_bytes(this->logger, RAW|LEVEL3, "parsing payload from", this->byte_pos, this->input_roof-this->byte_pos); if (pld->get_type(pld) == UNKNOWN_PAYLOAD) 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_*/ -- cgit v1.2.3