Skip to content

Conversation

@hanazuki
Copy link
Contributor

@hanazuki hanazuki commented Feb 28, 2024

This patch implements handling of CAA resource records defined by RFC8659.
Based on ruby/ruby#1732 by @aeris, with tests added and some changes:

  • There are no known deployment of CAA records outside of IN (Internet), but the RFC does not state that CAA records are class-specific. Thus CAA class is defined as a class-independent RRType.
  • CAA class stores flags field (a 1-octet bitset) as an Integer. In this way it's easier to ensure the encoded RR is in the valid wire format.

This patch implements handling of CAA resource records defined by [RFC8659].

- There are no known deployment of CAA records outside of IN (Internet),
  but the RFC does not state that CAA records are class-specific.
  Thus `CAA` class is defined as a class-independent RRType.
- `CAA` class stores `flags` field (a 1-octet bitset) as an Integer.
  In this way it's easier to ensure the encoded RR is in the valid wire format.

[RFC8659]: https://datatracker.ietf.org/doc/html/rfc8659

Co-authored-by: aeris <[email protected]>
@hanazuki hanazuki mentioned this pull request Feb 28, 2024
@hanazuki
Copy link
Contributor Author

The failing test looks unrelated to this patch: https://github.com/ruby/resolv/actions/runs/8078401965/job/22070645994?pr=48

@hsbt
Copy link
Member

hsbt commented Feb 28, 2024

Yes, Windows platform failed sometimes with Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 53896.

@sorah sorah merged commit c6c84e6 into ruby:master Feb 29, 2024
@aeris
Copy link
Contributor

aeris commented Feb 29, 2024

❤️

@hanazuki hanazuki deleted the caa branch March 1, 2024 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants