summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 19:47:51 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 19:47:51 +0000
commitfd24250be09e54fcbfaff1ab524f2d9796835299 (patch)
treeb8f2b93e1cf78279d4133d8274935447765f6dc5
parentd92c204ed3899d775e4f47d79e3fec91e44ae2c3 (diff)
downloadredmine-fd24250be09e54fcbfaff1ab524f2d9796835299.tar.gz
redmine-fd24250be09e54fcbfaff1ab524f2d9796835299.zip
Fixed: crypting blank passwords raises an error (#9137).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7985 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/ciphering.rb2
-rw-r--r--test/unit/lib/redmine/ciphering_test.rb8
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')