Skip to main content

running_process/broker/lifecycle/
mod.rs

1//! Per-user, per-machine derivations for broker pipe naming and SID
2//! hashing.
3//!
4//! Phase 1 of #228 (issue #230). Two submodules:
5//!
6//! - [`sid`] — derives a 16-character hex blake3 hash of the caller's
7//!   user identity. On Windows that is the user's SID (from
8//!   `OpenProcessToken` → `GetTokenInformation(TokenUser)`). On Linux
9//!   it is `format!("{uid}:{machine_id}")`. On macOS it is
10//!   `format!("{uid}:{IOPlatformUUID}")`.
11//! - [`names`] — uses the SID hash to build the four canonical broker
12//!   pipe names defined in #228.
13
14pub mod crash_dump;
15pub mod names;
16pub mod names_v2;
17pub mod privilege;
18pub mod process_tree;
19pub mod sid;
20
21pub use crash_dump::{CrashDumpError, CRASH_DUMP_DIR_ENV};
22pub use names::{
23    backend_pipe, explicit_instance_pipe, private_broker_pipe, shared_broker_pipe, PipePath,
24    PipePathError,
25};
26pub use privilege::{
27    refuse_privileged_run, PrivilegeError, PrivilegedIdentity, ALLOW_PRIVILEGED_ENV,
28};
29pub use process_tree::{ProcessTreeCleanup, ProcessTreeError};
30pub use sid::{user_sid_hash, SidError};