diff options
author | Martin Willi <martin@strongswan.org> | 2006-02-08 15:25:34 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-02-08 15:25:34 +0000 |
commit | c06dbbabd1498d614d4db88bb4205e2afcd6dab8 (patch) | |
tree | 694e4df33baf70813367276b6956d9e6a714742e /Source/charon/testcases/sa_config_test.c | |
parent | 384efc76d58eea98648988045de413a6cc027dff (diff) | |
download | strongswan-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.c | 45 |
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); /* |