File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change 1
1
package node
2
2
3
3
import (
4
+ "fmt"
5
+ "strings"
6
+
4
7
config "github.com/ipfs/go-ipfs-config"
8
+ doh "github.com/libp2p/go-doh-resolver"
5
9
madns "github.com/multiformats/go-multiaddr-dns"
6
10
)
7
11
8
12
func DNSResolver (cfg * config.Config ) (* madns.Resolver , error ) {
9
- // TODO custom resolvers from config
10
- return madns .DefaultResolver , nil
13
+ var opts []madns.Option
14
+ if url := cfg .DNS .DefaultResolver ; url != "" {
15
+ if ! strings .HasPrefix (url , "https://" ) {
16
+ return nil , fmt .Errorf ("invalid default resolver url: %s" , url )
17
+ }
18
+ opts = append (opts , madns .WithDefaultResolver (doh .NewResolver (url )))
19
+ }
20
+ for domain , url := range cfg .DNS .CustomResolvers {
21
+ if ! strings .HasPrefix (url , "https://" ) {
22
+ return nil , fmt .Errorf ("invalid domain resolver url for %s: %s" , domain , url )
23
+ }
24
+ opts = append (opts , madns .WithDomainResolver (domain , doh .NewResolver (url )))
25
+ }
26
+ return madns .NewResolver (opts ... )
11
27
}
You can’t perform that action at this time.
0 commit comments