X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=interface.c;h=587b1886c6c1946824acf921cebcb549a9b38695;hp=c8d89721d05f15f6e248732f8b694be700f2f45f;hb=1283a0f4414dd66c7ef0665ee60413d30f3ee2cc;hpb=859d0ecd2a369861771e9fea354a9ef67aaf9e9a diff --git a/interface.c b/interface.c index c8d8972..587b188 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); } @@ -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); } @@ -620,8 +620,8 @@ 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); + service_announce_services(iface, 0); } vlist_for_each_element(&interfaces, iface, node) interface_close(iface);