aboutsummaryrefslogtreecommitdiffstats
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/login.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/api/login.rs b/src/api/login.rs
index e3f8d02..cc70c18 100644
--- a/src/api/login.rs
+++ b/src/api/login.rs
@@ -163,11 +163,9 @@ impl LimitRequest {
/// `limit` as a token may say it, within `earlier`'s (a refreshed one says no more): each
/// of its capabilities at or below one of `earlier`'s, with some of its rights.
fn within(limit: &[Capability], earlier: &[Capability]) -> bool {
- limit.iter().all(|cap| {
- earlier
- .iter()
- .any(|outer| cap.path.starts_with(&outer.path) && cap.rights.is_subset(&outer.rights))
- })
+ limit
+ .iter()
+ .all(|cap| earlier.iter().any(|outer| outer.holds(cap)))
}
/// `claims` (issued now, by this node), signed, as the answer to a login or refresh.