}
void
-dns_send_question(struct interface *iface, const char *question, int type, int multicast)
+dns_send_question(struct interface *iface, struct sockaddr *to,
+ const char *question, int type, int multicast)
{
static struct dns_header h;
static struct dns_question q;
iov[1].iov_len = len;
DBG(1, "Q <- %s %s\n", dns_type_string(type), question);
- if (interface_send_packet(iface, NULL, iov, ARRAY_SIZE(iov)) < 0)
+ if (interface_send_packet(iface, to, iov, ARRAY_SIZE(iov)) < 0)
perror("failed to send question");
}
case TYPE_ANY:
if (!strcmp(name, mdns_hostname_local)) {
dns_reply_a(iface, to, announce_ttl);
- service_reply(iface, to, NULL, announce_ttl);
+ service_reply(iface, to, NULL, NULL, announce_ttl);
}
break;
size_t len = dot ? dot - name : 0;
/* Make sure it's query for the instance name we use */
- if (len && len == strlen(mdns_hostname) &&
- !strncmp(name, mdns_hostname, len))
- service_reply(iface, to, dot + 1, announce_ttl);
+ if (len && len == strlen(umdns_host_label) &&
+ !strncmp(name, umdns_host_label, len))
+ service_reply(iface, to, NULL, dot + 1, announce_ttl);
}
break;
host = strstr(name, ".local");
if (host)
*host = '\0';
- if (!strcmp(mdns_hostname, name))
+ if (!strcmp(umdns_host_label, name))
dns_reply_a(iface, to, announce_ttl);
break;
};