12345678910111213141516171819202122232425 |
- # frozen_string_literal: true
- module ActionDispatch
- module CookieJarExtensions
- private
- # Monkey-patch ActionDispatch to serve secure cookies to Tor Hidden Service
- # users. Otherwise, ActionDispatch would drop the cookie over HTTP.
- def write_cookie?(*)
- 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)
|