partial impl of query_trusted_key_servers_first option

65% finished

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-03-05 19:19:06 -05:00 committed by June
parent 2832d8cb93
commit 9fd521f041
4 changed files with 146 additions and 69 deletions

View file

@ -1,30 +1,3 @@
mod data;
use argon2::Argon2;
pub use data::Data;
use regex::RegexSet;
use ruma::{
serde::Base64, OwnedDeviceId, OwnedEventId, OwnedRoomId, OwnedServerName,
OwnedServerSigningKeyId, OwnedUserId,
};
use sha2::Digest;
use crate::api::server_server::FedDest;
use crate::{services, Config, Error, Result};
use futures_util::FutureExt;
use hyper::{
client::connect::dns::{GaiResolver, Name},
service::Service as HyperService,
};
use reqwest::dns::{Addrs, Resolve, Resolving};
use ruma::{
api::{
client::sync::sync_events,
federation::discovery::{ServerSigningKeys, VerifyKey},
},
DeviceId, RoomVersionId, ServerName, UserId,
};
use std::{
collections::{BTreeMap, HashMap},
error::Error as StdError,
@ -39,11 +12,38 @@ use std::{
},
time::{Duration, Instant},
};
use argon2::Argon2;
use base64::{engine::general_purpose, Engine as _};
use futures_util::FutureExt;
use hyper::{
client::connect::dns::{GaiResolver, Name},
service::Service as HyperService,
};
use regex::RegexSet;
use reqwest::dns::{Addrs, Resolve, Resolving};
use ruma::{
api::{
client::sync::sync_events,
federation::discovery::{ServerSigningKeys, VerifyKey},
},
DeviceId, RoomVersionId, ServerName, UserId,
};
use ruma::{
serde::Base64, OwnedDeviceId, OwnedEventId, OwnedRoomId, OwnedServerName,
OwnedServerSigningKeyId, OwnedUserId,
};
use sha2::Digest;
use tokio::sync::{broadcast, watch::Receiver, Mutex as TokioMutex, Semaphore};
use tracing::{error, info};
use trust_dns_resolver::TokioAsyncResolver;
use base64::{engine::general_purpose, Engine as _};
pub use data::Data;
use crate::api::server_server::FedDest;
use crate::{services, Config, Error, Result};
mod data;
type WellKnownMap = HashMap<OwnedServerName, (FedDest, String)>;
type TlsNameMap = HashMap<String, (Vec<IpAddr>, u16)>;
@ -363,6 +363,10 @@ impl Service<'_> {
&self.config.trusted_servers
}
pub fn query_trusted_key_servers_first(&self) -> bool {
self.config.query_trusted_key_servers_first
}
pub fn dns_resolver(&self) -> &TokioAsyncResolver {
&self.dns_resolver
}