mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 18:25:30 +00:00
AccessListMode: rename Allow to Require and Deny to Forbid
This commit is contained in:
parent
3a2e751668
commit
490c0b037d
5 changed files with 7 additions and 8 deletions
1
TODO.md
1
TODO.md
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
* access lists:
|
* access lists:
|
||||||
* test functionality
|
* test functionality
|
||||||
* rename Allow to Require?
|
|
||||||
* implement for aquatic_http and aquatic_ws
|
* implement for aquatic_http and aquatic_ws
|
||||||
|
|
||||||
* Don't unwrap peer_address
|
* Don't unwrap peer_address
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ use serde::{Deserialize, Serialize};
|
||||||
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
pub enum AccessListMode {
|
pub enum AccessListMode {
|
||||||
Allow,
|
Require,
|
||||||
Deny,
|
Forbid,
|
||||||
Ignore,
|
Ignore,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,8 +57,8 @@ impl AccessList {
|
||||||
|
|
||||||
pub fn allows(&self, list_type: AccessListMode, info_hash_bytes: &[u8; 20]) -> bool {
|
pub fn allows(&self, list_type: AccessListMode, info_hash_bytes: &[u8; 20]) -> bool {
|
||||||
match list_type {
|
match list_type {
|
||||||
AccessListMode::Allow => self.0.contains(info_hash_bytes),
|
AccessListMode::Require => self.0.contains(info_hash_bytes),
|
||||||
AccessListMode::Deny => !self.0.contains(info_hash_bytes),
|
AccessListMode::Forbid => !self.0.contains(info_hash_bytes),
|
||||||
AccessListMode::Ignore => true,
|
AccessListMode::Ignore => true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ pub fn run_request_worker(
|
||||||
// Check announce requests for allowed info hashes
|
// Check announce requests for allowed info hashes
|
||||||
|
|
||||||
match config.access_list.mode {
|
match config.access_list.mode {
|
||||||
access_list_type @ (AccessListMode::Allow | AccessListMode::Deny) => {
|
access_list_type @ (AccessListMode::Require | AccessListMode::Forbid) => {
|
||||||
let access_list: MutexGuard<AccessList> = state.access_list.lock();
|
let access_list: MutexGuard<AccessList> = state.access_list.lock();
|
||||||
|
|
||||||
announce_requests.retain(|(request, src)| {
|
announce_requests.retain(|(request, src)| {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ pub fn run(config: Config) -> ::anyhow::Result<()> {
|
||||||
let state = State::default();
|
let state = State::default();
|
||||||
|
|
||||||
match config.access_list.mode {
|
match config.access_list.mode {
|
||||||
AccessListMode::Allow | AccessListMode::Deny => {
|
AccessListMode::Require | AccessListMode::Forbid => {
|
||||||
state.access_list.lock().update_from_path(&config.access_list.path)?;
|
state.access_list.lock().update_from_path(&config.access_list.path)?;
|
||||||
},
|
},
|
||||||
AccessListMode::Ignore => {},
|
AccessListMode::Ignore => {},
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ pub fn clean_connections_and_torrents(config: &Config, state: &State) {
|
||||||
}
|
}
|
||||||
|
|
||||||
match config.access_list.mode {
|
match config.access_list.mode {
|
||||||
AccessListMode::Allow | AccessListMode::Deny => {
|
AccessListMode::Require | AccessListMode::Forbid => {
|
||||||
let mut access_list = state.access_list.lock();
|
let mut access_list = state.access_list.lock();
|
||||||
|
|
||||||
if let Err(err) = access_list.update_from_path(&config.access_list.path) {
|
if let Err(err) = access_list.update_from_path(&config.access_list.path) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue