summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2009-09-13 23:00:41 +0200
committerJames Turnbull <james@lovedthanlost.net>2009-09-16 07:17:24 +1000
commitd21b2664abcb13df2967af8caa881e41b19b3b81 (patch)
treec25231e0151c1fc78151ce0faaf5a06515f0d08b /lib
parentcb90528c041b63c1c483ac8650d1d9c67a12d791 (diff)
downloadpuppet-d21b2664abcb13df2967af8caa881e41b19b3b81.tar.gz
puppet-d21b2664abcb13df2967af8caa881e41b19b3b81.tar.xz
puppet-d21b2664abcb13df2967af8caa881e41b19b3b81.zip
Fix #2627 - regex node name could lead to invalid tag
We're converting the regex to a straight name to be used as the node class name which later on will be used as tag. It was possible to generate an invalid tag name (containing leading or successive dots). Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/parser/ast/leaf.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
index d10ea62f4..2f00ea78d 100644
--- a/lib/puppet/parser/ast/leaf.rb
+++ b/lib/puppet/parser/ast/leaf.rb
@@ -102,9 +102,7 @@ class Puppet::Parser::AST
end
def to_classname
- classname = @value.to_s.downcase
- classname.gsub!(/[^-a-zA-Z0-9:.]/,'') if regex?
- classname
+ to_s.downcase.gsub(/[^-a-zA-Z0-9:.]/,'').sub(/^\.+/,'')
end
# implementing eql? and hash so that when an HostName is stored