From 7237893ba9b06c2fbbb57bf6a85baffb48c7252e Mon Sep 17 00:00:00 2001 From: WanqQixiang Date: Thu, 14 Nov 2024 19:39:45 +0800 Subject: [PATCH] fix(openthread): Fix invalid host resolving for Thread end devices --- components/openthread/src/esp_openthread_dns64.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/openthread/src/esp_openthread_dns64.c b/components/openthread/src/esp_openthread_dns64.c index 86d8b5fb0e..332e20f049 100644 --- a/components/openthread/src/esp_openthread_dns64.c +++ b/components/openthread/src/esp_openthread_dns64.c @@ -75,7 +75,9 @@ static void dns_found_handler(const char *name, const ip_addr_t *ipaddr, void *c { dns_resolve_entry_t *resolve_entry = (dns_resolve_entry_t *)callback_arg; if (resolve_entry && resolve_entry->found) { - if (ipaddr && lwip_strnicmp(name, resolve_entry->name, sizeof(resolve_entry->name)) == 0) { + if (!ipaddr) { + resolve_entry->found(name, NULL, resolve_entry->callback_arg); + } else if (lwip_strnicmp(name, resolve_entry->name, sizeof(resolve_entry->name)) == 0) { ip_addr_t ipaddr_copy = *ipaddr; ip6_addr_t nat64_prefix; if (ipaddr_copy.type == IPADDR_TYPE_V4 && esp_openthread_get_nat64_prefix(&nat64_prefix) == ESP_OK) {