Skip to content

Commit 9d6f768

Browse files
authored
Merge pull request rails#41470 from jtracey/onion-cookies
Consider onion services secure for cookies
2 parents c14cb91 + 5055ac2 commit 9d6f768

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

actionpack/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
* Consider onion services secure for cookies.
2+
3+
*Justin Tracey*
4+
15
* Remove deprecated `Rails.config.action_view.raise_on_missing_translations`.
26

37
*Rafael Mendonça França*

actionpack/lib/action_dispatch/middleware/cookies.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ def make_set_cookie_header(header)
439439
end
440440

441441
def write_cookie?(cookie)
442-
request.ssl? || !cookie[:secure] || always_write_cookie
442+
request.ssl? || request.host.end_with?(".onion") || !cookie[:secure] || always_write_cookie
443443
end
444444

445445
def handle_options(options)

actionpack/test/dispatch/cookies_test.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,13 @@ def test_setting_cookie_with_secure
457457
assert_equal({ "user_name" => "david" }, @response.cookies)
458458
end
459459

460+
def test_setting_cookie_with_secure_on_onion_address
461+
@request.host = "fake.onion"
462+
get :authenticate_with_secure
463+
assert_cookie_header "user_name=david; path=/; secure; SameSite=Lax"
464+
assert_equal({ "user_name" => "david" }, @response.cookies)
465+
end
466+
460467
def test_setting_cookie_with_secure_when_always_write_cookie_is_true
461468
old_cookie, @request.cookie_jar.always_write_cookie = @request.cookie_jar.always_write_cookie, true
462469
get :authenticate_with_secure

0 commit comments

Comments
 (0)