diff --git a/cmd/setup.go b/cmd/setup.go index 71e659fab..c648a4b74 100644 --- a/cmd/setup.go +++ b/cmd/setup.go @@ -947,8 +947,7 @@ CONTINUE: func configureSite(conf map[string]interface{}, loadpoints []*core.Loadpoint, tariffs *tariff.Tariffs) (*core.Site, error) { site, err := core.NewSiteFromConfig(conf) if err != nil { - // TODO proper handling - panic(err) + return nil, err } if err := site.Boot(log, loadpoints, tariffs); err != nil { diff --git a/util/sponsor/auth.go b/util/sponsor/auth.go index 26bf1331d..56f4e59d4 100644 --- a/util/sponsor/auth.go +++ b/util/sponsor/auth.go @@ -13,7 +13,7 @@ import ( ) var ( - mu sync.Mutex + mu sync.RWMutex Subject, Token string ExpiresAt time.Time ) @@ -24,14 +24,14 @@ const ( ) func IsAuthorized() bool { - mu.Lock() - defer mu.Unlock() + mu.RLock() + defer mu.RUnlock() return len(Subject) > 0 } func IsAuthorizedForApi() bool { - mu.Lock() - defer mu.Unlock() + mu.RLock() + defer mu.RUnlock() return IsAuthorized() && Subject != unavailable && Token != "" }