aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanos Guljas <janos@resenje.org>2017-12-18 23:22:39 +0800
committerJanos Guljas <janos@resenje.org>2017-12-18 23:22:39 +0800
commitc0a4d9e1e64a09a19484c8c12e24505d9bacbd57 (patch)
tree1ccb0df96f947a17a23dcdf84a6871bd4a9759ba
parent47a801455966298d1d1519eebb955024c8f02b84 (diff)
downloaddexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar.gz
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar.bz2
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar.lz
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar.xz
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.tar.zst
dexon-c0a4d9e1e64a09a19484c8c12e24505d9bacbd57.zip
cmd/swarm, swarm: disable ENS API by default
Specifying ENS API CLI flag, env variable or configuration field is required for ENS resolving. Backward compatibility is preserved with --ens-api="" CLI flag value.
-rw-r--r--cmd/swarm/config.go23
-rw-r--r--swarm/api/config.go2
-rw-r--r--swarm/swarm.go23
3 files changed, 12 insertions, 36 deletions
diff --git a/cmd/swarm/config.go b/cmd/swarm/config.go
index 9931b12a2..c66a2a4fe 100644
--- a/cmd/swarm/config.go
+++ b/cmd/swarm/config.go
@@ -195,17 +195,13 @@ func cmdLineOverride(currentConfig *bzzapi.Config, ctx *cli.Context) *bzzapi.Con
utils.Fatalf(SWARM_ERR_SWAP_SET_NO_API)
}
- //EnsAPIs can be set to "", so can't check for empty string, as it is allowed!
if ctx.GlobalIsSet(EnsAPIFlag.Name) {
ensAPIs := ctx.GlobalStringSlice(EnsAPIFlag.Name)
- // Disable ENS resolver if --ens-api="" is specified
+ // preserve backward compatibility to disable ENS with --ens-api=""
if len(ensAPIs) == 1 && ensAPIs[0] == "" {
- currentConfig.EnsDisabled = true
- currentConfig.EnsAPIs = nil
- } else {
- currentConfig.EnsDisabled = false
- currentConfig.EnsAPIs = ensAPIs
+ ensAPIs = nil
}
+ currentConfig.EnsAPIs = ensAPIs
}
if ensaddr := ctx.GlobalString(DeprecatedEnsAddrFlag.Name); ensaddr != "" {
@@ -275,17 +271,8 @@ func envVarsOverride(currentConfig *bzzapi.Config) (config *bzzapi.Config) {
utils.Fatalf(SWARM_ERR_SWAP_SET_NO_API)
}
- //EnsAPIs can be set to "", so can't check for empty string, as it is allowed
- if ensapi, exists := os.LookupEnv(SWARM_ENV_ENS_API); exists {
- ensAPIs := strings.Split(ensapi, ",")
- // Disable ENS resolver if SWARM_ENS_API="" is specified
- if len(ensAPIs) == 0 {
- currentConfig.EnsDisabled = true
- currentConfig.EnsAPIs = nil
- } else {
- currentConfig.EnsDisabled = false
- currentConfig.EnsAPIs = ensAPIs
- }
+ if ensapi := os.Getenv(SWARM_ENV_ENS_API); ensapi != "" {
+ currentConfig.EnsAPIs = strings.Split(ensapi, ",")
}
if ensaddr := os.Getenv(SWARM_ENV_ENS_ADDR); ensaddr != "" {
diff --git a/swarm/api/config.go b/swarm/api/config.go
index 3f1a2a074..6b224140a 100644
--- a/swarm/api/config.go
+++ b/swarm/api/config.go
@@ -48,7 +48,6 @@ type Config struct {
*network.SyncParams
Contract common.Address
EnsRoot common.Address
- EnsDisabled bool
EnsAPIs []string
Path string
ListenAddr string
@@ -78,7 +77,6 @@ func NewDefaultConfig() (self *Config) {
Path: node.DefaultDataDir(),
EnsAPIs: nil,
EnsRoot: ens.TestNetAddress,
- EnsDisabled: false,
NetworkId: network.NetworkId,
SwapEnabled: false,
SyncEnabled: true,
diff --git a/swarm/swarm.go b/swarm/swarm.go
index ae6805dfd..3c77d6eab 100644
--- a/swarm/swarm.go
+++ b/swarm/swarm.go
@@ -138,26 +138,17 @@ func NewSwarm(ctx *node.ServiceContext, backend chequebook.Backend, config *api.
self.dpa = storage.NewDPA(dpaChunkStore, self.config.ChunkerParams)
log.Debug(fmt.Sprintf("-> Content Store API"))
- if !config.EnsDisabled {
- if len(config.EnsAPIs) == 0 {
- // ENS is enabled and has no specific configuration,
- // use defaults
- self.dns, err = newEnsClient(node.DefaultIPCEndpoint("geth"), config.EnsRoot, config)
+ if len(config.EnsAPIs) > 0 {
+ opts := []api.MultiResolverOption{}
+ for _, c := range config.EnsAPIs {
+ tld, endpoint, addr := parseEnsAPIAddress(c)
+ r, err := newEnsClient(endpoint, addr, config)
if err != nil {
return nil, err
}
- } else {
- opts := []api.MultiResolverOption{}
- for _, c := range config.EnsAPIs {
- tld, endpoint, addr := parseEnsAPIAddress(c)
- r, err := newEnsClient(endpoint, addr, config)
- if err != nil {
- return nil, err
- }
- opts = append(opts, api.MultiResolverOptionWithResolver(r, tld))
- }
- self.dns = api.NewMultiResolver(opts...)
+ opts = append(opts, api.MultiResolverOptionWithResolver(r, tld))
}
+ self.dns = api.NewMultiResolver(opts...)
}
self.api = api.NewApi(self.dpa, self.dns)