dns-client: allow same upstream server with different proxy.

This commit is contained in:
Nick Peng
2023-02-22 21:55:07 +08:00
parent e3271b07c4
commit 2ca4c92c9f

View File

@@ -447,7 +447,7 @@ errout:
}
/* check whether server exists */
static int _dns_client_server_exist(const char *server_ip, int port, dns_server_type_t server_type)
static int _dns_client_server_exist(const char *server_ip, int port, dns_server_type_t server_type, struct client_dns_server_flags *flags)
{
struct dns_server_info *server_info = NULL;
struct dns_server_info *tmp = NULL;
@@ -458,6 +458,10 @@ static int _dns_client_server_exist(const char *server_ip, int port, dns_server_
continue;
}
if (memcmp(&server_info->flags, flags, sizeof(*flags)) == 0) {
continue;
}
if (strncmp(server_info->ip, server_ip, DNS_HOSTNAME_LEN) != 0) {
continue;
}
@@ -1029,7 +1033,7 @@ static int _dns_client_server_add(char *server_ip, char *server_host, int port,
}
/* if server exist, return */
if (_dns_client_server_exist(server_ip, port, server_type) == 0) {
if (_dns_client_server_exist(server_ip, port, server_type, flags) == 0) {
return 0;
}