From 2a6973c1115078492413188fadc1afee2278ea15 Mon Sep 17 00:00:00 2001 From: viyatb-oai Date: Mon, 2 Mar 2026 14:40:15 -0800 Subject: [PATCH] fix(ci): restore deny_read_paths test fixtures --- codex-rs/linux-sandbox/src/bwrap.rs | 16 ---------------- codex-rs/windows-sandbox-rs/src/allow.rs | 6 ++++++ codex-rs/windows-sandbox-rs/src/elevated_impl.rs | 1 + codex-rs/windows-sandbox-rs/src/lib.rs | 1 + 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/codex-rs/linux-sandbox/src/bwrap.rs b/codex-rs/linux-sandbox/src/bwrap.rs index aa2ef16e9a..8f400d4781 100644 --- a/codex-rs/linux-sandbox/src/bwrap.rs +++ b/codex-rs/linux-sandbox/src/bwrap.rs @@ -34,22 +34,6 @@ const LINUX_PLATFORM_DEFAULT_READ_ROOTS: &[&str] = &[ "/run/current-system/sw", ]; -/// Linux "platform defaults" that keep common system binaries and dynamic -/// libraries readable when `ReadOnlyAccess::Restricted` requests them. -/// -/// These are intentionally system-level paths only (plus Nix store roots) so -/// `include_platform_defaults` does not silently widen access to user data. -const LINUX_PLATFORM_DEFAULT_READ_ROOTS: &[&str] = &[ - "/bin", - "/sbin", - "/usr", - "/etc", - "/lib", - "/lib64", - "/nix/store", - "/run/current-system/sw", -]; - /// Options that control how bubblewrap is invoked. #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub(crate) struct BwrapOptions { diff --git a/codex-rs/windows-sandbox-rs/src/allow.rs b/codex-rs/windows-sandbox-rs/src/allow.rs index b40532cda8..dd59979ce9 100644 --- a/codex-rs/windows-sandbox-rs/src/allow.rs +++ b/codex-rs/windows-sandbox-rs/src/allow.rs @@ -110,6 +110,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![AbsolutePathBuf::try_from(extra_root.as_path()).unwrap()], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: false, @@ -137,6 +138,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: true, @@ -165,6 +167,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: true, @@ -193,6 +196,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: true, @@ -222,6 +226,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: true, @@ -251,6 +256,7 @@ mod tests { let policy = SandboxPolicy::WorkspaceWrite { writable_roots: vec![], + deny_read_paths: vec![], read_only_access: Default::default(), network_access: false, exclude_tmpdir_env_var: true, diff --git a/codex-rs/windows-sandbox-rs/src/elevated_impl.rs b/codex-rs/windows-sandbox-rs/src/elevated_impl.rs index 8f8de37e0e..26959c7cab 100644 --- a/codex-rs/windows-sandbox-rs/src/elevated_impl.rs +++ b/codex-rs/windows-sandbox-rs/src/elevated_impl.rs @@ -474,6 +474,7 @@ mod windows_impl { fn workspace_policy(network_access: bool) -> SandboxPolicy { SandboxPolicy::WorkspaceWrite { writable_roots: Vec::new(), + deny_read_paths: Vec::new(), read_only_access: Default::default(), network_access, exclude_tmpdir_env_var: false, diff --git a/codex-rs/windows-sandbox-rs/src/lib.rs b/codex-rs/windows-sandbox-rs/src/lib.rs index fc96e5186b..c08b12c977 100644 --- a/codex-rs/windows-sandbox-rs/src/lib.rs +++ b/codex-rs/windows-sandbox-rs/src/lib.rs @@ -570,6 +570,7 @@ mod windows_impl { fn workspace_policy(network_access: bool) -> SandboxPolicy { SandboxPolicy::WorkspaceWrite { writable_roots: Vec::new(), + deny_read_paths: Vec::new(), read_only_access: Default::default(), network_access, exclude_tmpdir_env_var: false,