aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-08-13 16:52:50 +0800
committerobscuren <geffobscura@gmail.com>2014-08-13 16:52:50 +0800
commitfa881220aedb638f9ee35337b2ca1817c2a8482f (patch)
tree302f533cdefa3f59ac0ae9f5030d5af91bd76c4d
parenta760ce05b948e89bc564af20599dcf95698ac0eb (diff)
downloadgo-tangerine-fa881220aedb638f9ee35337b2ca1817c2a8482f.tar.gz
go-tangerine-fa881220aedb638f9ee35337b2ca1817c2a8482f.tar.zst
go-tangerine-fa881220aedb638f9ee35337b2ca1817c2a8482f.zip
Updated lookup method to include CNAME's as well as A records
-rw-r--r--ethchain/bloom.go2
-rw-r--r--ethpub/pub.go17
2 files changed, 17 insertions, 2 deletions
diff --git a/ethchain/bloom.go b/ethchain/bloom.go
index 320ce73fc..5317ca0b1 100644
--- a/ethchain/bloom.go
+++ b/ethchain/bloom.go
@@ -6,7 +6,7 @@ type BloomFilter struct {
func NewBloomFilter(bin []byte) *BloomFilter {
if bin == nil {
- bin = make([]byte, 255)
+ bin = make([]byte, 256)
}
return &BloomFilter{
diff --git a/ethpub/pub.go b/ethpub/pub.go
index ab2aae599..762c9a60f 100644
--- a/ethpub/pub.go
+++ b/ethpub/pub.go
@@ -4,6 +4,7 @@ import (
"bytes"
"encoding/json"
"math/big"
+ "strconv"
"strings"
"sync/atomic"
@@ -74,8 +75,22 @@ func (self *PEthereum) LookupDomain(domain string) string {
if len(domain) > 32 {
domain = string(ethcrypto.Sha3Bin([]byte(domain)))
}
+ data := world.Config().Get("DnsReg").StorageString(domain).Bytes()
+
+ // Left padded = A record, Right padded = CNAME
+ if data[0] == 0 {
+ data = bytes.TrimLeft(data, "\x00")
+ var ipSlice []string
+ for _, d := range data {
+ ipSlice = append(ipSlice, strconv.Itoa(int(d)))
+ }
+
+ return strings.Join(ipSlice, ".")
+ } else {
+ data = bytes.TrimRight(data, "\x00")
- return strings.Trim(world.Config().Get("DnsReg").StorageString(domain).Str(), "\x00")
+ return string(data)
+ }
}
func (lib *PEthereum) GetBlock(hexHash string) *PBlock {