sudo-rs icon indicating copy to clipboard operation
sudo-rs copied to clipboard

Add bracket expressions to `wildcard_match`

Open squell opened this issue 6 months ago • 2 comments
trafficstars

Describe the feature you'd like see implemented in sudo-rs Add limited expression-style bracket expressions (e.g. "[a-z]") to https://github.com/trifectatechfoundation/sudo-rs/blob/main/src/sudo/env/wildcard_match.rs. This includes exclusion patterns such as [^a-z] and [!a-z].

What problem can be solved with this feature? This function is used for environment filtering (env_keep). Right now this function only supports * wildcards, but I can see the use case for writing something like

Defaults env_keep += "PS[1234]"

instead of

Defaults env_keep += "PS*"

or

Defaults env_keep += "PS1 PS2 PS3 PS4"

Additional context Having brackets here might also allow using this function for wildcard matching in the sudoers module as a replacement for our current dependency on glob crate. This crate seems to have maintenance issues (and might even panic in some circumstances if some options are enabled). Or to be blunt, is appears to be unmaintained. A PR fixing exclusion patterns we would like to see merged has been languishing there without any response from a maintainer for a long time.

Also having one less dependency would be cool.

squell avatar May 15 '25 12:05 squell