diff options
author | Reto Buerki <reet@codelabs.ch> | 2014-12-19 08:54:22 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2015-02-20 13:34:53 +0100 |
commit | e12ff07c96a5cb75307c0e51e05cfd8f40e5b004 (patch) | |
tree | 4ad2e8a70dced87315bbd64ab13a3e85f08d1c99 /src/charon-tkm/tests/kernel_sad_tests.c | |
parent | ba8aefd5f2a79cb1bf491476c8ff861321f58137 (diff) | |
download | strongswan-e12ff07c96a5cb75307c0e51e05cfd8f40e5b004.tar.bz2 strongswan-e12ff07c96a5cb75307c0e51e05cfd8f40e5b004.tar.xz |
charon-tkm: Add get_dst_host getter to SAD
This function returns the destination host of an SAD entry for given
reqid, spi and protocol arguments or NULL if not found.
Diffstat (limited to 'src/charon-tkm/tests/kernel_sad_tests.c')
-rw-r--r-- | src/charon-tkm/tests/kernel_sad_tests.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/charon-tkm/tests/kernel_sad_tests.c b/src/charon-tkm/tests/kernel_sad_tests.c index 7eb2ff8e6..b9ab3cb5e 100644 --- a/src/charon-tkm/tests/kernel_sad_tests.c +++ b/src/charon-tkm/tests/kernel_sad_tests.c @@ -81,6 +81,29 @@ START_TEST(test_get_esa_id_nonexistent) } END_TEST +START_TEST(test_get_dst_host) +{ + host_t *addr = host_create_from_string("127.0.0.1", 1024); + tkm_kernel_sad_t *sad = tkm_kernel_sad_create(); + fail_unless(sad->insert(sad, 23, 54, addr, addr, 42, 50), + "Error inserting SAD entry"); + + host_t *dst = sad->get_dst_host(sad, 54, 42, 50); + fail_unless(addr->equals(addr, dst), "Error getting dst host"); + sad->destroy(sad); + addr->destroy(addr); +} +END_TEST + +START_TEST(test_get_dst_host_nonexistent) +{ + tkm_kernel_sad_t *sad = tkm_kernel_sad_create(); + fail_unless(sad->get_dst_host(sad, 1, 12, 50) == NULL, + "Got dst for nonexistent SAD entry"); + sad->destroy(sad); +} +END_TEST + START_TEST(test_remove) { host_t *addr = host_create_from_string("127.0.0.1", 1024); @@ -128,6 +151,11 @@ Suite *make_kernel_sad_tests() tcase_add_test(tc, test_get_esa_id_nonexistent); suite_add_tcase(s, tc); + tc = tcase_create("get_dst_host"); + tcase_add_test(tc, test_get_dst_host); + tcase_add_test(tc, test_get_dst_host_nonexistent); + suite_add_tcase(s, tc); + tc = tcase_create("remove"); tcase_add_test(tc, test_remove); tcase_add_test(tc, test_remove_nonexistent); |