From f7ede1b7d05024f0a22fd7946435ec42ef6f70db Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Wed, 13 Sep 2023 23:39:54 +0800 Subject: [PATCH] lint: clear lint warnings --- src/dns.c | 7 ------- src/dns_cache.c | 1 - src/dns_client.c | 8 ++++---- src/dns_conf.c | 23 +++++++++++------------ src/dns_server.c | 42 ++++++++++++++++++++++-------------------- src/proxy.c | 10 +++++----- src/smartdns.c | 1 - src/util.c | 2 +- src/util.h | 4 ++-- 9 files changed, 45 insertions(+), 53 deletions(-) diff --git a/src/dns.c b/src/dns.c index 0d8dff9..f7e6afa 100644 --- a/src/dns.c +++ b/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; } diff --git a/src/dns_cache.c b/src/dns_cache.c index 3630470..8636fd3 100644 --- a/src/dns_cache.c +++ b/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; } diff --git a/src/dns_client.c b/src/dns_client.c index 0795abd..f312150 100644 --- a/src/dns_client.c +++ b/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; } diff --git a/src/dns_conf.c b/src/dns_conf.c index 70afaab..ca59574 100644 --- a/src/dns_conf.c +++ b/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); } diff --git a/src/dns_server.c b/src/dns_server.c index f7b87cf..c221fe8 100644 --- a/src/dns_server.c +++ b/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); diff --git a/src/proxy.c b/src/proxy.c index 2e5fdbf..2b2b17c 100644 --- a/src/proxy.c +++ b/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; diff --git a/src/smartdns.c b/src/smartdns.c index c209a5d..fc3ae2a 100644 --- a/src/smartdns.c +++ b/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; diff --git a/src/util.c b/src/util.c index 7933943..42e930d 100644 --- a/src/util.c +++ b/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) { diff --git a/src/util.h b/src/util.h index e775343..67ee533 100644 --- a/src/util.h +++ b/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);