diff options
Diffstat (limited to 'config/settings.rb')
-rw-r--r-- | config/settings.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/config/settings.rb b/config/settings.rb index 69d637761ea..58f38d103ea 100644 --- a/config/settings.rb +++ b/config/settings.rb @@ -85,6 +85,17 @@ class Settings < Settingslogic File.expand_path(path, Rails.root) end + # Returns a 256-bit key for attr_encrypted + def attr_encrypted_db_key_base + # Ruby 2.4+ requires passing in the exact required length for OpenSSL keys + # (https://github.com/ruby/ruby/commit/ce635262f53b760284d56bb1027baebaaec175d1). + # Previous versions quietly truncated the input. + # + # The default mode for the attr_encrypted gem is to use a 256-bit key. + # We truncate the 128-byte string to 32 bytes. + Gitlab::Application.secrets.db_key_base[0..31] + end + private def base_url(config) |