Fix zone list filtering and BIND warning display; add a views guide

- jarl zone list showed only primary zones. zone create binds its --type
  flag (default "primary") to the same variable as list's --type, so the
  default leaked into the list filter and hid hint, secondary and forward
  zones. list now has its own variable. TestListQueries runs list
  commands against a fake server and checks the filters they send.
- named-checkconf/named-checkzone messages are classified by the tool's
  exit code: on success, everything printed is a warning. Warnings such
  as 'both "recursion no;" and "allow-recursion" active' were shown as
  errors. The CLI, jarld check and the web UI now label them as warnings
  and skip the routine "loaded serial" lines.
- The zone_outside_view error points at --adopt-zones.
- docs/views.md: step-by-step split DNS for a server that has no views
  yet, tested on a copy of a stock Ubuntu 26.04 setup. Linked from the
  README, concepts and validation docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
abrown38andClaude Opus 5.5 committed 2026-10-07 15:36:24 +00:00
1 parent 3c73afe0e1
commit 0795a1001e
13 files changed
+261 -26

No files matched your search

+11 -6
View File
@@ -88,13 +88,18 @@ func printResult(res *engine.Result) {
printProblems(res.Problems)
}
for _, m := range res.Check {
if m.Error {
obj := ""
if m.Object != "" {
obj = " [" + m.Object + "]"
}
fmt.Printf(" named-checkconf: %s%s\n", m.Text, obj)
if !m.Error && (strings.HasPrefix(m.Text, "loaded serial") || m.Text == "OK") {
continue
}
obj := ""
if m.Object != "" {
obj = " [" + m.Object + "]"
}
label := "named-checkconf"
if !m.Error {
label += " warning"
}
fmt.Printf(" %s: %s%s\n", label, m.Text, obj)
}
for _, w := range res.Warnings {
fmt.Println("warning:", w)