Missing envelope keys in rewrite rules (#25)

This commit is contained in:
mdecimus 2023-08-09 12:45:46 +02:00
parent ca29121ad9
commit 6cb27d6aa9
2 changed files with 17 additions and 3 deletions

View file

@ -294,6 +294,8 @@ impl ConfigSession for Config {
EnvelopeKey::RemoteIp,
EnvelopeKey::LocalIp,
EnvelopeKey::HeloDomain,
EnvelopeKey::Sender,
EnvelopeKey::SenderDomain,
];
Ok(Mail {
script: self
@ -320,9 +322,20 @@ impl ConfigSession for Config {
EnvelopeKey::LocalIp,
EnvelopeKey::HeloDomain,
];
let available_keys_full = [
EnvelopeKey::Sender,
EnvelopeKey::SenderDomain,
EnvelopeKey::Recipient,
EnvelopeKey::RecipientDomain,
EnvelopeKey::AuthenticatedAs,
EnvelopeKey::Listener,
EnvelopeKey::RemoteIp,
EnvelopeKey::LocalIp,
EnvelopeKey::HeloDomain,
];
Ok(Rcpt {
script: self
.parse_if_block::<Option<String>>("session.rcpt.script", ctx, &available_keys)?
.parse_if_block::<Option<String>>("session.rcpt.script", ctx, &available_keys_full)?
.unwrap_or_default()
.map_if_block(&ctx.scripts, "session.rcpt.script", "script")?,
relay: self
@ -332,7 +345,7 @@ impl ConfigSession for Config {
.parse_if_block::<Option<DynValue<EnvelopeKey>>>(
"session.rcpt.directory",
ctx,
&available_keys,
&available_keys_full,
)?
.unwrap_or_default()
.map_if_block(
@ -353,7 +366,7 @@ impl ConfigSession for Config {
.parse_if_block::<Option<DynValue<EnvelopeKey>>>(
"session.rcpt.rewrite",
ctx,
&available_keys,
&available_keys_full,
)?
.unwrap_or_default(),
})

View file

@ -157,6 +157,7 @@ member-of = ["superusers"]
name = "john"
description = "John Doe"
secret = "12345"
#secret = "$argon2id$v=19$m=16,t=2,p=1$Ym1GMmMwd210YXpGWUF2Ng$MKUyI28a4OADfd7r2iHulQ"
email = ["john@example.org", "jdoe@example.org", "john.doe@example.org"]
email-list = ["info@example.org"]
member-of = ["sales"]