From 0cd2142da58e2f735f3d1a2d3e1b363b7dcde75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 21 Jun 2017 20:37:07 +0200 Subject: [PATCH] Disable MDNS in server profile, move it out from init.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- cmd/ipfs/init.go | 34 ++-------------------------------- repo/config/profile.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 32 deletions(-) create mode 100644 repo/config/profile.go diff --git a/cmd/ipfs/init.go b/cmd/ipfs/init.go index 02471d60491..c85e9f78df5 100644 --- a/cmd/ipfs/init.go +++ b/cmd/ipfs/init.go @@ -22,36 +22,6 @@ const ( nBitsForKeypairDefault = 2048 ) -// TODO: move this out(where?) -// ConfigProfiles is a map holding configuration transformers -var ConfigProfiles = map[string]func(*config.Config) error{ - "server": func(c *config.Config) error { - - // defaultServerFilters has a list of non-routable IPv4 prefixes - // according to http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml - defaultServerFilters := []string{ - "/ip4/10.0.0.0/ipcidr/8", - "/ip4/100.64.0.0/ipcidr/10", - "/ip4/169.254.0.0/ipcidr/16", - "/ip4/172.16.0.0/ipcidr/12", - "/ip4/192.0.0.0/ipcidr/24", - "/ip4/192.0.0.0/ipcidr/29", - "/ip4/192.0.0.8/ipcidr/32", - "/ip4/192.0.0.170/ipcidr/32", - "/ip4/192.0.0.171/ipcidr/32", - "/ip4/192.0.2.0/ipcidr/24", - "/ip4/192.168.0.0/ipcidr/16", - "/ip4/198.18.0.0/ipcidr/15", - "/ip4/198.51.100.0/ipcidr/24", - "/ip4/203.0.113.0/ipcidr/24", - "/ip4/240.0.0.0/ipcidr/4", - } - - c.Swarm.AddrFilters = append(c.Swarm.AddrFilters, defaultServerFilters...) - return nil - }, -} - var initCmd = &cmds.Command{ Helptext: cmds.HelpText{ Tagline: "Initializes ipfs config file.", @@ -78,7 +48,7 @@ environment variable: Options: []cmds.Option{ cmds.IntOption("bits", "b", "Number of bits to use in the generated RSA private key.").Default(nBitsForKeypairDefault), cmds.BoolOption("empty-repo", "e", "Don't add and pin help files to the local storage.").Default(false), - cmds.StringOption("profile", "p", "Apply profile settings to config"), + cmds.StringOption("profile", "p", "Apply profile settings to config. Multiple profiles can be separated by ','"), // TODO need to decide whether to expose the override as a file or a // directory. That is: should we allow the user to also specify the @@ -183,7 +153,7 @@ func doInit(out io.Writer, repoRoot string, empty bool, nBitsForKeypair int, con } for _, profile := range confProfiles { - transformer := ConfigProfiles[profile] + transformer := config.ConfigProfiles[profile] if transformer == nil { return fmt.Errorf("invalid configuration profile: %s", profile) } diff --git a/repo/config/profile.go b/repo/config/profile.go new file mode 100644 index 00000000000..2f754617c37 --- /dev/null +++ b/repo/config/profile.go @@ -0,0 +1,31 @@ +package config + +// ConfigProfiles is a map holding configuration transformers +var ConfigProfiles = map[string]func(*Config) error{ + "server": func(c *Config) error { + + // defaultServerFilters has a list of non-routable IPv4 prefixes + // according to http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml + defaultServerFilters := []string{ + "/ip4/10.0.0.0/ipcidr/8", + "/ip4/100.64.0.0/ipcidr/10", + "/ip4/169.254.0.0/ipcidr/16", + "/ip4/172.16.0.0/ipcidr/12", + "/ip4/192.0.0.0/ipcidr/24", + "/ip4/192.0.0.0/ipcidr/29", + "/ip4/192.0.0.8/ipcidr/32", + "/ip4/192.0.0.170/ipcidr/32", + "/ip4/192.0.0.171/ipcidr/32", + "/ip4/192.0.2.0/ipcidr/24", + "/ip4/192.168.0.0/ipcidr/16", + "/ip4/198.18.0.0/ipcidr/15", + "/ip4/198.51.100.0/ipcidr/24", + "/ip4/203.0.113.0/ipcidr/24", + "/ip4/240.0.0.0/ipcidr/4", + } + + c.Swarm.AddrFilters = append(c.Swarm.AddrFilters, defaultServerFilters...) + c.Discovery.MDNS.Enabled = false + return nil + }, +}