Home | History | Annotate | Download | only in src

Lines Matching full:last_server

227 	  daemon->last_server = NULL;
265 else if (!(start = daemon->last_server) ||
470 /* sets new last_server */
540 struct server *last_server;
543 for (last_server = daemon->servers; last_server; last_server = last_server->next)
544 if (!(last_server->flags & (SERV_LITERAL_ADDRESS | SERV_HAS_DOMAIN | SERV_FOR_NODOTS | SERV_NO_ADDR)) &&
545 sockaddr_isequal(&last_server->addr, &serveraddr))
547 server = last_server;
552 daemon->last_server = server;
743 struct server *last_server;
797 if (type != 0 || (daemon->options & OPT_ORDER) || !daemon->last_server)
798 last_server = daemon->servers;
800 last_server = daemon->last_server;
802 if (!flags && last_server)
813 firstsendto = last_server;
816 if (!(last_server = last_server->next))
817 last_server = daemon->servers;
819 if (last_server == firstsendto)
824 if (type != (last_server->flags & SERV_TYPE) ||
825 (type == SERV_HAS_DOMAIN && !hostname_isequal(domain, last_server->domain)))
828 if ((last_server->tcpfd == -1) &&
829 (last_server->tcpfd = socket(last_server->addr.sa.sa_family, SOCK_STREAM, 0)) != -1 &&
830 (!local_bind(last_server->tcpfd, &last_server->source_addr,
831 last_server->interface, last_server->mark, 1) ||
832 connect(last_server->tcpfd, &last_server->addr.sa, sa_len(&last_server->addr)) == -1))
834 close(last_server->tcpfd);
835 last_server->tcpfd = -1;
838 if (last_server->tcpfd == -1)
844 if (!read_write(last_server->tcpfd, &c1, 1, 0) ||
845 !read_write(last_server->tcpfd, &c2, 1, 0) ||
846 !read_write(last_server->tcpfd, packet, size, 0) ||
847 !read_write(last_server->tcpfd, &c1, 1, 1) ||
848 !read_write(last_server->tcpfd, &c2, 1, 1))
850 close(last_server->tcpfd);
851 last_server->tcpfd = -1;
856 if (!read_write(last_server->tcpfd, packet, m, 1))
861 if (last_server->addr.sa.sa_family == AF_INET)
863 (struct all_addr *)&last_server->addr.in.sin_addr, NULL);
867 (struct all_addr *)&last_server->addr.in6.sin6_addr, NULL);
877 m = process_reply(header, now, last_server, (unsigned int)m);
1075 if (daemon->last_server == server)
1076 daemon->last_server = NULL;