Keep source sockaddr for every cached DNS record
[project/mdnsd.git] / announce.c
index 10389b8..fed1b21 100644 (file)
@@ -46,7 +46,7 @@ announce_timer(struct uloop_timeout *timeout)
                case STATE_PROBE1:
                case STATE_PROBE2:
                case STATE_PROBE3:
-                       dns_send_question(iface, mdns_hostname_local, TYPE_ANY, 0);
+                       dns_send_question(iface, mdns_hostname_local, TYPE_ANY, 1);
                        uloop_timeout_set(timeout, 250);
                        iface->announce_state++;
                        break;
@@ -62,9 +62,11 @@ announce_timer(struct uloop_timeout *timeout)
                                return;
                        }
                        iface->announce_state++;
+                       /* Fall through */
 
                case STATE_ANNOUNCE:
-                       service_announce(iface);
+                       dns_reply_a(iface, NULL, announce_ttl);
+                       service_announce_services(iface, NULL, announce_ttl);
                        uloop_timeout_set(timeout, announce_ttl * 800);
                        break;
        }