diff options
author | Vipul A M <vipulnsward@gmail.com> | 2016-07-09 15:51:56 -0700 |
---|---|---|
committer | Vipul A M <vipulnsward@gmail.com> | 2016-09-01 03:00:10 +0530 |
commit | 79c847892f5a08515769ad2598d4e6726dcd65e3 (patch) | |
tree | d330726952e6e5a8175a0144cf7de4d272703aea /actionpack/lib/action_dispatch/middleware | |
parent | ae32b69ab9647f4072d6852c4d4d1f2a939360c1 (diff) | |
download | rails-79c847892f5a08515769ad2598d4e6726dcd65e3.tar.gz rails-79c847892f5a08515769ad2598d4e6726dcd65e3.tar.bz2 rails-79c847892f5a08515769ad2598d4e6726dcd65e3.zip |
Start passing cipher from EncryptedCookieJar since we use it to determine key length
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/cookies.rb | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/cookies.rb b/actionpack/lib/action_dispatch/middleware/cookies.rb index 8d7884b3b5..6f4fab396a 100644 --- a/actionpack/lib/action_dispatch/middleware/cookies.rb +++ b/actionpack/lib/action_dispatch/middleware/cookies.rb @@ -372,7 +372,7 @@ module ActionDispatch handle_options(options) - if @cookies[name.to_s] != value or options[:expires] + if @cookies[name.to_s] != value || options[:expires] @cookies[name.to_s] = value @set_cookies[name.to_s] = options @delete_cookies.delete(name.to_s) @@ -567,19 +567,17 @@ module ActionDispatch class EncryptedCookieJar < AbstractCookieJar # :nodoc: include SerializedCookieJars - DEFAULT_CIPHER = 'aes-256-cbc' - def initialize(parent_jar, cipher: DEFAULT_CIPHER) - super(parent_jar) + def initialize(parent_jar) + super if ActiveSupport::LegacyKeyGenerator === key_generator raise "You didn't set secrets.secret_key_base, which is required for this cookie jar. " + "Read the upgrade documentation to learn more about this new config option." end - key_len = OpenSSL::Cipher.new(cipher).key_len - secret = key_generator.generate_key(request.encrypted_cookie_salt || '')[0, key_len] - sign_secret = key_generator.generate_key(request.encrypted_signed_cookie_salt || '') + secret = key_generator.generate_key(request.encrypted_cookie_salt || "")[0, ActiveSupport::MessageEncryptor.key_len] + sign_secret = key_generator.generate_key(request.encrypted_signed_cookie_salt || "") @encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, digest: digest, serializer: ActiveSupport::MessageEncryptor::NullSerializer) end |