summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/pw_hash.rb
diff options
context:
space:
mode:
authorDavid Schmitt <david.schmitt@puppetlabs.com>2015-04-22 16:04:00 -0700
committerDavid Schmitt <david.schmitt@puppetlabs.com>2015-05-05 13:30:57 +0100
commit9bae8356fded9d1c7aaea96cba246709bfe1a516 (patch)
tree84735c999d69fa72a70957beda6516600dd0f33a /lib/puppet/parser/functions/pw_hash.rb
parent6a0a6153d59715d07f6bc50135df4adbae3d1334 (diff)
pw_hash: avoid ruby magic when running on java
Diffstat (limited to 'lib/puppet/parser/functions/pw_hash.rb')
-rw-r--r--lib/puppet/parser/functions/pw_hash.rb10
1 files 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