diff --git a/server/server.go b/server/server.go index f2a8631..9a8a6f8 100644 --- a/server/server.go +++ b/server/server.go @@ -9,13 +9,14 @@ import ( "strings" "sync" + "github.com/btcsuite/btcd/rpcclient" "github.com/hlandau/buildinfo" "github.com/hlandau/xlog" "github.com/miekg/dns" - "github.com/btcsuite/btcd/rpcclient" + madns "gopkg.in/hlandau/madns.v2" + "github.com/namecoin/ncdns/backend" "github.com/namecoin/ncdns/namecoin" - madns "gopkg.in/hlandau/madns.v2" ) var log, Log = xlog.New("ncdns.server") diff --git a/util/util.go b/util/util.go index 9b16030..1d30ba2 100644 --- a/util/util.go +++ b/util/util.go @@ -47,14 +47,15 @@ func SplitDomainTail(name string) (tail, rest string) { // If ANCHOR is the first label, basename is an empty string. // // Examples, where anchor="bit": -// "a.b.c.d." -> merr.ErrNotInZone -// "a.b.c.d.bit." -> subname="a.b.c", basename="d", rootname="bit" -// "d.bit." -> subname="", basename="d", rootname="bit" -// "bit." -> subname="", basename="", rootname="bit" -// "bit.x.y.z." -> subname="", basename="", rootname="bit.x.y.z" -// "d.bit.x.y.z." -> subname="", basename="d", rootname="bit.x.y.z" -// "c.d.bit.x.y.z." -> subname="c", basename="d", rootname="bit.x.y.z" -// "a.b.c.d.bit.x.y.z." -> subname="a.b.c", basename="d", rootname="bit.x.y.z" +// +// "a.b.c.d." -> merr.ErrNotInZone +// "a.b.c.d.bit." -> subname="a.b.c", basename="d", rootname="bit" +// "d.bit." -> subname="", basename="d", rootname="bit" +// "bit." -> subname="", basename="", rootname="bit" +// "bit.x.y.z." -> subname="", basename="", rootname="bit.x.y.z" +// "d.bit.x.y.z." -> subname="", basename="d", rootname="bit.x.y.z" +// "c.d.bit.x.y.z." -> subname="c", basename="d", rootname="bit.x.y.z" +// "a.b.c.d.bit.x.y.z." -> subname="a.b.c", basename="d", rootname="bit.x.y.z" func SplitDomainByFloatingAnchor(qname, anchor string) (subname, basename, rootname string, err error) { qname = strings.TrimRight(qname, ".") parts := strings.Split(qname, ".")