summaryrefslogtreecommitdiffstats
path: root/lib/puppet/network
diff options
context:
space:
mode:
authorMax Martin <max@puppetlabs.com>2011-06-02 15:56:22 -0700
committerMax Martin <max@puppetlabs.com>2011-06-02 15:56:22 -0700
commit4801e10c81264b20c2d35b0d44c10cfb0668d1b9 (patch)
tree3e3024bbd4a46a3ab2af5bf29ec2f3b30db270d7 /lib/puppet/network
parent520cbc0292ec0cf75b6871bb0a4bc12bce506bb0 (diff)
parent4ad88017d3b8b8000325f5165520a6c21b48c469 (diff)
downloadpuppet-4801e10c81264b20c2d35b0d44c10cfb0668d1b9.tar.gz
puppet-4801e10c81264b20c2d35b0d44c10cfb0668d1b9.tar.xz
puppet-4801e10c81264b20c2d35b0d44c10cfb0668d1b9.zip
Merge branch '2.7.x'
* 2.7.x: (40 commits) (#7746) Fix bootstrap issues from #7717 fix. (#7683) Use ronn, when available, to render the output. (#7683) Add a 'man' face and subcommand to Puppet. maint: remove obsolete work-around code from help face. (#7699) Don't duplicate inherited action names on faces. (#7177) Deprecate implicit 'puppet apply' for 2.7.0 (#7717) Layout cleanup for subcommand extraction. #7211: Test unknown options don't shadow unknown actions. #7211: nasty logic error with global Face options taking arguments. #7211: more helpful error messages in various cases. maint: Fix order dependent test failure (#5966) Add support for hostname regular expressions in auth.conf (#7708) Delete extended documentation from configuration reference (#7707) Document signals in puppet agent and puppet master help add puppet master polling step for ticket 7117 (#5318) Always notice changes to manifests when compiling. (#5318) Always notice changes to manifests when compiling. (#7557) Remove Faces Application maint: Fix order dependent spec failure for face indirection (#7690) Don't blow up when listing terminuses available for faces ... Conflicts (resolved manually): acceptance/tests/ticket_7117_broke_env_criteria_authconf.rb
Diffstat (limited to 'lib/puppet/network')
-rwxr-xr-xlib/puppet/network/authstore.rb19
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/puppet/network/authstore.rb b/lib/puppet/network/authstore.rb
index 4ddd14feb..51fd34138 100755
--- a/lib/puppet/network/authstore.rb
+++ b/lib/puppet/network/authstore.rb
@@ -182,9 +182,11 @@ module Puppet
# we'll return a pattern of puppet.reductivelabs.com
def interpolate(match)
clone = dup
- clone.pattern = clone.pattern.reverse.collect do |p|
- p.gsub(/\$(\d)/) { |m| match[$1.to_i] }
- end.join(".")
+ if @name == :dynamic
+ clone.pattern = clone.pattern.reverse.collect do |p|
+ p.gsub(/\$(\d)/) { |m| match[$1.to_i] }
+ end.join(".")
+ end
clone
end
@@ -199,8 +201,13 @@ module Puppet
# Does the name match our pattern?
def matchname?(name)
- name = munge_name(name)
- (pattern == name) or (not exact? and pattern.zip(name).all? { |p,n| p == n })
+ case @name
+ when :domain, :dynamic, :opaque
+ name = munge_name(name)
+ (pattern == name) or (not exact? and pattern.zip(name).all? { |p,n| p == n })
+ when :regex
+ Regexp.new(pattern.slice(1..-2)).match(name)
+ end
end
# Convert the name to a common pattern.
@@ -240,6 +247,8 @@ module Puppet
[:dynamic,:exact,nil,munge_name(value)]
when /^\w[-.@\w]*$/ # ? Just like a host name but allow '@'s and ending '.'s
[:opaque,:exact,nil,[value]]
+ when /^\/.*\/$/ # a regular expression
+ [:regex,:inexact,nil,value]
else
raise AuthStoreError, "Invalid pattern #{value}"
end