Skip to content

Conversation

@mdelaossa
Copy link

@mdelaossa mdelaossa commented Sep 20, 2017

Adds CAA record support to DNSD. This will help with CA validation.

The record seems to be an 8-bit flag, then an 8-bit length of the type, followed by the payload (type and value).

Values generated by this have been validated by using https://sslmate.com/caa/ and dig 9.9.7-P3

Usage:

To get 0 issuewild "digicert.com" to show up on your DNS records, you should use:

res.answer.push({name: question.name, type: 'CAA', data: { type: 'issuewild', value: 'digicert.com' }, 'ttl': ttl});

Fixes #19

mdelaossa and others added 5 commits September 20, 2017 14:59
The 65 HTTPS record in particular is now frequently requested by Chrome
and without this mapping defined an error is thrown.
If an error is thrown while creating a Request object, such as when an
unknown resource record type is requested, there's no way for the client
to handle it. The error is thrown before the request is emitted and the
handler is called. This change leaves the underlying error throwing as
it is but catches the error in the server and emits them instead.
Any errors that might be emitted from the socket rather than the server
can't be handled by the client. This listens for errors on the connection
(and request and response) and emits them from the server.

In order to do that, the Request and Response objects (which inherit from
DNSMessage) must actually be EventEmitters. They often call emit, but only
in rare code paths. Those code paths would throw because emit wasn't a function.
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.

2 participants