@cryptotaxi247 / kubo / commits / 64a4abcd6

listen addresses: add Interface addresses

network.ListenAddresses() are general. Interface addresses are specific.

Juan Batiz-Benet committed Dec 23, 2014 at 02:56 UTC 64a4abcd6cdac9aa2ce3c02bc398fd0484f89801
2 files changed +15 -6
core/core.go
+6 -1
@@ -130,7 +130,12 @@ func NewIpfsNode(ctx context.Context, cfg *config.Config, online bool) (n *IpfsN
130 // explicitly set these as our listen addrs.
131 // (why not do it inside inet.NewNetwork? because this way we can
132 // listen on addresses without necessarily advertising those publicly.)
133 - n.Peerstore.AddAddresses(n.Identity, n.Network.ListenAddresses())
133 + addrs, err := n.Network.InterfaceListenAddresses()
134 + if err != nil {
135 + return nil, debugerror.Wrap(err)
136 + }
137 +
138 + n.Peerstore.AddAddresses(n.Identity, addrs)
139
140 // setup diagnostics service
141 n.Diagnostics = diag.NewDiagnostics(n.Identity, n.Network)
net/id.go
+9 -5
@@ -112,12 +112,16 @@ func (ids *IDService) populateMessage(mes *pb.Handshake3, c Conn) {
112 mes.ObservedAddr = c.RemoteMultiaddr().Bytes()
113
114 // set listen addrs
115 - laddrs := ids.Network.ListenAddresses()
116 - mes.ListenAddrs = make([][]byte, len(laddrs))
117 - for i, addr := range laddrs {
118 - mes.ListenAddrs[i] = addr.Bytes()
115 + laddrs, err := ids.Network.InterfaceListenAddresses()
116 + if err != nil {
117 + log.Error(err)
118 + } else {
119 + mes.ListenAddrs = make([][]byte, len(laddrs))
120 + for i, addr := range laddrs {
121 + mes.ListenAddrs[i] = addr.Bytes()
122 + }
123 + log.Debugf("%s sent listen addrs to %s: %s", c.LocalPeer(), c.RemotePeer(), laddrs)
124 }
120 - log.Debugf("%s sent listen addrs to %s: %s", c.LocalPeer(), c.RemotePeer(), laddrs)
125
126 // set protocol versions
127 mes.H1 = handshake.NewHandshake1("", "")