aboutsummaryrefslogtreecommitdiffstats
path: root/peer.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-10-08 18:00:03 +0800
committerobscuren <geffobscura@gmail.com>2014-10-08 18:00:03 +0800
commit6de726f16cff6a79939cd9182424c7e9ef678044 (patch)
treeb6ffdcecda68d0ed96cbe358a212bdd6995c0608 /peer.go
parentb417766b36f46316cbae6fa42815f1a519e5f733 (diff)
downloadgo-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar.gz
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar.bz2
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar.lz
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar.xz
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.tar.zst
go-tangerine-6de726f16cff6a79939cd9182424c7e9ef678044.zip
Protocol bump
Diffstat (limited to 'peer.go')
-rw-r--r--peer.go35
1 files changed, 16 insertions, 19 deletions
diff --git a/peer.go b/peer.go
index 63def37ed..7ed152696 100644
--- a/peer.go
+++ b/peer.go
@@ -24,7 +24,7 @@ const (
// The size of the output buffer for writing messages
outputBufferSize = 50
// Current protocol version
- ProtocolVersion = 33
+ ProtocolVersion = 34
// Current P2P version
P2PVersion = 0
// Ethereum network version
@@ -848,26 +848,23 @@ func (p *Peer) RlpData() []interface{} {
return []interface{}{p.host, p.port, p.pubkey}
}
-func packAddr(address, port string) ([]byte, uint16) {
- addr := strings.Split(address, ".")
- a, _ := strconv.Atoi(addr[0])
- b, _ := strconv.Atoi(addr[1])
- c, _ := strconv.Atoi(addr[2])
- d, _ := strconv.Atoi(addr[3])
- host := []byte{byte(a), byte(b), byte(c), byte(d)}
- prt, _ := strconv.Atoi(port)
+func packAddr(address, _port string) (host []byte, port uint16) {
+ p, _ := strconv.Atoi(_port)
+ port = uint16(p)
- return host, uint16(prt)
+ h := net.ParseIP(address)
+ if ip := h.To4(); ip != nil {
+ host = []byte(ip)
+ } else {
+ host = []byte(h)
+ }
+
+ return
}
func unpackAddr(value *ethutil.Value, p uint64) string {
- byts := value.Bytes()
- a := strconv.Itoa(int(byts[0]))
- b := strconv.Itoa(int(byts[1]))
- c := strconv.Itoa(int(byts[2]))
- d := strconv.Itoa(int(byts[3]))
- host := strings.Join([]string{a, b, c, d}, ".")
- port := strconv.Itoa(int(p))
-
- return net.JoinHostPort(host, port)
+ host, _ := net.IP(value.Bytes()).MarshalText()
+ prt := strconv.Itoa(int(p))
+
+ return net.JoinHostPort(string(host), prt)
}