Mariano Abad f69648753a fix: contain the probe in a process group, drop its privileges, and format
Addresses fufesou's #580 re-review:

- The child runs in its own process group and the deadline kills the
  whole group, so a hung loginctl or a leaked grandchild cannot survive
  the child or keep the pipes open past the reads. Verified: a
  deliberately leaked sleep grandchild no longer outlives the probe.

- The probe parses compositor-controlled data, so before touching the
  socket the child drops to the runtime directory's owner and refuses
  to probe at all if the drop fails, rather than parsing untrusted
  bytes as root. loginctl still runs as root first, since finding the
  seat needs it.

- first_buffered_line now distinguishes an inspected-but-empty pipe
  (WouldBlock) from an uninspectable one (fcntl or read error): only a
  real absence of the handshake latches the binary unsupported, an
  inspection failure does not.

- rustfmt-clean.
2026-08-12 00:17:25 -03:00
2025-11-20 14:58:10 +08:00
2026-07-17 17:44:01 +08:00
2025-01-20 16:06:27 +08:00
2025-01-20 16:06:27 +08:00
2026-01-21 11:09:44 +08:00
S
Description
No description provided
86 MiB
Languages
Rust 100%