#[non_exhaustive]pub struct HostProcess {
pub pid: u32,
pub uid: Option<u32>,
pub sid: Option<String>,
pub executable: PathBuf,
pub audit_token: Option<[u32; 8]>,
}Expand description
The process the OS says is on the listening end of a connection this client opened, as it was
when every check passed. Returned by
Client::verified_host and handed to a caller-supplied
verifier (HostExpectation::with_verifier).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pid: u32The host’s process id as the kernel recorded it for the socket. A pid names a process only while it runs: use it for an audit trail, not as a credential.
uid: Option<u32>Unix: the host’s effective uid (always the client’s own). Windows: None.
sid: Option<String>Windows: the host process token’s user SID. Unix: None.
executable: PathBufThe host’s executable path as the kernel reports it for pid (macOS proc_pidpath,
Linux /proc/<pid>/exe), canonicalised when it still exists on disk.
audit_token: Option<[u32; 8]>macOS: the host’s audit token (audit_token_t, eight words: pid at index 5, pid version
at index 7) from LOCAL_PEERTOKEN, when the kernel provides it. It is the race-free
handle for code-signature checks (SecCodeCopyGuestWithAttributes with
kSecGuestAttributeAudit), which a HostExpectation::with_verifier closure can use.
None elsewhere.