From 8f8381ed1ab5b4ce972dfc6c205b157a3233c76f Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 3 Dec 2019 16:37:32 +0300 Subject: [PATCH] Fix workability to password refreshing --- gocheese.go | 1 + passwd.go | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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 } -- 2.44.0