mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
fix: foreign credential handling and trusted key visibility (#1993)
* fix foreign credential handling * allow list foreign network trusted keys * fix(gui): delete removed config-server networks * fix(web): reset managed instances on first sync
This commit is contained in:
@@ -148,6 +148,24 @@ impl TrustedKeyMapManager {
|
||||
|
||||
!metadata.is_expired()
|
||||
}
|
||||
|
||||
pub fn list_trusted_keys(&self, network_name: &str) -> Vec<(Vec<u8>, TrustedKeyMetadata)> {
|
||||
let Some(trusted_keys) = self
|
||||
.network_trusted_keys
|
||||
.get(network_name)
|
||||
.map(|v| v.load_full())
|
||||
else {
|
||||
return Vec::new();
|
||||
};
|
||||
|
||||
let mut items = trusted_keys
|
||||
.iter()
|
||||
.filter(|(_, metadata)| !metadata.is_expired())
|
||||
.map(|(pubkey, metadata)| (pubkey.clone(), metadata.clone()))
|
||||
.collect::<Vec<_>>();
|
||||
items.sort_by(|left, right| left.0.cmp(&right.0));
|
||||
items
|
||||
}
|
||||
}
|
||||
|
||||
pub struct GlobalCtx {
|
||||
@@ -534,6 +552,10 @@ impl GlobalCtx {
|
||||
self.trusted_keys.remove_trusted_keys(network_name);
|
||||
}
|
||||
|
||||
pub fn list_trusted_keys(&self, network_name: &str) -> Vec<(Vec<u8>, TrustedKeyMetadata)> {
|
||||
self.trusted_keys.list_trusted_keys(network_name)
|
||||
}
|
||||
|
||||
pub fn get_acl_groups(&self, peer_id: PeerId) -> Vec<PeerGroupInfo> {
|
||||
use std::collections::HashSet;
|
||||
self.config
|
||||
|
||||
Reference in New Issue
Block a user