X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=interface.c;h=463335a89034692d2ca1048948dc11d0f528ab5b;hp=9ca85e1a6dc343a9ecb055cf90df64c75de83566;hb=3d85c9cd70ec502ac134e218504f8ba7795231f4;hpb=8a70b2b47dd328f8180e5ecaa7bdc817f574a81b diff --git a/interface.c b/interface.c index 9ca85e1..463335a 100644 --- a/interface.c +++ b/interface.c @@ -306,7 +306,7 @@ read_socket6(struct uloop_fd *u, unsigned int events) if (inp->ipi6_ifindex != iface->ifindex) fprintf(stderr, "invalid iface index %d != %d\n", ifindex, iface->ifindex); - else if (!interface_valid_src((void *) &iface->v4_addr, (void *) &iface->v4_netmask, (void *) &from.sin6_addr, 16)) + else if (!interface_valid_src((void *) &iface->v6_addr, (void *) &iface->v6_netmask, (void *) &from.sin6_addr, 16)) dns_handle_packet(iface, (struct sockaddr *) &from, from.sin6_port, buffer, len); } @@ -315,7 +315,7 @@ interface_mcast_setup4(struct interface *iface) { struct ip_mreqn mreq; uint8_t ttl = 255; - int yes = 1; + int no = 0; struct sockaddr_in sa = { 0 }; int fd = iface->fd.fd; @@ -345,7 +345,7 @@ interface_mcast_setup4(struct interface *iface) return -1; } - if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) + if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, &no, sizeof(no)) < 0) fprintf(stderr, "ioctl failed: IP_MULTICAST_LOOP\n"); return 0; @@ -356,7 +356,7 @@ interface_socket_setup6(struct interface *iface) { struct ipv6_mreq mreq; int ttl = 255; - int yes = 1; + int no = 0; struct sockaddr_in6 sa = { 0 }; int fd = iface->fd.fd; @@ -379,7 +379,7 @@ interface_socket_setup6(struct interface *iface) return -1; } - if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) + if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &no, sizeof(no)) < 0) fprintf(stderr, "ioctl failed: IPV6_MULTICAST_LOOP\n"); return 0; @@ -417,7 +417,7 @@ reconnect_socket4(struct uloop_timeout *timeout) uloop_fd_add(&iface->fd, ULOOP_READ); if (iface->multicast) { - dns_send_question(iface, "_services._dns-sd._udp.local", TYPE_PTR, 1); + dns_send_question(iface, "_services._dns-sd._udp.local", TYPE_PTR, 0); announce_init(iface); } @@ -465,7 +465,7 @@ reconnect_socket6(struct uloop_timeout *timeout) uloop_fd_add(&iface->fd, ULOOP_READ); if (iface->multicast) { - dns_send_question(iface, "_services._dns-sd._udp.local", TYPE_PTR, 1); + dns_send_question(iface, "_services._dns-sd._udp.local", TYPE_PTR, 0); announce_init(iface); } @@ -621,7 +621,7 @@ void interface_shutdown(void) vlist_for_each_element(&interfaces, iface, node) if (iface->fd.fd > 0 && iface->multicast) { service_announce(iface, 0); - service_reply_a(iface, 0); + dns_reply_a(iface, 0); } vlist_for_each_element(&interfaces, iface, node) interface_close(iface);