提交 e7fd57f6 作者: Jeromy

add filters from config to addr filter in swarm

License: MIT
Signed-off-by: 's avatarJeromy <jeromyj@gmail.com>
上级 74a331db
......@@ -533,6 +533,10 @@ func constructPeerHost(ctx context.Context, id peer.ID, ps peer.Peerstore, bwr m
return nil, err
}
for _, f := range fs {
network.Swarm().Filters.AddDialFilter(f)
}
host := p2pbhost.New(network, p2pbhost.NATPortMap, bwr)
return host, nil
......
......@@ -20,6 +20,7 @@ import (
pst "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-peerstream/transport"
psy "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-peerstream/transport/yamux"
prom "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/prometheus/client_golang/prometheus"
mafilter "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/whyrusleeping/multiaddr-filter"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
)
......@@ -101,6 +102,16 @@ func (s *Swarm) teardown() error {
return s.swarm.Close()
}
func (s *Swarm) AddAddrFilter(f string) error {
m, err := mafilter.NewMask(f)
if err != nil {
return err
}
s.Filters.AddDialFilter(m)
return nil
}
// CtxGroup returns the Context Group of the swarm
func filterAddrs(listenAddrs []ma.Multiaddr) ([]ma.Multiaddr, error) {
if len(listenAddrs) > 0 {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论