diff options
author | Markus Roberts <Markus@reality.com> | 2010-10-21 14:23:32 -0700 |
---|---|---|
committer | Nick Lewis <nick@puppetlabs.com> | 2011-04-12 12:47:31 -0700 |
commit | d5dc3036eda210f318160e2442f7b65e0995ee23 (patch) | |
tree | c15071fb940f1c1d97a44068369d055a5e6c5d7a /lib/puppet/parser/functions | |
parent | b3baee8c625d1a8d8fb8be20d1534ed71188a5f2 (diff) | |
download | puppet-d5dc3036eda210f318160e2442f7b65e0995ee23.tar.gz puppet-d5dc3036eda210f318160e2442f7b65e0995ee23.tar.xz puppet-d5dc3036eda210f318160e2442f7b65e0995ee23.zip |
Fix for #5063 -- explicitly scope internal variable lookups
When we lookup a global variable / fact from code we should explicitly look
in the global scope.
Diffstat (limited to 'lib/puppet/parser/functions')
-rw-r--r-- | lib/puppet/parser/functions/extlookup.rb | 9 | ||||
-rw-r--r-- | lib/puppet/parser/functions/fqdn_rand.rb | 2 |
2 files changed, 3 insertions, 8 deletions
diff --git a/lib/puppet/parser/functions/extlookup.rb b/lib/puppet/parser/functions/extlookup.rb index bc55410b9..b5688d644 100644 --- a/lib/puppet/parser/functions/extlookup.rb +++ b/lib/puppet/parser/functions/extlookup.rb @@ -91,14 +91,9 @@ This is for back compatibility to interpolate variables with %. % interpolation raise Puppet::ParseError, ("extlookup(): wrong number of arguments (#{args.length}; must be <= 3)") if args.length > 3 - extlookup_datadir = lookupvar('extlookup_datadir') - extlookup_precedence = Array.new + extlookup_datadir = lookupvar('::extlookup_datadir') - extlookup_precedence = lookupvar('extlookup_precedence').collect do |var| - var.gsub(/%\{(.+?)\}/) do |capture| - lookupvar($1) - end - end + extlookup_precedence = lookupvar('::extlookup_precedence').collect { |var| var.gsub(/%\{(.+?)\}/) { lookupvar("::#{$1}") } } datafiles = Array.new diff --git a/lib/puppet/parser/functions/fqdn_rand.rb b/lib/puppet/parser/functions/fqdn_rand.rb index 91157a148..93ab98bcd 100644 --- a/lib/puppet/parser/functions/fqdn_rand.rb +++ b/lib/puppet/parser/functions/fqdn_rand.rb @@ -7,6 +7,6 @@ Puppet::Parser::Functions::newfunction(:fqdn_rand, :type => :rvalue, :doc => $random_number_seed = fqdn_rand(30,30)") do |args| require 'digest/md5' max = args.shift - srand(Digest::MD5.hexdigest([lookupvar('fqdn'),args].join(':')).hex) + srand(Digest::MD5.hexdigest([lookupvar('::fqdn'),args].join(':')).hex) rand(max).to_s end |