Change dns_send_question function arg from unicast to multicast
[project/mdnsd.git] / interface.c
index c8d89721d05f15f6e248732f8b694be700f2f45f..f09329ba17e586f17d5eb15805f4799d7c57bbbf 100644 (file)
@@ -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);
        }