Lines Matching +full:1 +full:q

10  * 1. Redistributions of source code must retain the above copyright
81 len = strlen(addr) + 1 + strlen(hp->h_name); in parse()
83 len += strlen(hp->h_aliases[i]) + 1; in parse()
102 #define BY_DNS_ID 1
132 if (!(_res.options & RES_INIT) && res_init() == -1) { in yp_init_resolver()
134 return(1); in yp_init_resolver()
136 if ((resfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { in yp_init_resolver()
138 return(1); in yp_init_resolver()
140 if (fcntl(resfd, F_SETFL, O_NONBLOCK) == -1) { in yp_init_resolver()
142 return(1); in yp_init_resolver()
150 register struct circleq_dnsentry *q; in yp_malloc_dnsent() local
152 q = malloc(sizeof(struct circleq_dnsentry)); in yp_malloc_dnsent()
154 if (q == NULL) { in yp_malloc_dnsent()
159 return(q); in yp_malloc_dnsent()
191 if (rval == -1) { in yp_send_dns_query()
203 register struct circleq_dnsentry *q; in yp_find_dnsqent() local
205 TAILQ_FOREACH(q, &qhead, links) { in yp_find_dnsqent()
208 if (id == q->xid) in yp_find_dnsqent()
209 return(q); in yp_find_dnsqent()
213 if (id == q->id) in yp_find_dnsqent()
214 return(q); in yp_find_dnsqent()
222 yp_send_dns_reply(struct circleq_dnsentry *q, char *buf) in yp_send_dns_reply() argument
235 switch (q->ypvers) { in yp_send_dns_reply()
270 yp_error("bad YP program version (%lu)!", q->ypvers); in yp_send_dns_reply()
277 inet_ntoa(q->client_addr.sin_addr), q->id); in yp_send_dns_reply()
294 if (q->prot_type == SOCK_DGRAM) in yp_send_dns_reply()
295 xid = svcudp_set_xid(q->xprt, q->xid); in yp_send_dns_reply()
296 client_addr = q->xprt->xp_raddr; in yp_send_dns_reply()
297 q->xprt->xp_raddr = q->client_addr; in yp_send_dns_reply()
299 if (!svc_sendreply(q->xprt, xdrfunc, result)) in yp_send_dns_reply()
306 if (q->prot_type == SOCK_DGRAM) in yp_send_dns_reply()
307 svcudp_set_xid(q->xprt, xid); in yp_send_dns_reply()
308 q->xprt->xp_raddr = client_addr; in yp_send_dns_reply()
318 register struct circleq_dnsentry *q, *n; in yp_prune_dnsq() local
320 q = TAILQ_FIRST(&qhead); in yp_prune_dnsq()
321 while (q != NULL) { in yp_prune_dnsq()
322 q->ttl--; in yp_prune_dnsq()
323 n = TAILQ_NEXT(q, links); in yp_prune_dnsq()
324 if (!q->ttl) { in yp_prune_dnsq()
325 TAILQ_REMOVE(&qhead, q, links); in yp_prune_dnsq()
326 free(q->name); in yp_prune_dnsq()
327 free(q); in yp_prune_dnsq()
330 q = n; in yp_prune_dnsq()
344 register struct circleq_dnsentry *q; in yp_run_dnsq() local
361 if (rval == -1) { in yp_run_dnsq()
375 (q = yp_find_dnsqent(ntohs(hptr->id), BY_DNS_ID)) == NULL) { in yp_run_dnsq()
383 hent = __dns_getanswer(buf, rval, q->name, q->type); in yp_run_dnsq()
386 if (q->type == T_PTR) { in yp_run_dnsq()
387 hent->h_addr = (char *)q->addr; in yp_run_dnsq()
388 hent->h_addrtype = q->addrtype; in yp_run_dnsq()
389 hent->h_length = q->addrlen; in yp_run_dnsq()
394 yp_send_dns_reply(q, parse(hent)); in yp_run_dnsq()
396 TAILQ_REMOVE(&qhead, q, links); in yp_run_dnsq()
397 free(q->name); in yp_run_dnsq()
398 free(q); in yp_run_dnsq()
410 register struct circleq_dnsentry *q; in yp_async_lookup_name() local
415 type = -1; in yp_async_lookup_name()
418 SO_TYPE, &type, &len) == -1) { in yp_async_lookup_name()
428 if ((q = yp_malloc_dnsent()) == NULL) in yp_async_lookup_name()
431 q->type = (af == AF_INET) ? T_A : T_AAAA; in yp_async_lookup_name()
432 q->ttl = DEF_TTL; in yp_async_lookup_name()
433 q->xprt = rqstp->rq_xprt; in yp_async_lookup_name()
434 q->ypvers = rqstp->rq_vers; in yp_async_lookup_name()
435 q->prot_type = type; in yp_async_lookup_name()
436 if (q->prot_type == SOCK_DGRAM) in yp_async_lookup_name()
437 q->xid = svcudp_get_xid(q->xprt); in yp_async_lookup_name()
438 q->client_addr = q->xprt->xp_raddr; in yp_async_lookup_name()
439 q->domain = _res.dnsrch; in yp_async_lookup_name()
440 q->id = yp_send_dns_query(name, q->type); in yp_async_lookup_name()
442 if (q->id == 0) { in yp_async_lookup_name()
444 free(q); in yp_async_lookup_name()
448 q->name = strdup(name); in yp_async_lookup_name()
449 TAILQ_INSERT_HEAD(&qhead, q, links); in yp_async_lookup_name()
453 yp_error("queueing async DNS name lookup (%lu)", q->id); in yp_async_lookup_name()
465 register struct circleq_dnsentry *q; in yp_async_lookup_addr() local
473 type = -1; in yp_async_lookup_addr()
476 SO_TYPE, &type, &len) == -1) { in yp_async_lookup_addr()
488 if (inet_aton(addr, (struct in_addr *)uaddr) != 1) in yp_async_lookup_addr()
492 (uaddr[1] & 0xff), (uaddr[0] & 0xff)); in yp_async_lookup_addr()
496 if (inet_pton(af, addr, uaddr) != 1) in yp_async_lookup_addr()
499 for (n = IN6ADDRSZ - 1; n >= 0; n--) { in yp_async_lookup_addr()
510 if ((q = yp_malloc_dnsent()) == NULL) in yp_async_lookup_addr()
516 q->type = T_PTR; in yp_async_lookup_addr()
517 q->ttl = DEF_TTL; in yp_async_lookup_addr()
518 q->xprt = rqstp->rq_xprt; in yp_async_lookup_addr()
519 q->ypvers = rqstp->rq_vers; in yp_async_lookup_addr()
520 q->domain = NULL; in yp_async_lookup_addr()
521 q->prot_type = type; in yp_async_lookup_addr()
522 if (q->prot_type == SOCK_DGRAM) in yp_async_lookup_addr()
523 q->xid = svcudp_get_xid(q->xprt); in yp_async_lookup_addr()
524 q->client_addr = q->xprt->xp_raddr; in yp_async_lookup_addr()
525 q->id = yp_send_dns_query(buf, q->type); in yp_async_lookup_addr()
527 if (q->id == 0) { in yp_async_lookup_addr()
529 free(q); in yp_async_lookup_addr()
533 memcpy(q->addr, uaddr, len); in yp_async_lookup_addr()
534 q->addrlen = len; in yp_async_lookup_addr()
535 q->addrtype = af; in yp_async_lookup_addr()
536 q->name = strdup(buf); in yp_async_lookup_addr()
537 TAILQ_INSERT_HEAD(&qhead, q, links); in yp_async_lookup_addr()
541 yp_error("queueing async DNS address lookup (%lu)", q->id); in yp_async_lookup_addr()