Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libcasper/services/cap_dns/cap_dns.c
Show First 20 Lines • Show All 518 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
struct sockaddr_storage sast; | struct sockaddr_storage sast; | ||||
const void *sabin; | const void *sabin; | ||||
char *host, *serv; | char *host, *serv; | ||||
size_t sabinsize, hostlen, servlen; | size_t sabinsize, hostlen, servlen; | ||||
socklen_t salen; | socklen_t salen; | ||||
int error, flags; | int error, flags; | ||||
if (!dns_allowed_type(limits, "NAME")) | if (!dns_allowed_type(limits, "ADDR")) | ||||
return (NO_RECOVERY); | return (NO_RECOVERY); | ||||
error = 0; | error = 0; | ||||
host = serv = NULL; | host = serv = NULL; | ||||
memset(&sast, 0, sizeof(sast)); | memset(&sast, 0, sizeof(sast)); | ||||
hostlen = (size_t)nvlist_get_number(nvlin, "hostlen"); | hostlen = (size_t)nvlist_get_number(nvlin, "hostlen"); | ||||
servlen = (size_t)nvlist_get_number(nvlin, "servlen"); | servlen = (size_t)nvlist_get_number(nvlin, "servlen"); | ||||
▲ Show 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
struct addrinfo hints, *hintsp, *res, *cur; | struct addrinfo hints, *hintsp, *res, *cur; | ||||
const char *hostname, *servname; | const char *hostname, *servname; | ||||
char nvlname[64]; | char nvlname[64]; | ||||
nvlist_t *elem; | nvlist_t *elem; | ||||
unsigned int ii; | unsigned int ii; | ||||
int error, family, n; | int error, family, n; | ||||
if (!dns_allowed_type(limits, "ADDR")) | if (!dns_allowed_type(limits, "NAME")) | ||||
return (NO_RECOVERY); | return (NO_RECOVERY); | ||||
hostname = dnvlist_get_string(nvlin, "hostname", NULL); | hostname = dnvlist_get_string(nvlin, "hostname", NULL); | ||||
servname = dnvlist_get_string(nvlin, "servname", NULL); | servname = dnvlist_get_string(nvlin, "servname", NULL); | ||||
if (nvlist_exists_number(nvlin, "hints.ai_flags")) { | if (nvlist_exists_number(nvlin, "hints.ai_flags")) { | ||||
hints.ai_flags = (int)nvlist_get_number(nvlin, | hints.ai_flags = (int)nvlist_get_number(nvlin, | ||||
"hints.ai_flags"); | "hints.ai_flags"); | ||||
hints.ai_family = (int)nvlist_get_number(nvlin, | hints.ai_family = (int)nvlist_get_number(nvlin, | ||||
▲ Show 20 Lines • Show All 136 Lines • Show Last 20 Lines |