diff options
author | Brice Figureau <brice-puppet@daysofwonder.com> | 2010-03-03 20:35:46 +0100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2010-03-25 11:59:12 +1100 |
commit | 4b2b9ebfb566776373f48357e9df61a88b410faa (patch) | |
tree | 53eda77f4d1d3e15a5129728ba97a5f10358146e /lib/puppet/parser/ast/leaf.rb | |
parent | 19863c07f983ec181fb81c797ee8b9c8d335e18c (diff) | |
download | puppet-4b2b9ebfb566776373f48357e9df61a88b410faa.tar.gz puppet-4b2b9ebfb566776373f48357e9df61a88b410faa.tar.xz puppet-4b2b9ebfb566776373f48357e9df61a88b410faa.zip |
Fix #3229 - use original value in case/selector regex matching
The issue is that case/selectors are downcasing the value before it
is compared to the options.
Unfortunately regex are matching in a case sensitive way, which would
make the following manifest fail:
$var = "CaseSensitive"
case $var {
/CaseSensitive/: {
notice("worked")
}
default: {
fail "miserably"
}
}
This patch fixes the issue by making sure the regexp match is done
one the original (not downcased) value, but still doing a case
sensitive match.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib/puppet/parser/ast/leaf.rb')
-rw-r--r-- | lib/puppet/parser/ast/leaf.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb index c8ac6f7e3..ee7ee02e8 100644 --- a/lib/puppet/parser/ast/leaf.rb +++ b/lib/puppet/parser/ast/leaf.rb @@ -16,6 +16,7 @@ class Puppet::Parser::AST if ! options[:sensitive] && obj.respond_to?(:downcase) obj = obj.downcase end + value = value.downcase if not options[:sensitive] and value.respond_to?(:downcase) obj == value end |