Fix AutoNAT service for private network
License: MIT Signed-off-by: Roman Khafizianov <requilence@gmail.com>
requilence committed
Apr 25, 2019 at 13:49 UTC
28c0013d5ba7437b609b4cfa9cf5f6ed5b88ef5c
1 file changed
+11
-4
core/node/libp2p/libp2p.go
+11
-4
@@ -524,16 +524,23 @@ func PubsubRouter(mctx helpers.MetricsCtx, lc fx.Lifecycle, in p2pPSRoutingIn) (
524
}, psRouter
525
}
526
527
-func AutoNATService(mctx helpers.MetricsCtx, lc fx.Lifecycle, cfg *config.Config, host host.Host) error {
527
+func AutoNATService(repo repo.Repo, mctx helpers.MetricsCtx, lc fx.Lifecycle, cfg *config.Config, host host.Host) error {
528
if !cfg.Swarm.EnableAutoNATService {
529
return nil
530
}
531
- var opts []libp2p.Option
531
+
532
+ // collect private net option in case swarm.key is presented
533
+ opts, _, err := PNet(repo)
534
+ if err != nil {
535
+ // swarm key exists but was failed to decode
536
+ return err
537
+ }
538
+
539
if cfg.Experimental.QUIC {
533
- opts = append(opts, libp2p.DefaultTransports, libp2p.Transport(libp2pquic.NewTransport))
540
+ opts.Opts = append(opts.Opts, libp2p.DefaultTransports, libp2p.Transport(libp2pquic.NewTransport))
541
}
542
536
- _, err := autonat.NewAutoNATService(helpers.LifecycleCtx(mctx, lc), host, opts...)
543
+ _, err = autonat.NewAutoNATService(helpers.LifecycleCtx(mctx, lc), host, opts.Opts...)
544
return err
545
}
546