• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/dnsmasq-2.15/src/

Lines Matching refs:new

399 	    struct listener *new = safe_malloc(sizeof(struct listener));
400 new->family = iface->addr.sa.sa_family;
401 new->next = listeners;
402 listeners = new;
403 if ((new->tcpfd = socket(iface->addr.sa.sa_family, SOCK_STREAM, 0)) == -1 ||
404 (new->fd = socket(iface->addr.sa.sa_family, SOCK_DGRAM, 0)) == -1 ||
405 setsockopt(new->fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
406 setsockopt(new->tcpfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
408 (flags = fcntl(new->tcpfd, F_GETFL, 0)) == -1 ||
409 fcntl(new->tcpfd, F_SETFL, flags | O_NONBLOCK) == -1 ||
410 bind(new->tcpfd, &iface->addr.sa, sa_len(&iface->addr)) == -1 ||
411 bind(new->fd, &iface->addr.sa, sa_len(&iface->addr)) == -1 ||
412 listen(new->tcpfd, 5) == -1)
428 /* need to make a new one. */
459 struct server *new, *tmp, *ret = NULL;
467 for (new = daemon->servers; new; new = tmp)
469 tmp = new->next;
471 if (!(new->flags & (SERV_LITERAL_ADDRESS | SERV_NO_ADDR)))
474 if (new->addr.sa.sa_family == AF_INET)
476 inet_ntop(AF_INET, &new->addr.in.sin_addr, addrbuff, ADDRSTRLEN);
477 port = ntohs(new->addr.in.sin_port);
479 else if (new->addr.sa.sa_family == AF_INET6)
481 inet_ntop(AF_INET6, &new->addr.in6.sin6_addr, addrbuff, ADDRSTRLEN);
482 port = ntohs(new->addr.in6.sin6_port);
485 strcpy(addrbuff, inet_ntoa(new->addr.in.sin_addr));
486 port = ntohs(new->addr.in.sin_port);
489 if (sockaddr_isequal(&new->addr, &iface->addr))
504 free(new);
514 free(new);
519 if (!new->sfd && !(new->sfd = allocate_sfd(&new->source_addr, &daemon->sfds)))
525 free(new);
531 new->next = ret;
532 ret = new;
534 if (new->flags & (SERV_HAS_DOMAIN | SERV_FOR_NODOTS))
537 if (new->flags & SERV_HAS_DOMAIN)
538 s1 = "domain", s2 = new->domain;
543 if (new->flags & SERV_NO_ADDR)
545 else if (!(new->flags & SERV_LITERAL_ADDRESS))
567 and not risk malloc if there are the same or fewer new servers.
568 Servers which were specced on the command line go to the new list. */