mirror of
https://github.com/DNSCrypt/dnscrypt-proxy.git
synced 2025-03-04 10:24:40 +01:00
Pre-add the final dot
This commit is contained in:
parent
1b276be85d
commit
7066e53843
1 changed files with 150 additions and 148 deletions
|
@ -6,145 +6,145 @@ import (
|
|||
)
|
||||
|
||||
var undelegatedSet = []string{
|
||||
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa",
|
||||
"0.in-addr.arpa",
|
||||
"1",
|
||||
"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa",
|
||||
"10.in-addr.arpa",
|
||||
"100.100.in-addr.arpa",
|
||||
"100.51.198.in-addr.arpa",
|
||||
"101.100.in-addr.arpa",
|
||||
"102.100.in-addr.arpa",
|
||||
"103.100.in-addr.arpa",
|
||||
"104.100.in-addr.arpa",
|
||||
"105.100.in-addr.arpa",
|
||||
"106.100.in-addr.arpa",
|
||||
"107.100.in-addr.arpa",
|
||||
"108.100.in-addr.arpa",
|
||||
"109.100.in-addr.arpa",
|
||||
"110.100.in-addr.arpa",
|
||||
"111.100.in-addr.arpa",
|
||||
"112.100.in-addr.arpa",
|
||||
"113.0.203.in-addr.arpa",
|
||||
"113.100.in-addr.arpa",
|
||||
"114.100.in-addr.arpa",
|
||||
"115.100.in-addr.arpa",
|
||||
"116.100.in-addr.arpa",
|
||||
"117.100.in-addr.arpa",
|
||||
"118.100.in-addr.arpa",
|
||||
"119.100.in-addr.arpa",
|
||||
"120.100.in-addr.arpa",
|
||||
"121.100.in-addr.arpa",
|
||||
"122.100.in-addr.arpa",
|
||||
"123.100.in-addr.arpa",
|
||||
"124.100.in-addr.arpa",
|
||||
"125.100.in-addr.arpa",
|
||||
"126.100.in-addr.arpa",
|
||||
"127.100.in-addr.arpa",
|
||||
"127.in-addr.arpa",
|
||||
"16.172.in-addr.arpa",
|
||||
"168.192.in-addr.arpa",
|
||||
"17.172.in-addr.arpa",
|
||||
"18.172.in-addr.arpa",
|
||||
"19.172.in-addr.arpa",
|
||||
"2.0.192.in-addr.arpa",
|
||||
"20.172.in-addr.arpa",
|
||||
"21.172.in-addr.arpa",
|
||||
"22.172.in-addr.arpa",
|
||||
"23.172.in-addr.arpa",
|
||||
"24.172.in-addr.arpa",
|
||||
"25.172.in-addr.arpa",
|
||||
"254.169.in-addr.arpa",
|
||||
"255.255.255.255.in-addr.arpa",
|
||||
"26.172.in-addr.arpa",
|
||||
"27.172.in-addr.arpa",
|
||||
"28.172.in-addr.arpa",
|
||||
"29.172.in-addr.arpa",
|
||||
"30.172.in-addr.arpa",
|
||||
"31.172.in-addr.arpa",
|
||||
"64.100.in-addr.arpa",
|
||||
"65.100.in-addr.arpa",
|
||||
"66.100.in-addr.arpa",
|
||||
"67.100.in-addr.arpa",
|
||||
"68.100.in-addr.arpa",
|
||||
"69.100.in-addr.arpa",
|
||||
"70.100.in-addr.arpa",
|
||||
"71.100.in-addr.arpa",
|
||||
"72.100.in-addr.arpa",
|
||||
"73.100.in-addr.arpa",
|
||||
"74.100.in-addr.arpa",
|
||||
"75.100.in-addr.arpa",
|
||||
"76.100.in-addr.arpa",
|
||||
"77.100.in-addr.arpa",
|
||||
"78.100.in-addr.arpa",
|
||||
"79.100.in-addr.arpa",
|
||||
"8.b.d.0.1.0.0.2.ip6.arpa",
|
||||
"8.e.f.ip6.arpa",
|
||||
"80.100.in-addr.arpa",
|
||||
"81.100.in-addr.arpa",
|
||||
"82.100.in-addr.arpa",
|
||||
"83.100.in-addr.arpa",
|
||||
"84.100.in-addr.arpa",
|
||||
"85.100.in-addr.arpa",
|
||||
"86.100.in-addr.arpa",
|
||||
"87.100.in-addr.arpa",
|
||||
"88.100.in-addr.arpa",
|
||||
"89.100.in-addr.arpa",
|
||||
"9.e.f.ip6.arpa",
|
||||
"90.100.in-addr.arpa",
|
||||
"91.100.in-addr.arpa",
|
||||
"92.100.in-addr.arpa",
|
||||
"93.100.in-addr.arpa",
|
||||
"94.100.in-addr.arpa",
|
||||
"95.100.in-addr.arpa",
|
||||
"96.100.in-addr.arpa",
|
||||
"97.100.in-addr.arpa",
|
||||
"98.100.in-addr.arpa",
|
||||
"99.100.in-addr.arpa",
|
||||
"a.e.f.ip6.arpa",
|
||||
"airdream",
|
||||
"api",
|
||||
"b.e.f.ip6.arpa",
|
||||
"bbrouter",
|
||||
"belkin",
|
||||
"blinkap",
|
||||
"corp",
|
||||
"d.f.ip6.arpa",
|
||||
"davolink",
|
||||
"dearmyrouter",
|
||||
"dhcp",
|
||||
"dlink",
|
||||
"domain",
|
||||
"envoy",
|
||||
"example",
|
||||
"f.f.ip6.arpa",
|
||||
"grp",
|
||||
"gw==",
|
||||
"home",
|
||||
"hub",
|
||||
"internal",
|
||||
"intra",
|
||||
"invalid",
|
||||
"ksyun",
|
||||
"lan",
|
||||
"loc",
|
||||
"local",
|
||||
"localdomain",
|
||||
"localnet",
|
||||
"modem",
|
||||
"mynet",
|
||||
"myrouter",
|
||||
"novalocal",
|
||||
"openstacklocal",
|
||||
"priv",
|
||||
"prv",
|
||||
"router",
|
||||
"telus",
|
||||
"test",
|
||||
"totolink",
|
||||
"wlan_ap",
|
||||
"workgroup",
|
||||
"zghjccbob3n0",
|
||||
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.",
|
||||
"0.in-addr.arpa.",
|
||||
"1.",
|
||||
"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.",
|
||||
"10.in-addr.arpa.",
|
||||
"100.100.in-addr.arpa.",
|
||||
"100.51.198.in-addr.arpa.",
|
||||
"101.100.in-addr.arpa.",
|
||||
"102.100.in-addr.arpa.",
|
||||
"103.100.in-addr.arpa.",
|
||||
"104.100.in-addr.arpa.",
|
||||
"105.100.in-addr.arpa.",
|
||||
"106.100.in-addr.arpa.",
|
||||
"107.100.in-addr.arpa.",
|
||||
"108.100.in-addr.arpa.",
|
||||
"109.100.in-addr.arpa.",
|
||||
"110.100.in-addr.arpa.",
|
||||
"111.100.in-addr.arpa.",
|
||||
"112.100.in-addr.arpa.",
|
||||
"113.0.203.in-addr.arpa.",
|
||||
"113.100.in-addr.arpa.",
|
||||
"114.100.in-addr.arpa.",
|
||||
"115.100.in-addr.arpa.",
|
||||
"116.100.in-addr.arpa.",
|
||||
"117.100.in-addr.arpa.",
|
||||
"118.100.in-addr.arpa.",
|
||||
"119.100.in-addr.arpa.",
|
||||
"120.100.in-addr.arpa.",
|
||||
"121.100.in-addr.arpa.",
|
||||
"122.100.in-addr.arpa.",
|
||||
"123.100.in-addr.arpa.",
|
||||
"124.100.in-addr.arpa.",
|
||||
"125.100.in-addr.arpa.",
|
||||
"126.100.in-addr.arpa.",
|
||||
"127.100.in-addr.arpa.",
|
||||
"127.in-addr.arpa.",
|
||||
"16.172.in-addr.arpa.",
|
||||
"168.192.in-addr.arpa.",
|
||||
"17.172.in-addr.arpa.",
|
||||
"18.172.in-addr.arpa.",
|
||||
"19.172.in-addr.arpa.",
|
||||
"2.0.192.in-addr.arpa.",
|
||||
"20.172.in-addr.arpa.",
|
||||
"21.172.in-addr.arpa.",
|
||||
"22.172.in-addr.arpa.",
|
||||
"23.172.in-addr.arpa.",
|
||||
"24.172.in-addr.arpa.",
|
||||
"25.172.in-addr.arpa.",
|
||||
"254.169.in-addr.arpa.",
|
||||
"255.255.255.255.in-addr.arpa.",
|
||||
"26.172.in-addr.arpa.",
|
||||
"27.172.in-addr.arpa.",
|
||||
"28.172.in-addr.arpa.",
|
||||
"29.172.in-addr.arpa.",
|
||||
"30.172.in-addr.arpa.",
|
||||
"31.172.in-addr.arpa.",
|
||||
"64.100.in-addr.arpa.",
|
||||
"65.100.in-addr.arpa.",
|
||||
"66.100.in-addr.arpa.",
|
||||
"67.100.in-addr.arpa.",
|
||||
"68.100.in-addr.arpa.",
|
||||
"69.100.in-addr.arpa.",
|
||||
"70.100.in-addr.arpa.",
|
||||
"71.100.in-addr.arpa.",
|
||||
"72.100.in-addr.arpa.",
|
||||
"73.100.in-addr.arpa.",
|
||||
"74.100.in-addr.arpa.",
|
||||
"75.100.in-addr.arpa.",
|
||||
"76.100.in-addr.arpa.",
|
||||
"77.100.in-addr.arpa.",
|
||||
"78.100.in-addr.arpa.",
|
||||
"79.100.in-addr.arpa.",
|
||||
"8.b.d.0.1.0.0.2.ip6.arpa.",
|
||||
"8.e.f.ip6.arpa.",
|
||||
"80.100.in-addr.arpa.",
|
||||
"81.100.in-addr.arpa.",
|
||||
"82.100.in-addr.arpa.",
|
||||
"83.100.in-addr.arpa.",
|
||||
"84.100.in-addr.arpa.",
|
||||
"85.100.in-addr.arpa.",
|
||||
"86.100.in-addr.arpa.",
|
||||
"87.100.in-addr.arpa.",
|
||||
"88.100.in-addr.arpa.",
|
||||
"89.100.in-addr.arpa.",
|
||||
"9.e.f.ip6.arpa.",
|
||||
"90.100.in-addr.arpa.",
|
||||
"91.100.in-addr.arpa.",
|
||||
"92.100.in-addr.arpa.",
|
||||
"93.100.in-addr.arpa.",
|
||||
"94.100.in-addr.arpa.",
|
||||
"95.100.in-addr.arpa.",
|
||||
"96.100.in-addr.arpa.",
|
||||
"97.100.in-addr.arpa.",
|
||||
"98.100.in-addr.arpa.",
|
||||
"99.100.in-addr.arpa.",
|
||||
"a.e.f.ip6.arpa.",
|
||||
"airdream.",
|
||||
"api.",
|
||||
"b.e.f.ip6.arpa.",
|
||||
"bbrouter.",
|
||||
"belkin.",
|
||||
"blinkap.",
|
||||
"corp.",
|
||||
"d.f.ip6.arpa.",
|
||||
"davolink.",
|
||||
"dearmyrouter.",
|
||||
"dhcp.",
|
||||
"dlink.",
|
||||
"domain.",
|
||||
"envoy.",
|
||||
"example.",
|
||||
"f.f.ip6.arpa.",
|
||||
"grp.",
|
||||
"gw==.",
|
||||
"home.",
|
||||
"hub.",
|
||||
"internal.",
|
||||
"intra.",
|
||||
"invalid.",
|
||||
"ksyun.",
|
||||
"lan.",
|
||||
"loc.",
|
||||
"local.",
|
||||
"localdomain.",
|
||||
"localnet.",
|
||||
"modem.",
|
||||
"mynet.",
|
||||
"myrouter.",
|
||||
"novalocal.",
|
||||
"openstacklocal.",
|
||||
"priv.",
|
||||
"prv.",
|
||||
"router.",
|
||||
"telus.",
|
||||
"test.",
|
||||
"totolink.",
|
||||
"wlan_ap.",
|
||||
"workgroup.",
|
||||
"zghjccbob3n0.",
|
||||
}
|
||||
|
||||
type PluginBlockUndelegated struct {
|
||||
|
@ -162,7 +162,7 @@ func (plugin *PluginBlockUndelegated) Description() string {
|
|||
func (plugin *PluginBlockUndelegated) Init(proxy *Proxy) error {
|
||||
suffixes := critbitgo.NewTrie()
|
||||
for _, line := range undelegatedSet {
|
||||
pattern := StringReverse(line + ".")
|
||||
pattern := StringReverse(line)
|
||||
suffixes.Insert([]byte(pattern), true)
|
||||
}
|
||||
plugin.suffixes = suffixes
|
||||
|
@ -183,7 +183,10 @@ func (plugin *PluginBlockUndelegated) Eval(pluginsState *PluginsState, msg *dns.
|
|||
return nil
|
||||
}
|
||||
revQname := StringReverse(questions[0].Name)
|
||||
if match, _, found := plugin.suffixes.LongestPrefix([]byte(revQname)); found {
|
||||
match, _, found := plugin.suffixes.LongestPrefix([]byte(revQname))
|
||||
if !found {
|
||||
return nil
|
||||
}
|
||||
if len(match) == len(revQname) || revQname[len(match)] == '.' {
|
||||
synth := EmptyResponseFromMessage(msg)
|
||||
synth.Rcode = dns.RcodeNameError
|
||||
|
@ -191,6 +194,5 @@ func (plugin *PluginBlockUndelegated) Eval(pluginsState *PluginsState, msg *dns.
|
|||
pluginsState.action = PluginsActionSynth
|
||||
pluginsState.returnCode = PluginsReturnCodeSynth
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue