File tree Expand file tree Collapse file tree 3 files changed +12
-1
lines changed
lib/action_dispatch/middleware Expand file tree Collapse file tree 3 files changed +12
-1
lines changed Original file line number Diff line number Diff line change
1
+ * Consider onion services secure for cookies.
2
+
3
+ * Justin Tracey*
4
+
1
5
* Remove deprecated ` Rails.config.action_view.raise_on_missing_translations ` .
2
6
3
7
* Rafael Mendonça França*
Original file line number Diff line number Diff line change @@ -439,7 +439,7 @@ def make_set_cookie_header(header)
439
439
end
440
440
441
441
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
443
443
end
444
444
445
445
def handle_options ( options )
Original file line number Diff line number Diff line change @@ -457,6 +457,13 @@ def test_setting_cookie_with_secure
457
457
assert_equal ( { "user_name" => "david" } , @response . cookies )
458
458
end
459
459
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
+
460
467
def test_setting_cookie_with_secure_when_always_write_cookie_is_true
461
468
old_cookie , @request . cookie_jar . always_write_cookie = @request . cookie_jar . always_write_cookie , true
462
469
get :authenticate_with_secure
You can’t perform that action at this time.
0 commit comments