Le drapeau de neutralisation du pare-feu passe cote commun

Declare dans sys_firewall_windows.go, il n'etait qu'ECRIT par les tests
sur les autres plateformes : staticcheck le signalait mort (U1000) et la
CI cassait. Il vit desormais dans sys_network.go, ou setLANExposure le
lit sur les trois plateformes.
This commit is contained in:
nathaninline committed 2026-08-08 20:05:18 +02:00
1 parent 52baab5786
commit d881895301
3 files changed
+13 -12

No files matched your search

-4
View File
@@ -8,10 +8,6 @@ package ajean
// n'en pilote donc aucun : « inconnu » dit exactement ça, et l'interface
// n'affiche pas d'avertissement de pare-feu là où il n'y a rien à avertir.
// firewallInert n'a de rôle que sous Windows (voir sys_firewall_windows.go) ;
// il existe ici pour que le code de test reste commun aux trois plateformes.
var firewallInert bool
func firewallOpen(int) error { return nil }
func firewallClose(int) error { return nil }
-6
View File
@@ -29,12 +29,6 @@ func firewallRuleName(port int) string {
// netsh exécute netsh sans faire clignoter de console (hideCmd) et renvoie sa
// sortie combinée.
//
// firewallInert coupe tout appel à netsh. Positionné par les tests : une suite
// qui laisse une règle entrante derrière elle est un effet de bord inacceptable,
// et sur un runner élevé elle ouvrirait le port pour de bon.
var firewallInert bool
func netsh(args ...string) (string, error) {
if firewallInert {
return "", fmt.Errorf("pare-feu non piloté")
+13 -2
View File
@@ -25,6 +25,14 @@ import (
// faire (poser une règle de pare-feu exige les droits administrateur, que
// l'installation d'AJEAN ne réclame pas).
// firewallInert coupe tout pilotage du pare-feu. Positionné par les tests : une
// suite qui laisse une règle entrante derrière elle est un effet de bord
// inacceptable, et sur un runner élevé elle ouvrirait le port pour de bon.
// Déclaré ici, et non dans sys_firewall_windows.go, pour être LU sur les trois
// plateformes (sinon il n'est qu'écrit par les tests hors Windows, ce que
// staticcheck signale à juste titre comme une variable morte).
var firewallInert bool
// hostLocalOnly est l'adresse d'écoute « cette machine seulement ».
const hostLocalOnly = "127.0.0.1"
@@ -84,9 +92,12 @@ func setLANExposure(on bool) (netStatus, error) {
return netStatus{}, err
}
port := LLMPort()
if on {
switch {
case firewallInert:
// rien : voir la note sur firewallInert
case on:
_ = firewallOpen(port)
} else {
default:
_ = firewallClose(port)
}
return networkStatus(), nil