mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
fix(acl): acl group cache add self group info (#1445)
This commit is contained in:
@@ -525,8 +525,10 @@ impl SyncedRouteInfo {
|
||||
let new_version = new.version;
|
||||
let old_version = old.version;
|
||||
*old = new;
|
||||
drop(old);
|
||||
|
||||
if new_version != old_version {
|
||||
self.update_my_group_trusts(my_peer_id);
|
||||
self.version.inc();
|
||||
true
|
||||
} else {
|
||||
@@ -707,6 +709,18 @@ impl SyncedRouteInfo {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn update_my_group_trusts(&self, my_peer_id: PeerId) {
|
||||
let mut my_group_map = HashMap::new();
|
||||
let mut my_group_names = Vec::new();
|
||||
for group in self.peer_infos.entry(my_peer_id).or_default().groups.iter() {
|
||||
my_group_map.insert(group.group_name.clone(), group.group_proof.clone());
|
||||
my_group_names.push(group.group_name.clone());
|
||||
}
|
||||
self.group_trust_map.insert(my_peer_id, my_group_map);
|
||||
self.group_trust_map_cache
|
||||
.insert(my_peer_id, Arc::new(my_group_names));
|
||||
}
|
||||
}
|
||||
|
||||
type PeerGraph = Graph<PeerId, usize, Directed>;
|
||||
|
||||
Reference in New Issue
Block a user