R-66: the box's own address becomes visible (v0.159.0)

Leg A: „Hálózat" card on Beállítások → Rendszer — Helyi cím (LAN),
Hálózati név (only while Megosztás is enabled), Átjáró; live per render,
stored nowhere (S-5), „—" on unavailable.
Leg B: network section in the Debug system dump (interfaces/route/DNS/
lan_address), best-effort per item via the samba-netns door.
Leg C: NetBIOS trap named — Szerver field helper text + a purely lexical
hint on unreachable failures for single-label non-IP names.

Design note: all guest-net reads go through docker exec into the
host-networked felhom-samba container (stacks/guestnet.go, one seam) —
the controller's own netns is the docker bridge, so /proc/net/route etc.
would answer 172.x (the S-2 trap). Red-proofs: A2 gate-drop and C2
lexical-invert both failed as required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuFPHmHNrCJj1VhY6QdDMU
This commit is contained in:
2026-07-22 13:49:57 +02:00
parent 4aa2ce4b61
commit 7013a5fd2e
14 changed files with 779 additions and 2 deletions
+11
View File
@@ -1252,6 +1252,17 @@ func (s *Server) systemPageData() map[string]interface{} {
}
// Guest RAM resize card (v0.143.0, R-24): current allocation + bounds + capability/reachability.
s.memoryCardData(data)
// „Hálózat" card (R-66): where the box IS, live-computed per render and stored NOWHERE — the
// guest holds its address by DHCP, so a stored copy eventually misdirects people (S-5); an
// address-less row („—") beats a wrong address. Hálózati név renders ONLY while Megosztás is
// enabled: the NetBIOS name exists only while samba runs — showing \\FELHOM otherwise would be
// a wrong promise.
data["NetLANAddress"] = s.sambaLANAddress()
data["NetGateway"] = s.guestGateway()
if smb := s.settings.GetSMBSettings(); smb.Enabled {
data["NetSMBName"] = smb.EffectiveServerName()
}
return data
}