Added context to SMTP rate limiter keys

This commit is contained in:
mdecimus
2025-01-19 11:36:13 +01:00
parent 26e00b44a8
commit 3c7caddd98
7 changed files with 27 additions and 18 deletions

View File

@@ -129,7 +129,7 @@ impl HasQueueQuota for Server {
.await
.unwrap_or(false)
{
let key = quota.new_key(envelope);
let key = quota.new_key(envelope, "");
if let Some(max_size) = quota.size {
let used_size = self
.core

View File

@@ -7,7 +7,7 @@
use std::future::Future;
use common::{
config::smtp::QueueRateLimiter, expr::functions::ResolveVariable, Server, KV_RATE_LIMIT_HASH,
config::smtp::QueueRateLimiter, expr::functions::ResolveVariable, Server, KV_RATE_LIMIT_SMTP,
};
use store::write::now;
@@ -37,13 +37,13 @@ impl IsAllowed for Server {
.await
.unwrap_or(false)
{
let key = throttle.new_key(envelope);
let key = throttle.new_key(envelope, "outbound");
match self
.core
.storage
.lookup
.is_rate_allowed(KV_RATE_LIMIT_HASH, key.as_ref(), &throttle.rate, false)
.is_rate_allowed(KV_RATE_LIMIT_SMTP, key.as_ref(), &throttle.rate, false)
.await
{
Ok(Some(next_refill)) => {