Use os.MkdirAll() for creating the pt state directory.

merge-requests/3/head
Yawning Angel 10 years ago
parent 013c3c7c4d
commit 50cc180084

@ -297,31 +297,23 @@ func ptIsServer() bool {
return env != ""
}
func ptGetStateDir() string {
dir := os.Getenv("TOR_PT_STATE_LOCATION")
func ptGetStateDir() (dir string, err error) {
dir = os.Getenv("TOR_PT_STATE_LOCATION")
if dir == "" {
return dir
return
}
stat, err := os.Stat(dir)
err = os.MkdirAll(dir, 0755)
if err != nil {
if !os.IsNotExist(err) {
log.Fatalf("[ERROR] Failed to stat path: %s", err)
}
err = os.Mkdir(dir, 0755)
if err != nil {
log.Fatalf("[ERROR] Failed to create path: %s", err)
}
} else if !stat.IsDir() {
log.Fatalf("[ERROR] Pluggable Transport state location is not a directory")
log.Fatalf("[ERROR] Failed to create path: %s", err)
}
return dir
return
}
func ptInitializeLogging() {
dir := ptGetStateDir()
if dir == "" {
dir, err := ptGetStateDir()
if err != nil || dir == "" {
return
}

Loading…
Cancel
Save