aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorEugene Kenny <elkenny@gmail.com>2017-12-22 22:13:19 +0000
committerEugene Kenny <elkenny@gmail.com>2018-01-07 20:13:58 +0000
commitd2113777a137bb6740d576cd75061782703f075b (patch)
tree87febcc0e62e623d3f23dec38f897a466a1caa6f /activesupport/lib
parent1ba8412607ae7190dc1c59718099e2f04372905d (diff)
downloadrails-d2113777a137bb6740d576cd75061782703f075b.tar.gz
rails-d2113777a137bb6740d576cd75061782703f075b.tar.bz2
rails-d2113777a137bb6740d576cd75061782703f075b.zip
Allow use_authenticated_message_encryption to be set in new_framework_defaults_5_2.rb
Enabling this option in new_framework_defaults_5_2.rb didn't work before, as railtie initializers run before application initializers. Using `respond_to?` to decide whether to set the option wasn't working either, as `ActiveSupport::OrderedOptions` responds to any message.
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/message_encryptor.rb4
-rw-r--r--activesupport/lib/active_support/railtie.rb8
2 files changed, 7 insertions, 5 deletions
diff --git a/activesupport/lib/active_support/message_encryptor.rb b/activesupport/lib/active_support/message_encryptor.rb
index 27fd061947..5236c776dd 100644
--- a/activesupport/lib/active_support/message_encryptor.rb
+++ b/activesupport/lib/active_support/message_encryptor.rb
@@ -81,9 +81,9 @@ module ActiveSupport
class MessageEncryptor
prepend Messages::Rotator::Encryptor
- class << self
- attr_accessor :use_authenticated_message_encryption #:nodoc:
+ cattr_accessor :use_authenticated_message_encryption, instance_accessor: false, default: false
+ class << self
def default_cipher #:nodoc:
if use_authenticated_message_encryption
"aes-256-gcm"
diff --git a/activesupport/lib/active_support/railtie.rb b/activesupport/lib/active_support/railtie.rb
index 91872e29c8..635d98367e 100644
--- a/activesupport/lib/active_support/railtie.rb
+++ b/activesupport/lib/active_support/railtie.rb
@@ -10,9 +10,11 @@ module ActiveSupport
config.eager_load_namespaces << ActiveSupport
initializer "active_support.set_authenticated_message_encryption" do |app|
- if app.config.active_support.respond_to?(:use_authenticated_message_encryption)
- ActiveSupport::MessageEncryptor.use_authenticated_message_encryption =
- app.config.active_support.use_authenticated_message_encryption
+ config.after_initialize do
+ unless app.config.active_support.use_authenticated_message_encryption.nil?
+ ActiveSupport::MessageEncryptor.use_authenticated_message_encryption =
+ app.config.active_support.use_authenticated_message_encryption
+ end
end
end