From 7660ec8427bb428b6a0b2b5930b8c63981c50808 Mon Sep 17 00:00:00 2001 From: Integralist Date: Mon, 27 Oct 2025 18:22:17 +0000 Subject: [PATCH] fix(caa): add support for issuevmc --- lib/dnsruby/resource/CAA.rb | 4 ++-- test/tc_caa.rb | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dnsruby/resource/CAA.rb b/lib/dnsruby/resource/CAA.rb index 96c36b8..185e3fc 100644 --- a/lib/dnsruby/resource/CAA.rb +++ b/lib/dnsruby/resource/CAA.rb @@ -21,7 +21,7 @@ class CAA < RR ClassValue = nil #:nodoc: all TypeValue= Types::CAA #:nodoc: all - # The property tag for the record (issue|issuewild|iodef) + # The property tag for the record (issue|issuewild|issuemail|issuevmc|iodef|contactemail|contactphone) attr_accessor :property_tag # The value for the property_tag attr_accessor :property_value @@ -43,7 +43,7 @@ def flag end def from_string(input) #:nodoc: all - matches = (/(\d+) (issuewild|issuemail|issue|iodef|contactemail|contactphone) "(.+)"$/i).match(input) + matches = (/(\d+) (issuewild|issuemail|issuevmc|issue|iodef|contactemail|contactphone) "(.+)"$/i).match(input) if matches.nil? raise DecodeError.new("Cannot parse record: #{input[0...1000]}") end diff --git a/test/tc_caa.rb b/test/tc_caa.rb index 2d30378..8f89a96 100644 --- a/test/tc_caa.rb +++ b/test/tc_caa.rb @@ -26,6 +26,7 @@ def test_caa 'foo.com. IN CAA 1 issue "ca.example.net"' => [1, 'issue', 'ca.example.net'], 'foo.com. IN CAA 0 issuewild "ca.example.net"' => [0, 'issuewild', 'ca.example.net'], 'foo.com. IN CAA 0 issuemail "ca.example.net"' => [0, 'issuemail', 'ca.example.net'], + 'foo.com. IN CAA 0 issuevmc "ca.example.net"' => [0, 'issuevmc', 'ca.example.net'], 'foo.com. IN CAA 0 iodef "mailto:security@example.com"' => [0, 'iodef', 'mailto:security@example.com'], 'foo.com. IN CAA 0 issue "ca.example.net; account=230123"' => [0, 'issue', 'ca.example.net; account=230123'] }.each do |text, data|