From 0e6eeefe5e378966dc86645f07a1f6a7cb714e54 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Wed, 12 Apr 2023 23:14:10 +0800 Subject: [PATCH] dns_server: suppress error log --- src/dns_client.c | 8 +++++++- src/dns_conf.c | 15 +++++++++++++++ src/dns_server.c | 4 ++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/dns_client.c b/src/dns_client.c index 68e5b92..87b258c 100644 --- a/src/dns_client.c +++ b/src/dns_client.c @@ -3562,7 +3562,13 @@ static int _dns_client_send_packet(struct dns_query_struct *query, void *packet, } if (send_count <= 0) { - tlog(TLOG_WARN, "Send query to upstream server failed, total server number %d", total_server); + static time_t lastlog = 0; + time_t now = 0; + time(&now); + if (now - lastlog > 120) { + lastlog = now; + tlog(TLOG_WARN, "Send query %s to upstream server failed, total server number %d", query->domain, total_server); + } return -1; } diff --git a/src/dns_conf.c b/src/dns_conf.c index 9a9bb92..b6c331a 100644 --- a/src/dns_conf.c +++ b/src/dns_conf.c @@ -3393,6 +3393,19 @@ void dns_server_load_exit(void) _config_proxy_table_destroy(); dns_conf_server_num = 0; + dns_conf_bind_ip_num = 0; +} + +static int _config_add_default_server_if_needed(void) +{ + if (dns_conf_bind_ip_num > 0) { + return 0; + } + + /* add default server */ + char *argv[] = {"bind", "[::]:53", 0}; + int argc = sizeof(argv) / sizeof(char *) - 1; + return _config_bind_ip(argc, argv, DNS_BIND_TYPE_UDP); } static int _dns_conf_speed_check_mode_verify(void) @@ -3513,6 +3526,8 @@ static int _dns_conf_load_post(void) _config_update_bootstrap_dns_rule(); + _config_add_default_server_if_needed(); + return 0; } diff --git a/src/dns_server.c b/src/dns_server.c index 77557cf..7e677e3 100644 --- a/src/dns_server.c +++ b/src/dns_server.c @@ -5293,7 +5293,7 @@ static int _dns_server_recv(struct dns_server_conn_head *conn, unsigned char *in ret = _dns_server_do_query(request, 1); if (ret != 0) { - tlog(TLOG_WARN, "do query %s failed.\n", request->domain); + tlog(TLOG_DEBUG, "do query %s failed.\n", request->domain); goto errout; } _dns_server_request_release_complete(request, 0); @@ -6168,7 +6168,7 @@ static void _dns_server_prefetch_expired_domain(struct dns_cache *dns_cache) server_query_option.ecs_enable_flag = 0; if (_dns_server_prefetch_request(dns_cache->info.domain, dns_cache->info.qtype, 1, &server_query_option) != 0) { - tlog(TLOG_WARN, "prefetch domain %s, qtype %d, failed.", dns_cache->info.domain, dns_cache->info.qtype); + tlog(TLOG_DEBUG, "prefetch domain %s, qtype %d, failed.", dns_cache->info.domain, dns_cache->info.qtype); } }