diff options
Diffstat (limited to 'swarm/network/protocol.go')
-rw-r--r-- | swarm/network/protocol.go | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/swarm/network/protocol.go b/swarm/network/protocol.go index ba2a7e5fa..6f8eadad2 100644 --- a/swarm/network/protocol.go +++ b/swarm/network/protocol.go @@ -21,7 +21,6 @@ import ( "errors" "fmt" "net" - "regexp" "sync" "time" @@ -40,8 +39,6 @@ const ( bzzHandshakeTimeout = 3000 * time.Millisecond ) -var regexpEnodeIP = regexp.MustCompile("@(.+):([0-9]+)") - // BzzSpec is the spec of the generic swarm handshake var BzzSpec = &protocols.Spec{ Name: "bzz", @@ -217,26 +214,10 @@ func (b *Bzz) performHandshake(p *protocols.Peer, handshake *HandshakeMsg) error return err } handshake.peerAddr = rsh.(*HandshakeMsg).Addr - sanitizeEnodeRemote(p.RemoteAddr(), handshake.peerAddr) handshake.LightNode = rsh.(*HandshakeMsg).LightNode return nil } -// the remote enode string may advertise arbitrary host information (e.g. localhost) -// this method ensures that the addr of the peer will be the one -// applicable on the interface the connection came in on -// it modifies the passed bzzaddr in place, and returns the same pointer -func sanitizeEnodeRemote(paddr net.Addr, baddr *BzzAddr) { - hsSubmatch := regexpEnodeIP.FindSubmatch(baddr.UAddr) - ip, _, err := net.SplitHostPort(paddr.String()) - // since we expect nothing else than ipv4 here, a panic on missing submatch is desired - if err == nil && string(hsSubmatch[1]) != ip { - remoteStr := fmt.Sprintf("@%s:%s", ip, string(hsSubmatch[2])) - log.Debug("rewrote peer uaddr host/port", "addr", baddr) - baddr.UAddr = regexpEnodeIP.ReplaceAll(baddr.UAddr, []byte(remoteStr)) - } -} - // runBzz is the p2p protocol run function for the bzz base protocol // that negotiates the bzz handshake func (b *Bzz) runBzz(p *p2p.Peer, rw p2p.MsgReadWriter) error { @@ -343,7 +324,7 @@ func (b *Bzz) GetOrCreateHandshake(peerID enode.ID) (*HandshakeMsg, bool) { init: make(chan bool, 1), done: make(chan struct{}), } - // when handshake is first created for a remote peer + // when handhsake is first created for a remote peer // it is initialised with the init handshake.init <- true b.handshakes[peerID] = handshake |