Fix sending unicast questions on cache expire
[project/mdnsd.git] / cache.c
diff --git a/cache.c b/cache.c
index fea9035..7d2aa8f 100644 (file)
--- a/cache.c
+++ b/cache.c
@@ -89,7 +89,7 @@ cache_gc_timer(struct uloop_timeout *timeout)
                        continue;
                }
                r->refresh += 50;
-               dns_send_question(r->iface, r->record, r->type, 0);
+               dns_send_question(r->iface, (struct sockaddr *)&r->from, r->record, r->type, 0);
        }
 
        avl_for_each_element_safe(&services, s, avl, t) {
@@ -102,7 +102,7 @@ cache_gc_timer(struct uloop_timeout *timeout)
                        continue;
                }
                s->refresh += 50;
-               dns_send_question(s->iface, s->entry, TYPE_PTR, 0);
+               dns_send_question(s->iface, NULL, s->entry, TYPE_PTR, 0);
        }
 
        uloop_timeout_set(timeout, 10000);
@@ -141,7 +141,7 @@ cache_update(void)
 
        vlist_for_each_element(&interfaces, iface, node)
                avl_for_each_element(&services, s, avl)
-                       dns_send_question(iface, s->entry, TYPE_PTR, 0);
+                       dns_send_question(iface, NULL, s->entry, TYPE_PTR, 0);
 }
 
 static struct cache_service*
@@ -181,7 +181,7 @@ cache_service(struct interface *iface, char *entry, int hlen, int ttl)
        avl_insert(&services, &s->avl);
 
        if (!hlen)
-               dns_send_question(iface, entry, TYPE_PTR, iface->multicast);
+               dns_send_question(iface, NULL, entry, TYPE_PTR, iface->multicast);
 
        return s;
 }