diff --git a/CHANGES b/CHANGES index 76c39ab238..71fc897072 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +1036. [func] Temporally drop requests received via multicast. + 1035. [bug] Respond to multicast queries from a unicast address, RFC 1123. [RT #137] diff --git a/bin/named/client.c b/bin/named/client.c index ec8bea94c3..fa995ce746 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.182 2001/10/09 02:39:03 marka Exp $ */ +/* $Id: client.c,v 1.183 2001/10/09 04:29:19 marka Exp $ */ #include @@ -1161,6 +1161,17 @@ client_request(isc_task_t *task, isc_event_t *event) { } } + /* + * Silently drop multicast requests for the present. + * XXXMPA look at when/if mDNS spec stabilizes. + */ + if ((client->attributes & NS_CLIENTATTR_MULTICAST) != 0) { + ns_client_log(client, NS_LOGCATEGORY_CLIENT, + NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(2), + "dropping multicast request"); + ns_client_next(client, DNS_R_REFUSED); + } + result = dns_message_peekheader(buffer, &id, &flags); if (result != ISC_R_SUCCESS) { /*