diff --git a/lib/puppet/functions/os_database_connection.rb b/lib/puppet/functions/os_database_connection.rb index b0b6fe53..4a3fc6a9 100644 --- a/lib/puppet/functions/os_database_connection.rb +++ b/lib/puppet/functions/os_database_connection.rb @@ -1,6 +1,6 @@ Puppet::Functions.create_function(:os_database_connection) do def os_database_connection(*args) - require 'uri' + require 'erb' if (args.size != 1) then raise(Puppet::ParseError, "os_database_connection(): Wrong number of arguments " + @@ -44,9 +44,9 @@ Puppet::Functions.create_function(:os_database_connection) do end if v.include?('username') and (v['username'] != :undef) and (v['username'].to_s != '') - parts[:userinfo] = URI.escape(v['username']) + parts[:userinfo] = ERB::Util.url_encode(v['username']) if v.include?('password') and (v['password'] != :undef) and (v['password'].to_s != '') - parts[:userinfo] += ":#{URI.escape(v['password'])}" + parts[:userinfo] += ":#{ERB::Util.url_encode(v['password'])}" end end diff --git a/lib/puppet/functions/os_transport_url.rb b/lib/puppet/functions/os_transport_url.rb index 4defda1a..0dcd0df8 100644 --- a/lib/puppet/functions/os_transport_url.rb +++ b/lib/puppet/functions/os_transport_url.rb @@ -80,7 +80,7 @@ Puppet::Functions.create_function(:os_transport_url) do end def os_transport_url(*args) - require 'uri' + require 'erb' unless args.size == 1 raise(ArgumentError, 'os_transport_url(): Wrong number of arguments') @@ -130,9 +130,9 @@ Puppet::Functions.create_function(:os_transport_url) do parts[:transport] = v['transport'] if v.include?('username') and (v['username'] != :undef) and (v['username'].to_s != '') - parts[:userinfo] = URI.escape(v['username']) + parts[:userinfo] = ERB::Util.url_encode(v['username']) if v.include?('password') and (v['password'] != :undef) and (v['password'].to_s != '') - parts[:userinfo] += ":#{URI.escape(v['password'])}" + parts[:userinfo] += ":#{ERB::Util.url_encode(v['password'])}" end end