Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libcasper/services/cap_dns/tests/dns_test.c
Show First 20 Lines • Show All 387 Lines • ▼ Show 20 Lines | main(void) | ||||
types[0] = "ADDR"; | types[0] = "ADDR"; | ||||
CHECK(cap_dns_type_limit(capdns, types, 1) == -1 && | CHECK(cap_dns_type_limit(capdns, types, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET; | families[0] = AF_INET; | ||||
families[1] = AF_INET6; | families[1] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == 0); | CHECK(cap_dns_family_limit(capdns, families, 2) == 0); | ||||
CHECK(runtest(capdns) == | CHECK(runtest(capdns) == | ||||
(GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET | GETHOSTBYNAME2_AF_INET6)); | (GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET | GETHOSTBYNAME2_AF_INET6 | | ||||
GETADDRINFO_AF_INET | GETADDRINFO_AF_INET6)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
/* | /* | ||||
* Allow: | * Allow: | ||||
* type: ADDR | * type: ADDR | ||||
* family: AF_INET, AF_INET6 | * family: AF_INET, AF_INET6 | ||||
*/ | */ | ||||
Show All 9 Lines | main(void) | ||||
types[0] = "NAME"; | types[0] = "NAME"; | ||||
CHECK(cap_dns_type_limit(capdns, types, 1) == -1 && | CHECK(cap_dns_type_limit(capdns, types, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET; | families[0] = AF_INET; | ||||
families[1] = AF_INET6; | families[1] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == 0); | CHECK(cap_dns_family_limit(capdns, families, 2) == 0); | ||||
CHECK(runtest(capdns) == | CHECK(runtest(capdns) == | ||||
(GETHOSTBYADDR_AF_INET | GETHOSTBYADDR_AF_INET6 | | (GETHOSTBYADDR_AF_INET | GETHOSTBYADDR_AF_INET6)); | ||||
GETADDRINFO_AF_INET | GETADDRINFO_AF_INET6)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
/* | /* | ||||
* Allow: | * Allow: | ||||
* type: NAME, ADDR | * type: NAME, ADDR | ||||
* family: AF_INET | * family: AF_INET | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | main(void) | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | ||||
families[1] = AF_INET6; | families[1] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET6; | families[0] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(runtest(capdns) == (GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET)); | CHECK(runtest(capdns) == | ||||
(GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET | GETADDRINFO_AF_INET)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
/* | /* | ||||
* Allow: | * Allow: | ||||
* type: NAME | * type: NAME | ||||
* family: AF_INET6 | * family: AF_INET6 | ||||
*/ | */ | ||||
Show All 19 Lines | main(void) | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | ||||
families[1] = AF_INET; | families[1] = AF_INET; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET; | families[0] = AF_INET; | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(runtest(capdns) == GETHOSTBYNAME2_AF_INET6); | CHECK(runtest(capdns) == | ||||
(GETHOSTBYNAME2_AF_INET6 | GETADDRINFO_AF_INET6)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
/* | /* | ||||
* Allow: | * Allow: | ||||
* type: ADDR | * type: ADDR | ||||
* family: AF_INET | * family: AF_INET | ||||
*/ | */ | ||||
Show All 19 Lines | main(void) | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | ||||
families[1] = AF_INET6; | families[1] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET6; | families[0] = AF_INET6; | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(runtest(capdns) == (GETHOSTBYADDR_AF_INET | GETADDRINFO_AF_INET)); | CHECK(runtest(capdns) == GETHOSTBYADDR_AF_INET); | ||||
cap_close(capdns); | cap_close(capdns); | ||||
/* | /* | ||||
* Allow: | * Allow: | ||||
* type: ADDR | * type: ADDR | ||||
* family: AF_INET6 | * family: AF_INET6 | ||||
*/ | */ | ||||
Show All 19 Lines | main(void) | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | CHECK(cap_dns_family_limit(capdns, families, 1) == 0); | ||||
families[1] = AF_INET; | families[1] = AF_INET; | ||||
CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 2) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
families[0] = AF_INET; | families[0] = AF_INET; | ||||
CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(runtest(capdns) == (GETHOSTBYADDR_AF_INET6 | | CHECK(runtest(capdns) == GETHOSTBYADDR_AF_INET6); | ||||
GETADDRINFO_AF_INET6)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
/* Trying to rise the limits. */ | /* Trying to rise the limits. */ | ||||
capdns = cap_clone(origcapdns); | capdns = cap_clone(origcapdns); | ||||
CHECK(capdns != NULL); | CHECK(capdns != NULL); | ||||
Show All 19 Lines | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(cap_dns_type_limit(capdns, NULL, 0) == -1 && | CHECK(cap_dns_type_limit(capdns, NULL, 0) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(cap_dns_family_limit(capdns, NULL, 0) == -1 && | CHECK(cap_dns_family_limit(capdns, NULL, 0) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
/* Do the limits still hold? */ | /* Do the limits still hold? */ | ||||
CHECK(runtest(capdns) == (GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET)); | CHECK(runtest(capdns) == (GETHOSTBYNAME | GETHOSTBYNAME2_AF_INET | | ||||
GETADDRINFO_AF_INET)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
capdns = cap_clone(origcapdns); | capdns = cap_clone(origcapdns); | ||||
CHECK(capdns != NULL); | CHECK(capdns != NULL); | ||||
types[0] = "ADDR"; | types[0] = "ADDR"; | ||||
CHECK(cap_dns_type_limit(capdns, types, 1) == 0); | CHECK(cap_dns_type_limit(capdns, types, 1) == 0); | ||||
Show All 17 Lines | CHECK(cap_dns_family_limit(capdns, families, 1) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(cap_dns_type_limit(capdns, NULL, 0) == -1 && | CHECK(cap_dns_type_limit(capdns, NULL, 0) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
CHECK(cap_dns_family_limit(capdns, NULL, 0) == -1 && | CHECK(cap_dns_family_limit(capdns, NULL, 0) == -1 && | ||||
errno == ENOTCAPABLE); | errno == ENOTCAPABLE); | ||||
/* Do the limits still hold? */ | /* Do the limits still hold? */ | ||||
CHECK(runtest(capdns) == (GETHOSTBYADDR_AF_INET6 | | CHECK(runtest(capdns) == GETHOSTBYADDR_AF_INET6); | ||||
GETADDRINFO_AF_INET6)); | |||||
cap_close(capdns); | cap_close(capdns); | ||||
cap_close(origcapdns); | cap_close(origcapdns); | ||||
exit(0); | exit(0); | ||||
} | } |