mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-10-14 00:59:33 +00:00
[NOD-428] Require RPC user and password, and do not create a default config file for btcctl if rpc login details were provided (#510)
* [NOD-428] Required RPC user and password, and do not create a default config file for btcctl if rpc login details were provided * [NOD-428] Don't check rpc user and password if rpc is disabled * [NOD-428] Fix error message
This commit is contained in:
parent
1fea2a9421
commit
bcd73012de
@ -7,6 +7,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/daglabs/btcd/config"
|
"github.com/daglabs/btcd/config"
|
||||||
|
"github.com/pkg/errors"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
@ -198,13 +199,16 @@ func loadConfig() (*ConfigFlags, []string, error) {
|
|||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := os.Stat(preCfg.ConfigFile); os.IsNotExist(err) {
|
// If no rpc user and password were configured, create
|
||||||
// Use config file for RPC server to create default btcctl config
|
// a btcctl default config file based on the rpc login
|
||||||
serverConfigPath := filepath.Join(btcdHomeDir, "btcd.conf")
|
// details written in the RPC server configuration file
|
||||||
|
if preCfg.RPCUser == "" && preCfg.RPCPassword == "" {
|
||||||
err := createDefaultConfigFile(preCfg.ConfigFile, serverConfigPath)
|
if _, err := os.Stat(preCfg.ConfigFile); os.IsNotExist(err) {
|
||||||
if err != nil {
|
serverConfigPath := filepath.Join(btcdHomeDir, "btcd.conf")
|
||||||
fmt.Fprintf(os.Stderr, "Error creating a default config file: %s\n", err)
|
err := createDefaultConfigFile(preCfg.ConfigFile, serverConfigPath)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "Error creating a default config file: %s\n", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,6 +254,9 @@ func loadConfig() (*ConfigFlags, []string, error) {
|
|||||||
func createDefaultConfigFile(destinationPath, serverConfigPath string) error {
|
func createDefaultConfigFile(destinationPath, serverConfigPath string) error {
|
||||||
// Read the RPC server config
|
// Read the RPC server config
|
||||||
serverConfigFile, err := os.Open(serverConfigPath)
|
serverConfigFile, err := os.Open(serverConfigPath)
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
return errors.Errorf("the RPC server configuration file could not be found at %s", serverConfigPath)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -417,6 +417,24 @@ func loadConfig() (*Config, []string, error) {
|
|||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !activeConfig.DisableRPC {
|
||||||
|
if activeConfig.RPCUser == "" {
|
||||||
|
str := "%s: rpcuser cannot be empty"
|
||||||
|
err := errors.Errorf(str, funcName)
|
||||||
|
fmt.Fprintln(os.Stderr, err)
|
||||||
|
fmt.Fprintln(os.Stderr, usageMessage)
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if activeConfig.RPCPass == "" {
|
||||||
|
str := "%s: rpcpass cannot be empty"
|
||||||
|
err := errors.Errorf(str, funcName)
|
||||||
|
fmt.Fprintln(os.Stderr, err)
|
||||||
|
fmt.Fprintln(os.Stderr, usageMessage)
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
err = activeConfig.ResolveNetwork(parser)
|
err = activeConfig.ResolveNetwork(parser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
|
Loading…
x
Reference in New Issue
Block a user