Re-exportsยง
use std::collections::BTreeMap;๐use std::collections::HashMap;๐use axum::extract::State;๐use futures::FutureExt;๐use futures::StreamExt;๐use futures::future::join;๐use futures::future::join4;๐use ruma::CanonicalJsonObject;๐use ruma::CanonicalJsonValue;๐use ruma::DeviceId;๐use ruma::OwnedDeviceId;๐use ruma::OwnedUserId;๐use ruma::ServerName;๐use ruma::UserId;๐use ruma::api::client::device::Device;๐use ruma::api::client::keys::get_keys;๐use ruma::api::federation::keys::get_keys::v1::Request as FederationRequest;๐use ruma::api::federation::keys::get_keys::v1::Response as FederationResponse;๐use ruma::encryption::CrossSigningKey;๐use ruma::encryption::DeviceKeys;๐use ruma::serde::Raw;๐use serde_json::value::to_raw_value;๐use tuwunel_core::Result;๐use tuwunel_core::debug_warn;๐use tuwunel_core::implement;๐use tuwunel_core::utils::BoolExt;๐use tuwunel_core::utils::IterStream;๐use tuwunel_core::utils::future::TryExtExt;๐use tuwunel_core::utils::json;๐use tuwunel_core::utils::stream::BroadbandExt;๐use tuwunel_core::utils::stream::ReadyExt;๐use tuwunel_core::warn;๐use tuwunel_service::Services;๐use tuwunel_service::federation::feds::Outcome;๐use tuwunel_service::federation::feds::OutcomeExt;๐use tuwunel_service::federation::feds::fanout_with;๐use tuwunel_service::users::parse_master_key;๐use super::FailureMap;๐use super::federation_failures;๐use super::federation_opts;๐use crate::Ruma;๐
Structsยง
- Keys ๐
Functionsยง
- add_
unsigned_ ๐device_ display_ name - collect_
federation_ ๐keys - collect_
local_ ๐device_ keys - collect_
local_ ๐keys - collect_
local_ ๐user_ keys - get_
keys_ helper - Queries device and cross-signing keys for the requested users.
- get_
keys_ ๐route POST /_matrix/client/r0/keys/query- get_
local_ ๐device_ keys - merge_
remote_ ๐master_ key - Merges our cached signatures onto a remote-supplied master key.
- merge_
signatures ๐ - process_
federation_ ๐outcome - process_
federation_ ๐response - retain_
origin_ ๐users - Drops the keys of users who do not belong to the server that answered.
Type Aliasesยง
- Cross
Signing ๐Keys - Device
KeyMap ๐ - Device
Lists ๐ - Local
Device ๐User - Server
Devices ๐