From dc594d091c7fc35df7243cf2363cceb521b3339e Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Thu, 25 Feb 2021 17:38:09 +0100 Subject: [PATCH] Ignore stream name case --- auth/basic/basic_test.go | 6 +++--- stream/srt/srt.go | 4 ++-- web/handler.go | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/auth/basic/basic_test.go b/auth/basic/basic_test.go index 73236b1..ca5d351 100644 --- a/auth/basic/basic_test.go +++ b/auth/basic/basic_test.go @@ -10,19 +10,19 @@ func TestBasicLogin(t *testing.T) { // Test good credentials backend, _ := New(&Options{Credentials: basicCredentials}) - ok, err := backend.Login("demo", "demo") + ok, _, err := backend.Login("demo", "demo") if !ok { t.Error("Error while logging with the basic authentication:", err) } // Test bad username - ok, err = backend.Login("baduser", "demo") + ok, _, err = backend.Login("baduser", "demo") if ok { t.Error("Authentification failed to fail:", err) } // Test bad password - ok, err = backend.Login("demo", "badpass") + ok, _, err = backend.Login("demo", "badpass") if ok { t.Error("Authentification failed to fail:", err) } diff --git a/stream/srt/srt.go b/stream/srt/srt.go index e821ec5..cfee3e4 100644 --- a/stream/srt/srt.go +++ b/stream/srt/srt.go @@ -79,7 +79,7 @@ func Serve(streams *messaging.Streams, authBackend auth.Backend, cfg *Options) { if len(split) > 1 { // password was provided so it is a streamer - name, password := split[0], split[1] + name, password := strings.ToLower(split[0]), split[1] if authBackend != nil { // check password ok, username, err := authBackend.Login(name, password) @@ -94,7 +94,7 @@ func Serve(streams *messaging.Streams, authBackend auth.Backend, cfg *Options) { go handleStreamer(s, streams, name) } else { // password was not provided so it is a viewer - name := split[0] + name := strings.ToLower(split[0]) // Send stream go handleViewer(s, streams, name) diff --git a/web/handler.go b/web/handler.go index fb3b063..c733a1c 100644 --- a/web/handler.go +++ b/web/handler.go @@ -52,7 +52,7 @@ func viewerHandler(w http.ResponseWriter, r *http.Request) { } host = realHost } - host = strings.Replace(host, ".", "-", -1) + host = strings.ToLower(strings.Replace(host, ".", "-", -1)) if streamID, ok := cfg.MapDomainToStream[host]; ok { // Move home page to /about if path == "about" { @@ -97,6 +97,7 @@ func staticHandler() http.Handler { func statisticsHandler(w http.ResponseWriter, r *http.Request) { // Retrieve stream name from URL name := strings.SplitN(strings.Replace(r.URL.Path[7:], "/", "", -1), "@", 2)[0] + name = strings.ToLower(name) userCount := 0 // Clients have a unique generated identifier per session, that expires in 40 seconds.