mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2025-02-23 06:53:13 +08:00
fix: default-nameserver allow DOT and DOH with host is ip
This commit is contained in:
parent
6548dc90fa
commit
9461bcd44e
@ -767,9 +767,12 @@ func parseDNS(rawCfg *RawConfig, hosts *trie.DomainTrie, rules []C.Rule) (*DNS,
|
|||||||
for _, ns := range dnsCfg.DefaultNameserver {
|
for _, ns := range dnsCfg.DefaultNameserver {
|
||||||
host, _, err := net.SplitHostPort(ns.Addr)
|
host, _, err := net.SplitHostPort(ns.Addr)
|
||||||
if err != nil || net.ParseIP(host) == nil {
|
if err != nil || net.ParseIP(host) == nil {
|
||||||
|
u, err := url.Parse(ns.Addr)
|
||||||
|
if err != nil || net.ParseIP(u.Host) == nil {
|
||||||
return nil, errors.New("default nameserver should be pure IP")
|
return nil, errors.New("default nameserver should be pure IP")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.EnhancedMode == C.DNSFakeIP {
|
if cfg.EnhancedMode == C.DNSFakeIP {
|
||||||
_, ipnet, err := net.ParseCIDR(cfg.FakeIPRange)
|
_, ipnet, err := net.ParseCIDR(cfg.FakeIPRange)
|
||||||
|
Loading…
Reference in New Issue
Block a user