• Home
  • Raw
  • Download

Lines Matching refs:last_server

203             daemon->last_server = NULL;  in forward_query()
235 else if (!(start = daemon->last_server) || daemon->forwardcount++ > FORWARD_TEST || in forward_query()
467 struct server* last_server; in reply_query() local
470 for (last_server = daemon->servers; last_server; last_server = last_server->next) in reply_query()
471 if (!(last_server->flags & in reply_query()
473 sockaddr_isequal(&last_server->addr, &serveraddr)) { in reply_query()
474 server = last_server; in reply_query()
478 if (!(daemon->options & OPT_ALL_SERVERS)) daemon->last_server = server; in reply_query()
638 struct server* last_server; in tcp_request() local
685 if (type != 0 || (daemon->options & OPT_ORDER) || !daemon->last_server) in tcp_request()
686 last_server = daemon->servers; in tcp_request()
688 last_server = daemon->last_server; in tcp_request()
690 if (!flags && last_server) { in tcp_request()
699 firstsendto = last_server; in tcp_request()
701 if (!(last_server = last_server->next)) last_server = daemon->servers; in tcp_request()
703 if (last_server == firstsendto) break; in tcp_request()
707 if (type != (last_server->flags & SERV_TYPE) || in tcp_request()
708 (type == SERV_HAS_DOMAIN && !hostname_isequal(domain, last_server->domain))) in tcp_request()
711 if ((last_server->tcpfd == -1) && in tcp_request()
712 (last_server->tcpfd = in tcp_request()
713 socket(last_server->addr.sa.sa_family, SOCK_STREAM, 0)) != -1 && in tcp_request()
714 (!local_bind(last_server->tcpfd, &last_server->source_addr, in tcp_request()
715 last_server->interface, last_server->mark, 1) || in tcp_request()
716 connect(last_server->tcpfd, &last_server->addr.sa, in tcp_request()
717 sa_len(&last_server->addr)) == -1)) { in tcp_request()
718 close(last_server->tcpfd); in tcp_request()
719 last_server->tcpfd = -1; in tcp_request()
722 if (last_server->tcpfd == -1) continue; in tcp_request()
727 if (!read_write(last_server->tcpfd, &c1, 1, 0) || in tcp_request()
728 !read_write(last_server->tcpfd, &c2, 1, 0) || in tcp_request()
729 !read_write(last_server->tcpfd, packet, size, 0) || in tcp_request()
730 !read_write(last_server->tcpfd, &c1, 1, 1) || in tcp_request()
731 !read_write(last_server->tcpfd, &c2, 1, 1)) { in tcp_request()
732 close(last_server->tcpfd); in tcp_request()
733 last_server->tcpfd = -1; in tcp_request()
738 if (!read_write(last_server->tcpfd, packet, m, 1)) return packet; in tcp_request()
741 if (last_server->addr.sa.sa_family == AF_INET) in tcp_request()
743 (struct all_addr*) &last_server->addr.in.sin_addr, NULL); in tcp_request()
747 (struct all_addr*) &last_server->addr.in6.sin6_addr, NULL); in tcp_request()
757 m = process_reply(header, now, last_server, (unsigned int) m); in tcp_request()
921 if (daemon->last_server == server) daemon->last_server = NULL; in server_gone()