Skip to content

Commit

Permalink
luci: fix some issue.
Browse files Browse the repository at this point in the history
  • Loading branch information
pymumu committed Feb 7, 2024
1 parent af34351 commit 9ee27e7
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 39 deletions.
3 changes: 1 addition & 2 deletions package/luci-compat/files/luci/i18n/smartdns.zh-cn.po
Original file line number Diff line number Diff line change
Expand Up @@ -400,8 +400,7 @@ msgid ""
"rule. You can enter an IP address, such as 1.2.3.4, or a MAC address, "
"such as aa:bb:cc:dd:ee:ff."
msgstr ""
"如果指定了客户端地址,则只有该客户端将应用此规则。您可以输入IP地址,"
"例如: 1.2.3.4, 或MAC地址,例如: aa:bb:cc:dd:ee:ff。"
"如果指定了客户端,那么对应的客户端会应用相应的规则,可以输入IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"

msgid "If you like this software, please buy me a cup of coffee."
msgstr "如果本软件对你有帮助,请给作者加个蛋。"
Expand Down
5 changes: 4 additions & 1 deletion package/luci-lite/files/luci/i18n/smartdns-lite.zh-cn.po
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ msgstr "DNS服务器端口号"
msgid "Dnsmasq Forwarded To Smartdns Failure"
msgstr "设置smartdns为dnsmasq上游失败"

msgid "Dnsmasq Upstream Server"
msgstr "Dnsmasq上游服务器"

msgid "Domain List File"
msgstr "域名列表文件"

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

msgid "Invalid server address: %s"
msgstr "无效的服务器地址:%s"
Expand Down
11 changes: 8 additions & 3 deletions package/luci-lite/files/root/etc/init.d/smartdns-lite
Original file line number Diff line number Diff line change
Expand Up @@ -238,26 +238,31 @@ load_service()
args=""
local device=""
local adblock_set_name=""
local is_auto_set="0"
local auto_set_dnsmasq="0"

mkdir -p $SMARTDNS_VAR_CONF_DIR
rm -f $SMARTDNS_CONF_TMP

config_get_bool enabled "$section" "enabled" '0'
[ "$enabled" != "1" ] && {
uci -q set smartdns.@smartdns[0].enabled="0"
uci -q del_list smartdns.@smartdns[0].conf_files="$SMARTDNS_CONF"
uci commit smartdns
clear_tproxy_rules
/etc/init.d/smartdns reload
return
}

config_get port "$section" "port" "53"
config_get server_mode "$section" "server_mode" "tcp_only"
config_get auto_set_dnsmasq "$section" "auto_set_dnsmasq" "0"
config_get server_mode "$section" "server_mode" "main"

[ "$server_mode" = "main" ] && {
port="53"
}

[ "$server_mode" = "dnsmasq_upstream" ] && {
auto_set_dnsmasq="1"
}

