Commit 22c0d6c
feat(dns): status reports what the resolver accepted, not what we wrote (#197)
The check that existed compared the config file against the registry --
two numbers we control, which agreed with each other -- and said nothing.
The resolver is the one that gets a vote, and it silently declines to
take them all: handed 4586 endings, systemd-resolved accepted 1090
alphabetically, rejected the rest one journal line at a time with
"Argument list too long", and reported success.
That is why `moshcode dns resolve chovy.hacker` answered while `curl
chovy.hacker` could not resolve, with `dns status` calling the routing
configured throughout. Nothing in the output distinguished an ending that
routed from one that had been dropped.
Run against this machine in that exact state, status now says:
! wrote 4586 endings, the resolver accepted 1090 — 3561 are not routed
missing: criminology crip cripple cripples crips crochet … and 3553 more
systemd-resolved caps how many search domains it takes and drops the rest:
journalctl -u systemd-resolved | grep 'Argument list too long'
a name in that list answers `moshcode dns resolve` and fails `curl`.
The missing list starts at the alphabetical cut, which is the evidence:
`.hacker` sits past it.
Unknown is never "none". A machine with no resolvectl -- dnsmasq, macOS,
anything not systemd -- gets null and is told nothing, rather than being
told its routing is missing.
Kept useful after the catch-all lands: `~.` cannot be truncated, so this
stays quiet there and keeps reporting for anyone still on a per-ending
config, which is every installed copy until they upgrade.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 8cabe9c commit 22c0d6c
2 files changed
Lines changed: 109 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
500 | 500 | | |
501 | 501 | | |
502 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
503 | 556 | | |
504 | 557 | | |
505 | 558 | | |
| |||
887 | 940 | | |
888 | 941 | | |
889 | 942 | | |
890 | | - | |
891 | | - | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
892 | 954 | | |
893 | | - | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
894 | 960 | | |
895 | 961 | | |
896 | 962 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
0 commit comments