diff options
Diffstat (limited to 'tests/ntpd/ntp_restrict.c')
-rw-r--r-- | tests/ntpd/ntp_restrict.c | 117 |
1 files changed, 71 insertions, 46 deletions
diff --git a/tests/ntpd/ntp_restrict.c b/tests/ntpd/ntp_restrict.c index 08d236e24df9..d86a279a4f33 100644 --- a/tests/ntpd/ntp_restrict.c +++ b/tests/ntpd/ntp_restrict.c @@ -5,10 +5,14 @@ #include "unity.h" +extern void setUp(void); +extern void tearDown(void); + /* Helper functions */ -sockaddr_u -create_sockaddr_u(short sin_family, unsigned short sin_port, char* ip_addr) { +static sockaddr_u +create_sockaddr_u(short sin_family, unsigned short sin_port, char* ip_addr) +{ sockaddr_u sockaddr; sockaddr.sa4.sin_family = AF_INET; @@ -20,14 +24,14 @@ create_sockaddr_u(short sin_family, unsigned short sin_port, char* ip_addr) { } -void -setUp(void) { +void setUp(void) +{ init_restrict(); } -void -tearDown(void) { +void tearDown(void) +{ restrict_u *empty_restrict = malloc(sizeof(restrict_u)); memset(empty_restrict, 0, sizeof(restrict_u)); @@ -56,8 +60,9 @@ tearDown(void) { /* Tests */ -void -test_RestrictionsAreEmptyAfterInit(void) { +extern void test_RestrictionsAreEmptyAfterInit(void); +void test_RestrictionsAreEmptyAfterInit(void) +{ restrict_u *rl4 = malloc(sizeof(restrict_u)); restrict_u *rl6 = malloc(sizeof(restrict_u)); @@ -66,14 +71,14 @@ test_RestrictionsAreEmptyAfterInit(void) { memset(rl6, 0, sizeof(restrict_u)); TEST_ASSERT_EQUAL(rl4->count, restrictlist4->count); - TEST_ASSERT_EQUAL(rl4->flags, restrictlist4->flags); + TEST_ASSERT_EQUAL(rl4->rflags, restrictlist4->rflags); TEST_ASSERT_EQUAL(rl4->mflags, restrictlist4->mflags); TEST_ASSERT_EQUAL(rl4->expire, restrictlist4->expire); TEST_ASSERT_EQUAL(rl4->u.v4.addr, restrictlist4->u.v4.addr); TEST_ASSERT_EQUAL(rl4->u.v4.mask, restrictlist4->u.v4.mask); TEST_ASSERT_EQUAL(rl6->count, restrictlist6->count); - TEST_ASSERT_EQUAL(rl6->flags, restrictlist6->flags); + TEST_ASSERT_EQUAL(rl6->rflags, restrictlist6->rflags); TEST_ASSERT_EQUAL(rl6->mflags, restrictlist6->mflags); TEST_ASSERT_EQUAL(rl6->expire, restrictlist6->expire); @@ -82,66 +87,78 @@ test_RestrictionsAreEmptyAfterInit(void) { } -void -test_ReturnsCorrectDefaultRestrictions(void) { +extern void test_ReturnsCorrectDefaultRestrictions(void); +void test_ReturnsCorrectDefaultRestrictions(void) +{ sockaddr_u sockaddr = create_sockaddr_u(AF_INET, 54321, "63.161.169.137"); + r4addr r4a; - u_short retval = restrictions(&sockaddr); + restrictions(&sockaddr, &r4a); - TEST_ASSERT_EQUAL(0, retval); + TEST_ASSERT_EQUAL(0, r4a.rflags); } -void -test_HackingDefaultRestriction(void) { +extern void test_HackingDefaultRestriction(void); +void test_HackingDefaultRestriction(void) +{ /* * We change the flag of the default restriction, * and check if restriction() returns that flag */ - const u_short flags = 42; + const u_short rflags = 42; + r4addr r4a; sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, flags, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, rflags, 0); sockaddr_u sockaddr = create_sockaddr_u(AF_INET, 54321, "111.123.251.124"); - TEST_ASSERT_EQUAL(flags, restrictions(&sockaddr)); + restrictions(&sockaddr, &r4a); + TEST_ASSERT_EQUAL(rflags, r4a.rflags); } -void -test_CantRemoveDefaultEntry(void) { +extern void test_CantRemoveDefaultEntry(void); +void test_CantRemoveDefaultEntry(void) +{ sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); + r4addr r4a; - hack_restrict(RESTRICT_REMOVE, &resaddr, &resmask, 0, 0, 0); + hack_restrict(RESTRICT_REMOVE, &resaddr, &resmask, -1, 0, 0, 0); - TEST_ASSERT_EQUAL(0, restrictions(&resaddr)); + restrictions(&resaddr, &r4a); + TEST_ASSERT_EQUAL(0, r4a.rflags); } -void -test_AddingNewRestriction(void) { +extern void test_AddingNewRestriction(void); +void test_AddingNewRestriction(void) +{ sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "11.22.33.44"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "128.0.0.0"); + r4addr r4a; - const u_short flags = 42; + const u_short rflags = 42; - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, flags, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, rflags, 0); - TEST_ASSERT_EQUAL(flags, restrictions(&resaddr)); + restrictions(&resaddr, &r4a); + TEST_ASSERT_EQUAL(rflags, r4a.rflags); } -void -test_TheMostFittingRestrictionIsMatched(void) { +extern void test_TheMostFittingRestrictionIsMatched(void); +void test_TheMostFittingRestrictionIsMatched(void) +{ sockaddr_u resaddr_target = create_sockaddr_u(AF_INET, 54321, "11.22.33.44"); sockaddr_u resaddr_not_matching = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); @@ -153,17 +170,20 @@ test_TheMostFittingRestrictionIsMatched(void) { /* it also matches, but we prefer the one above, as it's more specific */ sockaddr_u resaddr_second_match = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); sockaddr_u resmask_second_match = create_sockaddr_u(AF_INET, 54321, "255.0.0.0"); + r4addr r4a; - hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, 0, 11, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, 0, 22, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, 0, 128, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, -1, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, -1, 0, 128, 0); - TEST_ASSERT_EQUAL(22, restrictions(&resaddr_target)); + restrictions(&resaddr_target, &r4a); + TEST_ASSERT_EQUAL(22, r4a.rflags); } -void -test_DeletedRestrictionIsNotMatched(void) { +extern void test_DeletedRestrictionIsNotMatched(void); +void test_DeletedRestrictionIsNotMatched(void) +{ sockaddr_u resaddr_target = create_sockaddr_u(AF_INET, 54321, "11.22.33.44"); sockaddr_u resaddr_not_matching = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); @@ -174,26 +194,31 @@ test_DeletedRestrictionIsNotMatched(void) { sockaddr_u resaddr_second_match = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); sockaddr_u resmask_second_match = create_sockaddr_u(AF_INET, 54321, "255.0.0.0"); + r4addr r4a; - hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, 0, 11, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, 0, 22, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, 0, 128, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, -1, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, -1, 0, 128, 0); /* deleting the best match*/ - hack_restrict(RESTRICT_REMOVE, &resaddr_best_match, &resmask_best_match, 0, 22, 0); + hack_restrict(RESTRICT_REMOVE, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); - TEST_ASSERT_EQUAL(128, restrictions(&resaddr_target)); + restrictions(&resaddr_target, &r4a); + TEST_ASSERT_EQUAL(128, r4a.rflags); } -void -test_RestrictUnflagWorks(void) { +extern void test_RestrictUnflagWorks(void); +void test_RestrictUnflagWorks(void) +{ sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "11.22.30.20"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "255.255.0.0"); + r4addr r4a; - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, 11, 0); - hack_restrict(RESTRICT_UNFLAG, &resaddr, &resmask, 0, 10, 0); + hack_restrict(RESTRICT_UNFLAG, &resaddr, &resmask, -1, 0, 10, 0); - TEST_ASSERT_EQUAL(1, restrictions(&resaddr)); + restrictions(&resaddr, &r4a); + TEST_ASSERT_EQUAL(1, r4a.rflags); } |