Avoid creating metadata paths in the Windows sandbox (#33430)

## Why

Elevated Windows sandbox setup could turn the built-in read-only protections
for workspace metadata into deny-write paths, creating metadata directories
that did not already exist.

## What changed

- Track whether filesystem permission entries come from a built-in profile or
  were explicitly configured.
- Exclude generated metadata defaults from direct Windows deny-write overrides
  while continuing to enforce explicit read-only carveouts for the same paths.
- Preserve the distinction while materializing and normalizing permission
  paths, without exposing generated defaults as user configuration.

## Testing

Added Windows coverage confirming that elevated sandbox setup leaves missing
workspace metadata absent and still produces overrides for explicit metadata
carveouts.

GitOrigin-RevId: 701bcb229f631b18ab5ced22f3edf6f303d932f3
This commit is contained in:
iceweasel-oai authored and copyberry committed 2026-07-15 21:19:14 +00:00
1 parent 79177c3e20
commit cb79b3cdf9
11 files changed
+340 -60

No files matched your search

+1 -1
View File
@@ -4263,7 +4263,7 @@ exclude_slash_tmp = true
file_system_policy
.entries
.contains(&FileSystemSandboxEntry {
path: FileSystemPath::Path {
path: FileSystemPath::GeneratedDefaultPath {
path: AbsolutePathBuf::resolve_path_against_base(
subpath,
cwd.path()
+2
View File
@@ -249,6 +249,8 @@ fn insert_filesystem_permission_toml(
FileSystemPath::Special { value } => {
insert_special_filesystem_permission_toml(entries, value, entry.access);
}
FileSystemPath::GeneratedDefaultPath { .. }
| FileSystemPath::GeneratedDefaultSpecial { .. } => {}
}
}