From 73b2058f8f5471e3ade0ff1a0f0b772a15519e8f Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Fri, 3 Oct 2014 18:08:21 -0700 Subject: [PATCH] DNSResolver: use isd.IsDomain this commit dedicated to @whyrusleeping --- namesys/dns.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/namesys/dns.go b/namesys/dns.go index 1154a66fe..e9c4097d8 100644 --- a/namesys/dns.go +++ b/namesys/dns.go @@ -2,25 +2,29 @@ package namesys import ( "net" - "strings" b58 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-base58" mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash" u "github.com/jbenet/go-ipfs/util" + isd "github.com/jbenet/go-is-domain" ) +// DNSResolver implements a Resolver on DNS domains type DNSResolver struct { // TODO: maybe some sort of caching? // cache would need a timeout } +// Matches implements Resolver func (r *DNSResolver) Matches(name string) bool { - return strings.Contains(name, ".") && !strings.HasPrefix(name, ".") + return isd.IsDomain(name) } +// Resolve implements Resolver // TXT records for a given domain name should contain a b58 // encoded multihash. func (r *DNSResolver) Resolve(name string) (string, error) { + log.Info("DNSResolver resolving %v", name) txt, err := net.LookupTXT(name) if err != nil { return "", err