From 0e2552310271adbb39cf6301e0a083c93e74d646 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Tue, 4 Feb 2025 16:02:04 +0100 Subject: [PATCH] fix(mdns): Fix responder to ignore only invalid queries not the entire packet, so we can still reply to next questions --- components/mdns/mdns.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index 12539a4352..2f3b7f85e2 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -1879,7 +1879,11 @@ static void _mdns_create_answer_from_parsed_packet(mdns_parsed_packet_t *parsed_ shared = q->type == MDNS_TYPE_PTR || q->type == MDNS_TYPE_SDPTR || !parsed_packet->probe; if (q->type == MDNS_TYPE_SRV || q->type == MDNS_TYPE_TXT) { mdns_srv_item_t *service = _mdns_get_service_item_instance(q->host, q->service, q->proto, NULL); - if (service == NULL || !_mdns_create_answer_from_service(packet, service->service, q, shared, send_flush)) { + if (service == NULL) { // Service not found, but we continue to the next question + q = q->next; + continue;; + } + if (!_mdns_create_answer_from_service(packet, service->service, q, shared, send_flush)) { _mdns_free_tx_packet(packet); return; } else {