mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
mdns: filter instance name for ANY queries
The instance name in ANY quries was ignored. The MR fixes the issue.
This commit is contained in:
@ -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)) {
|
if (!_mdns_service_match(service, question->service, question->proto, NULL)) {
|
||||||
return false;
|
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) {
|
if (question->sub) {
|
||||||
mdns_subtype_t *subtype = service->subtype;
|
mdns_subtype_t *subtype = service->subtype;
|
||||||
while (subtype) {
|
while (subtype) {
|
||||||
@ -1544,6 +1546,11 @@ static bool _mdns_service_match_ptr_question(const mdns_service_t *service, cons
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (question->host) {
|
||||||
|
if (strcasecmp(service->instance, question->host) != 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user