Add security to local directory setup
This commit is contained in:
@@ -39,7 +39,7 @@ func main() {
|
|||||||
// Setup data directory
|
// Setup data directory
|
||||||
dataDir, err := setupDataDir()
|
dataDir, err := setupDataDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Cannot set data directory: %s; %w", os.Getenv("DATA_DIR"), err)
|
slog.Error("Cannot set data directory", "dir", os.Getenv("DATA_DIR"), "error", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ func setupDataDir() (string, error) {
|
|||||||
dataDir = filepath.Join(".", os.Getenv("DATA_DIR"))
|
dataDir = filepath.Join(".", os.Getenv("DATA_DIR"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !filepath.IsLocal(dataDir) {
|
||||||
|
return "", fmt.Errorf("directory '%s' is not valid or not local", dataDir)
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := os.Stat(dataDir); os.IsNotExist(err) {
|
if _, err := os.Stat(dataDir); os.IsNotExist(err) {
|
||||||
err := os.Mkdir(dataDir, 0o755)
|
err := os.Mkdir(dataDir, 0o755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user