Redirection after signing in fails when the back_url includes a port number (#41930).

Patch by Kenta Kumojima (user:kumojima) and Go MAEDA (user:maeda).


git-svn-id: https://svn.redmine.org/redmine/trunk@23465 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2025-01-28 05:49:12 +00:00
parent 11b949c574
commit 7ccf349e36
2 changed files with 20 additions and 4 deletions

View File

@@ -658,4 +658,22 @@ class AccountControllerTest < Redmine::ControllerTest
end
end
end
def test_validate_back_url
request.host = 'example.com'
assert_equal '/admin', @controller.send(:validate_back_url, 'http://example.com/admin')
assert_equal '/admin', @controller.send(:validate_back_url, 'http://dlopper:foo@example.com/admin')
assert_equal '/issues?query_id=1#top', @controller.send(:validate_back_url, 'http://example.com/issues?query_id=1#top')
assert_equal false, @controller.send(:validate_back_url, 'http://invalid.example.com/issues')
end
def test_validate_back_url_with_port
request.host = 'example.com:3000'
assert_equal '/admin', @controller.send(:validate_back_url, 'http://example.com:3000/admin')
assert_equal '/admin', @controller.send(:validate_back_url, 'http://dlopper:foo@example.com:3000/admin')
assert_equal '/issues?query_id=1#top', @controller.send(:validate_back_url, 'http://example.com:3000/issues?query_id=1#top')
assert_equal false, @controller.send(:validate_back_url, 'http://invalid.example.com:3000/issues')
end
end