Commit fa881220 authored by obscuren's avatar obscuren

Updated lookup method to include CNAME's as well as A records

parent a760ce05
...@@ -6,7 +6,7 @@ type BloomFilter struct { ...@@ -6,7 +6,7 @@ type BloomFilter struct {
func NewBloomFilter(bin []byte) *BloomFilter { func NewBloomFilter(bin []byte) *BloomFilter {
if bin == nil { if bin == nil {
bin = make([]byte, 255) bin = make([]byte, 256)
} }
return &BloomFilter{ return &BloomFilter{
......
...@@ -4,6 +4,7 @@ import ( ...@@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"math/big" "math/big"
"strconv"
"strings" "strings"
"sync/atomic" "sync/atomic"
...@@ -74,8 +75,22 @@ func (self *PEthereum) LookupDomain(domain string) string { ...@@ -74,8 +75,22 @@ func (self *PEthereum) LookupDomain(domain string) string {
if len(domain) > 32 { if len(domain) > 32 {
domain = string(ethcrypto.Sha3Bin([]byte(domain))) 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 { func (lib *PEthereum) GetBlock(hexHash string) *PBlock {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment