@cryptotaxi247 / kubo / commits / 73b2058f8

DNSResolver: use isd.IsDomain

this commit dedicated to @whyrusleeping

Juan Batiz-Benet committed Oct 3, 2014 at 18:08 UTC 73b2058f8f5471e3ade0ff1a0f0b772a15519e8f
1 file changed +6 -2
namesys/dns.go
+6 -2
@@ -2,25 +2,29 @@ package namesys
2
3 import (
4 "net"
5 - "strings"
5
6 b58 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-base58"
7 mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
8 u "github.com/jbenet/go-ipfs/util"
9 + isd "github.com/jbenet/go-is-domain"
10 )
11
12 +// DNSResolver implements a Resolver on DNS domains
13 type DNSResolver struct {
14 // TODO: maybe some sort of caching?
15 // cache would need a timeout
16 }
17
18 +// Matches implements Resolver
19 func (r *DNSResolver) Matches(name string) bool {
18 - return strings.Contains(name, ".") && !strings.HasPrefix(name, ".")
20 + return isd.IsDomain(name)
21 }
22
23 +// Resolve implements Resolver
24 // TXT records for a given domain name should contain a b58
25 // encoded multihash.
26 func (r *DNSResolver) Resolve(name string) (string, error) {
27 + log.Info("DNSResolver resolving %v", name)
28 txt, err := net.LookupTXT(name)
29 if err != nil {
30 return "", err