smartdns: fix compile warnings for gcc 11.
This commit is contained in:
@@ -329,7 +329,7 @@ static void _dns_cache_remove_by_domain(struct dns_cache_key *cache_key)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strncmp(dns_cache->info.dns_group_name, cache_key->dns_group_name, DNS_MAX_CNAME_LEN) != 0) {
|
||||
if (strncmp(dns_cache->info.dns_group_name, cache_key->dns_group_name, DNS_GROUP_NAME_LEN) != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ struct dns_server_info {
|
||||
/* server type */
|
||||
dns_server_type_t type;
|
||||
long long so_mark;
|
||||
int drop_packet_latency_ms;
|
||||
|
||||
/* client socket */
|
||||
int fd;
|
||||
@@ -118,6 +119,7 @@ struct dns_server_info {
|
||||
|
||||
time_t last_send;
|
||||
time_t last_recv;
|
||||
unsigned long send_tick;
|
||||
int prohibit;
|
||||
|
||||
/* server addr info */
|
||||
@@ -1056,6 +1058,7 @@ static int _dns_client_server_add(char *server_ip, char *server_host, int port,
|
||||
server_info->skip_check_cert = skip_check_cert;
|
||||
server_info->prohibit = 0;
|
||||
server_info->so_mark = flags->set_mark;
|
||||
server_info->drop_packet_latency_ms = flags->drop_packet_latency_ms;
|
||||
safe_strncpy(server_info->proxy_name, flags->proxyname, sizeof(server_info->proxy_name));
|
||||
pthread_mutex_init(&server_info->lock, NULL);
|
||||
memcpy(&server_info->flags, flags, sizeof(server_info->flags));
|
||||
@@ -2261,6 +2264,11 @@ static int _dns_client_process_udp(struct dns_server_info *server_info, struct e
|
||||
/* update recv time */
|
||||
time(&server_info->last_recv);
|
||||
|
||||
int latency = get_tick_count() - server_info->send_tick;
|
||||
if (latency < server_info->drop_packet_latency_ms) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* processing dns packet */
|
||||
if (_dns_client_recv(server_info, inpacket, len, (struct sockaddr *)&from, from_len) != 0) {
|
||||
return -1;
|
||||
@@ -3326,6 +3334,7 @@ static int _dns_client_send_packet(struct dns_query_struct *query, void *packet,
|
||||
continue;
|
||||
}
|
||||
time(&server_info->last_send);
|
||||
server_info->send_tick = get_tick_count();
|
||||
}
|
||||
pthread_mutex_unlock(&client.server_list_lock);
|
||||
|
||||
|
||||
@@ -113,6 +113,7 @@ struct client_dns_server_flags {
|
||||
unsigned int server_flag;
|
||||
unsigned int result_flag;
|
||||
long long set_mark;
|
||||
int drop_packet_latency_ms;
|
||||
char proxyname[DNS_MAX_CNAME_LEN];
|
||||
union {
|
||||
struct client_dns_server_flag_udp udp;
|
||||
|
||||
@@ -462,6 +462,7 @@ static int _config_server(int argc, char *argv[], dns_server_type_t type, int de
|
||||
unsigned int result_flag = 0;
|
||||
unsigned int server_flag = 0;
|
||||
unsigned char *spki = NULL;
|
||||
int drop_packet_latency_ms = 0;
|
||||
|
||||
int ttl = 0;
|
||||
/* clang-format off */
|
||||
@@ -472,6 +473,7 @@ static int _config_server(int argc, char *argv[], dns_server_type_t type, int de
|
||||
/* experimental feature */
|
||||
{"check-edns", no_argument, NULL, 'e'}, /* check edns */
|
||||
#endif
|
||||
{"drop-packet-latency", required_argument, NULL, 'D'},
|
||||
{"spki-pin", required_argument, NULL, 'p'}, /* check SPKI pin */
|
||||
{"host-name", required_argument, NULL, 'h'}, /* host name */
|
||||
{"http-host", required_argument, NULL, 'H'}, /* http host */
|
||||
@@ -503,6 +505,7 @@ static int _config_server(int argc, char *argv[], dns_server_type_t type, int de
|
||||
server->tls_host_verify[0] = '\0';
|
||||
server->proxyname[0] = '\0';
|
||||
server->set_mark = -1;
|
||||
server->drop_packet_latency_ms = drop_packet_latency_ms;
|
||||
|
||||
if (parse_uri(ip, scheme, server->server, &port, server->path) != 0) {
|
||||
return -1;
|
||||
@@ -572,6 +575,10 @@ static int _config_server(int argc, char *argv[], dns_server_type_t type, int de
|
||||
safe_strncpy(server->httphost, optarg, DNS_MAX_CNAME_LEN);
|
||||
break;
|
||||
}
|
||||
case 'D': {
|
||||
drop_packet_latency_ms = atoi(optarg);
|
||||
break;
|
||||
}
|
||||
case 'E': {
|
||||
server_flag |= SERVER_FLAG_EXCLUDE_DEFAULT;
|
||||
break;
|
||||
@@ -618,6 +625,7 @@ static int _config_server(int argc, char *argv[], dns_server_type_t type, int de
|
||||
server->result_flag = result_flag;
|
||||
server->server_flag = server_flag;
|
||||
server->ttl = ttl;
|
||||
server->drop_packet_latency_ms = drop_packet_latency_ms;
|
||||
dns_conf_server_num++;
|
||||
tlog(TLOG_DEBUG, "add server %s, flag: %X, ttl: %d", ip, result_flag, ttl);
|
||||
|
||||
|
||||
@@ -282,6 +282,7 @@ struct dns_servers {
|
||||
int ttl;
|
||||
dns_server_type_t type;
|
||||
long long set_mark;
|
||||
unsigned int drop_packet_latency_ms;
|
||||
char skip_check_cert;
|
||||
char spki[DNS_MAX_SPKI_LEN];
|
||||
char hostname[DNS_MAX_CNAME_LEN];
|
||||
|
||||
@@ -269,6 +269,7 @@ static int _smartdns_add_servers(void)
|
||||
flags.server_flag = dns_conf_servers[i].server_flag;
|
||||
flags.result_flag = dns_conf_servers[i].result_flag;
|
||||
flags.set_mark = dns_conf_servers[i].set_mark;
|
||||
flags.drop_packet_latency_ms = dns_conf_servers[i].drop_packet_latency_ms;
|
||||
safe_strncpy(flags.proxyname, dns_conf_servers[i].proxyname, sizeof(flags.proxyname));
|
||||
ret = dns_client_add_server(dns_conf_servers[i].server, dns_conf_servers[i].port, dns_conf_servers[i].type,
|
||||
&flags);
|
||||
|
||||
Reference in New Issue
Block a user