From: Tom Hughes Date: Thu, 2 Jun 2011 09:23:22 +0000 (+0100) Subject: Work round session expiry bug in rails 2.3.11 X-Git-Tag: live~6282^2~3 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/26b217c0ad7890086c475e5c3565fdf59e981179?ds=sidebyside Work round session expiry bug in rails 2.3.11 Rails uses :expire_after in the session options to specify when a sesssion should expire, but when Rack sets the cookie it expects to see :expires in the cookie options but Rails 2.3.11 fails to do the conversion so doesn't set the cookie expiry. To work around this, we set both options in the session options... --- diff --git a/vendor/plugins/session-persistence/lib/session_persistence.rb b/vendor/plugins/session-persistence/lib/session_persistence.rb index 50e30c0f1..2fac60332 100644 --- a/vendor/plugins/session-persistence/lib/session_persistence.rb +++ b/vendor/plugins/session-persistence/lib/session_persistence.rb @@ -22,9 +22,8 @@ module SessionPersistence def _persist_session if session[session_persistence_key] - request.session_options = request.session_options.dup + request.session_options[:expires] = Time.now + session[session_persistence_key] request.session_options[:expire_after] = session[session_persistence_key] - request.session_options.freeze end end end