feat: F4.6g2 the DNS server window, its records being /dns/hosts

Oracle DnsWindowRun uses Java's DNS server window as a person does and
asks a computer's resolver after each step. The core's DNS server is a
program its window changes: on and off (its socket on port 53),
recursive resolution, and records that are /dns/hosts, read on every
query as Java's server reads them (the reader moves from fls to the
core). The snapshot carries every installed DNS server with whether it
runs. The room takes the window's actions, sends its view and writes
the server back after the run; the editor shows Java's window with its
three tabs. Not taken from Java: a cell edit spilling into records of
another type, an add losing what another program wrote into the file,
an empty mail domain, a removal hitting the first record of the name.
A table cell no longer takes the room's value over what is being typed
(the web server's too).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-03 20:36:17 +00:00
co-authored by Claude Opus 5.5
parent e31da62ae0
commit 065b42430d
27 changed files with 2850 additions and 158 deletions
+34
View File
@@ -1493,3 +1493,37 @@ Gemessen (03.10.2026):
konnte nicht bestimmt werden!“.
* Nach dem Lauf speichert Java den Port des Servers, dass er läuft, und
Adresse und Port, die der Client zuletzt nahm.
### DNS-Server (F4.6g2)
`DnsWindowRun` öffnet Javas `GUIApplicationDNSServerWindow` auf dem
DNS-Server von mail-lan (Einträge A, MX gemischt) und benutzt es wie eine
Person: Startknopf, Kästchen „Aktiviere rekursive Domain-Auflösung“, je
Reiter (A, MX, NS) die zwei Felder und „Hinzufügen“ (auch mit dem, was Java
nicht nimmt), eine Tabellenzelle bearbeitet (wie Javas Tabelle sie beim Ende
der Bearbeitung schreibt), eine Zeile gewählt und „Auswahl entfernen“;
daneben schreibt ein anderes Programm in `/dns/hosts`. Je Schritt: Knopf,
Kästchen, Felder, die drei Tabellen, die Datei, Javas Dialoge und was der
Resolver des ersten Rechners für einige Namen bekommt
(`packages/core/test/dnsWindow.java.json`).
Gemessen (03.10.2026):
* Javas DNS-Server liest `/dns/hosts` bei jeder Anfrage: Ein von außen
eingetragener Name wird sofort beantwortet. Angehalten laufen Anfragen in
die Zeitüberschreitung.
* Das Adressfeld zeigt anfangs die eigene Adresse; nach „Hinzufügen“ sind
beide Felder leer. Was Javas Muster nicht nehmen, meldet ein Dialog mit
einem gültigen Beispiel; eine ungültige Zelle geht still zurück.
Doppelte Einträge sind erlaubt. Ein neuer Eintrag bekommt seinen Punkt am
Namen (MX und NS auch am Ziel) und TTL 3600.
* Javas Fehler:
* Eine bearbeitete Zelle zählt nur die Einträge ihrer Art und schreibt
nach dem Treffer in jeden Eintrag anderer Art bis zum nächsten eigenen:
Der Mailserver eines MX-Eintrags landete als „Adresse“ im folgenden
A-Eintrag, der dann ungültig ist und beim nächsten Schreiben verschwand.
* „Hinzufügen“ schreibt die Liste zurück, die Java vorher gelesen hat:
Was ein anderes Programm inzwischen in die Datei schrieb, ist weg.
* Eine leere Maildomain wird genommen (`. MX 3600 x.`).
* „Auswahl entfernen“ entfernt den ersten Eintrag des Namens, bei zwei
gleichen Namen also womöglich den anderen.