Function handle_client_session

Source
fn handle_client_session(tube: Tube, allowlist: &Arc<RwLock<PathAllowlist>>)
Expand description

Runs a listener thread that processes allowlist control commands from a Unix socket.

ยงProtocol Specification

The control socket communicates using JSON-serialized structured messages over SOCK_SEQPACKET (wrapped in a crosvm::base::Tube).

  • Request Format (FsAllowlistCommand):
    • {"AddPaths": {"paths": ["/absolute/path"]}} (to add paths to the allowlist)
    • {"RemovePaths": {"paths": ["/absolute/path"]}} (to remove paths from the allowlist)
  • Response Format (FsAllowlistResponse):
    • "Ok" (success)
    • {"Err": "error message details"} (error)