Overview This issue is about adding support for DNS-over-QUIC (DoQ) in the dnscore library. The goal is to enable users to perform DNS queries over QUIC using dnscore's transport and high-level APIs. In turn, this feature will be exposed to the rbmk dig tool, allowing users to perform DNS-over-QUIC queries from the command line.
Open to contributors! I currently do not have time myself to work on this issue right now, so, please, let me know if you would like to take on this task. I am willing to provide feedback, guidance, and support to land this new feature.
Proposed Activities I believe we should proceed as follows:
This is the general idea of how I think we should proceed, but obviously we will adapt this plan as we go, if new information and reckonings come up.
Work Style
-
We encourage incremental development through multiple PRs
- Each task above can be split into smaller, focused PRs
- Early functionality can be merged while work continues
- Example progression:
- Initial discussion over here sketching out a plan
- Basic QUIC connection handling
- DNS protocol integration
- Structured logging implementation
- Test coverage expansion
- CLI integration
-
All code changes eventually require:
- Unit tests following existing patterns (see dotls_test.go, dohttps_test.go)
- Documentation updates (both code and design docs)
- Spec updates where relevant
- Passing CI checks
- Following Go style guidelines
-
Consider using a draft PRs for early feedback and discussion
- Share initial design thoughts and research findings
- Discuss QUIC library selection and integration approach
- Get feedback on implementation direction
- Early reviews help avoid major refactoring later
-
If your code is derived work from someone else's code, reference the original source code explicitly
-
Always include a SPDX-License-Identifier (and use GPL-3.0-or-later for new code)
Expected Outcomes I would say:
dnscore includes DoQ support
- the DoQ code is fully tested
- the
dnscoretest includes DoQ support
- the
internal/cmd/transport/ command includes DoQ support
- we have updated all the relevant docs
- we have released a new version of
dnscore including DoQ
- the
rbmk dig tool supports DoQ
Prerequisites I think:
Getting Started
- Comment on this issue expressing interest
- Fork the repository and set up your development environment
- Read through the dnscore design doc and the already-existing
dnscore protocol implementations
- Create a draft PR early to discuss implementation approach
- Full development documentation is not available yet, but I will be working on this to facilitate future work
Communications The RBMK and dnscore projects are hobby projects for me, at the moment, so expect some delays in communication. I will try to be as responsive as possible, but please be patient. I am available to discuss on GitHub issues and pull requests, and I am also available via Matrix as @bassosimone:matrix.org.
Overview This issue is about adding support for DNS-over-QUIC (DoQ) in the
dnscorelibrary. The goal is to enable users to perform DNS queries over QUIC usingdnscore's transport and high-level APIs. In turn, this feature will be exposed to therbmk digtool, allowing users to perform DNS-over-QUIC queries from the command line.Open to contributors! I currently do not have time myself to work on this issue right now, so, please, let me know if you would like to take on this task. I am willing to provide feedback, guidance, and support to land this new feature.
Proposed Activities I believe we should proceed as follows:
dnscorednscoreand expose it using the./internal/cmd/transport/command, such that we can test the new code with existing DoQ serversrbmkcommand to support DoQdotls_test.go,dohttps_test.go./dnscoretestpackageThis is the general idea of how I think we should proceed, but obviously we will adapt this plan as we go, if new information and reckonings come up.
Work Style
We encourage incremental development through multiple PRs
All code changes eventually require:
Consider using a draft PRs for early feedback and discussion
If your code is derived work from someone else's code, reference the original source code explicitly
Always include a
SPDX-License-Identifier(and useGPL-3.0-or-laterfor new code)Expected Outcomes I would say:
dnscoreincludes DoQ supportdnscoretestincludes DoQ supportinternal/cmd/transport/command includes DoQ supportdnscoreincluding DoQrbmk digtool supports DoQPrerequisites I think:
Getting Started
dnscoreprotocol implementationsCommunications The RBMK and dnscore projects are hobby projects for me, at the moment, so expect some delays in communication. I will try to be as responsive as possible, but please be patient. I am available to discuss on GitHub issues and pull requests, and I am also available via Matrix as
@bassosimone:matrix.org.