diff --git a/lib/puppet/type/dns_rr.rb b/lib/puppet/type/dns_rr.rb index 3e9fe6b..d003332 100644 --- a/lib/puppet/type/dns_rr.rb +++ b/lib/puppet/type/dns_rr.rb @@ -7,7 +7,7 @@ Puppet::Type.newtype(:dns_rr) do desc "Class/Type/Name for the resource record" validate do |value| - if (value =~ /^([A-Z]+)\/([A-Z]+)\/[a-zA-Z0-9._-]+$/) + if (value =~ /^([A-Z]+)\/([A-Z]+)\/((\*\.)?([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+)$/) rrclass = $1 if ( !%w(IN CH HS).include? rrclass ) Util::Errors.fail "Invalid resource record class: %s" % rrdata diff --git a/lib/puppet/type/resource_record.rb b/lib/puppet/type/resource_record.rb index 8fe90fc..989b449 100644 --- a/lib/puppet/type/resource_record.rb +++ b/lib/puppet/type/resource_record.rb @@ -24,7 +24,7 @@ Puppet::Type.newtype(:resource_record) do isrequired validate do |value| - Util::Errors.fail "Invalid value for record: #{value}" unless value =~ /^([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+$/ + Util::Errors.fail "Invalid value for record: #{value}" unless value =~ /^(\*\.)?([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+$/ end end