summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/prefix.rb
diff options
context:
space:
mode:
authorJeff McCune <jeff@puppetlabs.com>2012-03-07 11:52:30 -0800
committerJeff McCune <jeff@puppetlabs.com>2012-03-07 11:58:47 -0800
commit2ce669c7f8aea6b66b2150798a5ef4d253b00a2e (patch)
treea0c7c6ab9e25f41782ee9d0788f33a1e030b7756 /lib/puppet/parser/functions/prefix.rb
parent3310b9e190a85263689db8848c3855c54e0e0212 (diff)
(#12357) Add validate_absolute_path() function
This patch adds a new function to validate if a string is an absolute filesystem path or not. The intent of this is to make this functionality generic and reusable. Josh left a comment in another pull request I had: If node_installdir or $node_vardir is not defined, then we should raise an error, otherwise we may create a scheduled task to an untrusted directory. One solution to this comment is to validate the Puppet variable is an absolute path. Examples of this function look like: function_validate_absolute_path Using Puppet::Parser::Scope.new Garbage inputs validate_absolute_path(nil) should fail validate_absolute_path([nil]) should fail validate_absolute_path({"foo"=>"bar"}) should fail validate_absolute_path({}) should fail validate_absolute_path("") should fail relative paths validate_absolute_path("relative1") should fail validate_absolute_path(".") should fail validate_absolute_path("..") should fail validate_absolute_path("./foo") should fail validate_absolute_path("../foo") should fail validate_absolute_path("etc/puppetlabs/puppet") should fail validate_absolute_path("opt/puppet/bin") should fail absolute paths validate_absolute_path("C:/") should not fail validate_absolute_path("C:\\") should not fail validate_absolute_path("C:\\WINDOWS\\System32") should not fail validate_absolute_path("C:/windows/system32") should not fail validate_absolute_path("X:/foo/bar") should not fail validate_absolute_path("X:\\foo\\bar") should not fail validate_absolute_path("/var/tmp") should not fail validate_absolute_path("/var/lib/puppet") should not fail validate_absolute_path("/var/opt/../lib/puppet") should not fail validate_absolute_path("C:\\Program Files (x86)\\Puppet Labs\\Puppet Enterprise") should not fail validate_absolute_path("C:/Program Files (x86)/Puppet Labs/Puppet Enterprise") should not fail Finished in 0.05637 seconds 23 examples, 0 failures
Diffstat (limited to 'lib/puppet/parser/functions/prefix.rb')
0 files changed, 0 insertions, 0 deletions