fix(logging): refuser les FIFO sans bloquer le démarrage (#60) #66

Merged
silex merged 1 commit from fix/nonblocking-log-open-60 into main 2026-09-29 22:06:14 +00:00
Owner

Fixes #60

Correctif

Ajouter O_NONBLOCK à l'ouverture du log avant validation du descripteur ; conserver O_NOFOLLOW, O_CLOEXEC et toutes les vérifications fichier régulier/EUID/lien unique/mode 0600. Cela couvre OpenDestination, NewRotatingFile et ConfigureFile.

Régressions

Un sous-processus de test appelle chaque point d'entrée sur un FIFO sans lecteur. Avant le correctif, les trois appels bloquent et sont tués/récoltés par leur délai de garde, sans goroutine orpheline. Après le correctif, rejet immédiat.

Tests supplémentaires de non-modification des hardlinks, symlinks, FIFO avec lecteur et répertoires ; contrôle nominal de conservation du contenu, append et normalisation 0600. Les tests existants de rotation bornée restent verts.

Vérification

  • 50 répétitions de tout internal/logging sous -race.
  • make lint test GO_TEST_FLAGS='-race -count=1'.
  • git diff --check.

Documentation de configuration actualisée. PR indépendante de #65 ; binaire local inchangé.

Fixes #60 ## Correctif Ajouter O_NONBLOCK à l'ouverture du log avant validation du descripteur ; conserver O_NOFOLLOW, O_CLOEXEC et toutes les vérifications fichier régulier/EUID/lien unique/mode 0600. Cela couvre OpenDestination, NewRotatingFile et ConfigureFile. ## Régressions Un sous-processus de test appelle chaque point d'entrée sur un FIFO sans lecteur. Avant le correctif, les trois appels bloquent et sont tués/récoltés par leur délai de garde, sans goroutine orpheline. Après le correctif, rejet immédiat. Tests supplémentaires de non-modification des hardlinks, symlinks, FIFO avec lecteur et répertoires ; contrôle nominal de conservation du contenu, append et normalisation 0600. Les tests existants de rotation bornée restent verts. ## Vérification - 50 répétitions de tout internal/logging sous -race. - make lint test GO_TEST_FLAGS='-race -count=1'. - git diff --check. Documentation de configuration actualisée. PR indépendante de #65 ; binaire local inchangé.
fix(logging): reject FIFOs without blocking log opening (#60)
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
3e0a7cd572
silex merged commit 577f7dae01 into main 2026-09-29 22:06:14 +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!66
No description provided.