mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-09 15:44:34 +02:00
Merge branch 'bugfix/mdns-query-instance-filter' into 'master'
mdns: filter instance name for ANY queries See merge request espressif/esp-idf!16255
This commit is contained in:
@@ -1540,6 +1540,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) {
|
||||||
@@ -1550,6 +1552,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