aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/config
diff options
context:
space:
mode:
authorJan Hutter <jhutter@hsr.ch>2005-12-12 08:44:35 +0000
committerJan Hutter <jhutter@hsr.ch>2005-12-12 08:44:35 +0000
commit7fa8decb78f5062a124fd0d37ba51360100f9bfa (patch)
treebfdf7f87e13aa75a944c888543453708e3065325 /Source/charon/config
parent6329a2575072d34eb546a62520a34129166def9c (diff)
downloadstrongswan-7fa8decb78f5062a124fd0d37ba51360100f9bfa.tar.bz2
strongswan-7fa8decb78f5062a124fd0d37ba51360100f9bfa.tar.xz
- added todo's
Diffstat (limited to 'Source/charon/config')
-rw-r--r--Source/charon/config/init_config.h3
-rw-r--r--Source/charon/config/sa_config.c30
-rw-r--r--Source/charon/config/sa_config.h3
3 files changed, 36 insertions, 0 deletions
diff --git a/Source/charon/config/init_config.h b/Source/charon/config/init_config.h
index 02a5f7f53..14ffeeee8 100644
--- a/Source/charon/config/init_config.h
+++ b/Source/charon/config/init_config.h
@@ -37,6 +37,9 @@ typedef struct ike_proposal_t ike_proposal_t;
/**
* @brief Represents a Proposal used in IKE_SA_INIT phase.
*
+ * @todo Currently the amount of tranforms with same type in a IKE proposal is limited to 1.
+ * Support of more transforms with same type has to be added.
+ *
* @ingroup config
*/
struct ike_proposal_t {
diff --git a/Source/charon/config/sa_config.c b/Source/charon/config/sa_config.c
index 9f409ec6d..1009c84e0 100644
--- a/Source/charon/config/sa_config.c
+++ b/Source/charon/config/sa_config.c
@@ -25,6 +25,7 @@
#include <utils/linked_list.h>
#include <utils/allocator.h>
#include <utils/identification.h>
+#include <utils/logger.h>
typedef struct private_sa_config_t private_sa_config_t;
@@ -242,27 +243,56 @@ static child_proposal_t *select_proposal(private_sa_config_t *this, u_int8_t ah_
iterator_t *iterator;
child_proposal_t *current_proposal, *selected_proposal;
int i;
+/* logger_t *logger = logger_create("SA Config",FULL,FALSE,stdout); */
+
/* iterate over all stored proposals */
iterator = this->proposals->create_iterator(this->proposals, TRUE);
while (iterator->has_next(iterator))
{
iterator->current(iterator, (void**)&current_proposal);
+ /*
+ logger->log(logger,FULL,"ESP integrity algorithm: %s, keylength: %d", mapping_find(integrity_algorithm_m,current_proposal->esp.integrity_algorithm),current_proposal->esp.integrity_algorithm_key_size);
+ logger->log(logger,FULL,"ESP diffie_hellman_group: %s", mapping_find(diffie_hellman_group_m,current_proposal->esp.diffie_hellman_group));
+ logger->log(logger,FULL,"ESP extended_sequence_numbers: %s", mapping_find(extended_sequence_numbers_m,current_proposal->esp.extended_sequence_numbers));
+ logger->log(logger,FULL,"ESP encryption_algorithm: %s keylength: %d", mapping_find(encryption_algorithm_m,current_proposal->esp.encryption_algorithm),current_proposal->esp.encryption_algorithm_key_size);
+*/
+
+
/* copy and break if a proposal matches */
for (i = 0; i < count; i++)
{
+/* if (supplied[i].esp.is_set)
+ {
+ logger->log(logger,FULL,"ESP integrity algorithm: %s, keylength: %d", mapping_find(integrity_algorithm_m,supplied[i].esp.integrity_algorithm),supplied[i].esp.integrity_algorithm_key_size);
+ logger->log(logger,FULL,"ESP diffie_hellman_group: %s", mapping_find(diffie_hellman_group_m,supplied[i].esp.diffie_hellman_group));
+ logger->log(logger,FULL,"ESP extended_sequence_numbers: %s", mapping_find(extended_sequence_numbers_m,supplied[i].esp.extended_sequence_numbers));
+ logger->log(logger,FULL,"ESP encryption_algorithm: %s keylength: %d", mapping_find(encryption_algorithm_m,supplied[i].esp.encryption_algorithm),supplied[i].esp.encryption_algorithm_key_size);
+ }
+
+ if (supplied[i].ah.is_set)
+ {
+ logger->log(logger,FULL,"AH integrity algorithm: %s, keylength: %d", mapping_find(integrity_algorithm_m,supplied[i].ah.integrity_algorithm),supplied[i].ah.integrity_algorithm_key_size);
+ logger->log(logger,FULL,"AH diffie_hellman_group: %s", mapping_find(diffie_hellman_group_m,supplied[i].ah.diffie_hellman_group));
+ logger->log(logger,FULL,"AH extended_sequence_numbers: %s", mapping_find(extended_sequence_numbers_m,supplied[i].ah.extended_sequence_numbers));
+ }*/
+
+
if (this->proposal_equals(this, &(supplied[i]), current_proposal))
{
selected_proposal = allocator_alloc(sizeof(child_proposal_t));
*selected_proposal = *current_proposal;
memcpy(selected_proposal->ah.spi, ah_spi, 4);
memcpy(selected_proposal->ah.spi, esp_spi, 4);
+/* logger->destroy(logger);*/
iterator->destroy(iterator);
return selected_proposal;
}
}
}
iterator->destroy(iterator);
+
+/* logger->destroy(logger); */
return NULL;
}
diff --git a/Source/charon/config/sa_config.h b/Source/charon/config/sa_config.h
index af9159076..a2cc3f897 100644
--- a/Source/charon/config/sa_config.h
+++ b/Source/charon/config/sa_config.h
@@ -42,6 +42,9 @@ typedef struct child_proposal_t child_proposal_t;
* A proposal for a child sa contains data for
* AH, ESP, or both.
*
+ * @todo Currently the amount of tranforms with same type in a proposal is limited to 1.
+ * Support of more transforms with same type has to be added.
+ *
* @ingroup config
*/
struct child_proposal_t {