Commit graph

9 commits

Author SHA1 Message Date
70c548284e feat: add NS TTL consistency and NS-target CNAME checks
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
v0.2.0
Observe the NS RRset TTL from each parent server (ParentView.NSTTL) and
whether each NS target name is a CNAME alias (ChildNSView.CNAMETarget).
Two new rules judge the collected facts:

- delegation_ns_ttl_inconsistent: warns when parent servers disagree on
  the NS TTL, which indicates zone-data inconsistency between primaries.
- delegation_ns_is_cname: flags NS targets that are CNAME aliases as
  critical, per RFC 2181 §10.3 which forbids aliased NS names.
2026-05-16 21:32:05 +08:00
a16e01e1d4 feat: add 6 new delegation rules for deeper validation
Add rules for duplicate NS detection, cross-parent NS/DS consistency,
and DNSKEY integrity (KSK presence, protocol field, full KSK coverage by DS).
2026-05-16 17:03:26 +08:00
557bed4330 test: extend rule coverage to all 20 rules and edge cases 2026-05-16 13:26:06 +08:00
3366cebf7d refactor: always probe DNSKEY regardless of parent DS presence
Move the "skip DNSKEY when no parent DS" decision out of Collect and
into the rules, so the prober stays a pure observer. The dnskeyQueryRule
and dnskeyMatchesDSRule already return StatusUnknown when no parent DS
is present.
2026-05-16 13:18:30 +08:00
7e8faa7169 refactor: deduplicate primary parent view selection in Collect
Replace the inline loop with a call to the existing primaryParentView()
helper so the selection algorithm lives in exactly one place.
2026-05-16 13:14:08 +08:00
c884f3f80a Add CI/CD pipeline
All checks were successful
continuous-integration/drone/push Build is passing
2026-05-10 19:05:03 +08:00
392023fc80 Include rules in README 2026-04-29 22:46:24 +07:00
c0a9623ee0 docker: add HEALTHCHECK probing /health v0.1.0
The binary doubles as its own healthcheck client via the SDK's
-healthcheck flag, so the probe works in the scratch image
(no shell, no curl, no wget).
2026-04-26 19:46:01 +07:00
7e0f29075e Initial commit 2026-04-26 19:46:01 +07:00