diff options
author | Starfall <us@starfall.systems> | 2021-02-26 22:07:00 -0600 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2021-02-26 22:07:00 -0600 |
commit | 033b1b5b900babc9b068ddad0ae644c5f15e9ffe (patch) | |
tree | 76a4d5f8890836e855cccdf4ad7d58fd9c0159ee /lib/action_dispatch/cookie_jar_extensions.rb | |
parent | 35f9f9565e142b8c8e7541549046bad679f1438d (diff) | |
parent | 4aa860b65bd796b09dc0ceffa1fdd7de31060a34 (diff) |
Merge remote-tracking branch 'glitchsoc/main' into main
Diffstat (limited to 'lib/action_dispatch/cookie_jar_extensions.rb')
-rw-r--r-- | lib/action_dispatch/cookie_jar_extensions.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/action_dispatch/cookie_jar_extensions.rb b/lib/action_dispatch/cookie_jar_extensions.rb index 44c39c1f8..1be9053ba 100644 --- a/lib/action_dispatch/cookie_jar_extensions.rb +++ b/lib/action_dispatch/cookie_jar_extensions.rb @@ -7,9 +7,19 @@ module ActionDispatch # Monkey-patch ActionDispatch to serve secure cookies to Tor Hidden Service # users. Otherwise, ActionDispatch would drop the cookie over HTTP. def write_cookie?(*) - request.headers['Host'].ends_with?('.onion') || super + request.host.end_with?('.onion') || super end end end ActionDispatch::Cookies::CookieJar.prepend(ActionDispatch::CookieJarExtensions) + +module Rack + module SessionPersistedExtensions + def security_matches?(request, options) + request.host.end_with?('.onion') || super + end + end +end + +Rack::Session::Abstract::Persisted.prepend(Rack::SessionPersistedExtensions) |