perf: Use governor for rate limiting (#20)

Fixes: #19

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
This commit is contained in:
Jagoda Estera Ślązak
2026-01-22 14:49:26 +01:00
committed by GitHub
parent 06b7b0ca6d
commit b5a56a6a4e
6 changed files with 307 additions and 45 deletions
+2 -1
View File
@@ -1,6 +1,7 @@
//! Configuration file handling for filtermail.
use serde::{Deserialize, Deserializer};
use std::num::NonZeroU32;
use std::path::{Path, PathBuf};
/// Chatmail configuration subset used by filtermail.
@@ -16,7 +17,7 @@ pub struct Config {
pub postfix_reinject_port_incoming: u16,
#[serde(default = "Config::default_max_message_size")]
pub max_message_size: usize,
pub max_user_send_per_minute: usize,
pub max_user_send_per_minute: NonZeroU32,
#[serde(default, deserialize_with = "deserialize_sequence")]
pub passthrough_senders: Vec<String>,
#[serde(default, deserialize_with = "deserialize_sequence")]