提交 fc6bab7b 作者: Juan Batiz-Benet

net/conn: moved zero addr error

上级 43452fde
...@@ -2,6 +2,7 @@ package conn ...@@ -2,6 +2,7 @@ package conn
import ( import (
"fmt" "fmt"
"strings"
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
...@@ -23,6 +24,10 @@ func (d *Dialer) Dial(ctx context.Context, network string, remote peer.Peer) (Co ...@@ -23,6 +24,10 @@ func (d *Dialer) Dial(ctx context.Context, network string, remote peer.Peer) (Co
return nil, fmt.Errorf("No remote address for network %s", network) return nil, fmt.Errorf("No remote address for network %s", network)
} }
if strings.HasPrefix(raddr.String(), "/ip4/0.0.0.0") {
return nil, fmt.Errorf("Attempted to connect to zero address: %s", raddr)
}
remote.SetType(peer.Remote) remote.SetType(peer.Remote)
remote, err := d.Peerstore.Add(remote) remote, err := d.Peerstore.Add(remote)
if err != nil { if err != nil {
......
...@@ -5,7 +5,6 @@ package swarm ...@@ -5,7 +5,6 @@ package swarm
import ( import (
"errors" "errors"
"fmt" "fmt"
"strings"
"sync" "sync"
conn "github.com/jbenet/go-ipfs/net/conn" conn "github.com/jbenet/go-ipfs/net/conn"
...@@ -133,16 +132,6 @@ func (s *Swarm) Dial(peer peer.Peer) (conn.Conn, error) { ...@@ -133,16 +132,6 @@ func (s *Swarm) Dial(peer peer.Peer) (conn.Conn, error) {
Peerstore: s.peers, Peerstore: s.peers,
} }
// If we are attempting to connect to the zero addr, fail out early
raddr := peer.NetAddress("tcp")
if raddr == nil {
return nil, fmt.Errorf("No remote address for network tcp")
}
if strings.HasPrefix(raddr.String(), "/ip4/0.0.0.0") {
return nil, fmt.Errorf("Attempted to connect to loopback address: %s", raddr)
}
c, err = d.Dial(s.Context(), "tcp", peer) c, err = d.Dial(s.Context(), "tcp", peer)
if err != nil { if err != nil {
return nil, err return nil, err
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论