@@ -194,6 +194,8 @@ static int _config_nftset_setvalue(struct dns_nftset_names *nftsets, const char
194
194
static int _config_client_rule_flag_set (const char * ip_cidr , unsigned int flag , unsigned int is_clear );
195
195
static int _config_client_rule_group_add (const char * client , const char * group_name );
196
196
197
+ #define group_member (m ) ((void *)offsetof(struct dns_conf_group, m))
198
+
197
199
static __attribute__((unused )) int _dns_conf_group_int (int value , int * data )
198
200
{
199
201
struct dns_conf_group * conf_group = _config_current_rule_group ();
@@ -5926,12 +5928,10 @@ static struct config_item _config_item[] = {
5926
5928
CONF_CUSTOM ("srv-record" , _config_srv_record , NULL ),
5927
5929
CONF_CUSTOM ("https-record" , _config_https_record , NULL ),
5928
5930
CONF_CUSTOM ("proxy-server" , _config_proxy_server , NULL ),
5929
- CONF_YESNO_FUNC ("ipset-timeout" , _dns_conf_group_yesno ,
5930
- (void * )offsetof(struct dns_conf_group , ipset_nftset .ipset_timeout_enable )),
5931
+ CONF_YESNO_FUNC ("ipset-timeout" , _dns_conf_group_yesno , group_member (ipset_nftset .ipset_timeout_enable )),
5931
5932
CONF_CUSTOM ("ipset" , _config_ipset , NULL ),
5932
5933
CONF_CUSTOM ("ipset-no-speed" , _config_ipset_no_speed , NULL ),
5933
- CONF_YESNO_FUNC ("nftset-timeout" , _dns_conf_group_yesno ,
5934
- (void * )offsetof(struct dns_conf_group , ipset_nftset .nftset_timeout_enable )),
5934
+ CONF_YESNO_FUNC ("nftset-timeout" , _dns_conf_group_yesno , group_member (ipset_nftset .nftset_timeout_enable )),
5935
5935
CONF_YESNO ("nftset-debug" , & dns_conf_nftset_debug_enable ),
5936
5936
CONF_CUSTOM ("nftset" , _config_nftset , NULL ),
5937
5937
CONF_CUSTOM ("nftset-no-speed" , _config_nftset_no_speed , NULL ),
@@ -5942,20 +5942,18 @@ static struct config_item _config_item[] = {
5942
5942
CONF_CUSTOM ("cache-file" , _config_option_parser_filepath , (char * )& dns_conf_cache_file ),
5943
5943
CONF_YESNO ("cache-persist" , & dns_conf_cache_persist ),
5944
5944
CONF_INT ("cache-checkpoint-time" , & dns_conf_cache_checkpoint_time , 0 , 3600 * 24 * 7 ),
5945
- CONF_YESNO_FUNC ("prefetch-domain" , _dns_conf_group_yesno , (void * )offsetof(struct dns_conf_group , dns_prefetch )),
5946
- CONF_YESNO_FUNC ("serve-expired" , _dns_conf_group_yesno , (void * )offsetof(struct dns_conf_group , dns_serve_expired )),
5947
- CONF_INT_FUNC ("serve-expired-ttl" , _dns_conf_group_int ,
5948
- (void * )offsetof(struct dns_conf_group , dns_serve_expired_ttl ), 0 , CONF_INT_MAX ),
5949
- CONF_INT_FUNC ("serve-expired-reply-ttl" , _dns_conf_group_int ,
5950
- (void * )offsetof(struct dns_conf_group , dns_serve_expired_reply_ttl ), 0 , CONF_INT_MAX ),
5951
- CONF_INT_FUNC ("serve-expired-prefetch-time" , _dns_conf_group_int ,
5952
- (void * )offsetof(struct dns_conf_group , dns_serve_expired_prefetch_time ), 0 , CONF_INT_MAX ),
5953
- CONF_YESNO_FUNC ("dualstack-ip-selection" , _dns_conf_group_yesno ,
5954
- (void * )offsetof(struct dns_conf_group , dualstack_ip_selection )),
5945
+ CONF_YESNO_FUNC ("prefetch-domain" , _dns_conf_group_yesno , group_member (dns_prefetch )),
5946
+ CONF_YESNO_FUNC ("serve-expired" , _dns_conf_group_yesno , group_member (dns_serve_expired )),
5947
+ CONF_INT_FUNC ("serve-expired-ttl" , _dns_conf_group_int , group_member (dns_serve_expired_ttl ), 0 , CONF_INT_MAX ),
5948
+ CONF_INT_FUNC ("serve-expired-reply-ttl" , _dns_conf_group_int , group_member (dns_serve_expired_reply_ttl ), 0 ,
5949
+ CONF_INT_MAX ),
5950
+ CONF_INT_FUNC ("serve-expired-prefetch-time" , _dns_conf_group_int , group_member (dns_serve_expired_prefetch_time ), 0 ,
5951
+ CONF_INT_MAX ),
5952
+ CONF_YESNO_FUNC ("dualstack-ip-selection" , _dns_conf_group_yesno , group_member (dualstack_ip_selection )),
5955
5953
CONF_YESNO_FUNC ("dualstack-ip-allow-force-AAAA" , _dns_conf_group_yesno ,
5956
- ( void * )offsetof( struct dns_conf_group , dns_dualstack_ip_allow_force_AAAA )),
5954
+ group_member ( dns_dualstack_ip_allow_force_AAAA )),
5957
5955
CONF_INT_FUNC ("dualstack-ip-selection-threshold" , _dns_conf_group_int ,
5958
- ( void * )offsetof( struct dns_conf_group , dns_dualstack_ip_selection_threshold ), 0 , 1000 ),
5956
+ group_member ( dns_dualstack_ip_selection_threshold ), 0 , 1000 ),
5959
5957
CONF_CUSTOM ("dns64" , _config_dns64 , NULL ),
5960
5958
CONF_CUSTOM ("log-level" , _config_log_level , NULL ),
5961
5959
CONF_CUSTOM ("log-file" , _config_option_parser_filepath , (char * )dns_conf_log_file ),
@@ -5973,23 +5971,17 @@ static struct config_item _config_item[] = {
5973
5971
CONF_YESNO ("audit-console" , & dns_conf_audit_console ),
5974
5972
CONF_YESNO ("audit-syslog" , & dns_conf_audit_syslog ),
5975
5973
CONF_YESNO ("acl-enable" , & dns_conf_acl_enable ),
5976
- CONF_INT_FUNC ("rr-ttl" , _dns_conf_group_int , (void * )offsetof(struct dns_conf_group , dns_rr_ttl ), 0 , CONF_INT_MAX ),
5977
- CONF_INT_FUNC ("rr-ttl-min" , _dns_conf_group_int , (void * )offsetof(struct dns_conf_group , dns_rr_ttl_min ), 0 ,
5978
- CONF_INT_MAX ),
5979
- CONF_INT_FUNC ("rr-ttl-max" , _dns_conf_group_int , (void * )offsetof(struct dns_conf_group , dns_rr_ttl_max ), 0 ,
5980
- CONF_INT_MAX ),
5981
- CONF_INT_FUNC ("rr-ttl-reply-max" , _dns_conf_group_int ,
5982
- (void * )offsetof(struct dns_conf_group , dns_rr_ttl_reply_max ), 0 , CONF_INT_MAX ),
5983
- CONF_INT_FUNC ("local-ttl" , _dns_conf_group_int , (void * )offsetof(struct dns_conf_group , dns_local_ttl ), 0 ,
5984
- CONF_INT_MAX ),
5985
- CONF_INT_FUNC ("max-reply-ip-num" , _dns_conf_group_int ,
5986
- (void * )offsetof(struct dns_conf_group , dns_max_reply_ip_num ), 1 , CONF_INT_MAX ),
5974
+ CONF_INT_FUNC ("rr-ttl" , _dns_conf_group_int , group_member (dns_rr_ttl ), 0 , CONF_INT_MAX ),
5975
+ CONF_INT_FUNC ("rr-ttl-min" , _dns_conf_group_int , group_member (dns_rr_ttl_min ), 0 , CONF_INT_MAX ),
5976
+ CONF_INT_FUNC ("rr-ttl-max" , _dns_conf_group_int , group_member (dns_rr_ttl_max ), 0 , CONF_INT_MAX ),
5977
+ CONF_INT_FUNC ("rr-ttl-reply-max" , _dns_conf_group_int , group_member (dns_rr_ttl_reply_max ), 0 , CONF_INT_MAX ),
5978
+ CONF_INT_FUNC ("local-ttl" , _dns_conf_group_int , group_member (dns_local_ttl ), 0 , CONF_INT_MAX ),
5979
+ CONF_INT_FUNC ("max-reply-ip-num" , _dns_conf_group_int , group_member (dns_max_reply_ip_num ), 1 , CONF_INT_MAX ),
5987
5980
CONF_INT ("max-query-limit" , & dns_conf_max_query_limit , 0 , CONF_INT_MAX ),
5988
- CONF_ENUM_FUNC ("response-mode" , _dns_conf_group_enum , ( void * )offsetof( struct dns_conf_group , dns_response_mode ),
5981
+ CONF_ENUM_FUNC ("response-mode" , _dns_conf_group_enum , group_member ( dns_response_mode ),
5989
5982
& dns_conf_response_mode_enum ),
5990
- CONF_YESNO_FUNC ("force-AAAA-SOA" , _dns_conf_group_yesno , (void * )offsetof(struct dns_conf_group , force_AAAA_SOA )),
5991
- CONF_YESNO_FUNC ("force-no-CNAME" , _dns_conf_group_yesno ,
5992
- (void * )offsetof(struct dns_conf_group , dns_force_no_cname )),
5983
+ CONF_YESNO_FUNC ("force-AAAA-SOA" , _dns_conf_group_yesno , group_member (force_AAAA_SOA )),
5984
+ CONF_YESNO_FUNC ("force-no-CNAME" , _dns_conf_group_yesno , group_member (dns_force_no_cname )),
5993
5985
CONF_CUSTOM ("force-qtype-SOA" , _config_qtype_soa , NULL ),
5994
5986
CONF_CUSTOM ("blacklist-ip" , _config_blacklist_ip , NULL ),
5995
5987
CONF_CUSTOM ("whitelist-ip" , _conf_whitelist_ip , NULL ),
0 commit comments