From 95048339bf0af380f15373f22bf2a8f2ff29aea5 Mon Sep 17 00:00:00 2001 From: yuanjm Date: Tue, 12 Oct 2021 20:11:42 +0800 Subject: [PATCH] dns: Add API to clear dns cache Picked from espressif/esp-lwip@ee59f77d Ref IDF-4839 --- src/core/dns.c | 9 +++++++++ src/include/lwip/dns.h | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/core/dns.c b/src/core/dns.c index e0318882..1f6777f2 100644 --- a/src/core/dns.c +++ b/src/core/dns.c @@ -382,6 +382,15 @@ dns_setserver(u8_t numdns, const ip_addr_t *dnsserver) } } +/** + * Clears the DNS cache + */ +void +dns_clear_cache(void) +{ + memset(dns_table, 0, sizeof(struct dns_table_entry) * DNS_TABLE_SIZE); +} + /** * @ingroup dns * Obtain one of the currently configured DNS server. diff --git a/src/include/lwip/dns.h b/src/include/lwip/dns.h index db52fedd..fad97230 100644 --- a/src/include/lwip/dns.h +++ b/src/include/lwip/dns.h @@ -111,9 +111,7 @@ err_t dns_gethostbyname(const char *hostname, ip_addr_t *addr, err_t dns_gethostbyname_addrtype(const char *hostname, ip_addr_t *addr, dns_found_callback found, void *callback_arg, u8_t dns_addrtype); -#if ESP_DNS -void dns_clear_servers(bool keep_fallback); -#endif +void dns_clear_cache(void); #if DNS_LOCAL_HOSTLIST size_t dns_local_iterate(dns_found_callback iterator_fn, void *iterator_arg);