Skip to content

Commit 9ee27e7

Browse files
committed
luci: fix some issue.
1 parent af34351 commit 9ee27e7

File tree

7 files changed

+40
-39
lines changed

7 files changed

+40
-39
lines changed

package/luci-compat/files/luci/i18n/smartdns.zh-cn.po

+1-2
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,7 @@ msgid ""
400400
"rule. You can enter an IP address, such as 1.2.3.4, or a MAC address, "
401401
"such as aa:bb:cc:dd:ee:ff."
402402
msgstr ""
403-
"如果指定了客户端地址,则只有该客户端将应用此规则。您可以输入IP地址,"
404-
"例如: 1.2.3.4, 或MAC地址,例如: aa:bb:cc:dd:ee:ff。"
403+
"如果指定了客户端,那么对应的客户端会应用相应的规则,可以输入IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"
405404

406405
msgid "If you like this software, please buy me a cup of coffee."
407406
msgstr "如果本软件对你有帮助,请给作者加个蛋。"

package/luci-lite/files/luci/i18n/smartdns-lite.zh-cn.po

+4-1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ msgstr "DNS服务器端口号"
4343
msgid "Dnsmasq Forwarded To Smartdns Failure"
4444
msgstr "设置smartdns为dnsmasq上游失败"
4545

46+
msgid "Dnsmasq Upstream Server"
47+
msgstr "Dnsmasq上游服务器"
48+
4649
msgid "Domain List File"
4750
msgstr "域名列表文件"
4851

@@ -92,7 +95,7 @@ msgid ""
9295
"If a client address is specified, only that client will apply this rule. You "
9396
"can enter an IP address, such as 1.2.3.4, or a MAC address, such as aa:bb:cc:"
9497
"dd:ee:ff."
95-
msgstr "如果指定了客户端,那么对应的客户端会应用相应的规则,可以输出IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"
98+
msgstr "如果指定了客户端,那么对应的客户端会应用相应的规则,可以输入IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"
9699

97100
msgid "Invalid server address: %s"
98101
msgstr "无效的服务器地址:%s"

package/luci-lite/files/root/etc/init.d/smartdns-lite

+8-3
Original file line numberDiff line numberDiff line change
@@ -238,26 +238,31 @@ load_service()
238238
args=""
239239
local device=""
240240
local adblock_set_name=""
241-
local is_auto_set="0"
241+
local auto_set_dnsmasq="0"
242242

243243
mkdir -p $SMARTDNS_VAR_CONF_DIR
244244
rm -f $SMARTDNS_CONF_TMP
245245

246246
config_get_bool enabled "$section" "enabled" '0'
247247
[ "$enabled" != "1" ] && {
248248
uci -q set smartdns.@smartdns[0].enabled="0"
249+
uci -q del_list smartdns.@smartdns[0].conf_files="$SMARTDNS_CONF"
249250
uci commit smartdns
251+
clear_tproxy_rules
250252
/etc/init.d/smartdns reload
251253
return
252254
}
253255

254256
config_get port "$section" "port" "53"
255-
config_get server_mode "$section" "server_mode" "tcp_only"
256-
config_get auto_set_dnsmasq "$section" "auto_set_dnsmasq" "0"
257+
config_get server_mode "$section" "server_mode" "main"
257258

258259
[ "$server_mode" = "main" ] && {
259260
port="53"
260261
}
262+
263+
[ "$server_mode" = "dnsmasq_upstream" ] && {
264+
auto_set_dnsmasq="1"
265+
}
261266

262267
config_list_foreach "$section" "servers" servers_append
263268

package/luci-lite/files/root/www/luci-static/resources/view/smartdns-lite/smartdns-lite.js

