biscuit-auth / biscuit-rust

Rust implementation of the Biscuit authorization token
https://www.biscuitsec.org
206 stars 28 forks source link

Detect free variables in expressions #178

Open divarvel opened 1 year ago

divarvel commented 1 year ago

Currently, free variables (ie variables that are not bound: not mentioned in any predicate of the body) are detected at parse time in the rules's head.

Free variables are not detected in expressions. Currently, all expressions are evaluated strictly, so a free variable in an expression always results in an error upon rule evaluation. Even with lazy evaluation for booleans, free variables don't make sense.