diff --git a/cmd/frcli/utils.go b/cmd/frcli/utils.go index 7db9f00..ae3f83c 100644 --- a/cmd/frcli/utils.go +++ b/cmd/frcli/utils.go @@ -159,12 +159,23 @@ func extractPathArgs(ctx *cli.Context) (string, string, error) { if faradayDir != faraday.FaradayDirBase || networkStr != faraday.DefaultNetwork { - tlsCertPath = filepath.Join( - faradayDir, networkStr, faraday.DefaultTLSCertFilename, - ) - macPath = filepath.Join( - faradayDir, networkStr, faraday.DefaultMacaroonFilename, - ) + // Only overwrite the tls cert path if the user has not + // explicitly defined it. + if !ctx.GlobalIsSet(tlsCertFlag.Name) { + tlsCertPath = filepath.Join( + faradayDir, networkStr, + faraday.DefaultTLSCertFilename, + ) + } + + // Only overwrite the macaroon path if the user has not + // explicitly defined it. + if !ctx.GlobalIsSet(macaroonPathFlag.Name) { + macPath = filepath.Join( + faradayDir, networkStr, + faraday.DefaultMacaroonFilename, + ) + } } return tlsCertPath, macPath, nil diff --git a/config.go b/config.go index ce749b1..cd4cf7e 100644 --- a/config.go +++ b/config.go @@ -192,6 +192,10 @@ func ValidateConfig(config *Config) error { config.TLSKeyPath = lncfg.CleanAndExpandPath(config.TLSKeyPath) config.MacaroonPath = lncfg.CleanAndExpandPath(config.MacaroonPath) + // Before adding the network namespace below, check if the user has + // overwritten the default faraday directory. + faradayDirSet := config.FaradayDir != FaradayDirBase + // Append the network type to faraday directory so they are "namespaced" // per network. config.FaradayDir = filepath.Join(config.FaradayDir, config.Network) @@ -205,7 +209,6 @@ func ValidateConfig(config *Config) error { // values, make sure that they are not set when faraday dir is set. We // fail hard here rather than overwriting and potentially confusing the // user. - faradayDirSet := config.FaradayDir != FaradayDirBase if faradayDirSet { tlsCertPathSet := config.TLSCertPath != DefaultTLSCertPath tlsKeyPathSet := config.TLSKeyPath != DefaultTLSKeyPath