From: Sergey Matveev Date: Tue, 3 Dec 2019 13:37:32 +0000 (+0300) Subject: Fix workability to password refreshing X-Git-Tag: v2.0.0~20 X-Git-Url: http://www.git.cypherpunks.ru/?p=gocheese.git;a=commitdiff_plain;h=8f8381ed1ab5b4ce972dfc6c205b157a3233c76f Fix workability to password refreshing --- diff --git a/gocheese.go b/gocheese.go index fa3b430..08f9d8e 100644 --- a/gocheese.go +++ b/gocheese.go @@ -468,6 +468,7 @@ func main() { signal.Notify(needsRefreshPasswd, syscall.SIGHUP) go func() { for range needsRefreshPasswd { + log.Println("Refreshing passwords") refreshPasswd() } }() diff --git a/passwd.go b/passwd.go index 2941956..b13a342 100644 --- a/passwd.go +++ b/passwd.go @@ -29,20 +29,22 @@ func refreshPasswd() { if err != nil { log.Fatal(err) } + passwordsNew := make(map[string]Auther) for i, credentials := range strings.Split(strings.TrimRight(string(passwd), "\n"), "\n") { splitted := strings.Split(credentials, ":") if len(splitted) != 2 { log.Fatalf("%s:%d: Wrong login:password format", *passwdPath, i) } login := splitted[0] - if _, exists := passwords[login]; exists { + if _, exists := passwordsNew[login]; exists { log.Fatalf("%s:%d: %s: already exists", *passwdPath, i, login) } _, auther, err := strToAuther(splitted[1]) if err != nil { log.Fatalf("%s:%d: %s: %s", *passwdPath, i, login, err) } - passwords[login] = auther + passwordsNew[login] = auther log.Println("Added password for " + login) } + passwords = passwordsNew }