Files
meldestelle/docs/ToDo/ToDo-Firewall_2026-7-5.md

4.5 KiB
Raw Permalink Blame History

🎨 [Frontend Expert]

Kurzfazit

  • Die beiden Rechner sehen sich über mDNS höchstwahrscheinlich wegen FirewallRegeln/Zonen nicht. JmDNS registriert korrekt auf 192.168.0.124:8090, aber der Client (192.168.0.167, WLAN) empfängt keine mDNSAntworten → Fedora/Firewalld blockiert UDP 5353 Multicast in der aktiven Zone (WLAN/Public) sehr häufig standardmäßig.
  • Der DateiPicker unter Fedora KDE hakt im VerzeichnisModus vermutlich wegen der Kombination DIRECTORIES_ONLY + SAVE_DIALOG und/oder wegen unserer „schreibbar“-Validierung.

Sofortmaßnahmen (auf beiden Geräten, Host + Client)

  1. Firewalld freischalten (mdns + Ports) und neu laden
sudo firewall-cmd --get-active-zones
# notieren, in welcher Zone das aktive Interface liegt (z. B. public, home)
ZONE=public   # ggf. anpassen

# mDNS erlauben (UDP 5353 Multicast)
sudo firewall-cmd --zone=$ZONE --add-service=mdns --permanent

# unsere Dienste öffnen
sudo firewall-cmd --zone=$ZONE --add-port=8090/tcp --permanent   # WS-Chat
sudo firewall-cmd --zone=$ZONE --add-port=8080/tcp --permanent   # P2P-Server (PoC)

# Regeln anwenden
sudo firewall-cmd --reload

# Kontrolle
sudo firewall-cmd --zone=$ZONE --list-all

Hinweis: WLAN und Ethernet können in unterschiedlichen Zonen liegen (z. B. public vs. home). Bitte in beiden relevanten Zonen freischalten.

  1. Optional: Avahi als Indikator prüfen (nicht zwingend für JmDNS, aber gut für mDNSBaseline)
systemctl status avahi-daemon
  1. mDNSPakete verifizieren (nur wenn es nach 1) noch nicht klappt)
# Auf dem Client (WLANInterface anpassen):
sudo tcpdump -n -i wlp0s20f3 port 5353
# Auf dem Host (EthernetInterface anpassen):
sudo tcpdump -n -i <eth-iface> port 5353

Erwartung: Bei AppStart siehst du Multicast an 224.0.0.251. Wenn auf einer Seite „Stille“ herrscht, blockiert noch etwas.

  1. WSKonnektivität direkt testen (um Networking unabhängig von mDNS zu prüfen)
# vom Client auf den Host
websocat ws://192.168.0.124:8090/chat
# oder wscat: wscat -c ws://192.168.0.124:8090/chat

Wenn das klappt, ist der WSPfad ok; dann bleibt nur mDNS/Firewall als Ursache.

Erklärung zu deinen Logs

  • „[Discovery] Dienst 'fedora-stefan' … (Port 8090)“ → Host hat korrekt via mDNS veröffentlicht.
  • „Discovery Update: 0 Dienste gefunden“ am Client → keine mDNSAntworten angekommen (typisches FirewallSymptom bei Fedora/KDE, vor allem in Zone „public“).
  • Mehrfach „[P2P Server] Gestartet auf Port 8080“ → Wir haben noch einen Trigger, der den P2PStart mehrfach feuert. Funktional unkritisch für den aktuellen Befund; ich bereinige das im nächsten Patch mit einem zusätzlichen Guard.

Fedora KDE DateiPicker (JFileChooser) Workarounds jetzt, Fix als Patch im Anschluss

  • Mögliche Ursache 1: SAVE_DIALOG im OrdnerModus unter KDE verhält sich zickig. Besser: OPEN_DIALOG im DIRECTORIES_ONLYModus + eigener BestätigungsButtonText.
  • Mögliche Ursache 2: Unsere Validierung „Ordner existiert und ist beschreibbar“ verhindert die Übernahme (z. B. externer Stick nur lesbar, NTFS ohne Schreibrechte, Netzwerkpfad ohne Rechte). Teste bitte einmal mit einem lokalen Pfad wie ~/MeldestelleBackup.
  • QuickTest jetzt: Tippe im editierbaren Feld manuell ~/MeldestelleBackup, bestätige → sollte grün werden. Falls rot: bitte den Text der Fehlermeldung nennen.

Geplanter Fix (nach deiner Bestätigung):

  • DirectoryPicker: Wechsel auf showOpenDialog(null) mit JFileChooser.DIRECTORIES_ONLY, approveButtonText = "Auswählen", acceptAllFileFilterUsed=false. Fallback auf HOME, wenn currentDirectory ungültig. Beibehalt der freien Texteingabe.
  • Validierung: Fehlermeldung präziser („existiert nicht“ vs. „keine Schreibrechte“) und angebotene AutoErstellung, wenn der User bestätigt.

Bitte liefere kurz zurück

  • Nach Schritt 1 (firewalld): Finden sich Host (192.168.0.124) und Client (192.168.0.167) gegenseitig? Tauchen Services in der UI/Logs auf?
  • Falls noch nicht: kurzer Ausschnitt aus tcpdump beider Seiten (je 35 Zeilen genügen).
  • DateiPicker auf dem Client: Was passiert bei manuellem Pfad ~/MeldestelleBackup? Erscheint eine Fehlermeldung? Wenn ja, welcher Text?

Nächste Schritte (nach Feedback)

  • Ich liefere: Patch für den KDEPicker (OPEN_DIALOG) und einen zusätzlichen Guard gegen mehrfachen P2PStart; außerdem noch etwas DiscoveryLogging (Interface/ZonenHinweis).
  • Danach kümmern wir uns um Conveyor (WindowsInstaller aus CI, inkl. JVMFlag gegen die NettyWarnung).