refactor: Use config service
This commit is contained in:
parent
4c8dfc4c2c
commit
f83238df78
1 changed files with 8 additions and 6 deletions
|
@ -3,18 +3,24 @@ use std::sync::Arc;
|
||||||
use conduwuit::{Result, Server, implement};
|
use conduwuit::{Result, Server, implement};
|
||||||
use ruma::ServerName;
|
use ruma::ServerName;
|
||||||
|
|
||||||
|
use crate::{Dep, config};
|
||||||
|
|
||||||
pub struct Service {
|
pub struct Service {
|
||||||
services: Services,
|
services: Services,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Services {
|
struct Services {
|
||||||
pub server: Arc<Server>,
|
pub server: Arc<Server>,
|
||||||
|
pub config: Dep<config::Service>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl crate::Service for Service {
|
impl crate::Service for Service {
|
||||||
fn build(args: crate::Args<'_>) -> Result<Arc<Self>> {
|
fn build(args: crate::Args<'_>) -> Result<Arc<Self>> {
|
||||||
Ok(Arc::new(Self {
|
Ok(Arc::new(Self {
|
||||||
services: Services { server: args.server.clone() },
|
services: Services {
|
||||||
|
server: args.server.clone(),
|
||||||
|
config: args.depend::<config::Service>("config"),
|
||||||
|
},
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,14 +31,13 @@ impl crate::Service for Service {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn is_remote_server_forbidden(&self, server_name: &ServerName) -> bool {
|
pub fn is_remote_server_forbidden(&self, server_name: &ServerName) -> bool {
|
||||||
// We must never block federating with ourselves
|
// We must never block federating with ourselves
|
||||||
if server_name == self.services.server.config.server_name {
|
if server_name == self.services.config.server_name {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if server is explicitly allowed
|
// Check if server is explicitly allowed
|
||||||
if self
|
if self
|
||||||
.services
|
.services
|
||||||
.server
|
|
||||||
.config
|
.config
|
||||||
.allowed_remote_server_names
|
.allowed_remote_server_names
|
||||||
.is_match(server_name.host())
|
.is_match(server_name.host())
|
||||||
|
@ -42,7 +47,6 @@ pub fn is_remote_server_forbidden(&self, server_name: &ServerName) -> bool {
|
||||||
|
|
||||||
// Check if server is explicitly forbidden
|
// Check if server is explicitly forbidden
|
||||||
self.services
|
self.services
|
||||||
.server
|
|
||||||
.config
|
.config
|
||||||
.forbidden_remote_server_names
|
.forbidden_remote_server_names
|
||||||
.is_match(server_name.host())
|
.is_match(server_name.host())
|
||||||
|
@ -56,7 +60,6 @@ pub fn is_remote_server_room_directory_forbidden(&self, server_name: &ServerName
|
||||||
self.is_remote_server_forbidden(server_name)
|
self.is_remote_server_forbidden(server_name)
|
||||||
|| self
|
|| self
|
||||||
.services
|
.services
|
||||||
.server
|
|
||||||
.config
|
.config
|
||||||
.forbidden_remote_room_directory_server_names
|
.forbidden_remote_room_directory_server_names
|
||||||
.is_match(server_name.host())
|
.is_match(server_name.host())
|
||||||
|
@ -70,7 +73,6 @@ pub fn is_remote_server_media_downloads_forbidden(&self, server_name: &ServerNam
|
||||||
self.is_remote_server_forbidden(server_name)
|
self.is_remote_server_forbidden(server_name)
|
||||||
|| self
|
|| self
|
||||||
.services
|
.services
|
||||||
.server
|
|
||||||
.config
|
.config
|
||||||
.prevent_media_downloads_from
|
.prevent_media_downloads_from
|
||||||
.is_match(server_name.host())
|
.is_match(server_name.host())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue