iov[1].iov_len = len;
- if (unicast == iface->multicast)
- iface = iface->peer;
-
+ DBG(1, "Q <- %s %s\n", dns_type_string(type), question);
if (interface_send_packet(iface, iov, ARRAY_SIZE(iov)) < 0)
- fprintf(stderr, "failed to send question\n");
- else
- DBG(1, "Q <- %s %s\n", dns_type_string(type), question);
+ perror("failed to send question :");
}
break;
case TYPE_PTR:
- service_announce_services(iface, name);
+ service_announce_services(iface, name, announce_ttl);
service_reply(iface, name, announce_ttl);
break;
if (host)
*host = '\0';
if (!strcmp(mdns_hostname, name))
- service_reply_a(iface, q->type, announce_ttl);
+ service_reply_a(iface, announce_ttl);
break;
};
}
void
-dns_handle_packet(struct interface *iface, uint8_t *buffer, int len, int unicast)
+dns_handle_packet(struct interface *iface, struct sockaddr *s, uint16_t port, uint8_t *buffer, int len)
{
struct dns_header *h;
uint8_t *b = buffer;