Home | History | Annotate | Download | only in src

Lines Matching full:daemon

126   for (serv = daemon->servers; serv; serv=serv->next)
184 (daemon->options & OPT_NODOTS_LOCAL) && !strchr(qdomain, '.') && namelen != 0)
211 unsigned int crc = questions_crc(header, plen, daemon->namebuff);
213 unsigned short gotname = extract_request(header, plen, daemon->namebuff, NULL);
217 if (!daemon->servers)
224 if (!(daemon->options & OPT_ORDER))
227 daemon->last_server = NULL;
231 start = daemon->servers; /* at end of list, recycle */
237 flags = search_servers(now, &addrp, gotname, daemon->namebuff, &type, &domain);
263 if (type != 0 || (daemon->options & OPT_ORDER))
264 start = daemon->servers;
265 else if (!(start = daemon->last_server) ||
266 daemon->forwardcount++ > FORWARD_TEST ||
267 difftime(now, daemon->forwardtime) > FORWARD_TIME)
269 start = daemon->servers;
271 daemon->forwardcount = 0;
272 daemon->forwardtime = now;
309 daemon->rfd_save = forward->rfd6;
318 daemon->rfd_save = forward->rfd4;
333 daemon->srv_save = start;
334 daemon->packet_len = plen;
337 strcpy(daemon->namebuff, "query");
339 log_query(F_SERVER | F_IPV4 | F_FORWARD, daemon->namebuff,
343 log_query(F_SERVER | F_IPV6 | F_FORWARD, daemon->namebuff,
356 start = daemon->servers;
373 plen = setup_reply(header, plen, addrp, flags, daemon->local_ttl);
374 send_from(udpfd, daemon->options & OPT_NOWILD, (char *)header, plen, udpaddr, dst_addr, dst_iface);
397 if (udpsz > daemon->edns_pktsz)
398 PUTSHORT(daemon->edns_pktsz, psave);
408 prettyprint_addr(&server->addr, daemon->namebuff);
409 my_syslog(LOG_WARNING, _("nameserver %s refused to do a recursive query"), daemon->namebuff);
410 if (!(daemon->options & OPT_LOG))
414 if (daemon->bogus_addr && header->rcode != NXDOMAIN &&
415 check_for_bogus_wildcard(header, n, daemon->namebuff, daemon->bogus_addr, now))
424 extract_request(header, n, daemon->namebuff, NULL) &&
425 check_for_local_domain(daemon->namebuff, now))
435 if (extract_addresses(header, n, daemon->namebuff, now))
467 ssize_t n = recvfrom(fd, daemon->packet, daemon->edns_pktsz, 0, &serveraddr.sa, &addrlen);
472 daemon->srv_save = NULL;
482 for (server = daemon->servers; server; server = server->next)
487 header = (HEADER *)daemon->packet;
491 !(forward = lookup_frec(ntohs(header->id), questions_crc(header, n, daemon->namebuff))))
497 !(daemon->options & OPT_ORDER) &&
531 for (last_server = daemon
539 if (!(daemon->options & OPT_ALL_SERVERS))
540 daemon->last_server = server;
554 send_from(forward->fd, daemon->options & OPT_NOWILD, daemon->packet, nn,
564 HEADER *header = (HEADER *)daemon->packet;
592 daemon->srv_save = NULL;
594 if (listen->family == AF_INET && (daemon->options & OPT_NOWILD))
605 iov[0].iov_base = daemon->packet;
606 iov[0].iov_len = daemon->edns_pktsz;
630 if (!(daemon->options & OPT_NOWILD))
679 (daemon->options & OPT_LOCALISE) &&
686 if (extract_request(header, (size_t)n, daemon->namebuff, &type))
693 log_query(F_QUERY | F_IPV4 | F_FORWARD, daemon->namebuff,
697 log_query(F_QUERY | F_IPV6 | F_FORWARD, daemon->namebuff,
706 send_from(listen->fd, daemon->options & OPT_NOWILD, (char *)header,
708 daemon->local_answer++;
712 daemon->queries_forwarded++;
714 daemon->local_answer++;
717 /* The daemon forks before calling this: it should deal with one connection,
746 if ((gotname = extract_request(header, (unsigned int)size, daemon->namebuff, &qtype)))
758 log_query(F_QUERY | F_IPV4 | F_FORWARD, daemon->namebuff,
762 log_query(F_QUERY | F_IPV6 | F_FORWARD, daemon->namebuff,
783 flags = search_servers(now, &addrp, gotname, daemon->namebuff, &type, &domain);
785 if (type != 0 || (daemon->options & OPT_ORDER) || !daemon->last_server)
786 last_server = daemon->servers;
788 last_server = daemon->last_server;
793 unsigned int crc = questions_crc(header, (unsigned int)size, daemon->namebuff);
805 last_server = daemon->servers;
847 strcpy(daemon->namebuff, "query");
849 log_query(F_SERVER | F_IPV4 | F_FORWARD, daemon->namebuff,
853 log_query(F_SERVER | F_IPV6 | F_FORWARD, daemon->namebuff,
863 if (crc == questions_crc(header, (unsigned int)m, daemon->namebuff))
872 m = setup_reply(header, (unsigned int)size, addrp, flags, daemon->local_ttl);
892 f->next = daemon->frec_list;
899 daemon->frec_list = f;
914 if (daemon->randomsocks[i].refcount == 0)
916 if ((daemon->randomsocks[i].fd = random_sock(family)) == -1)
919 daemon->randomsocks[i].refcount = 1;
920 daemon->randomsocks[i].family = family;
921 return &daemon->randomsocks[i];
928 if (daemon->randomsocks[j].refcount != 0 &&
929 daemon->randomsocks[j].family == family &&
930 daemon->randomsocks[j].refcount != 0xffff)
933 daemon->randomsocks[j].refcount++;
934 return &daemon->randomsocks[j];
969 for (f = daemon->frec_list, oldest = NULL, target = NULL, count = 0; f; f = f->next, count++)
997 count <= daemon->ftabsize &&
1010 if (count > daemon->ftabsize)
1029 for(f = daemon->frec_list; f; f = f->next)
1043 for(f = daemon->frec_list; f; f = f->next)
1058 for (f = daemon->frec_list; f; f = f->next)
1062 if (daemon->last_server == server)
1063 daemon->last_server = NULL;
1065 if (daemon->srv_save == server)
1066 daemon->srv_save = NULL;