summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrahim Hadriche <brahim.hadriche@gmail.com>2023-01-13 19:04:37 -0500
committerBrahim Hadriche <brahim.hadriche@gmail.com>2023-01-13 19:04:37 -0500
commit01acb9bfbfda00c4fdcb8de87c33174d694de530 (patch)
tree0dfbb12685e65e4550945455065bb88e549e7980 /src
parent05258d56bdc3f4de1f0da0c0dbd2d540f68cbdd5 (diff)
downloadinvidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.tar.gz
invidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.tar.bz2
invidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.zip
Login redirect to referer on logged-in user
Diffstat (limited to 'src')
-rw-r--r--src/invidious/helpers/utils.cr2
-rw-r--r--src/invidious/routes/login.cr6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr
index ed0cca38..4448508c 100644
--- a/src/invidious/helpers/utils.cr
+++ b/src/invidious/helpers/utils.cr
@@ -259,7 +259,7 @@ def get_referer(env, fallback = "/", unroll = true)
end
referer = referer.request_target
- referer = "/" + referer.gsub(/[^\/?@&%=\-_.0-9a-zA-Z]/, "").lstrip("/\\")
+ referer = "/" + referer.gsub(/[^\/?@&%=\-_.:,0-9a-zA-Z]/, "").lstrip("/\\")
if referer == env.request.path
referer = fallback
diff --git a/src/invidious/routes/login.cr b/src/invidious/routes/login.cr
index 99fc13a2..6454131a 100644
--- a/src/invidious/routes/login.cr
+++ b/src/invidious/routes/login.cr
@@ -6,14 +6,14 @@ module Invidious::Routes::Login
user = env.get? "user"
- return env.redirect "/feed/subscriptions" if user
+ referer = get_referer(env, "/feed/subscriptions")
+
+ return env.redirect referer if user
if !CONFIG.login_enabled
return error_template(400, "Login has been disabled by administrator.")
end
- referer = get_referer(env, "/feed/subscriptions")
-
email = nil
password = nil
captcha = nil