fix(config): respecter les réseaux LAN explicitement fiables (#61) #67

Merged
silex merged 1 commit from fix/trusted-literal-lan-preflight-61 into main 2026-09-29 22:06:34 +00:00
Owner

Fixes #61

Correctif

  • Parser les CIDR trusted_networks une seule fois au préflight et les transmettre aux validations STT/cleanup, actifs ou inactifs.
  • Utiliser policy.Classify, identique au transport, pour les IP littérales. La zone est un plafond : local est aussi autorisé sous un provider LAN ; les plages explicitement fiables sont LAN et jamais local.
  • Aucun changement du transport ni de la résolution DNS ; les autorisations de zones actives et HTTPS restent obligatoires.

Régressions

85 cas sur STT principal/fallback/inactif et cleanup actif/inactif : CGNAT fiable/non fiable, IPv4/IPv6, IP mappées, réseaux privés, link-local, loopback, CIDR hors plage, et refus d'une destination fiable non loopback en zone local. Les cas fiables et loopback LAN échouent sur l'ancien préflight.

Contrôles de policy_blocked pour les providers actifs, CIDR invalide avant validation provider et absence de DNS (resolver instrumenté). La matrice de classification du transport couvre également CGNAT, IPv6 fiable et IPv4 mappées.

Vérification

  • 20 répétitions sous -race de config, policy, core et doctor.
  • make lint test module-check GO_TEST_FLAGS='-race -count=1'.
  • git diff --check.

Documentation de configuration actualisée. PR indépendante des correctifs #65 et #66 ; aucun déploiement local.

Fixes #61 ## Correctif - Parser les CIDR trusted_networks une seule fois au préflight et les transmettre aux validations STT/cleanup, actifs ou inactifs. - Utiliser policy.Classify, identique au transport, pour les IP littérales. La zone est un plafond : local est aussi autorisé sous un provider LAN ; les plages explicitement fiables sont LAN et jamais local. - Aucun changement du transport ni de la résolution DNS ; les autorisations de zones actives et HTTPS restent obligatoires. ## Régressions 85 cas sur STT principal/fallback/inactif et cleanup actif/inactif : CGNAT fiable/non fiable, IPv4/IPv6, IP mappées, réseaux privés, link-local, loopback, CIDR hors plage, et refus d'une destination fiable non loopback en zone local. Les cas fiables et loopback LAN échouent sur l'ancien préflight. Contrôles de policy_blocked pour les providers actifs, CIDR invalide avant validation provider et absence de DNS (resolver instrumenté). La matrice de classification du transport couvre également CGNAT, IPv6 fiable et IPv4 mappées. ## Vérification - 20 répétitions sous -race de config, policy, core et doctor. - make lint test module-check GO_TEST_FLAGS='-race -count=1'. - git diff --check. Documentation de configuration actualisée. PR indépendante des correctifs #65 et #66 ; aucun déploiement local.
fix(config): honor trusted literal LAN networks during preflight (#61)
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
4eb60a5a87
silex merged commit 6052defc07 into main 2026-09-29 22:06:34 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/murmur!67
No description provided.