aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/testcases/sa_config_test.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2006-02-08 15:25:34 +0000
committerMartin Willi <martin@strongswan.org>2006-02-08 15:25:34 +0000
commitc06dbbabd1498d614d4db88bb4205e2afcd6dab8 (patch)
tree694e4df33baf70813367276b6956d9e6a714742e /Source/charon/testcases/sa_config_test.c
parent384efc76d58eea98648988045de413a6cc027dff (diff)
downloadstrongswan-c06dbbabd1498d614d4db88bb4205e2afcd6dab8.tar.bz2
strongswan-c06dbbabd1498d614d4db88bb4205e2afcd6dab8.tar.xz
- fixed alot of bugs in child_proposal
- near to working state ;-)
Diffstat (limited to 'Source/charon/testcases/sa_config_test.c')
-rw-r--r--Source/charon/testcases/sa_config_test.c45
1 files changed, 15 insertions, 30 deletions
diff --git a/Source/charon/testcases/sa_config_test.c b/Source/charon/testcases/sa_config_test.c
index 7eecb637b..aada26ca2 100644
--- a/Source/charon/testcases/sa_config_test.c
+++ b/Source/charon/testcases/sa_config_test.c
@@ -37,13 +37,12 @@ void test_sa_config(protected_tester_t *tester)
{
sa_config_t *sa_config;
traffic_selector_t *ts_policy[3], *ts_request[4], *ts_reference[3], **ts_result;
- child_proposal_t prop[3], *prop_result;
+ child_proposal_t *proposal1, *proposal2, *proposal3, *proposal_sel;
+ linked_list_t *list;
size_t count;
logger_t *logger;
ts_payload_t *ts_payload;
- u_int8_t spi[4] = {0x01,0x02,0x03,0x04};
-
logger = charon->logger_manager->create_logger(charon->logger_manager, TESTER, NULL);
logger->disable_level(logger, FULL);
@@ -61,43 +60,29 @@ void test_sa_config(protected_tester_t *tester)
*/
/* esp only prop */
- prop[0].ah.is_set = FALSE;
- prop[0].esp.is_set = TRUE;
- prop[0].esp.encryption_algorithm = ENCR_AES_CBC;
- prop[0].esp.encryption_algorithm_key_size = 16;
+ proposal1 = child_proposal_create(1);
+ proposal1->add_algorithm(proposal1, ESP, ENCRYPTION_ALGORITHM, ENCR_AES_CBC, 16);
/* ah only prop */
- prop[1].esp.is_set = FALSE;
- prop[1].ah.is_set = TRUE;
- prop[1].ah.integrity_algorithm = AUTH_HMAC_SHA1_96;
- prop[1].ah.integrity_algorithm_key_size = 20;
+ proposal2 = child_proposal_create(2);
+ proposal2->add_algorithm(proposal2, AH, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA1_96, 20);
/* ah and esp prop */
- prop[2].esp.is_set = TRUE;
- prop[2].esp.encryption_algorithm = ENCR_3DES;
- prop[2].esp.encryption_algorithm_key_size = 16;
- prop[2].ah.is_set = TRUE;
- prop[2].ah.integrity_algorithm = AUTH_HMAC_MD5_96;
- prop[2].ah.integrity_algorithm_key_size = 20;
+ proposal3 = child_proposal_create(3);
+ proposal3->add_algorithm(proposal3, ESP, ENCRYPTION_ALGORITHM, ENCR_3DES, 16);
+ proposal3->add_algorithm(proposal3, AH, INTEGRITY_ALGORITHM, AUTH_HMAC_MD5_96, 20);
- sa_config->add_proposal(sa_config, &prop[0]);
- sa_config->add_proposal(sa_config, &prop[1]);
- sa_config->add_proposal(sa_config, &prop[2]);
+ sa_config->add_proposal(sa_config, proposal1);
+ sa_config->add_proposal(sa_config, proposal2);
+ sa_config->add_proposal(sa_config, proposal3);
- count = sa_config->get_proposals(sa_config, spi, spi, &prop_result);
- tester->assert_true(tester, (count == 3), "proposal count");
- allocator_free(prop_result);
+ list = sa_config->get_proposals(sa_config);
+ tester->assert_true(tester, (list->get_count(list) == 3), "proposal count");
-
- prop_result = sa_config->select_proposal(sa_config, spi, spi, &prop[1], 2);
- tester->assert_true(tester, prop_result->esp.is_set == prop[1].esp.is_set, "esp.is_set");
- tester->assert_true(tester, prop_result->ah.integrity_algorithm == prop[1].ah.integrity_algorithm, "ah.integrity_algorithm");
- tester->assert_true(tester, prop_result->ah.integrity_algorithm_key_size == prop[1].ah.integrity_algorithm_key_size, "ah.integrity_algorithm_key_size");
- tester->assert_true(tester, memcmp(prop_result->ah.spi, spi, 4) == 0, "spi");
- allocator_free(prop_result);
+ //proposal_sel = sa_config->select_proposal(sa_config, list);
/*