mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-29 17:36:38 +08:00
Merge pull request #534 from jbenet/swarm-filter-addrs
core: make sure to call swarm.FilterAddrs
This commit is contained in:
49
core/core.go
49
core/core.go
@ -150,26 +150,9 @@ func (n *IpfsNode) StartOnlineServices() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup the network
|
if err := n.startNetwork(); err != nil {
|
||||||
listenAddrs, err := listenAddresses(n.Config)
|
return err
|
||||||
if err != nil {
|
|
||||||
return debugerror.Wrap(err)
|
|
||||||
}
|
}
|
||||||
network, err := swarm.NewNetwork(ctx, listenAddrs, n.Identity, n.Peerstore)
|
|
||||||
if err != nil {
|
|
||||||
return debugerror.Wrap(err)
|
|
||||||
}
|
|
||||||
n.AddChildGroup(network.CtxGroup())
|
|
||||||
n.PeerHost = p2pbhost.New(network)
|
|
||||||
|
|
||||||
// explicitly set these as our listen addrs.
|
|
||||||
// (why not do it inside inet.NewNetwork? because this way we can
|
|
||||||
// listen on addresses without necessarily advertising those publicly.)
|
|
||||||
addrs, err := n.PeerHost.Network().InterfaceListenAddresses()
|
|
||||||
if err != nil {
|
|
||||||
return debugerror.Wrap(err)
|
|
||||||
}
|
|
||||||
n.Peerstore.AddAddresses(n.Identity, addrs)
|
|
||||||
|
|
||||||
// setup diagnostics service
|
// setup diagnostics service
|
||||||
n.Diagnostics = diag.NewDiagnostics(n.Identity, n.PeerHost)
|
n.Diagnostics = diag.NewDiagnostics(n.Identity, n.PeerHost)
|
||||||
@ -199,6 +182,34 @@ func (n *IpfsNode) StartOnlineServices() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (n *IpfsNode) startNetwork() error {
|
||||||
|
ctx := n.Context()
|
||||||
|
|
||||||
|
// setup the network
|
||||||
|
listenAddrs, err := listenAddresses(n.Config)
|
||||||
|
if err != nil {
|
||||||
|
return debugerror.Wrap(err)
|
||||||
|
}
|
||||||
|
// make sure we dont error out if our config includes some addresses we cant use.
|
||||||
|
listenAddrs = swarm.FilterAddrs(listenAddrs)
|
||||||
|
network, err := swarm.NewNetwork(ctx, listenAddrs, n.Identity, n.Peerstore)
|
||||||
|
if err != nil {
|
||||||
|
return debugerror.Wrap(err)
|
||||||
|
}
|
||||||
|
n.AddChildGroup(network.CtxGroup())
|
||||||
|
n.PeerHost = p2pbhost.New(network)
|
||||||
|
|
||||||
|
// explicitly set these as our listen addrs.
|
||||||
|
// (why not do it inside inet.NewNetwork? because this way we can
|
||||||
|
// listen on addresses without necessarily advertising those publicly.)
|
||||||
|
addrs, err := n.PeerHost.Network().InterfaceListenAddresses()
|
||||||
|
if err != nil {
|
||||||
|
return debugerror.Wrap(err)
|
||||||
|
}
|
||||||
|
n.Peerstore.AddAddresses(n.Identity, addrs)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (n *IpfsNode) teardown() error {
|
func (n *IpfsNode) teardown() error {
|
||||||
if err := n.Datastore.Close(); err != nil {
|
if err := n.Datastore.Close(); err != nil {
|
||||||
return err
|
return err
|
||||||
|
Reference in New Issue
Block a user