[NOD-131] Allow override of dnsseed by command line or config (#261)

* [NOD-131] Allow override of dnsseed by command line or config

* [NOD-131] Moved tor.go from connmgr to util/network, to prevent dependancy loop

* [NOD-131] Typo fix

* [NOD-131] Clarify description for --dnsseed cli flag

* [NOD-131] Removed redundant line that somehow got into go.sum
This commit is contained in:
Svarog 2019-04-23 14:22:46 +03:00 committed by stasatdaglabs
parent 77fb901706
commit 4845a7f16c
4 changed files with 15 additions and 5 deletions

View File

@ -20,7 +20,6 @@ import (
"time"
"github.com/btcsuite/go-socks/socks"
"github.com/daglabs/btcd/connmgr"
"github.com/daglabs/btcd/dagconfig"
"github.com/daglabs/btcd/dagconfig/daghash"
"github.com/daglabs/btcd/database"
@ -126,6 +125,7 @@ type configFlags struct {
DisableRPC bool `long:"norpc" description:"Disable built-in RPC server -- NOTE: The RPC server is disabled by default if no rpcuser/rpcpass or rpclimituser/rpclimitpass is specified"`
DisableTLS bool `long:"notls" description:"Disable TLS for the RPC server -- NOTE: This is only allowed if the RPC server is bound to localhost"`
DisableDNSSeed bool `long:"nodnsseed" description:"Disable DNS seeding for peers"`
DNSSeed string `long:"dnsseed" description:"Override DNS seeds with specified hostname (Only 1 hostname allowed)"`
ExternalIPs []string `long:"externalip" description:"Add an ip to the list of local addresses we claim to listen on to peers"`
Proxy string `long:"proxy" description:"Connect via SOCKS5 proxy (eg. 127.0.0.1:9050)"`
ProxyUser string `long:"proxyuser" description:"Username for proxy server"`
@ -907,7 +907,7 @@ func loadConfig() (*Config, []string, error) {
// onion-specific proxy configured.
if !cfg.NoOnion && cfg.OnionProxy == "" {
cfg.Lookup = func(host string) ([]net.IP, error) {
return connmgr.TorLookupIP(host, cfg.Proxy)
return network.TorLookupIP(host, cfg.Proxy)
}
}
}
@ -953,7 +953,7 @@ func loadConfig() (*Config, []string, error) {
// onion-specific proxy.
if cfg.Proxy != "" {
cfg.Lookup = func(host string) ([]net.IP, error) {
return connmgr.TorLookupIP(host, cfg.OnionProxy)
return network.TorLookupIP(host, cfg.OnionProxy)
}
}
} else {

View File

@ -11,6 +11,7 @@ import (
"strconv"
"time"
"github.com/daglabs/btcd/config"
"github.com/daglabs/btcd/util/subnetworkid"
"github.com/daglabs/btcd/dagconfig"
@ -41,7 +42,15 @@ type LookupFunc func(string) ([]net.IP, error)
func SeedFromDNS(dagParams *dagconfig.Params, reqServices wire.ServiceFlag, includeAllSubnetworks bool,
subnetworkID *subnetworkid.SubnetworkID, lookupFn LookupFunc, seedFn OnSeed) {
for _, dnsseed := range dagParams.DNSSeeds {
var dnsSeeds []string
configSeed := config.MainConfig().DNSSeed
if configSeed != "" {
dnsSeeds = []string{configSeed}
} else {
dnsSeeds = dagParams.DNSSeeds
}
for _, dnsseed := range dnsSeeds {
var host string
if reqServices == wire.SFNodeNetwork {
host = dnsseed

View File

@ -44,6 +44,7 @@ RUN apk add --no-cache ca-certificates tini
COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/
COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.cert /app/
COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.key /app/
COPY --from=build /go/src/github.com/daglabs/btcd/sample-btcd.conf /app/
USER nobody
ENTRYPOINT [ "/sbin/tini", "--" ]

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
package connmgr
package network
import (
"encoding/binary"