From 9461bcd44efef89c16827e3af842cb00c666772f Mon Sep 17 00:00:00 2001 From: Skyxim Date: Sun, 3 Apr 2022 19:14:21 +0800 Subject: [PATCH] fix: default-nameserver allow DOT and DOH with host is ip --- config/config.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/config.go b/config/config.go index 0134cc3f2..a0ae91d4b 100644 --- a/config/config.go +++ b/config/config.go @@ -767,7 +767,10 @@ func parseDNS(rawCfg *RawConfig, hosts *trie.DomainTrie, rules []C.Rule) (*DNS, for _, ns := range dnsCfg.DefaultNameserver { host, _, err := net.SplitHostPort(ns.Addr) if err != nil || net.ParseIP(host) == nil { - return nil, errors.New("default nameserver should be pure IP") + u, err := url.Parse(ns.Addr) + if err != nil || net.ParseIP(u.Host) == nil { + return nil, errors.New("default nameserver should be pure IP") + } } }