AUTH-2975 don't check /etc on windows
This commit is contained in:
parent
292a7f07a2
commit
5499c77e62
|
@ -26,7 +26,8 @@ var (
|
||||||
|
|
||||||
// Launchd doesn't set root env variables, so there is default
|
// Launchd doesn't set root env variables, so there is default
|
||||||
// Windows default config dir was ~/cloudflare-warp in documentation; let's keep it compatible
|
// Windows default config dir was ~/cloudflare-warp in documentation; let's keep it compatible
|
||||||
DefaultConfigDirs = []string{"~/.cloudflared", "~/.cloudflare-warp", "~/cloudflare-warp", "/etc/cloudflared", DefaultUnixConfigLocation}
|
defaultUserConfigDirs = []string{"~/.cloudflared", "~/.cloudflare-warp", "~/cloudflare-warp"}
|
||||||
|
defaultNixConfigDirs = []string{"/etc/cloudflared", DefaultUnixConfigLocation}
|
||||||
)
|
)
|
||||||
|
|
||||||
const DefaultCredentialFile = "cert.pem"
|
const DefaultCredentialFile = "cert.pem"
|
||||||
|
@ -63,6 +64,16 @@ func DefaultConfigPath() string {
|
||||||
return filepath.Join(dir, DefaultConfigFiles[0])
|
return filepath.Join(dir, DefaultConfigFiles[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DefaultConfigSearchDirectories returns the default folder locations of the config
|
||||||
|
func DefaultConfigSearchDirectories() []string {
|
||||||
|
dirs := make([]string, len(defaultUserConfigDirs))
|
||||||
|
copy(dirs, defaultUserConfigDirs)
|
||||||
|
if runtime.GOOS != "windows" {
|
||||||
|
dirs = append(dirs, defaultNixConfigDirs...)
|
||||||
|
}
|
||||||
|
return dirs
|
||||||
|
}
|
||||||
|
|
||||||
// FileExists checks to see if a file exist at the provided path.
|
// FileExists checks to see if a file exist at the provided path.
|
||||||
func FileExists(path string) (bool, error) {
|
func FileExists(path string) (bool, error) {
|
||||||
f, err := os.Open(path)
|
f, err := os.Open(path)
|
||||||
|
@ -86,10 +97,10 @@ func FindInputSourceContext(context *cli.Context) (altsrc.InputSourceContext, er
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindDefaultConfigPath returns the first path that contains a config file.
|
// FindDefaultConfigPath returns the first path that contains a config file.
|
||||||
// If none of the combination of DefaultConfigDirs and DefaultConfigFiles
|
// If none of the combination of DefaultConfigSearchDirectories() and DefaultConfigFiles
|
||||||
// contains a config file, return empty string.
|
// contains a config file, return empty string.
|
||||||
func FindDefaultConfigPath() string {
|
func FindDefaultConfigPath() string {
|
||||||
for _, configDir := range DefaultConfigDirs {
|
for _, configDir := range DefaultConfigSearchDirectories() {
|
||||||
for _, configFile := range DefaultConfigFiles {
|
for _, configFile := range DefaultConfigFiles {
|
||||||
dirPath, err := homedir.Expand(configDir)
|
dirPath, err := homedir.Expand(configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
|
|
||||||
// GenerateFilePathFromURL will return a filepath for given access application url
|
// GenerateFilePathFromURL will return a filepath for given access application url
|
||||||
func GenerateFilePathFromURL(url *url.URL, suffix string) (string, error) {
|
func GenerateFilePathFromURL(url *url.URL, suffix string) (string, error) {
|
||||||
configPath, err := homedir.Expand(config.DefaultConfigDirs[0])
|
configPath, err := homedir.Expand(config.DefaultConfigSearchDirectories()[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,7 +254,7 @@ func StartServer(c *cli.Context, version string, shutdownC, graceShutdownC chan
|
||||||
dnsReadySignal := make(chan struct{})
|
dnsReadySignal := make(chan struct{})
|
||||||
|
|
||||||
if c.String("config") == "" {
|
if c.String("config") == "" {
|
||||||
logger.Infof("Cannot determine default configuration path. No file %v in %v", config.DefaultConfigFiles, config.DefaultConfigDirs)
|
logger.Infof("Cannot determine default configuration path. No file %v in %v", config.DefaultConfigFiles, config.DefaultConfigSearchDirectories())
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.IsSet("trace-output") {
|
if c.IsSet("trace-output") {
|
||||||
|
@ -499,7 +499,7 @@ func Before(c *cli.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.String("config") == "" {
|
if c.String("config") == "" {
|
||||||
logger.Debugf("Cannot determine default configuration path. No file %v in %v", config.DefaultConfigFiles, config.DefaultConfigDirs)
|
logger.Debugf("Cannot determine default configuration path. No file %v in %v", config.DefaultConfigFiles, config.DefaultConfigSearchDirectories())
|
||||||
}
|
}
|
||||||
inputSource, err := config.FindInputSourceContext(c)
|
inputSource, err := config.FindInputSourceContext(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -34,10 +34,10 @@ var (
|
||||||
argumentsUrl = developerPortal + "/reference/arguments/"
|
argumentsUrl = developerPortal + "/reference/arguments/"
|
||||||
)
|
)
|
||||||
|
|
||||||
// returns the first path that contains a cert.pem file. If none of the DefaultConfigDirs
|
// returns the first path that contains a cert.pem file. If none of the DefaultConfigSearchDirectories
|
||||||
// contains a cert.pem file, return empty string
|
// contains a cert.pem file, return empty string
|
||||||
func findDefaultOriginCertPath() string {
|
func findDefaultOriginCertPath() string {
|
||||||
for _, defaultConfigDir := range config.DefaultConfigDirs {
|
for _, defaultConfigDir := range config.DefaultConfigSearchDirectories() {
|
||||||
originCertPath, _ := homedir.Expand(filepath.Join(defaultConfigDir, config.DefaultCredentialFile))
|
originCertPath, _ := homedir.Expand(filepath.Join(defaultConfigDir, config.DefaultCredentialFile))
|
||||||
if ok, _ := config.FileExists(originCertPath); ok {
|
if ok, _ := config.FileExists(originCertPath); ok {
|
||||||
return originCertPath
|
return originCertPath
|
||||||
|
@ -95,7 +95,7 @@ func dnsProxyStandAlone(c *cli.Context) bool {
|
||||||
func findOriginCert(c *cli.Context, logger logger.Service) (string, error) {
|
func findOriginCert(c *cli.Context, logger logger.Service) (string, error) {
|
||||||
originCertPath := c.String("origincert")
|
originCertPath := c.String("origincert")
|
||||||
if originCertPath == "" {
|
if originCertPath == "" {
|
||||||
logger.Infof("Cannot determine default origin certificate path. No file %s in %v", config.DefaultCredentialFile, config.DefaultConfigDirs)
|
logger.Infof("Cannot determine default origin certificate path. No file %s in %v", config.DefaultCredentialFile, config.DefaultConfigSearchDirectories())
|
||||||
if isRunningFromTerminal() {
|
if isRunningFromTerminal() {
|
||||||
logger.Errorf("You need to specify the origin certificate path with --origincert option, or set TUNNEL_ORIGIN_CERT environment variable. See %s for more information.", argumentsUrl)
|
logger.Errorf("You need to specify the origin certificate path with --origincert option, or set TUNNEL_ORIGIN_CERT environment variable. See %s for more information.", argumentsUrl)
|
||||||
return "", fmt.Errorf("Client didn't specify origincert path when running from terminal")
|
return "", fmt.Errorf("Client didn't specify origincert path when running from terminal")
|
||||||
|
|
|
@ -51,7 +51,7 @@ func login(c *cli.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkForExistingCert() (string, bool, error) {
|
func checkForExistingCert() (string, bool, error) {
|
||||||
configPath, err := homedir.Expand(config.DefaultConfigDirs[0])
|
configPath, err := homedir.Expand(config.DefaultConfigSearchDirectories()[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", false, err
|
return "", false, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,7 +125,7 @@ func (sc *subcommandContext) tunnelCredentialsPath(tunnelID uuid.UUID) (string,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last resort look under default config directories
|
// Last resort look under default config directories
|
||||||
for _, configDir := range config.DefaultConfigDirs {
|
for _, configDir := range config.DefaultConfigSearchDirectories() {
|
||||||
if filePath, err := tunnelFilePath(tunnelID, configDir); err == nil {
|
if filePath, err := tunnelFilePath(tunnelID, configDir); err == nil {
|
||||||
if validFilePath(filePath) {
|
if validFilePath(filePath) {
|
||||||
return filePath, nil
|
return filePath, nil
|
||||||
|
|
Loading…
Reference in New Issue