mirror of
https://github.com/netbirdio/netbird.git
synced 2025-08-18 02:50:43 +02:00
Allow to create config file next to binary (#701)
Force to use the proper temp dir If we do not define the configDir then the Go create a random temp dir for copy routine. It is not optimal from security purpose.
This commit is contained in:
13
util/file.go
13
util/file.go
@@ -11,8 +11,7 @@ import (
|
||||
// The output JSON is pretty-formatted
|
||||
func WriteJson(file string, obj interface{}) error {
|
||||
|
||||
configDir, configFileName := filepath.Split(file)
|
||||
err := os.MkdirAll(configDir, 0750)
|
||||
configDir, configFileName, err := prepareConfigFileDir(file)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -100,3 +99,13 @@ func CopyFileContents(src, dst string) (err error) {
|
||||
err = out.Sync()
|
||||
return
|
||||
}
|
||||
|
||||
func prepareConfigFileDir(file string) (string, string, error) {
|
||||
configDir, configFileName := filepath.Split(file)
|
||||
if configDir == "" {
|
||||
return filepath.Dir(file), configFileName, nil
|
||||
}
|
||||
|
||||
err := os.MkdirAll(configDir, 0750)
|
||||
return configDir, configFileName, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user