Lines Matching refs:daemon
126 for (serv = daemon->servers; serv; serv=serv->next) in search_servers()
184 (daemon->options & OPT_NODOTS_LOCAL) && !strchr(qdomain, '.') && namelen != 0) in search_servers()
211 unsigned int crc = questions_crc(header, plen, daemon->namebuff); in forward_query()
213 unsigned short gotname = extract_request(header, plen, daemon->namebuff, NULL); in forward_query()
217 if (!daemon->servers) in forward_query()
224 if (!(daemon->options & OPT_ORDER)) in forward_query()
227 daemon->last_server = NULL; in forward_query()
231 start = daemon->servers; /* at end of list, recycle */ in forward_query()
237 flags = search_servers(now, &addrp, gotname, daemon->namebuff, &type, &domain); in forward_query()
263 if (type != 0 || (daemon->options & OPT_ORDER)) in forward_query()
264 start = daemon->servers; in forward_query()
265 else if (!(start = daemon->last_server) || in forward_query()
266 daemon->forwardcount++ > FORWARD_TEST || in forward_query()
267 difftime(now, daemon->forwardtime) > FORWARD_TIME) in forward_query()
269 start = daemon->servers; in forward_query()
271 daemon->forwardcount = 0; in forward_query()
272 daemon->forwardtime = now; in forward_query()
309 daemon->rfd_save = forward->rfd6; in forward_query()
318 daemon->rfd_save = forward->rfd4; in forward_query()
345 daemon->srv_save = start; in forward_query()
346 daemon->packet_len = plen; in forward_query()
349 strcpy(daemon->namebuff, "query"); in forward_query()
351 log_query(F_SERVER | F_IPV4 | F_FORWARD, daemon->namebuff, in forward_query()
355 log_query(F_SERVER | F_IPV6 | F_FORWARD, daemon->namebuff, in forward_query()
368 start = daemon->servers; in forward_query()
385 plen = setup_reply(header, plen, addrp, flags, daemon->local_ttl); in forward_query()
386 …send_from(udpfd, daemon->options & OPT_NOWILD, (char *)header, plen, udpaddr, dst_addr, dst_iface); in forward_query()
409 if (udpsz > daemon->edns_pktsz) in process_reply()
410 PUTSHORT(daemon->edns_pktsz, psave); in process_reply()
420 prettyprint_addr(&server->addr, daemon->namebuff); in process_reply()
421 my_syslog(LOG_WARNING, _("nameserver %s refused to do a recursive query"), daemon->namebuff); in process_reply()
422 if (!(daemon->options & OPT_LOG)) in process_reply()
426 if (daemon->bogus_addr && header->rcode != NXDOMAIN && in process_reply()
427 check_for_bogus_wildcard(header, n, daemon->namebuff, daemon->bogus_addr, now)) in process_reply()
436 extract_request(header, n, daemon->namebuff, NULL) && in process_reply()
437 check_for_local_domain(daemon->namebuff, now)) in process_reply()
447 if (extract_addresses(header, n, daemon->namebuff, now)) in process_reply()
479 ssize_t n = recvfrom(fd, daemon->packet, daemon->edns_pktsz, 0, &serveraddr.sa, &addrlen); in reply_query()
484 daemon->srv_save = NULL; in reply_query()
494 for (server = daemon->servers; server; server = server->next) in reply_query()
499 header = (HEADER *)daemon->packet; in reply_query()
503 !(forward = lookup_frec(ntohs(header->id), questions_crc(header, n, daemon->namebuff)))) in reply_query()
509 !(daemon->options & OPT_ORDER) && in reply_query()
543 for (last_server = daemon->servers; last_server; last_server = last_server->next) in reply_query()
551 if (!(daemon->options & OPT_ALL_SERVERS)) in reply_query()
552 daemon->last_server = server; in reply_query()
566 send_from(forward->fd, daemon->options & OPT_NOWILD, daemon->packet, nn, in reply_query()
576 HEADER *header = (HEADER *)daemon->packet; in receive_query()
604 daemon->srv_save = NULL; in receive_query()
606 if (listen->family == AF_INET && (daemon->options & OPT_NOWILD)) in receive_query()
617 iov[0].iov_base = daemon->packet; in receive_query()
618 iov[0].iov_len = daemon->edns_pktsz; in receive_query()
642 if (!(daemon->options & OPT_NOWILD)) in receive_query()
691 (daemon->options & OPT_LOCALISE) && in receive_query()
698 if (extract_request(header, (size_t)n, daemon->namebuff, &type)) in receive_query()
705 log_query(F_QUERY | F_IPV4 | F_FORWARD, daemon->namebuff, in receive_query()
709 log_query(F_QUERY | F_IPV6 | F_FORWARD, daemon->namebuff, in receive_query()
718 send_from(listen->fd, daemon->options & OPT_NOWILD, (char *)header, in receive_query()
720 daemon->local_answer++; in receive_query()
724 daemon->queries_forwarded++; in receive_query()
726 daemon->local_answer++; in receive_query()
758 if ((gotname = extract_request(header, (unsigned int)size, daemon->namebuff, &qtype))) in tcp_request()
770 log_query(F_QUERY | F_IPV4 | F_FORWARD, daemon->namebuff, in tcp_request()
774 log_query(F_QUERY | F_IPV6 | F_FORWARD, daemon->namebuff, in tcp_request()
795 flags = search_servers(now, &addrp, gotname, daemon->namebuff, &type, &domain); in tcp_request()
797 if (type != 0 || (daemon->options & OPT_ORDER) || !daemon->last_server) in tcp_request()
798 last_server = daemon->servers; in tcp_request()
800 last_server = daemon->last_server; in tcp_request()
805 unsigned int crc = questions_crc(header, (unsigned int)size, daemon->namebuff); in tcp_request()
817 last_server = daemon->servers; in tcp_request()
860 strcpy(daemon->namebuff, "query"); in tcp_request()
862 log_query(F_SERVER | F_IPV4 | F_FORWARD, daemon->namebuff, in tcp_request()
866 log_query(F_SERVER | F_IPV6 | F_FORWARD, daemon->namebuff, in tcp_request()
876 if (crc == questions_crc(header, (unsigned int)m, daemon->namebuff)) in tcp_request()
885 m = setup_reply(header, (unsigned int)size, addrp, flags, daemon->local_ttl); in tcp_request()
905 f->next = daemon->frec_list; in allocate_frec()
912 daemon->frec_list = f; in allocate_frec()
927 if (daemon->randomsocks[i].refcount == 0) in allocate_rfd()
929 if ((daemon->randomsocks[i].fd = random_sock(family)) == -1) in allocate_rfd()
932 daemon->randomsocks[i].refcount = 1; in allocate_rfd()
933 daemon->randomsocks[i].family = family; in allocate_rfd()
934 return &daemon->randomsocks[i]; in allocate_rfd()
941 if (daemon->randomsocks[j].refcount != 0 && in allocate_rfd()
942 daemon->randomsocks[j].family == family && in allocate_rfd()
943 daemon->randomsocks[j].refcount != 0xffff) in allocate_rfd()
946 daemon->randomsocks[j].refcount++; in allocate_rfd()
947 return &daemon->randomsocks[j]; in allocate_rfd()
982 for (f = daemon->frec_list, oldest = NULL, target = NULL, count = 0; f; f = f->next, count++) in get_new_frec()
1010 count <= daemon->ftabsize && in get_new_frec()
1023 if (count > daemon->ftabsize) in get_new_frec()
1042 for(f = daemon->frec_list; f; f = f->next) in lookup_frec()
1056 for(f = daemon->frec_list; f; f = f->next) in lookup_frec_by_sender()
1071 for (f = daemon->frec_list; f; f = f->next) in server_gone()
1075 if (daemon->last_server == server) in server_gone()
1076 daemon->last_server = NULL; in server_gone()
1078 if (daemon->srv_save == server) in server_gone()
1079 daemon->srv_save = NULL; in server_gone()