mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-09 02:43:53 +08:00
dnsmasq: 'ipset' config sections
Allow configuring ipsets with dedicated config sections: config ipset list name 'ss_rules_dst_forward' list name 'ss_rules6_dst_forward' list domain 't.me' list domain 'telegram.org' instead of current, rather inconvenient syntax: config dnsmasq ... list ipset '/t.me/telegram.org/ss_rules_dst_forward,ss_rules6_dst_forward' Current syntax will still continue to work though. With this change, a LuCI GUI for DNS ipsets should be easy to implement. Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
This commit is contained in:
parent
de768829a5
commit
acb336235c
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
PKG_NAME:=dnsmasq
|
PKG_NAME:=dnsmasq
|
||||||
PKG_UPSTREAM_VERSION:=2.82
|
PKG_UPSTREAM_VERSION:=2.82
|
||||||
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
|
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=10
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
||||||
|
@ -769,6 +769,29 @@ dhcp_relay_add() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dnsmasq_ipset_add() {
|
||||||
|
local cfg="$1"
|
||||||
|
local ipsets domains
|
||||||
|
|
||||||
|
add_ipset() {
|
||||||
|
ipsets="${ipsets:+$ipsets,}$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
add_domain() {
|
||||||
|
# leading '/' is expected
|
||||||
|
domains="$domains/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
config_list_foreach "$cfg" "name" add_ipset
|
||||||
|
config_list_foreach "$cfg" "domain" add_domain
|
||||||
|
|
||||||
|
if [ -z "$ipsets" ] || [ -z "$domains" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
xappend "--ipset=$domains/$ipsets"
|
||||||
|
}
|
||||||
|
|
||||||
dnsmasq_start()
|
dnsmasq_start()
|
||||||
{
|
{
|
||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
@ -1056,6 +1079,10 @@ dnsmasq_start()
|
|||||||
config_foreach filter_dnsmasq cname dhcp_cname_add "$cfg"
|
config_foreach filter_dnsmasq cname dhcp_cname_add "$cfg"
|
||||||
echo >> $CONFIGFILE_TMP
|
echo >> $CONFIGFILE_TMP
|
||||||
|
|
||||||
|
echo >> $CONFIGFILE_TMP
|
||||||
|
config_foreach filter_dnsmasq ipset dnsmasq_ipset_add "$cfg"
|
||||||
|
echo >> $CONFIGFILE_TMP
|
||||||
|
|
||||||
echo >> $CONFIGFILE_TMP
|
echo >> $CONFIGFILE_TMP
|
||||||
mv -f $CONFIGFILE_TMP $CONFIGFILE
|
mv -f $CONFIGFILE_TMP $CONFIGFILE
|
||||||
mv -f $HOSTFILE_TMP $HOSTFILE
|
mv -f $HOSTFILE_TMP $HOSTFILE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user