config_list_foreach "$section" "servers" servers_append

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,14 @@ return view.extend({
o.rmempty = false;
o.value("main", _("Main DNS Server"));
o.value("upstream", _("Upstream DNS Server"));
o.value("dnsmasq_upstream", _("Dnsmasq Upstream Server"));

o = s.taboption("settings", form.Value, "port", _("DNS Server Port"), _("Smartdns server port."));
o.rmempty = true
o.default = 6053;
o.datatype = "port";
o.depends("server_mode", "upstream");
o.depends("server_mode", "dnsmasq_upstream");

o = s.taboption("parental", form.Flag, "pc_enabled", _("Enable"), _("Enable or disable smartdns server"));
o.rmempty = false;
Expand Down
3 changes: 1 addition & 2 deletions package/luci/files/luci/i18n/smartdns.zh-cn.po
Original file line number Diff line number Diff line change
Expand Up @@ -403,8 +403,7 @@ msgid ""
"rule. You can enter an IP address, such as 1.2.3.4, or a MAC address, "
"such as aa:bb:cc:dd:ee:ff."
msgstr ""
"如果指定了客户端地址,则只有该客户端将应用此规则。您可以输入IP地址,"
"例如: 1.2.3.4, 或MAC地址,例如: aa:bb:cc:dd:ee:ff。"
"如果指定了客户端,那么对应的客户端会应用相应的规则,可以输入IP地址,如:1.2.3.4,或MAC地址,如:aa:bb:cc:dd:ee:ff。"

msgid "If you like this software, please buy me a cup of coffee."
msgstr "如果本软件对你有帮助,请给作者加个蛋。"
Expand Down
1 change: 1 addition & 0 deletions src/dns_cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ static void _dns_cache_delete(struct dns_cache *dns_cache)
pthread_mutex_lock(&dns_cache_head.lock);
hash_del(&dns_cache->node);
list_del_init(&dns_cache->list);
dns_timer_del(&dns_cache->timer);
pthread_mutex_unlock(&dns_cache_head.lock);
atomic_dec(&dns_cache_head.num);
atomic_sub(sizeof(*dns_cache), &dns_cache_head.mem_size);
Expand Down
54 changes: 23 additions & 31 deletions src/dns_conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,8 @@ static int _config_nftset_setvalue(struct dns_nftset_names *nftsets, const char
static int _config_client_rule_flag_set(const char *ip_cidr, unsigned int flag, unsigned int is_clear);
static int _config_client_rule_group_add(const char *client, const char *group_name);

#define group_member(m) ((void *)offsetof(struct dns_conf_group, m))

static __attribute__((unused)) int _dns_conf_group_int(int value, int *data)
{
struct dns_conf_group *conf_group = _config_current_rule_group();
Expand Down Expand Up @@ -5926,12 +5928,10 @@ static struct config_item _config_item[] = {
CONF_CUSTOM("srv-record", _config_srv_record, NULL),
CONF_CUSTOM("https-record", _config_https_record, NULL),
CONF_CUSTOM("proxy-server", _config_proxy_server, NULL),
CONF_YESNO_FUNC("ipset-timeout", _dns_conf_group_yesno,
(void *)offsetof(struct dns_conf_group, ipset_nftset.ipset_timeout_enable)),
CONF_YESNO_FUNC("ipset-timeout", _dns_conf_group_yesno, group_member(ipset_nftset.ipset_timeout_enable)),
CONF_CUSTOM("ipset", _config_ipset, NULL),
CONF_CUSTOM("ipset-no-speed", _config_ipset_no_speed, NULL),
CONF_YESNO_FUNC("nftset-timeout", _dns_conf_group_yesno,
(void *)offsetof(struct dns_conf_group, ipset_nftset.nftset_timeout_enable)),
CONF_YESNO_FUNC("nftset-timeout", _dns_conf_group_yesno, group_member(ipset_nftset.nftset_timeout_enable)),
CONF_YESNO("nftset-debug", &dns_conf_nftset_debug_enable),
CONF_CUSTOM("nftset", _config_nftset, NULL),
CONF_CUSTOM("nftset-no-speed", _config_nftset_no_speed, NULL),
Expand All @@ -5942,20 +5942,18 @@ static struct config_item _config_item[] = {
CONF_CUSTOM("cache-file", _config_option_parser_filepath, (char *)&dns_conf_cache_file),
CONF_YESNO("cache-persist", &dns_conf_cache_persist),
CONF_INT("cache-checkpoint-time", &dns_conf_cache_checkpoint_time, 0, 3600 * 24 * 7),
CONF_YESNO_FUNC("prefetch-domain", _dns_conf_group_yesno, (void *)offsetof(struct dns_conf_group, dns_prefetch)),
CONF_YESNO_FUNC("serve-expired", _dns_conf_group_yesno, (void *)offsetof(struct dns_conf_group, dns_serve_expired)),
CONF_INT_FUNC("serve-expired-ttl", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_serve_expired_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("serve-expired-reply-ttl", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_serve_expired_reply_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("serve-expired-prefetch-time", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_serve_expired_prefetch_time), 0, CONF_INT_MAX),
CONF_YESNO_FUNC("dualstack-ip-selection", _dns_conf_group_yesno,
(void *)offsetof(struct dns_conf_group, dualstack_ip_selection)),
CONF_YESNO_FUNC("prefetch-domain", _dns_conf_group_yesno, group_member(dns_prefetch)),
CONF_YESNO_FUNC("serve-expired", _dns_conf_group_yesno, group_member(dns_serve_expired)),
CONF_INT_FUNC("serve-expired-ttl", _dns_conf_group_int, group_member(dns_serve_expired_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("serve-expired-reply-ttl", _dns_conf_group_int, group_member(dns_serve_expired_reply_ttl), 0,
CONF_INT_MAX),
CONF_INT_FUNC("serve-expired-prefetch-time", _dns_conf_group_int, group_member(dns_serve_expired_prefetch_time), 0,
CONF_INT_MAX),
CONF_YESNO_FUNC("dualstack-ip-selection", _dns_conf_group_yesno, group_member(dualstack_ip_selection)),
CONF_YESNO_FUNC("dualstack-ip-allow-force-AAAA", _dns_conf_group_yesno,
(void *)offsetof(struct dns_conf_group, dns_dualstack_ip_allow_force_AAAA)),
group_member(dns_dualstack_ip_allow_force_AAAA)),
CONF_INT_FUNC("dualstack-ip-selection-threshold", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_dualstack_ip_selection_threshold), 0, 1000),
group_member(dns_dualstack_ip_selection_threshold), 0, 1000),
CONF_CUSTOM("dns64", _config_dns64, NULL),
CONF_CUSTOM("log-level", _config_log_level, NULL),
CONF_CUSTOM("log-file", _config_option_parser_filepath, (char *)dns_conf_log_file),
Expand All @@ -5973,23 +5971,17 @@ static struct config_item _config_item[] = {
CONF_YESNO("audit-console", &dns_conf_audit_console),
CONF_YESNO("audit-syslog", &dns_conf_audit_syslog),
CONF_YESNO("acl-enable", &dns_conf_acl_enable),
CONF_INT_FUNC("rr-ttl", _dns_conf_group_int, (void *)offsetof(struct dns_conf_group, dns_rr_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-min", _dns_conf_group_int, (void *)offsetof(struct dns_conf_group, dns_rr_ttl_min), 0,
CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-max", _dns_conf_group_int, (void *)offsetof(struct dns_conf_group, dns_rr_ttl_max), 0,
CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-reply-max", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_rr_ttl_reply_max), 0, CONF_INT_MAX),
CONF_INT_FUNC("local-ttl", _dns_conf_group_int, (void *)offsetof(struct dns_conf_group, dns_local_ttl), 0,
CONF_INT_MAX),
CONF_INT_FUNC("max-reply-ip-num", _dns_conf_group_int,
(void *)offsetof(struct dns_conf_group, dns_max_reply_ip_num), 1, CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl", _dns_conf_group_int, group_member(dns_rr_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-min", _dns_conf_group_int, group_member(dns_rr_ttl_min), 0, CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-max", _dns_conf_group_int, group_member(dns_rr_ttl_max), 0, CONF_INT_MAX),
CONF_INT_FUNC("rr-ttl-reply-max", _dns_conf_group_int, group_member(dns_rr_ttl_reply_max), 0, CONF_INT_MAX),
CONF_INT_FUNC("local-ttl", _dns_conf_group_int, group_member(dns_local_ttl), 0, CONF_INT_MAX),
CONF_INT_FUNC("max-reply-ip-num", _dns_conf_group_int, group_member(dns_max_reply_ip_num), 1, CONF_INT_MAX),
CONF_INT("max-query-limit", &dns_conf_max_query_limit, 0, CONF_INT_MAX),
CONF_ENUM_FUNC("response-mode", _dns_conf_group_enum, (void *)offsetof(struct dns_conf_group, dns_response_mode),
CONF_ENUM_FUNC("response-mode", _dns_conf_group_enum, group_member(dns_response_mode),
&dns_conf_response_mode_enum),
CONF_YESNO_FUNC("force-AAAA-SOA", _dns_conf_group_yesno, (void *)offsetof(struct dns_conf_group, force_AAAA_SOA)),
CONF_YESNO_FUNC("force-no-CNAME", _dns_conf_group_yesno,
(void *)offsetof(struct dns_conf_group, dns_force_no_cname)),
CONF_YESNO_FUNC("force-AAAA-SOA", _dns_conf_group_yesno, group_member(force_AAAA_SOA)),
CONF_YESNO_FUNC("force-no-CNAME", _dns_conf_group_yesno, group_member(dns_force_no_cname)),
CONF_CUSTOM("force-qtype-SOA", _config_qtype_soa, NULL),
CONF_CUSTOM("blacklist-ip", _config_blacklist_ip, NULL),
CONF_CUSTOM("whitelist-ip", _conf_whitelist_ip, NULL),
Expand Down

0 comments on commit 9ee27e7

Please sign in to comment.