host/taint: correct the constant's own doc, and record the ProcessId ambiguity
Verification round on the round-10 review fixes. Finding 6 named the fixture, taint/tests.rs and snapshot.rs, but the same stale claim was also on PEERSPEAK_OWNED_VALUE itself — the definition site for the very literal the finding was about, still arguing that any truthy value counts and that this is the fail-closed direction. Corrected with the reason the argument fails. Also records a known imprecision the union widened: OwnerKey::ProcessId now covers both application.process.id and the Client's pipewire.sec.pid, so a bridge reported under the former may have resolved on the latter. Pre-existing since R10-3; not fixed here because these codes are a stable contract for the audit output and the phase 6 status event, so splitting one wants its own decision. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -145,6 +145,16 @@ pub enum OwnerKey {
|
||||
impl OwnerKey {
|
||||
/// Stable, machine-readable — this ends up in the phase 5 audit output
|
||||
/// and the phase 6 status event.
|
||||
///
|
||||
/// ⚠️ **Known imprecision, deliberately not fixed here.** `ProcessId` now
|
||||
/// covers two sources — the node's `application.process.id` and its
|
||||
/// Client's `pipewire.sec.pid` (see [`keys_of`]) — so a bridge reported as
|
||||
/// `application.process.id` may in fact have resolved on the Client's
|
||||
/// protected pid. Pre-existing since R10-3 made the Client a fallback, and
|
||||
/// widened by the review's finding 1 making it a union. Splitting it would
|
||||
/// add a code to a set that is explicitly a stable contract for the audit
|
||||
/// output and the "why isn't this app being shared?" answer, so it wants
|
||||
/// its own decision rather than a drive-by.
|
||||
pub fn code(self) -> &'static str {
|
||||
match self {
|
||||
Self::LinkGroup => "node.link-group",
|
||||
|
||||
Reference in New Issue
Block a user