mdns: filter instance name for ANY queries

The instance name in ANY quries was ignored. The MR fixes the issue.
pull/8142/head
Jiacheng Guo 2021-12-03 17:59:04 +08:00
rodzic fcd634faec
commit 5d0c47303d
1 zmienionych plików z 7 dodań i 0 usunięć

Wyświetl plik

@ -1534,6 +1534,8 @@ static bool _mdns_service_match_ptr_question(const mdns_service_t *service, cons
if (!_mdns_service_match(service, question->service, question->proto, NULL)) {
return false;
}
// The question parser stores anything before _type._proto in question->host
// So the question->host can be subtype or instance name based on its content
if (question->sub) {
mdns_subtype_t *subtype = service->subtype;
while (subtype) {
@ -1544,6 +1546,11 @@ static bool _mdns_service_match_ptr_question(const mdns_service_t *service, cons
}
return false;
}
if (question->host) {
if (strcasecmp(service->instance, question->host) != 0) {
return false;
}
}
return true;
}