Переглянути джерело

lint: clear lint warnings

Nick Peng 2 роки тому
батько
коміт
f7ede1b7d0
9 змінених файлів з 45 додано та 53 видалено
  1. 0 7
      src/dns.c
  2. 0 1
      src/dns_cache.c
  3. 4 4
      src/dns_client.c
  4. 11 12
      src/dns_conf.c
  5. 22 20
      src/dns_server.c
  6. 5 5
      src/proxy.c
  7. 0 1
      src/smartdns.c
  8. 1 1
      src/util.c
  9. 2 2
      src/util.h

+ 0 - 7
src/dns.c

@@ -759,8 +759,6 @@ static int _dns_get_opt_RAW(struct dns_rrs *rrs, char *domain, int maxsize, int
 static int __attribute__((unused)) _dns_add_OPT(struct dns_packet *packet, dns_rr_type type, unsigned short opt_code,
 												unsigned short opt_len, struct dns_opt *opt)
 {
-	// TODO
-
 	int ret = 0;
 	int len = 0;
 	struct dns_context context;
@@ -806,8 +804,6 @@ static int __attribute__((unused)) _dns_add_OPT(struct dns_packet *packet, dns_r
 static int __attribute__((unused)) _dns_get_OPT(struct dns_rrs *rrs, unsigned short *opt_code, unsigned short *opt_len,
 												struct dns_opt *opt, int *opt_maxlen)
 {
-	// TODO
-
 	int qtype = 0;
 	int qclass = 0;
 	int rr_len = 0;
@@ -1708,8 +1704,6 @@ static int _dns_encode_SOA(struct dns_context *context, struct dns_rrs *rrs)
 
 static int _dns_decode_opt_ecs(struct dns_context *context, struct dns_opt_ecs *ecs, int opt_len)
 {
-	// TODO
-
 	int len = 0;
 	if (opt_len < 4) {
 		return -1;
@@ -1737,7 +1731,6 @@ static int _dns_decode_opt_ecs(struct dns_context *context, struct dns_opt_ecs *
 
 static int _dns_decode_opt_cookie(struct dns_context *context, struct dns_opt_cookie *cookie, int opt_len)
 {
-	// TODO
 	if (opt_len < (int)member_size(struct dns_opt_cookie, client_cookie)) {
 		return -1;
 	}

+ 0 - 1
src/dns_cache.c

@@ -969,7 +969,6 @@ errout:
 
 static int _dns_cache_write_records(int fd, uint32_t *cache_number)
 {
-
 	if (_dns_cache_write_record(fd, cache_number, CACHE_RECORD_TYPE_ACTIVE, &dns_cache_head.cache_list) != 0) {
 		return -1;
 	}

+ 4 - 4
src/dns_client.c

@@ -1075,7 +1075,7 @@ static int _dns_client_server_add(char *server_ip, char *server_host, int port,
 		return 0;
 	}
 
-	snprintf(port_s, 8, "%d", port);
+	snprintf(port_s, sizeof(port_s), "%d", port);
 	gai = _dns_client_getaddr(server_ip, port_s, sock_type, 0);
 	if (gai == NULL) {
 		tlog(TLOG_DEBUG, "get address failed, %s:%d", server_ip, port);
@@ -1418,7 +1418,7 @@ static int _dns_client_add_server_pending(char *server_ip, char *server_host, in
 			return 0;
 		}
 	} else if (check_is_ipaddr(server_ip) && is_pending == 0) {
-		gai = _dns_client_getaddr(server_ip, 0, SOCK_STREAM, 0);
+		gai = _dns_client_getaddr(server_ip, NULL, SOCK_STREAM, 0);
 		if (gai == NULL) {
 			return -1;
 		}
@@ -4049,7 +4049,7 @@ static void _dns_client_add_pending_servers(void)
 		if (pending->query_v4 == 0) {
 			pending->query_v4 = 1;
 			_dns_client_server_pending_get(pending);
-			if (dns_server_query(pending->host, DNS_T_A, 0, _dns_client_pending_server_resolve, pending) != 0) {
+			if (dns_server_query(pending->host, DNS_T_A, NULL, _dns_client_pending_server_resolve, pending) != 0) {
 				_dns_client_server_pending_release(pending);
 				pending->query_v4 = 0;
 			}
@@ -4058,7 +4058,7 @@ static void _dns_client_add_pending_servers(void)
 		if (pending->query_v6 == 0) {
 			pending->query_v6 = 1;
 			_dns_client_server_pending_get(pending);
-			if (dns_server_query(pending->host, DNS_T_AAAA, 0, _dns_client_pending_server_resolve, pending) != 0) {
+			if (dns_server_query(pending->host, DNS_T_AAAA, NULL, _dns_client_pending_server_resolve, pending) != 0) {
 				_dns_client_server_pending_release(pending);
 				pending->query_v6 = 0;
 			}

+ 11 - 12
src/dns_conf.c

@@ -79,7 +79,7 @@ static struct config_enum_list dns_conf_response_mode_enum[] = {
 	{"first-ping", DNS_RESPONSE_MODE_FIRST_PING_IP},
 	{"fastest-ip", DNS_RESPONSE_MODE_FASTEST_IP},
 	{"fastest-response", DNS_RESPONSE_MODE_FASTEST_RESPONSE},
-	{0, 0}};
+	{NULL, 0}};
 
 enum response_mode_type dns_conf_response_mode;
 
@@ -95,8 +95,8 @@ int dns_conf_serve_expired_reply_ttl = 3;
 struct dns_servers dns_conf_servers[DNS_MAX_SERVERS];
 char dns_conf_server_name[DNS_MAX_SERVER_NAME_LEN];
 int dns_conf_server_num;
-int dns_conf_resolv_hostname = 1;
-char dns_conf_exist_bootstrap_dns;
+static int dns_conf_resolv_hostname = 1;
+static char dns_conf_exist_bootstrap_dns;
 
 struct dns_domain_check_orders dns_conf_check_orders = {
 	.orders =
@@ -142,7 +142,7 @@ int dns_conf_dualstack_ip_selection = 1;
 int dns_conf_dualstack_ip_allow_force_AAAA;
 int dns_conf_dualstack_ip_selection_threshold = 10;
 
-int dns_conf_expand_ptr_from_address = 0;
+static int dns_conf_expand_ptr_from_address = 0;
 
 /* TTL */
 int dns_conf_rr_ttl;
@@ -322,7 +322,7 @@ static struct dns_server_groups *_dns_conf_get_group(const char *group_name)
 	key = hash_string(group_name);
 	hash_for_each_possible(dns_group_table.group, group, node, key)
 	{
-		if (strncmp(group->group_name, group_name, DNS_MAX_IPLEN) == 0) {
+		if (strncmp(group->group_name, group_name, DNS_GROUP_NAME_LEN) == 0) {
 			return group;
 		}
 	}
@@ -404,7 +404,7 @@ struct dns_proxy_names *dns_server_get_proxy_nams(const char *proxyname)
 	key = hash_string(proxyname);
 	hash_for_each_possible(dns_proxy_table.proxy, proxy, node, key)
 	{
-		if (strncmp(proxy->proxy_name, proxyname, DNS_MAX_IPLEN) == 0) {
+		if (strncmp(proxy->proxy_name, proxyname, DNS_GROUP_NAME_LEN) == 0) {
 			return proxy;
 		}
 	}
@@ -421,7 +421,7 @@ static struct dns_proxy_names *_dns_conf_get_proxy(const char *proxy_name)
 	key = hash_string(proxy_name);
 	hash_for_each_possible(dns_proxy_table.proxy, proxy, node, key)
 	{
-		if (strncmp(proxy->proxy_name, proxy_name, DNS_MAX_IPLEN) == 0) {
+		if (strncmp(proxy->proxy_name, proxy_name, PROXY_NAME_LEN) == 0) {
 			return proxy;
 		}
 	}
@@ -1870,11 +1870,11 @@ static int _config_speed_check_mode_parser(struct dns_domain_check_orders *check
 
 			return 0;
 		}
+
 		order++;
 		if (ptr) {
 			ptr++;
 		}
-
 	} while (ptr);
 
 	return 0;
@@ -2666,7 +2666,6 @@ errout:
 
 static int _conf_edns_client_subnet(void *data, int argc, char *argv[])
 {
-
 	if (argc <= 1) {
 		return -1;
 	}
@@ -3189,7 +3188,6 @@ static int _conf_ip_rules(void *data, int argc, char *argv[])
 			break;
 		}
 		case 'a': {
-
 			if (_config_ip_alias(ip_cidr, optarg) != 0) {
 				goto errout;
 			}
@@ -4028,7 +4026,8 @@ static void _config_setup_smartdns_domain(void)
 	}
 
 	/* add server name to rule table */
-	if (dns_conf_server_name[0] != '\0' && strncmp(dns_conf_server_name, "smartdns", DNS_MAX_CNAME_LEN - 1) != 0) {
+	if (dns_conf_server_name[0] != '\0' &&
+		strncmp(dns_conf_server_name, "smartdns", DNS_MAX_SERVER_NAME_LEN - 1) != 0) {
 		_config_domain_rule_flag_set(dns_conf_server_name, DOMAIN_FLAG_SMARTDNS_DOMAIN, 0);
 	}
 
@@ -4271,7 +4270,7 @@ static int _config_add_default_server_if_needed(void)
 	}
 
 	/* add default server */
-	char *argv[] = {"bind", "[::]:53", 0};
+	char *argv[] = {"bind", "[::]:53", NULL};
 	int argc = sizeof(argv) / sizeof(char *) - 1;
 	return _config_bind_ip(argc, argv, DNS_BIND_TYPE_UDP);
 }

+ 22 - 20
src/dns_server.c

@@ -1536,14 +1536,14 @@ static int _dns_result_callback(struct dns_server_post_context *context)
 		}
 
 		if (request->qtype == DNS_T_A) {
-			sprintf(ip, "%d.%d.%d.%d", request->ip_addr[0], request->ip_addr[1], request->ip_addr[2],
-					request->ip_addr[3]);
+			snprintf(ip, sizeof(ip), "%d.%d.%d.%d", request->ip_addr[0], request->ip_addr[1], request->ip_addr[2],
+					 request->ip_addr[3]);
 		} else if (request->qtype == DNS_T_AAAA) {
-			sprintf(ip, "%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x", request->ip_addr[0],
-					request->ip_addr[1], request->ip_addr[2], request->ip_addr[3], request->ip_addr[4],
-					request->ip_addr[5], request->ip_addr[6], request->ip_addr[7], request->ip_addr[8],
-					request->ip_addr[9], request->ip_addr[10], request->ip_addr[11], request->ip_addr[12],
-					request->ip_addr[13], request->ip_addr[14], request->ip_addr[15]);
+			snprintf(ip, sizeof(ip), "%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x",
+					 request->ip_addr[0], request->ip_addr[1], request->ip_addr[2], request->ip_addr[3],
+					 request->ip_addr[4], request->ip_addr[5], request->ip_addr[6], request->ip_addr[7],
+					 request->ip_addr[8], request->ip_addr[9], request->ip_addr[10], request->ip_addr[11],
+					 request->ip_addr[12], request->ip_addr[13], request->ip_addr[14], request->ip_addr[15]);
 		}
 	}
 
@@ -2975,7 +2975,7 @@ static int _dns_server_process_answer_A(struct dns_rrs *rrs, struct dns_request
 			return -1;
 		}
 
-		sprintf(ip, "%d.%d.%d.%d", paddr[0], paddr[1], paddr[2], paddr[3]);
+		snprintf(ip, sizeof(ip), "%d.%d.%d.%d", paddr[0], paddr[1], paddr[2], paddr[3]);
 
 		/* start ping */
 		_dns_server_request_get(request);
@@ -3061,7 +3061,7 @@ static int _dns_server_process_answer_AAAA(struct dns_rrs *rrs, struct dns_reque
 			return -1;
 		}
 
-		sprintf(ip, "[%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x]", paddr[0], paddr[1],
+		snprintf(ip, sizeof(ip), "[%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x]", paddr[0], paddr[1],
 				paddr[2], paddr[3], paddr[4], paddr[5], paddr[6], paddr[7], paddr[8], paddr[9], paddr[10], paddr[11],
 				paddr[12], paddr[13], paddr[14], paddr[15]);
 
@@ -3804,7 +3804,7 @@ static int _dns_server_process_ptrs(struct dns_request *request)
 	key = hash_string(request->domain);
 	hash_for_each_possible(dns_ptr_table.ptr, ptr_tmp, node, key)
 	{
-		if (strncmp(ptr_tmp->ptr_domain, request->domain, DNS_MAX_CNAME_LEN) != 0) {
+		if (strncmp(ptr_tmp->ptr_domain, request->domain, DNS_MAX_PTR_LEN) != 0) {
 			continue;
 		}
 
@@ -3828,7 +3828,7 @@ static int _dns_server_process_local_ptr(struct dns_request *request)
 	struct ifaddrs *ifaddr = NULL;
 	struct ifaddrs *ifa = NULL;
 	unsigned char *addr = NULL;
-	char reverse_addr[128] = {0};
+	char reverse_addr[DNS_MAX_CNAME_LEN] = {0};
 	int found = 0;
 
 	if (getifaddrs(&ifaddr) == -1) {
@@ -4269,13 +4269,15 @@ static int _dns_server_address_generate_order(int orders[], int order_num, int m
 	int i = 0;
 	int j = 0;
 	int k = 0;
+	unsigned int seed = time(NULL);
+
 	for (i = 0; i < order_num && i < max_order_count; i++) {
 		orders[i] = i;
 	}
 
 	for (i = 0; i < order_num && max_order_count; i++) {
-		k = rand() % order_num;
-		j = rand() % order_num;
+		k = rand_r(&seed) % order_num;
+		j = rand_r(&seed) % order_num;
 		if (j == k) {
 			continue;
 		}
@@ -6420,8 +6422,8 @@ static int _dns_server_second_ping_check(struct dns_request *request)
 		switch (addr_map->addr_type) {
 		case DNS_T_A: {
 			_dns_server_request_get(request);
-			sprintf(ip, "%d.%d.%d.%d", addr_map->ip_addr[0], addr_map->ip_addr[1], addr_map->ip_addr[2],
-					addr_map->ip_addr[3]);
+			snprintf(ip, sizeof(ip), "%d.%d.%d.%d", addr_map->ip_addr[0], addr_map->ip_addr[1], addr_map->ip_addr[2],
+					 addr_map->ip_addr[3]);
 			ret = _dns_server_check_speed(request, ip);
 			if (ret != 0) {
 				_dns_server_request_release(request);
@@ -6429,11 +6431,11 @@ static int _dns_server_second_ping_check(struct dns_request *request)
 		} break;
 		case DNS_T_AAAA: {
 			_dns_server_request_get(request);
-			sprintf(ip, "[%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x]",
-					addr_map->ip_addr[0], addr_map->ip_addr[1], addr_map->ip_addr[2], addr_map->ip_addr[3],
-					addr_map->ip_addr[4], addr_map->ip_addr[5], addr_map->ip_addr[6], addr_map->ip_addr[7],
-					addr_map->ip_addr[8], addr_map->ip_addr[9], addr_map->ip_addr[10], addr_map->ip_addr[11],
-					addr_map->ip_addr[12], addr_map->ip_addr[13], addr_map->ip_addr[14], addr_map->ip_addr[15]);
+			snprintf(ip, sizeof(ip), "[%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x]",
+					 addr_map->ip_addr[0], addr_map->ip_addr[1], addr_map->ip_addr[2], addr_map->ip_addr[3],
+					 addr_map->ip_addr[4], addr_map->ip_addr[5], addr_map->ip_addr[6], addr_map->ip_addr[7],
+					 addr_map->ip_addr[8], addr_map->ip_addr[9], addr_map->ip_addr[10], addr_map->ip_addr[11],
+					 addr_map->ip_addr[12], addr_map->ip_addr[13], addr_map->ip_addr[14], addr_map->ip_addr[15]);
 			ret = _dns_server_check_speed(request, ip);
 			if (ret != 0) {
 				_dns_server_request_release(request);

+ 5 - 5
src/proxy.c

@@ -96,7 +96,7 @@ struct proxy_struct {
 
 static struct proxy_struct proxy;
 
-const char *proxy_socks5_status_code[] = {
+static const char *proxy_socks5_status_code[] = {
 	"success",
 	"general SOCKS server failure",
 	"connection not allowed by ruleset",
@@ -234,7 +234,7 @@ int proxy_remove(const char *proxy_name)
 
 static void _proxy_remove_all(void)
 {
-	struct proxy_server_info *server_info;
+	struct proxy_server_info *server_info = NULL;
 	struct hlist_node *tmp = NULL;
 	unsigned int i = 0;
 
@@ -957,7 +957,7 @@ int proxy_conn_recvfrom(struct proxy_conn *proxy_conn, void *buf, size_t len, in
 		return -1;
 	}
 
-	ret = recvfrom(proxy_conn->udp_fd, buffer, sizeof(buffer), MSG_NOSIGNAL, NULL, 0);
+	ret = recvfrom(proxy_conn->udp_fd, buffer, sizeof(buffer), MSG_NOSIGNAL, NULL, NULL);
 	if (ret <= 0) {
 		return -1;
 	}
@@ -1043,14 +1043,14 @@ int proxy_conn_is_udp(struct proxy_conn *proxy_conn)
 	return proxy_conn->is_udp;
 }
 
-int proxy_init()
+int proxy_init(void)
 {
 	memset(&proxy, 0, sizeof(proxy));
 	hash_init(proxy.proxy_server);
 	return 0;
 }
 
-int proxy_exit()
+int proxy_exit(void)
 {
 	_proxy_remove_all();
 	return 0;

+ 0 - 1
src/smartdns.c

@@ -263,7 +263,6 @@ static int _smartdns_prepare_server_flags(struct client_dns_server_flags *flags,
 		safe_strncpy(flag_tls->hostname, server->hostname, sizeof(flag_tls->hostname));
 		safe_strncpy(flag_tls->tls_host_verify, server->tls_host_verify, sizeof(flag_tls->tls_host_verify));
 		flag_tls->skip_check_cert = server->skip_check_cert;
-
 	} break;
 	case DNS_SERVER_TCP:
 		break;

+ 1 - 1
src/util.c

@@ -188,7 +188,7 @@ int generate_random_addr(unsigned char *addr, int addr_len, int mask)
 	return 0;
 }
 
-int generate_addr_map(unsigned char *addr_from, unsigned char *addr_to, unsigned char *addr_out, int addr_len, int mask)
+int generate_addr_map(const unsigned char *addr_from, const unsigned char *addr_to, unsigned char *addr_out, int addr_len, int mask)
 {
 	if ((mask / 8) >= addr_len) {
 		if (mask % 8 != 0) {

+ 2 - 2
src/util.h

@@ -61,8 +61,8 @@ char *get_host_by_addr(char *host, int maxsize, struct sockaddr *addr);
 
 int generate_random_addr(unsigned char *addr, int addr_len, int mask);
 
-int generate_addr_map(unsigned char *addr_from, unsigned char *addr_to, unsigned char *addr_out, int addr_len,
-					  int mask);
+int generate_addr_map(const unsigned char *addr_from, const unsigned char *addr_to, unsigned char *addr_out,
+					  int addr_len, int mask);
 
 int getaddr_by_host(const char *host, struct sockaddr *addr, socklen_t *addr_len);