diff options
-rw-r--r-- | lib/redmine/ciphering.rb | 2 | ||||
-rw-r--r-- | test/unit/lib/redmine/ciphering_test.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/redmine/ciphering.rb b/lib/redmine/ciphering.rb index 959aa71c3..3dd5df826 100644 --- a/lib/redmine/ciphering.rb +++ b/lib/redmine/ciphering.rb @@ -23,7 +23,7 @@ module Redmine class << self def encrypt_text(text) - if cipher_key.blank? + if cipher_key.blank? || text.blank? text else c = OpenSSL::Cipher::Cipher.new("aes-256-cbc") diff --git a/test/unit/lib/redmine/ciphering_test.rb b/test/unit/lib/redmine/ciphering_test.rb index 6c0e0e368..94d40116e 100644 --- a/test/unit/lib/redmine/ciphering_test.rb +++ b/test/unit/lib/redmine/ciphering_test.rb @@ -43,6 +43,14 @@ class Redmine::CipheringTest < ActiveSupport::TestCase end end + def test_blank_password_should_be_clear + Redmine::Configuration.with 'database_cipher_key' => 'secret' do + r = Repository::Subversion.generate!(:password => '') + assert_equal '', r.password + assert_equal '', r.read_attribute(:password) + end + end + def test_unciphered_password_should_be_readable Redmine::Configuration.with 'database_cipher_key' => nil do r = Repository::Subversion.generate!(:password => 'clear') |