Files
codex/codex-rs/execpolicy/Cargo.toml
T
Dylan Hurd de6e72addd Add opt-in Unicode canonical matching to exec policy rules (#59535)
## What changed

- Support `canonical_matching=True` in `prefix_rule` and `canonical_matching = true` in managed TOML prefix rules. Apply Unicode canonical caseless matching to every prefix token, including alternatives, while keeping exact matching as the default.
- Match case and canonically equivalent Unicode spellings, such as `bash` and `bAſh`, without resolving executables on the filesystem.
- Preserve managed restrictions when checking absolute-path rule amendments, and enforce applicable `host_executable` path allowlists during basename fallback.

## Testing

Add coverage for case folding, Unicode normalization, token alternatives, exact-match defaults, and host executable allowlists. Extend managed-policy and shell-execution tests to cover canonical matching.

GitOrigin-RevId: c2f79069dc38d55c77028c457b22beb468d5c571
2026-11-05 00:55:46 +00:00

37 lines
951 B
TOML

[package]
name = "codex-execpolicy"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Codex exec policy: prefix-based Starlark rules for command decisions."
[lib]
name = "codex_execpolicy"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "codex-execpolicy"
path = "src/main.rs"
[lints]
workspace = true
[dependencies]
caseless = { workspace = true }
anyhow = { workspace = true }
clap = { workspace = true, features = ["derive"] }
codex-utils-absolute-path = { workspace = true }
multimap = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
shlex = { workspace = true }
starlark = { workspace = true }
tempfile = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["fs", "io-util", "macros", "rt"] }
unicode-normalization = { workspace = true }
[dev-dependencies]
pretty_assertions = { workspace = true }