Clément Delafargue

Results 72 issues of Clément Delafargue

Add `.type()` method and associated tests.

Fixes biscuit-auth/biscuit#130

Even though the semantics of the stack machine are eager, what we actually care about is && and || being non-strict (rather than lazy). The difference being non-strict and lazy...

Blocks can start with a `trusting` annotation that will apply to all the rule bodies with no trusting annotation. ``` trusting authority, ; check if fact(true); // equivalent to `check...

An `Authorizer` value wraps a `datalog::World` value, which contains facts and rules used for datalog evaluation. The `Authorizer` struct also contains an (optional) `Vec` representing a token (it is optional...

Facts are stored as a `HashMap` internally, so their order is not defined. The `Display` impl for `Authorizer` does sort everything, so it has a stable output. It also adds...

``` authorization failed: an allow policy matched (policy index: 0), and the following checks failed: [Authorizer(FailedAuthorizerCheck { check_id: 0, rule: "check if right(\"efgh\")" }), Block(FailedBlockCheck { block_id: 1, check_id: 0,...

In many cases, we want the query to return exactly one result. A canonical example would be querying a user id from a token. The current API makes it easier...

It is possible to create a token containing heterogeneous sets (through parameters). Such a token can be serialized and parsed into a `Biscuit` value without errors (since the protobuf ->...

[`RUSTSEC-2022-0093`](https://rustsec.org/advisories/RUSTSEC-2022-0093.html) has been issued on 2023-08-14, targeting a dependency of `biscuit-rust`. # tl;dr: Upgrade `biscuit-rust` to `v4.0.0` as soon as possible, and audit your use of biscuit creation functions (biscuit...