feat(fls): DNS records from /dns/hosts, as Java's server answers them

Java's DNS server reads its records from the text file /dns/hosts on every
query. dnsHosts.ts ports that reading (DNSServer.leseRecordListe,
ResourceRecord, Dateisystem.holeDatei) and keeps in the model the records
Java answers: type exactly A, MX or NS, and a name Java accepted. The file
stays in the file system as it is.

Both oracles read 76 hand-picked hosts files (dns-hosts.cases.txt): the
Java oracle through DNSServer.holeResourceRecords (DnsHostsCases), the
Swift oracle through TopologyDNSHostsFileCodec (--dns-hosts). The Java view
matches Java on every case; the model matches Swift except for 33 named
cases in twelve reasons: Java splits at single spaces and LF only, has no
comments or "IN", turns a TTL that is no int into 3600, keeps duplicates,
and empties names with a leading digit. The Swift dump now carries each
server's records; the corpus comparison covers them on 16 files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 06:38:01 +00:00
co-authored by Claude Opus 5.5
parent 1cc0dfd899
commit c80d212c90
17 changed files with 2518 additions and 11 deletions
+754
View File
@@ -0,0 +1,754 @@
[
[
"www.filius.de. A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"WWW.Filius.DE A 3600 1.2.3.4\\u000A",
[
[
"WWW.Filius.DE.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de a 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"a",
3600,
"1.2.3.4"
]
]
],
[
"filius.de mx 3600 mail.filius.de\\u000A",
[
[
"filius.de.",
"mx",
3600,
"mail.filius.de"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de\\u0009A\\u00093600\\u00091.2.3.4\\u000A",
[]
],
[
" www.filius.de A 3600 1.2.3.4 \\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4 # comment\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"# www.filius.de A 3600 1.2.3.4\\u000A",
[
[
"",
"www.filius.de",
3600,
"3600"
]
]
],
[
"www.filius.de A 3600 1.2.3.4#x\\u000A",
[]
],
[
"www.filius.de A IN 3600 1.2.3.4\\u000A",
[]
],
[
"www.filius.de 3600 IN A 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"3600",
3600,
"A"
]
]
],
[
"www.filius.de A x 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A -5 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
-5,
"1.2.3.4"
]
]
],
[
"www.filius.de A 0 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
0,
"1.2.3.4"
]
]
],
[
"www.filius.de A +5 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
5,
"1.2.3.4"
]
]
],
[
"www.filius.de A 4294967295 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 99999999999 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 010.0.0.1\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"010.0.0.1"
]
]
],
[
"www.filius.de A 3600 1.2.3\\u000A",
[]
],
[
"www.filius.de A 3600 256.0.0.1\\u000A",
[]
],
[
"www.filius.de A 3600 1.2.3.4.\\u000A",
[]
],
[
"www.filius.de A 3600 1.2.3.4 extra\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600\\u000A",
[]
],
[
"1und1.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"a_b.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"-a.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"a-.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www..de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de.. A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.1und1.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.a\\u005Cb.de A 3600 1.2.3.4\\u000A",
[
[
"www.a\\b.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"m\\u00FCller.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.de A 3600 1.2.3.4\\u000A",
[
[
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.de A 3600 1.2.3.4\\u000A",
[
[
"",
"A",
3600,
"1.2.3.4"
]
]
],
[
"localhost A 3600 127.0.0.1\\u000A",
[
[
"localhost.",
"A",
3600,
"127.0.0.1"
]
]
],
[
". NS 3600 dns-root.\\u000A",
[
[
".",
"NS",
3600,
"dns-root."
]
]
],
[
"de NS 3600 dns.de\\u000A",
[
[
"de.",
"NS",
3600,
"dns.de."
]
]
],
[
"de. NS 3600 .\\u000A",
[
[
"de.",
"NS",
3600,
"."
]
]
],
[
"filius.de MX 3600 mail.filius.de\\u000A",
[
[
"filius.de.",
"MX",
3600,
"mail.filius.de."
]
]
],
[
"filius.de MX 3600 10 mail.filius.de\\u000A",
[]
],
[
"filius.de MX 3600 1.2.3.4\\u000A",
[]
],
[
"filius.de CNAME 3600 www.filius.de\\u000A",
[
[
"filius.de.",
"CNAME",
3600,
"www.filius.de"
]
]
],
[
"filius.de TXT 3600 hello\\u000A",
[
[
"filius.de.",
"TXT",
3600,
"hello"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000Awww.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
],
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000Awww.filius.de A 7200 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
],
[
"www.filius.de.",
"A",
7200,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000AWWW.filius.de. A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
],
[
"WWW.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000Awww.filius.de A 3600 1.2.3.5\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
],
[
"www.filius.de.",
"A",
3600,
"1.2.3.5"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000D\\u000Amail.filius.de A 3600 1.2.3.5\\u000D\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
],
[
"mail.filius.de.",
"A",
3600,
"1.2.3.5"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000Dmail.filius.de A 3600 1.2.3.5\\u000D",
[]
],
[
"www.filius.de A 3600 1.2.3.4\\u2028mail.filius.de A 3600 1.2.3.5\\u000A",
[]
],
[
"www.filius.de\\u00A0A 3600 1.2.3.4\\u000A",
[]
],
[
"www.filius.de A 3600 1.2.3.4\\u0085\\u000A",
[]
],
[
"",
[]
],
[
"\\u000A\\u000Awww.filius.de A 3600 1.2.3.4\\u000A\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"filius.de. MX 3600 smtp.filius.de.\\u000Adns-root. A 3600 141.99.5.13\\u000A. NS 3600 dns-root.\\u000A",
[
[
"filius.de.",
"MX",
3600,
"smtp.filius.de."
],
[
"dns-root.",
"A",
3600,
"141.99.5.13"
],
[
".",
"NS",
3600,
"dns-root."
]
]
],
[
"www.filius.de A \\u0661\\u0660 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
10,
"1.2.3.4"
]
]
],
[
"www.filius.de A 2147483647 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
2147483647,
"1.2.3.4"
]
]
],
[
"www.filius.de A -2147483648 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
-2147483648,
"1.2.3.4"
]
]
],
[
"www.filius.de A 2147483648 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de \\u0009 A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"",
3600,
"3600"
]
]
],
[
"www.filius.de A \\u0009 3600 1.2.3.4\\u000A",
[]
],
[
"www.filius.de A 3600 1.2.3.4 \\u0009\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 0.0.0.0\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"0.0.0.0"
]
]
],
[
"www.filius.de A 3600 00000000000000000001.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"00000000000000000001.2.3.4"
]
]
],
[
"filius.de NS 3600 dns..de\\u000A",
[]
],
[
"filius.de NS 3600 dns.filius.de..\\u000A",
[]
],
[
"filius.de. MX 3600 Mail.Filius.DE.\\u000A",
[
[
"filius.de.",
"MX",
3600,
"Mail.Filius.DE."
]
]
],
[
"www.filius.de A 3600 .1.2.3\\u000A",
[
[
"www.filius.de.",
"A",
3600,
".1.2.3"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u0001\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
],
[
"www.filius.de A 3600 1.2.3.4\\u00A0\\u000A",
[]
],
[
"\\u001Fwww.filius.de A 3600 1.2.3.4\\u000A",
[
[
"www.filius.de.",
"A",
3600,
"1.2.3.4"
]
]
]
]