split signing_keys_for from verify_keys_for
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
4458efa2b2
commit
c64adbec0e
2 changed files with 18 additions and 4 deletions
|
@ -291,9 +291,7 @@ impl Data {
|
||||||
/// for the server.
|
/// for the server.
|
||||||
pub fn verify_keys_for(&self, origin: &ServerName) -> Result<BTreeMap<OwnedServerSigningKeyId, VerifyKey>> {
|
pub fn verify_keys_for(&self, origin: &ServerName) -> Result<BTreeMap<OwnedServerSigningKeyId, VerifyKey>> {
|
||||||
let signingkeys = self
|
let signingkeys = self
|
||||||
.server_signingkeys
|
.signing_keys_for(origin)?
|
||||||
.get(origin.as_bytes())?
|
|
||||||
.and_then(|bytes| serde_json::from_slice(&bytes).ok())
|
|
||||||
.map_or_else(BTreeMap::new, |keys: ServerSigningKeys| {
|
.map_or_else(BTreeMap::new, |keys: ServerSigningKeys| {
|
||||||
let mut tree = keys.verify_keys;
|
let mut tree = keys.verify_keys;
|
||||||
tree.extend(
|
tree.extend(
|
||||||
|
@ -307,6 +305,15 @@ impl Data {
|
||||||
Ok(signingkeys)
|
Ok(signingkeys)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn signing_keys_for(&self, origin: &ServerName) -> Result<Option<ServerSigningKeys>> {
|
||||||
|
let signingkeys = self
|
||||||
|
.server_signingkeys
|
||||||
|
.get(origin.as_bytes())?
|
||||||
|
.and_then(|bytes| serde_json::from_slice(&bytes).ok());
|
||||||
|
|
||||||
|
Ok(signingkeys)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn database_version(&self) -> Result<u64> {
|
pub fn database_version(&self) -> Result<u64> {
|
||||||
self.global.get(b"version")?.map_or(Ok(0), |version| {
|
self.global.get(b"version")?.map_or(Ok(0), |version| {
|
||||||
utils::u64_from_bytes(&version).map_err(|_| Error::bad_database("Database version id is invalid."))
|
utils::u64_from_bytes(&version).map_err(|_| Error::bad_database("Database version id is invalid."))
|
||||||
|
|
|
@ -13,7 +13,10 @@ use data::Data;
|
||||||
use ipaddress::IPAddress;
|
use ipaddress::IPAddress;
|
||||||
use regex::RegexSet;
|
use regex::RegexSet;
|
||||||
use ruma::{
|
use ruma::{
|
||||||
api::{client::discovery::discover_support::ContactRole, federation::discovery::VerifyKey},
|
api::{
|
||||||
|
client::discovery::discover_support::ContactRole,
|
||||||
|
federation::discovery::{ServerSigningKeys, VerifyKey},
|
||||||
|
},
|
||||||
serde::Base64,
|
serde::Base64,
|
||||||
DeviceId, OwnedEventId, OwnedRoomAliasId, OwnedServerName, OwnedServerSigningKeyId, OwnedUserId, RoomAliasId,
|
DeviceId, OwnedEventId, OwnedRoomAliasId, OwnedServerName, OwnedServerSigningKeyId, OwnedUserId, RoomAliasId,
|
||||||
RoomVersionId, ServerName, UserId,
|
RoomVersionId, ServerName, UserId,
|
||||||
|
@ -288,6 +291,10 @@ impl Service {
|
||||||
Ok(keys)
|
Ok(keys)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn signing_keys_for(&self, origin: &ServerName) -> Result<Option<ServerSigningKeys>> {
|
||||||
|
self.db.signing_keys_for(origin)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn well_known_client(&self) -> &Option<Url> { &self.config.well_known.client }
|
pub fn well_known_client(&self) -> &Option<Url> { &self.config.well_known.client }
|
||||||
|
|
||||||
pub fn well_known_server(&self) -> &Option<OwnedServerName> { &self.config.well_known.server }
|
pub fn well_known_server(&self) -> &Option<OwnedServerName> { &self.config.well_known.server }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue