Browse Source

Merge pull request #511 from libp2p/fix/autorelay-pubaddr

don't advertise the raw public address in autorelay
pull/513/head
Steven Allen 6 years ago
committed by GitHub
parent
commit
4b70d71c1d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      p2p/host/relay/autorelay.go

30
p2p/host/relay/autorelay.go

@ -203,36 +203,12 @@ func (h *AutoRelayHost) doUpdateAddrs() {
addrs := h.baseAddrs()
raddrs := make([]ma.Multiaddr, 0, len(addrs)+len(h.relays))
// remove our public addresses from the list and replace them by just the public IP
// remove our public addresses from the list
for _, addr := range addrs {
if manet.IsPublicAddr(addr) {
ip, err := addr.ValueForProtocol(ma.P_IP4)
if err == nil {
pub, err := ma.NewMultiaddr(fmt.Sprintf("/ip4/%s", ip))
if err != nil {
panic(err)
}
if !containsAddr(raddrs, pub) {
raddrs = append(raddrs, pub)
}
continue
}
ip, err = addr.ValueForProtocol(ma.P_IP6)
if err == nil {
pub, err := ma.NewMultiaddr(fmt.Sprintf("/ip6/%s", ip))
if err != nil {
panic(err)
}
if !containsAddr(raddrs, pub) {
raddrs = append(raddrs, pub)
}
continue
}
} else {
raddrs = append(raddrs, addr)
continue
}
raddrs = append(raddrs, addr)
}
// add relay specific addrs to the list

Loading…
Cancel
Save