Sha256: 5b201f3dc8742c762349cb26d624ea280f3ce1bcdb505dea193420daaf986f5c
Contents?: true
Size: 719 Bytes
Versions: 20
Compression:
Stored size: 719 Bytes
Contents
require 'digest/md5' module Puppet::Parser::Functions newfunction(:postgresql_escape, :type => :rvalue, :doc => <<-EOS Safely escapes a string using $$ using a random tag which should be consistent EOS ) do |args| raise(Puppet::ParseError, "postgresql_escape(): Wrong number of arguments " + "given (#{args.size} for 1)") if args.size != 1 password = args[0] if password !~ /\$\$/ retval = "$$#{password}$$" else escape = Digest::MD5.hexdigest(password)[0..5].gsub(/\d/,'') until password !~ /#{escape}/ escape = Digest::MD5.hexdigest(escape)[0..5].gsub(/\d/,'') end retval = "$#{escape}$#{password}$#{escape}$" end retval end end
Version data entries
20 entries across 20 versions & 1 rubygems