diff --git a/mattermost/bathroom.tar.gz b/mattermost/bathroom.tar.gz index 38acd1b..4cfb20d 100644 --- a/mattermost/bathroom.tar.gz +++ b/mattermost/bathroom.tar.gz Binary files differ diff --git a/mattermost/bathroom.tar.gz b/mattermost/bathroom.tar.gz index 38acd1b..4cfb20d 100644 --- a/mattermost/bathroom.tar.gz +++ b/mattermost/bathroom.tar.gz Binary files differ diff --git a/mattermost/server/bathroom-linux-amd64 b/mattermost/server/bathroom-linux-amd64 index 1ad72f0..09e7245 100755 --- a/mattermost/server/bathroom-linux-amd64 +++ b/mattermost/server/bathroom-linux-amd64 Binary files differ diff --git a/mattermost/bathroom.tar.gz b/mattermost/bathroom.tar.gz index 38acd1b..4cfb20d 100644 --- a/mattermost/bathroom.tar.gz +++ b/mattermost/bathroom.tar.gz Binary files differ diff --git a/mattermost/server/bathroom-linux-amd64 b/mattermost/server/bathroom-linux-amd64 index 1ad72f0..09e7245 100755 --- a/mattermost/server/bathroom-linux-amd64 +++ b/mattermost/server/bathroom-linux-amd64 Binary files differ diff --git a/mattermost/server/main/bathroom.go b/mattermost/server/main/bathroom.go index 24cc244..2a6f545 100644 --- a/mattermost/server/main/bathroom.go +++ b/mattermost/server/main/bathroom.go @@ -320,7 +320,7 @@ } return } - if r.URL.Path == "/admin-update-status" && authOk { + if r.URL.Path == "/admin-update-status-old" && authOk { r.ParseForm() p.configLock.Lock() p.doorLock.Lock() @@ -353,7 +353,11 @@ } return } - if r.URL.Path == "/status-update" { + if r.URL.Path == "/status-update" || + (r.URL.Path == "/admin-status-update" && + authOk && + SliceIndex(len(p.config.adminUsers), func(i int) bool { return p.config.adminUsers[i].Id == authUser }) != -1) { + r.ParseForm() p.log("Contacted by " + r.RemoteAddr) @@ -388,6 +392,12 @@ p.doorLock.Lock() defer p.doorLock.Unlock() + if r.URL.Path == "/admin-status-update" { + err = p.setDoorStatus(doorId8, statusVal, true) + fmt.Fprintf(w, "Door %d set to status %d", doorId8, statusVal) + return + } + if p.doors[doorId8-1].pubKey == nil { fmt.Fprintf(w, "No public key found for door %d", doorId8) return