From f29e292a4196a3ba54f5b1484e8373dbc214e7a7 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Wed, 16 Feb 2022 20:42:08 +0800 Subject: [PATCH] cache: fix SOA cache issue when dns server timeout. --- src/dns_server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dns_server.c b/src/dns_server.c index ccf321b..b771390 100644 --- a/src/dns_server.c +++ b/src/dns_server.c @@ -809,7 +809,7 @@ static int _dns_server_request_complete_A(struct dns_request *request) request->ttl_v4 = DNS_SERVER_TMOUT_TTL; } dns_cache_set_data_addr(cache_data, request->server_flags, cname, cname_ttl, request->ipv4_addr, DNS_RR_A_LEN); - } else { + } else if (request->has_soa) { dns_cache_set_data_soa(cache_data, request->server_flags, cname, cname_ttl); } @@ -867,7 +867,7 @@ static int _dns_server_request_complete_AAAA(struct dns_request *request) dns_cache_set_data_addr(cache_data, request->server_flags, cname, cname_ttl, request->ipv6_addr, DNS_T_AAAA); request->has_soa = 0; - } else { + } else if (request->has_soa) { dns_cache_set_data_soa(cache_data, request->server_flags, cname, cname_ttl); }