From 9bae8356fded9d1c7aaea96cba246709bfe1a516 Mon Sep 17 00:00:00 2001 From: David Schmitt Date: Wed, 22 Apr 2015 16:04:00 -0700 Subject: pw_hash: avoid ruby magic when running on java --- lib/puppet/parser/functions/pw_hash.rb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/puppet/parser/functions/pw_hash.rb b/lib/puppet/parser/functions/pw_hash.rb index ad3e393..4682a63 100644 --- a/lib/puppet/parser/functions/pw_hash.rb +++ b/lib/puppet/parser/functions/pw_hash.rb @@ -42,15 +42,13 @@ Puppet::Parser::Functions::newfunction( if 'test'.crypt('$1$1') != '$1$1$Bp8CU9Oujr9SSEw53WV6G.' # JRuby < 1.7.17 if RUBY_PLATFORM == 'java' - # override String#crypt for password variable - def password.crypt(salt) - # puppetserver bundles Apache Commons Codec - org.apache.commons.codec.digest.Crypt.crypt(self.to_java_bytes, salt) - end + # puppetserver bundles Apache Commons Codec + org.apache.commons.codec.digest.Crypt.crypt(password.to_java_bytes, salt) else # MS Windows and other systems that don't support enhanced salts raise Puppet::ParseError, 'system does not support enhanced salts' end + else + password.crypt("$#{hash_type}$#{args[2]}") end - password.crypt("$#{hash_type}$#{args[2]}") end -- cgit v1.2.3