diff options
author | Eugene Kenny <elkenny@gmail.com> | 2018-01-08 20:45:46 +0000 |
---|---|---|
committer | Eugene Kenny <elkenny@gmail.com> | 2018-01-08 20:45:46 +0000 |
commit | d034f488f9c2d694bcad9950df0310ca869956e0 (patch) | |
tree | dd42d7b15b986f25e6e8039b37f71ba6dc9b20cd /activesupport | |
parent | 93e6a0ec55a93fbb20d301763b69029b71d49fe9 (diff) | |
download | rails-d034f488f9c2d694bcad9950df0310ca869956e0.tar.gz rails-d034f488f9c2d694bcad9950df0310ca869956e0.tar.bz2 rails-d034f488f9c2d694bcad9950df0310ca869956e0.zip |
Use SHA-1 for non-sensitive digests by default
Instead of providing a configuration option to set the hash function,
switch to SHA-1 for new apps and allow upgrading apps to opt in later
via `new_framework_defaults_5_2.rb`.
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/CHANGELOG.md | 8 | ||||
-rw-r--r-- | activesupport/lib/active_support/railtie.rb | 7 |
2 files changed, 8 insertions, 7 deletions
diff --git a/activesupport/CHANGELOG.md b/activesupport/CHANGELOG.md index 3f77b191f9..481b25a545 100644 --- a/activesupport/CHANGELOG.md +++ b/activesupport/CHANGELOG.md @@ -3,12 +3,12 @@ *Daniel Ma* -* Allow the hash function used to generate non-sensitive digests, such as the - ETag header, to be specified with `config.active_support.hash_digest_class`. +* Use SHA-1 to generate non-sensitive digests, such as the ETag header. - The object provided must respond to `#hexdigest`, e.g. `Digest::SHA1`. + Enabled by default for new apps; upgrading apps can opt in by setting + `config.active_support.use_sha1_digests = true`. - *Dmitri Dolguikh* + *Dmitri Dolguikh*, *Eugene Kenny* ## Rails 5.2.0.beta2 (November 28, 2017) ## diff --git a/activesupport/lib/active_support/railtie.rb b/activesupport/lib/active_support/railtie.rb index 6b8fa676a9..605b50d346 100644 --- a/activesupport/lib/active_support/railtie.rb +++ b/activesupport/lib/active_support/railtie.rb @@ -70,9 +70,10 @@ module ActiveSupport end initializer "active_support.set_hash_digest_class" do |app| - if app.config.active_support.hash_digest_class - ActiveSupport::Digest.hash_digest_class = - app.config.active_support.hash_digest_class + config.after_initialize do + if app.config.active_support.use_sha1_digests + ActiveSupport::Digest.hash_digest_class = ::Digest::SHA1 + end end end end |