internal/dns/types.go: DNS record type constants (A, AAAA, NS, CNAME, SOA,
MX, TXT, SRV, PTR, ANY) with QNameType helper and EDNS0 defaults
internal/dns/query.go: Query/QueryWithExchange with UDP, configurable
EDNS0 buffer size, TCP fallback on truncation, always-TCP mode, configurable
retries with timeout, context support, and injectable ExchangeFunc for testing
internal/dns/decode.go: Response classification (answer, referral, NODATA,
NXDOMAIN, SERVFAIL), CNAME chain extraction with dedup, truncation/RCODE
detection, and section extraction utilities
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Phase 1.2 implementation:
MX, TXT, SRV, PTR, ANY) with QNameType helper and EDNS0 defaults
EDNS0 buffer size, TCP fallback on truncation, always-TCP mode, configurable
retries with timeout, context support, and injectable ExchangeFunc for testing
NXDOMAIN, SERVFAIL), CNAME chain extraction with dedup, truncation/RCODE
detection, and section extraction utilities
32 unit tests covering all acceptance criteria.
Co-authored-by: multica-agent github@multica.ai