mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-24 15:38:12 +02:00
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:
1 parent
52baab5786
commit
d881895301
3 files changed
+13
-12
No files matched your search
@@ -8,10 +8,6 @@ package ajean
|
|||||||
// n'en pilote donc aucun : « inconnu » dit exactement ça, et l'interface
|
// 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.
|
// 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 firewallOpen(int) error { return nil }
|
||||||
func firewallClose(int) error { return nil }
|
func firewallClose(int) error { return nil }
|
||||||
|
|
||||||
|
|||||||
@@ -29,12 +29,6 @@ func firewallRuleName(port int) string {
|
|||||||
|
|
||||||
// netsh exécute netsh sans faire clignoter de console (hideCmd) et renvoie sa
|
// netsh exécute netsh sans faire clignoter de console (hideCmd) et renvoie sa
|
||||||
// sortie combinée.
|
// 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) {
|
func netsh(args ...string) (string, error) {
|
||||||
if firewallInert {
|
if firewallInert {
|
||||||
return "", fmt.Errorf("pare-feu non piloté")
|
return "", fmt.Errorf("pare-feu non piloté")
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ import (
|
|||||||
// faire (poser une règle de pare-feu exige les droits administrateur, que
|
// faire (poser une règle de pare-feu exige les droits administrateur, que
|
||||||
// l'installation d'AJEAN ne réclame pas).
|
// 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 ».
|
// hostLocalOnly est l'adresse d'écoute « cette machine seulement ».
|
||||||
const hostLocalOnly = "127.0.0.1"
|
const hostLocalOnly = "127.0.0.1"
|
||||||
|
|
||||||
@@ -84,9 +92,12 @@ func setLANExposure(on bool) (netStatus, error) {
|
|||||||
return netStatus{}, err
|
return netStatus{}, err
|
||||||
}
|
}
|
||||||
port := LLMPort()
|
port := LLMPort()
|
||||||
if on {
|
switch {
|
||||||
|
case firewallInert:
|
||||||
|
// rien : voir la note sur firewallInert
|
||||||
|
case on:
|
||||||
_ = firewallOpen(port)
|
_ = firewallOpen(port)
|
||||||
} else {
|
default:
|
||||||
_ = firewallClose(port)
|
_ = firewallClose(port)
|
||||||
}
|
}
|
||||||
return networkStatus(), nil
|
return networkStatus(), nil
|
||||||
|
|||||||
Reference in new issue
Block a user