+2
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,14 @@ return view.extend({
173173
o.rmempty = false;
174174
o.value("main", _("Main DNS Server"));
175175
o.value("upstream", _("Upstream DNS Server"));
176+
o.value("dnsmasq_upstream", _("Dnsmasq Upstream Server"));
176177

177178
o = s.taboption("settings", form.Value, "port", _("DNS Server Port"), _("Smartdns server port."));
178179
o.rmempty = true
179180
o.default = 6053;
180181
o.datatype = "port";
181182
o.depends("server_mode", "upstream");
183+
o.depends("server_mode", "dnsmasq_upstream");
182184

183185
o = s.taboption("parental", form.Flag, "pc_enabled", _("Enable"), _("Enable or disable smartdns server"));
184186
o.rmempty = false;

package/luci/files/luci/i18n/smartdns.zh-cn.po

+1-2
Original file line numberDiff line numberDiff line change
@@ -403,8 +403,7 @@ msgid ""
403403
"rule. You can enter an IP address, such as 1.2.3.4, or a MAC address, "
404404
"such as aa:bb:cc:dd:ee:ff."
405405
msgstr ""
406-
"如果指定了客户端地址,则只有该客户端将应用此规则。您可以输入IP地址,"
407-
"例如: 1.2.3.4, 或MAC地址,例如: aa:bb:cc:dd:ee:ff。"
406+
"如果指定了客户端,那么对应的客户端会应用相应的规则,可以输入IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"
408407

409408
msgid "If you like this software, please buy me a cup of coffee."
410409
msgstr "如果本软件对你有帮助,请给作者加个蛋。"

src/dns_cache.c

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ static void _dns_cache_delete(struct dns_cache *dns_cache)
9696
pthread_mutex_lock(&dns_cache_head.lock);
9797
hash_del(&dns_cache->node);
9898
list_del_init(&dns_cache->list);
99+
dns_timer_del(&dns_cache->timer);
99100
pthread_mutex_unlock(&dns_cache_head.lock);
100101
atomic_dec(&dns_cache_head.num);
101102
atomic_sub(sizeof(*dns_cache), &dns_cache_head.mem_size);

src/dns_conf.c

+23-31
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,8 @@ static int _config_nftset_setvalue(struct dns_nftset_names *nftsets, const char
194194
static int _config_client_rule_flag_set(const char *ip_cidr, unsigned int flag, unsigned int is_clear);
195195
static int _config_client_rule_group_add(const char *client, const char *group_name);
196196

197+
#define group_member(m) ((void *)offsetof(struct dns_conf_group, m))
198+
197199
static __attribute__((unused)) int _dns_conf_group_int(int value, int *data)
198200
{
199201
struct dns_conf_group *conf_group = _config_current_rule_group();
@@ -5926,12 +5928,10 @@ static struct config_item _config_item[] = {
59265928
CONF_CUSTOM("srv-record", _config_srv_record, NULL),
59275929
CONF_CUSTOM("https-record", _config_https_record, NULL),
59285930
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)),
59315932
CONF_CUSTOM("ipset", _config_ipset, NULL),
59325933
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)),
59355935
CONF_YESNO("nftset-debug", &dns_conf_nftset_debug_enable),
59365936
CONF_CUSTOM("nftset", _config_nftset, NULL),
59375937
CONF_CUSTOM("nftset-no-speed", _config_nftset_no_speed, NULL),
@@ -5942,20 +5942,18 @@ static struct config_item _config_item[] = {
59425942
CONF_CUSTOM("cache-file", _config_option_parser_filepath, (char *)&dns_conf_cache_file),
59435943
CONF_YESNO("cache-persist", &dns_conf_cache_persist),
59445944
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)),
59555953
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)),
59575955
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),
59595957
CONF_CUSTOM("dns64", _config_dns64, NULL),
59605958
CONF_CUSTOM("log-level", _config_log_level, NULL),
59615959
CONF_CUSTOM("log-file", _config_option_parser_filepath, (char *)dns_conf_log_file),
@@ -5973,23 +5971,17 @@ static struct config_item _config_item[] = {
59735971
CONF_YESNO("audit-console", &dns_conf_audit_console),
59745972
CONF_YESNO("audit-syslog", &dns_conf_audit_syslog),
59755973
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),
59875980
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),
59895982
&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)),
59935985
CONF_CUSTOM("force-qtype-SOA", _config_qtype_soa, NULL),
59945986
CONF_CUSTOM("blacklist-ip", _config_blacklist_ip, NULL),
59955987
CONF_CUSTOM("whitelist-ip", _conf_whitelist_ip, NULL),

0 commit comments

Comments
 (0)