forked from cerc-io/plugeth
Updated lookup method to include CNAME's as well as A records
This commit is contained in:
parent
a760ce05b9
commit
fa881220ae
@ -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 (
|
|||||||
"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 {
|
|||||||
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()
|
||||||
|
|
||||||
return strings.Trim(world.Config().Get("DnsReg").StorageString(domain).Str(), "\x00")
|
// 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 string(data)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (lib *PEthereum) GetBlock(hexHash string) *PBlock {
|
func (lib *PEthereum) GetBlock(hexHash string) *PBlock {
|
||||||
|
Loading…
Reference in New Issue
Block a user