diff --git a/lib/rack/session/cookie.rb b/lib/rack/session/cookie.rb index 830a4e3..b724822 100644 --- a/lib/rack/session/cookie.rb +++ b/lib/rack/session/cookie.rb @@ -266,6 +266,10 @@ def write_session(req, session_id, session, options) session = session.merge("session_id" => session_id) session_data = encode_session_data(session) + if @legacy_hmac_secret + session_data << "--#{legacy_generate_hmac(session_data)}" + end + if session_data.size > (4096 - @key.size) req.get_header(RACK_ERRORS).puts("Warning! Rack::Session::Cookie data size exceeds 4K.") nil