Feature: dns resolve domain through nameserver-policy (#1406)

This commit is contained in:
Rusty Pen
2021-05-19 11:17:35 +08:00
committed by GitHub
parent d5e52bed43
commit 0778591524
4 changed files with 62 additions and 3 deletions

View File

@ -23,7 +23,7 @@ type DomainTrie struct {
root *Node
}
func validAndSplitDomain(domain string) ([]string, bool) {
func ValidAndSplitDomain(domain string) ([]string, bool) {
if domain != "" && domain[len(domain)-1] == '.' {
return nil, false
}
@ -54,7 +54,7 @@ func validAndSplitDomain(domain string) ([]string, bool) {
// 4. .example.com
// 5. +.example.com
func (t *DomainTrie) Insert(domain string, data interface{}) error {
parts, valid := validAndSplitDomain(domain)
parts, valid := ValidAndSplitDomain(domain)
if !valid {
return ErrInvalidDomain
}
@ -91,7 +91,7 @@ func (t *DomainTrie) insert(parts []string, data interface{}) {
// 2. wildcard domain
// 2. dot wildcard domain
func (t *DomainTrie) Search(domain string) *Node {
parts, valid := validAndSplitDomain(domain)
parts, valid := ValidAndSplitDomain(domain)
if !valid || parts[0] == "" {
return nil
}