From e3c6f95bfd98d3ab341abb8a14fb622ac85dc4e6 Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Tue, 30 Jun 2026 11:53:55 +0200 Subject: [PATCH] Bump to mail-auth 0.11 --- Cargo.lock | 24 +- crates/common/Cargo.toml | 2 +- crates/common/src/config/smtp/auth.rs | 3 + crates/common/src/network/dkim.rs | 52 +-- crates/common/src/network/dns/resolve.rs | 10 +- crates/common/src/scripts/plugins/dns.rs | 6 +- crates/http/Cargo.toml | 2 +- crates/http/src/api/diagnose.rs | 6 +- crates/jmap/Cargo.toml | 2 +- crates/registry/Cargo.toml | 2 +- crates/registry/src/schema/enums.rs | 11 + crates/registry/src/schema/enums_impl.rs | 61 +++- crates/registry/src/schema/properties_impl.rs | 10 + crates/registry/src/schema/structs.rs | 23 ++ crates/registry/src/schema/structs_impl.rs | 170 +++++++++ crates/registry/src/utils/dkim.rs | 27 +- crates/registry/src/utils/mod.rs | 4 + crates/services/src/task_manager/dkim.rs | 3 + crates/smtp/Cargo.toml | 2 +- crates/smtp/src/inbound/data.rs | 30 +- crates/smtp/src/outbound/delivery.rs | 12 +- crates/smtp/src/outbound/lookup.rs | 2 +- crates/smtp/src/outbound/mod.rs | 24 +- crates/smtp/src/outbound/mta_sts/lookup.rs | 4 +- crates/spam-filter/Cargo.toml | 2 +- crates/spam-filter/src/modules/dnsbl.rs | 2 +- crates/trc/Cargo.toml | 4 +- crates/trc/src/event/conv.rs | 229 +++++++++--- crates/trc/src/event/enums.rs | 52 ++- crates/trc/src/event/enums_impl.rs | 342 ++++++++++++++++++ crates/utils/Cargo.toml | 2 +- resources/schema/schema.json.gz | Bin 146296 -> 147585 bytes resources/schema/schema.json.sha256 | 2 +- tests/Cargo.toml | 2 +- tests/src/automation/dkim.rs | 1 + 35 files changed, 992 insertions(+), 138 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 75955e32..19024475 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -896,6 +896,16 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "bstr" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cee35f73844aa3014bb606320a6c1f010249dbdf43342fe54b5a4f6a8ed4b79" +dependencies = [ + "memchr", + "serde_core", +] + [[package]] name = "btoi" version = "0.4.3" @@ -4379,9 +4389,7 @@ dependencies = [ [[package]] name = "mail-auth" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e533fed1dd496906478a2ebf4700525da7579ef116f3e90812ca5832aedd158" +version = "0.11.0" dependencies = [ "aws-lc-rs", "flate2", @@ -4396,6 +4404,7 @@ dependencies = [ "rustls-pki-types", "serde", "serde_json", + "similar", "zip", ] @@ -7502,6 +7511,15 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +[[package]] +name = "similar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6505efef05804732ed8a3f2d4f279429eb485bd69d5b0cc6b19cc02005cda16" +dependencies = [ + "bstr", +] + [[package]] name = "simple_asn1" version = "0.6.4" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index 66f8c99d..5ce83ab8 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -18,7 +18,7 @@ imap_proto = { path = "../imap-proto" } sieve-rs = { version = "0.7", features = ["rkyv", "serde"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.10", features = ["generate"] } +mail-auth = { path = "/Users/me/code/mail-auth", features = ["generate", "arc"] } smtp-proto = { version = "0.2", features = ["rkyv"] } dns-update = { version = "0.5" } calcard = { version = "0.3", features = ["rkyv"] } diff --git a/crates/common/src/config/smtp/auth.rs b/crates/common/src/config/smtp/auth.rs index a0901271..e4f313b1 100644 --- a/crates/common/src/config/smtp/auth.rs +++ b/crates/common/src/config/smtp/auth.rs @@ -172,6 +172,9 @@ impl DkimSigner { domain, signature, key, ))) } + DkimSignature::Dkim2Ed25519Sha256(_) | DkimSignature::Dkim2RsaSha256(_) => { + todo!() + } } } } diff --git a/crates/common/src/network/dkim.rs b/crates/common/src/network/dkim.rs index 8372cf1d..ad154c4f 100644 --- a/crates/common/src/network/dkim.rs +++ b/crates/common/src/network/dkim.rs @@ -21,10 +21,10 @@ pub async fn generate_dkim_private_key( key_type: DkimSignatureType, ) -> trc::Result> { let private_key = tokio::task::spawn_blocking(move || match key_type { - DkimSignatureType::Dkim1RsaSha256 => { + DkimSignatureType::Dkim1RsaSha256 | DkimSignatureType::Dkim2RsaSha256 => { DkimKeyPair::generate_rsa(2048).map(|key| (key, "RSA PRIVATE KEY")) } - DkimSignatureType::Dkim1Ed25519Sha256 => { + DkimSignatureType::Dkim1Ed25519Sha256 | DkimSignatureType::Dkim2Ed25519Sha256 => { DkimKeyPair::generate_ed25519().map(|key| (key, "PRIVATE KEY")) } }) @@ -58,13 +58,18 @@ pub async fn generate_dkim_private_key( } pub async fn generate_dkim_public_key(key: &DkimSignature) -> trc::Result { - match key { - DkimSignature::Dkim1RsaSha256(key) => key - .private_key - .secret() - .await - .map_err(|err| trc::DkimEvent::BuildError.reason(err)) - .and_then(|pem| rsa_key_parse(pem.as_bytes())) + let is_rsa = matches!( + key, + DkimSignature::Dkim1RsaSha256(_) | DkimSignature::Dkim2RsaSha256(_) + ); + let pem = key + .private_key() + .secret() + .await + .map_err(|err| trc::DkimEvent::BuildError.reason(err))?; + + if is_rsa { + rsa_key_parse(pem.as_bytes()) .and_then(|pk| { Document::from_pkcs1_der(&pk.public_key()).map_err(|err| { trc::EventType::Dkim(trc::DkimEvent::BuildError) @@ -75,18 +80,13 @@ pub async fn generate_dkim_public_key(key: &DkimSignature) -> trc::Result key - .private_key - .secret() - .await - .map_err(|err| trc::DkimEvent::BuildError.reason(err)) - .and_then(|pem| { - simple_pem_parse(&pem).ok_or_else(|| { - trc::EventType::Dkim(trc::DkimEvent::BuildError) - .into_err() - .details("Failed to parse private key PEM") - }) + }) + } else { + simple_pem_parse(&pem) + .ok_or_else(|| { + trc::EventType::Dkim(trc::DkimEvent::BuildError) + .into_err() + .details("Failed to parse private key PEM") }) .and_then(|der| { Ed25519Key::from_pkcs8_maybe_unchecked_der(&der).map_err(|err| { @@ -98,7 +98,7 @@ pub async fn generate_dkim_public_key(key: &DkimSignature) -> trc::Result ( + &sign.selector, + format!("v=DKIM1; k=ed25519; h=sha256; p={public_key}"), + ), DkimSignature::Dkim1RsaSha256(sign) => ( &sign.selector, format!("v=DKIM1; k=rsa; h=sha256; p={public_key}"), ), + DkimSignature::Dkim2RsaSha256(sign) => ( + &sign.selector, + format!("v=DKIM1; k=rsa; h=sha256; p={public_key}"), + ), }; Ok(NamedDnsRecord { diff --git a/crates/common/src/network/dns/resolve.rs b/crates/common/src/network/dns/resolve.rs index 94c56c28..4364937f 100644 --- a/crates/common/src/network/dns/resolve.rs +++ b/crates/common/src/network/dns/resolve.rs @@ -19,7 +19,7 @@ impl Server { .await { Ok(result) => Ok(result.rrset.iter().any(|mx| !mx.exchanges.is_empty())), - Err(Error::DnsRecordNotFound(_)) => Ok(false), + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => Ok(false), Err(err) => Err(err.into()), } } @@ -40,7 +40,7 @@ impl Server { .await { Ok(result) => Ok(!result.is_empty()), - Err(Error::DnsRecordNotFound(_)) => Ok(false), + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => Ok(false), Err(err) => Err(err.into()), } } @@ -56,7 +56,7 @@ impl Server { .await { Ok(result) => Ok(!result.rrset.is_empty()), - Err(Error::DnsRecordNotFound(_)) => Ok(false), + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => Ok(false), Err(err) => Err(err.into()), } } else { @@ -74,7 +74,7 @@ impl Server { .await { Ok(result) => Ok(!result.rrset.is_empty()), - Err(Error::DnsRecordNotFound(_)) => Ok(false), + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => Ok(false), Err(err) => Err(err.into()), } } @@ -89,7 +89,7 @@ impl Server { .await { Ok(result) => Ok(!result.rrset.is_empty()), - Err(Error::DnsRecordNotFound(_)) => Ok(false), + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => Ok(false), Err(err) => Err(err.into()), } } diff --git a/crates/common/src/scripts/plugins/dns.rs b/crates/common/src/scripts/plugins/dns.rs index 9301b553..ba48877d 100644 --- a/crates/common/src/scripts/plugins/dns.rs +++ b/crates/common/src/scripts/plugins/dns.rs @@ -194,10 +194,10 @@ trait ShortError { impl ShortError for mail_auth::Error { fn short_error(&self) -> &'static str { match self { - mail_auth::Error::DnsError(_) => "temp_fail", - mail_auth::Error::DnsRecordNotFound(_) => "not_found", + mail_auth::Error::Dns(mail_auth::DnsError::Resolver(_)) => "temp_fail", + mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_)) => "not_found", mail_auth::Error::Io(_) => "io_error", - mail_auth::Error::InvalidRecordType => "invalid_record", + mail_auth::Error::Dns(mail_auth::DnsError::InvalidRecordType) => "invalid_record", _ => "unknown_error", } } diff --git a/crates/http/Cargo.toml b/crates/http/Cargo.toml index b37d9099..172c7eb9 100644 --- a/crates/http/Cargo.toml +++ b/crates/http/Cargo.toml @@ -23,7 +23,7 @@ registry = { path = "../registry" } smtp-proto = { version = "0.2" } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.10", features = ["generate"] } +mail-auth = { path = "/Users/me/code/mail-auth", features = ["generate", "arc"] } tokio = { version = "1.47", features = ["rt"] } hyper = { version = "1.0.1", features = ["server", "http1", "http2"] } hyper-util = { version = "0.1.1", features = ["tokio"] } diff --git a/crates/http/src/api/diagnose.rs b/crates/http/src/api/diagnose.rs index 6e64a364..9c11e2e1 100644 --- a/crates/http/src/api/diagnose.rs +++ b/crates/http/src/api/diagnose.rs @@ -296,7 +296,7 @@ async fn delivery_diagnose( Err(err) => { if matches!( &err, - smtp::outbound::mta_sts::Error::Dns(mail_auth::Error::DnsRecordNotFound(_)) + smtp::outbound::mta_sts::Error::Dns(mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) ) { tx.send(DeliveryStage::MtaStsNotFound { elapsed: now.elapsed_ms(), @@ -346,7 +346,7 @@ async fn delivery_diagnose( .await?; } Err(err) => { - if matches!(&err, mail_auth::Error::DnsRecordNotFound(_)) { + if matches!(&err, mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) { tx.send(DeliveryStage::TlsRptNotFound { elapsed: now.elapsed_ms(), }) @@ -426,7 +426,7 @@ async fn delivery_diagnose( None } Err(err) => { - if matches!(&err, mail_auth::Error::DnsRecordNotFound(_)) { + if matches!(&err, mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) { tx.send(DeliveryStage::TlsaNotFound { elapsed: now.elapsed_ms(), reason: "No TLSA records found for MX".to_string(), diff --git a/crates/jmap/Cargo.toml b/crates/jmap/Cargo.toml index e674567b..1d660bbf 100644 --- a/crates/jmap/Cargo.toml +++ b/crates/jmap/Cargo.toml @@ -23,7 +23,7 @@ calcard = { version = "0.3" } smtp-proto = { version = "0.2" } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.10", features = ["generate"] } +mail-auth = { path = "/Users/me/code/mail-auth", features = ["generate", "arc"] } sieve-rs = { version = "0.7", features = ["rkyv"] } jmap-tools = { version = "0.1", features = ["rkyv"] } serde = { version = "1.0", features = ["derive"]} diff --git a/crates/registry/Cargo.toml b/crates/registry/Cargo.toml index 243fdefa..32133738 100644 --- a/crates/registry/Cargo.toml +++ b/crates/registry/Cargo.toml @@ -13,7 +13,7 @@ hashify = "0.2.7" ahash = { version = "0.8" } jmap-tools = { version = "0.1" } xxhash-rust = { version = "0.8.5", features = ["xxh3"] } -mail-auth = { version = "0.10" } +mail-auth = { path = "/Users/me/code/mail-auth" } tokio = { version = "1.47", features = ["fs"] } lz4_flex = { version = "0.13", default-features = false } diff --git a/crates/registry/src/schema/enums.rs b/crates/registry/src/schema/enums.rs index b749e8aa..e182fe9d 100644 --- a/crates/registry/src/schema/enums.rs +++ b/crates/registry/src/schema/enums.rs @@ -345,6 +345,15 @@ pub enum DirectoryType { Oidc = 2, } +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)] +#[repr(u16)] +pub enum Dkim2Flag { + #[default] + Donotmodify = 0, + Donotexplode = 1, + Feedback = 2, +} + #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)] #[repr(u16)] pub enum DkimAuthResult { @@ -400,6 +409,8 @@ pub enum DkimSignatureType { #[default] Dkim1Ed25519Sha256 = 0, Dkim1RsaSha256 = 1, + Dkim2Ed25519Sha256 = 2, + Dkim2RsaSha256 = 3, } #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)] diff --git a/crates/registry/src/schema/enums_impl.rs b/crates/registry/src/schema/enums_impl.rs index 93d045ac..955cfa55 100644 --- a/crates/registry/src/schema/enums_impl.rs +++ b/crates/registry/src/schema/enums_impl.rs @@ -1857,6 +1857,59 @@ impl<'de> serde::Deserialize<'de> for DirectoryType { } } +impl EnumImpl for Dkim2Flag { + fn parse(value: &str) -> Option { + hashify::tiny_map! { + value.as_bytes(), + b"donotmodify" => Dkim2Flag::Donotmodify, + b"donotexplode" => Dkim2Flag::Donotexplode, + b"feedback" => Dkim2Flag::Feedback, + } + } + + fn as_str(&self) -> &'static str { + match self { + Dkim2Flag::Donotmodify => "donotmodify", + Dkim2Flag::Donotexplode => "donotexplode", + Dkim2Flag::Feedback => "feedback", + } + } + + fn to_id(&self) -> u16 { + *self as u16 + } + + fn from_id(id: u16) -> Option { + match id { + 0 => Some(Dkim2Flag::Donotmodify), + 1 => Some(Dkim2Flag::Donotexplode), + 2 => Some(Dkim2Flag::Feedback), + _ => None, + } + } + + const COUNT: usize = 3; +} + +impl serde::Serialize for Dkim2Flag { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + serializer.serialize_str(self.as_str()) + } +} + +impl<'de> serde::Deserialize<'de> for Dkim2Flag { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let s = Cow::::deserialize(deserializer)?; + Self::parse(&s).ok_or_else(|| serde::de::Error::unknown_variant(&s, &[])) + } +} + impl EnumImpl for DkimAuthResult { fn parse(value: &str) -> Option { hashify::tiny_map! { @@ -2140,6 +2193,8 @@ impl EnumImpl for DkimSignatureType { value.as_bytes(), b"Dkim1Ed25519Sha256" => DkimSignatureType::Dkim1Ed25519Sha256, b"Dkim1RsaSha256" => DkimSignatureType::Dkim1RsaSha256, + b"Dkim2Ed25519Sha256" => DkimSignatureType::Dkim2Ed25519Sha256, + b"Dkim2RsaSha256" => DkimSignatureType::Dkim2RsaSha256, } } @@ -2147,6 +2202,8 @@ impl EnumImpl for DkimSignatureType { match self { DkimSignatureType::Dkim1Ed25519Sha256 => "Dkim1Ed25519Sha256", DkimSignatureType::Dkim1RsaSha256 => "Dkim1RsaSha256", + DkimSignatureType::Dkim2Ed25519Sha256 => "Dkim2Ed25519Sha256", + DkimSignatureType::Dkim2RsaSha256 => "Dkim2RsaSha256", } } @@ -2158,11 +2215,13 @@ impl EnumImpl for DkimSignatureType { match id { 0 => Some(DkimSignatureType::Dkim1Ed25519Sha256), 1 => Some(DkimSignatureType::Dkim1RsaSha256), + 2 => Some(DkimSignatureType::Dkim2Ed25519Sha256), + 3 => Some(DkimSignatureType::Dkim2RsaSha256), _ => None, } } - const COUNT: usize = 2; + const COUNT: usize = 4; } impl serde::Serialize for DkimSignatureType { diff --git a/crates/registry/src/schema/properties_impl.rs b/crates/registry/src/schema/properties_impl.rs index 8ffc914a..40003eb5 100644 --- a/crates/registry/src/schema/properties_impl.rs +++ b/crates/registry/src/schema/properties_impl.rs @@ -4355,6 +4355,10 @@ impl ObjectInner { obj.member_tenant_id } ObjectInner::DkimSignature(DkimSignature::Dkim1RsaSha256(obj)) => obj.member_tenant_id, + ObjectInner::DkimSignature(DkimSignature::Dkim2Ed25519Sha256(obj)) => { + obj.member_tenant_id + } + ObjectInner::DkimSignature(DkimSignature::Dkim2RsaSha256(obj)) => obj.member_tenant_id, ObjectInner::DmarcExternalReport(obj) => obj.member_tenant_id, ObjectInner::DnsServer(DnsServer::Tsig(obj)) => obj.member_tenant_id, ObjectInner::DnsServer(DnsServer::Cloudflare(obj)) => obj.member_tenant_id, @@ -4449,6 +4453,12 @@ impl ObjectInner { ObjectInner::DkimSignature(DkimSignature::Dkim1RsaSha256(obj)) => { obj.member_tenant_id = Some(id) } + ObjectInner::DkimSignature(DkimSignature::Dkim2Ed25519Sha256(obj)) => { + obj.member_tenant_id = Some(id) + } + ObjectInner::DkimSignature(DkimSignature::Dkim2RsaSha256(obj)) => { + obj.member_tenant_id = Some(id) + } ObjectInner::DmarcExternalReport(obj) => obj.member_tenant_id = Some(id), ObjectInner::DnsServer(DnsServer::Tsig(obj)) => obj.member_tenant_id = Some(id), ObjectInner::DnsServer(DnsServer::Cloudflare(obj)) => obj.member_tenant_id = Some(id), diff --git a/crates/registry/src/schema/structs.rs b/crates/registry/src/schema/structs.rs index 7060358e..1d796b97 100644 --- a/crates/registry/src/schema/structs.rs +++ b/crates/registry/src/schema/structs.rs @@ -968,6 +968,27 @@ pub struct Dkim1Signature { pub stage: DkimRotationStage, } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(default)] +pub struct Dkim2Signature { + #[serde(rename = "flags")] + pub flags: Map, + #[serde(rename = "privateKey")] + pub private_key: SecretText, + #[serde(rename = "domainId")] + pub domain_id: Id, + #[serde(rename = "memberTenantId")] + pub member_tenant_id: Option, + #[serde(rename = "selector")] + pub selector: String, + #[serde(rename = "createdAt")] + pub created_at: UTCDateTime, + #[serde(rename = "nextTransitionAt")] + pub next_transition_at: Option, + #[serde(rename = "stage")] + pub stage: DkimRotationStage, +} + #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(tag = "@type")] pub enum DkimManagement { @@ -1010,6 +1031,8 @@ pub struct DkimReportSettings { pub enum DkimSignature { Dkim1Ed25519Sha256(Dkim1Signature), Dkim1RsaSha256(Dkim1Signature), + Dkim2Ed25519Sha256(Dkim2Signature), + Dkim2RsaSha256(Dkim2Signature), } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] diff --git a/crates/registry/src/schema/structs_impl.rs b/crates/registry/src/schema/structs_impl.rs index cc947584..42dd04a4 100644 --- a/crates/registry/src/schema/structs_impl.rs +++ b/crates/registry/src/schema/structs_impl.rs @@ -7397,6 +7397,134 @@ impl RegistryJsonPropertyPatch for Dkim1Signature { } } +impl Dkim2Signature { + fn validate(&self, errors: &mut Vec) -> bool { + let neb = errors.len(); + let value = &self.private_key; + value.validate(errors); + let value = &self.domain_id; + if !value.is_valid() { + errors.push(ValidationError::required(Property::DomainId)); + } + if let Some(value) = &self.member_tenant_id { + if !value.is_valid() { + errors.push(ValidationError::required(Property::MemberTenantId)); + } + } + let value = &self.selector; + if value.is_empty() { + errors.push(ValidationError::required(Property::Selector)); + } + let value = &self.created_at; + if !value.is_valid() { + errors.push(ValidationError::invalid(Property::CreatedAt, value)); + } + if let Some(value) = &self.next_transition_at { + if !value.is_valid() { + errors.push(ValidationError::invalid(Property::NextTransitionAt, value)); + } + } + errors.len() == neb + } + + fn index<'x>(&'x self, i: &mut IndexBuilder<'x>) { + i.foreign_key(ObjectType::Domain, self.domain_id.into(), None); + i.search(Property::DomainId, &self.domain_id); + i.foreign_key(ObjectType::Tenant, self.member_tenant_id, None); + if let Some(value) = &self.member_tenant_id { + i.search(Property::MemberTenantId, value); + } + } +} + +impl Pickle for Dkim2Signature { + fn pickle(&self, out: &mut Vec) { + self.flags.pickle(out); + self.private_key.pickle(out); + self.domain_id.pickle(out); + self.member_tenant_id.pickle(out); + self.selector.pickle(out); + self.created_at.pickle(out); + self.next_transition_at.pickle(out); + self.stage.pickle(out); + } + + fn unpickle(stream: &mut crate::pickle::PickledStream<'_>) -> Option { + let mut this = Self::default(); + this.flags = Pickle::unpickle(stream)?; + this.private_key = Pickle::unpickle(stream)?; + this.domain_id = Pickle::unpickle(stream)?; + this.member_tenant_id = Pickle::unpickle(stream)?; + this.selector = Pickle::unpickle(stream)?; + this.created_at = Pickle::unpickle(stream)?; + this.next_transition_at = Pickle::unpickle(stream)?; + this.stage = Pickle::unpickle(stream)?; + Some(this) + } +} + +impl Default for Dkim2Signature { + fn default() -> Self { + Self { + flags: Default::default(), + private_key: Default::default(), + domain_id: Default::default(), + member_tenant_id: Default::default(), + selector: Default::default(), + created_at: Default::default(), + next_transition_at: Default::default(), + stage: DkimRotationStage::Active, + } + } +} + +impl IntoValue for Dkim2Signature { + fn into_value(self) -> JmapValue<'static> { + let mut map = jmap_tools::Map::with_capacity(10); + map.insert_unchecked(Property::Flags, self.flags.into_value()); + map.insert_unchecked(Property::PrivateKey, self.private_key.into_value()); + map.insert_unchecked(Property::DomainId, self.domain_id.into_value()); + map.insert_unchecked(Property::MemberTenantId, self.member_tenant_id.into_value()); + map.insert_unchecked(Property::Selector, self.selector.into_value()); + map.insert_unchecked(Property::CreatedAt, self.created_at.into_value()); + map.insert_unchecked( + Property::NextTransitionAt, + self.next_transition_at.into_value(), + ); + map.insert_unchecked(Property::Stage, self.stage.into_value()); + JmapValue::Object(map) + } +} + +impl RegistryJsonPropertyPatch for Dkim2Signature { + fn patch_property<'x>( + &mut self, + mut pointer: JsonPointerPatch<'_>, + value: JmapValue<'x>, + ) -> PatchResult<'x> { + match pointer.next_property() { + Some(Property::Flags) => self.flags.patch(pointer, value), + Some(Property::PrivateKey) => self.private_key.patch(pointer, value), + Some(Property::PublicKey) => pointer.assert_server_set(), + Some(Property::DomainId) => self.domain_id.patch(pointer, value), + Some(Property::MemberTenantId) => self + .member_tenant_id + .patch(pointer.assert_can_set_tenant()?, value), + Some(Property::Selector) => self + .selector + .patch(pointer.with_validators(&[StringValidator::Trim]), value), + Some(Property::CreatedAt) => pointer.assert_server_set(), + Some(Property::NextTransitionAt) => self.next_transition_at.patch(pointer, value), + Some(Property::Stage) => self.stage.patch(pointer, value), + Some(Property::Type) => Ok(MaybeUnpatched::Unpatched { + property: Property::Type, + value, + }), + _ => Err(PatchError::new(pointer, "Invalid property")), + } + } +} + impl DkimManagement { fn validate(&self, errors: &mut Vec) -> bool { match self { @@ -7756,6 +7884,8 @@ impl ObjectImpl for DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(inner) => inner.validate(errors), DkimSignature::Dkim1RsaSha256(inner) => inner.validate(errors), + DkimSignature::Dkim2Ed25519Sha256(inner) => inner.validate(errors), + DkimSignature::Dkim2RsaSha256(inner) => inner.validate(errors), } } @@ -7767,6 +7897,12 @@ impl ObjectImpl for DkimSignature { DkimSignature::Dkim1RsaSha256(object) => { object.index(i); } + DkimSignature::Dkim2Ed25519Sha256(object) => { + object.index(i); + } + DkimSignature::Dkim2RsaSha256(object) => { + object.index(i); + } } } } @@ -7788,6 +7924,14 @@ impl Pickle for DkimSignature { 1u16.pickle(out); inner.pickle(out); } + DkimSignature::Dkim2Ed25519Sha256(inner) => { + 2u16.pickle(out); + inner.pickle(out); + } + DkimSignature::Dkim2RsaSha256(inner) => { + 3u16.pickle(out); + inner.pickle(out); + } } } @@ -7795,6 +7939,8 @@ impl Pickle for DkimSignature { match u16::unpickle(stream)? { 0 => Pickle::unpickle(stream).map(DkimSignature::Dkim1Ed25519Sha256), 1 => Pickle::unpickle(stream).map(DkimSignature::Dkim1RsaSha256), + 2 => Pickle::unpickle(stream).map(DkimSignature::Dkim2Ed25519Sha256), + 3 => Pickle::unpickle(stream).map(DkimSignature::Dkim2RsaSha256), _ => None, } } @@ -7817,6 +7963,20 @@ impl IntoValue for DkimSignature { .insert_unchecked(Property::Type, JmapValue::Str("Dkim1RsaSha256".into())); obj } + DkimSignature::Dkim2Ed25519Sha256(obj) => { + let mut obj = obj.into_value(); + obj.as_object_mut() + .unwrap() + .insert_unchecked(Property::Type, JmapValue::Str("Dkim2Ed25519Sha256".into())); + obj + } + DkimSignature::Dkim2RsaSha256(obj) => { + let mut obj = obj.into_value(); + obj.as_object_mut() + .unwrap() + .insert_unchecked(Property::Type, JmapValue::Str("Dkim2RsaSha256".into())); + obj + } } } } @@ -7835,11 +7995,19 @@ impl RegistryJsonPatch for DkimSignature { DkimSignatureType::Dkim1RsaSha256 => { *self = DkimSignature::Dkim1RsaSha256(Default::default()) } + DkimSignatureType::Dkim2Ed25519Sha256 => { + *self = DkimSignature::Dkim2Ed25519Sha256(Default::default()) + } + DkimSignatureType::Dkim2RsaSha256 => { + *self = DkimSignature::Dkim2RsaSha256(Default::default()) + } } } match self { DkimSignature::Dkim1Ed25519Sha256(inner) => inner.patch(pointer, value), DkimSignature::Dkim1RsaSha256(inner) => inner.patch(pointer, value), + DkimSignature::Dkim2Ed25519Sha256(inner) => inner.patch(pointer, value), + DkimSignature::Dkim2RsaSha256(inner) => inner.patch(pointer, value), } } } @@ -7849,6 +8017,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(_) => DkimSignatureType::Dkim1Ed25519Sha256, DkimSignature::Dkim1RsaSha256(_) => DkimSignatureType::Dkim1RsaSha256, + DkimSignature::Dkim2Ed25519Sha256(_) => DkimSignatureType::Dkim2Ed25519Sha256, + DkimSignature::Dkim2RsaSha256(_) => DkimSignatureType::Dkim2RsaSha256, } } } diff --git a/crates/registry/src/utils/dkim.rs b/crates/registry/src/utils/dkim.rs index c8a61572..c2196402 100644 --- a/crates/registry/src/utils/dkim.rs +++ b/crates/registry/src/utils/dkim.rs @@ -15,6 +15,8 @@ impl DkimSignature { let (stage, next_transition) = match self { DkimSignature::Dkim1Ed25519Sha256(sign) => (sign.stage, sign.next_transition_at), DkimSignature::Dkim1RsaSha256(sign) => (sign.stage, sign.next_transition_at), + DkimSignature::Dkim2Ed25519Sha256(sign) => (sign.stage, sign.next_transition_at), + DkimSignature::Dkim2RsaSha256(sign) => (sign.stage, sign.next_transition_at), }; next_transition.and_then(|next_transition| { if next_transition <= UTCDateTime::now() { @@ -29,6 +31,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => sign.next_transition_at, DkimSignature::Dkim1RsaSha256(sign) => sign.next_transition_at, + DkimSignature::Dkim2Ed25519Sha256(sign) => sign.next_transition_at, + DkimSignature::Dkim2RsaSha256(sign) => sign.next_transition_at, } } @@ -38,6 +42,10 @@ impl DkimSignature { sign.next_transition_at = Some(next_transition) } DkimSignature::Dkim1RsaSha256(sign) => sign.next_transition_at = Some(next_transition), + DkimSignature::Dkim2Ed25519Sha256(sign) => { + sign.next_transition_at = Some(next_transition) + } + DkimSignature::Dkim2RsaSha256(sign) => sign.next_transition_at = Some(next_transition), } } @@ -45,6 +53,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => sign.stage, DkimSignature::Dkim1RsaSha256(sign) => sign.stage, + DkimSignature::Dkim2Ed25519Sha256(sign) => sign.stage, + DkimSignature::Dkim2RsaSha256(sign) => sign.stage, } } @@ -52,6 +62,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => sign.stage = stage, DkimSignature::Dkim1RsaSha256(sign) => sign.stage = stage, + DkimSignature::Dkim2Ed25519Sha256(sign) => sign.stage = stage, + DkimSignature::Dkim2RsaSha256(sign) => sign.stage = stage, } } @@ -59,6 +71,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => sign.stage == DkimRotationStage::Active, DkimSignature::Dkim1RsaSha256(sign) => sign.stage == DkimRotationStage::Active, + DkimSignature::Dkim2Ed25519Sha256(sign) => sign.stage == DkimRotationStage::Active, + DkimSignature::Dkim2RsaSha256(sign) => sign.stage == DkimRotationStage::Active, } } @@ -66,6 +80,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => &sign.selector, DkimSignature::Dkim1RsaSha256(sign) => &sign.selector, + DkimSignature::Dkim2Ed25519Sha256(sign) => &sign.selector, + DkimSignature::Dkim2RsaSha256(sign) => &sign.selector, } } @@ -73,6 +89,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(sign) => sign.domain_id, DkimSignature::Dkim1RsaSha256(sign) => sign.domain_id, + DkimSignature::Dkim2Ed25519Sha256(sign) => sign.domain_id, + DkimSignature::Dkim2RsaSha256(sign) => sign.domain_id, } } } @@ -80,20 +98,19 @@ impl DkimSignature { impl DkimSignatureType { pub const fn algorithm(self) -> &'static str { match self { - Self::Dkim1Ed25519Sha256 => "ed25519", - Self::Dkim1RsaSha256 => "rsa", + Self::Dkim1Ed25519Sha256 | Self::Dkim2Ed25519Sha256 => "ed25519", + Self::Dkim1RsaSha256 | Self::Dkim2RsaSha256 => "rsa", } } pub const fn hash(self) -> &'static str { - match self { - Self::Dkim1Ed25519Sha256 | Self::Dkim1RsaSha256 => "sha256", - } + "sha256" } pub const fn version(self) -> &'static str { match self { Self::Dkim1Ed25519Sha256 | Self::Dkim1RsaSha256 => "1", + Self::Dkim2Ed25519Sha256 | Self::Dkim2RsaSha256 => "2", } } } diff --git a/crates/registry/src/utils/mod.rs b/crates/registry/src/utils/mod.rs index 2502d348..94c21c6b 100644 --- a/crates/registry/src/utils/mod.rs +++ b/crates/registry/src/utils/mod.rs @@ -30,6 +30,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(signature) => &signature.private_key, DkimSignature::Dkim1RsaSha256(signature) => &signature.private_key, + DkimSignature::Dkim2Ed25519Sha256(signature) => &signature.private_key, + DkimSignature::Dkim2RsaSha256(signature) => &signature.private_key, } } @@ -37,6 +39,8 @@ impl DkimSignature { match self { DkimSignature::Dkim1Ed25519Sha256(signature) => &mut signature.private_key, DkimSignature::Dkim1RsaSha256(signature) => &mut signature.private_key, + DkimSignature::Dkim2Ed25519Sha256(signature) => &mut signature.private_key, + DkimSignature::Dkim2RsaSha256(signature) => &mut signature.private_key, } } } diff --git a/crates/services/src/task_manager/dkim.rs b/crates/services/src/task_manager/dkim.rs index 093bdae8..d5673d4d 100644 --- a/crates/services/src/task_manager/dkim.rs +++ b/crates/services/src/task_manager/dkim.rs @@ -150,6 +150,8 @@ async fn dkim_management(server: &Server, task: &TaskDomainManagement) -> trc::R match algorithm { DkimSignatureType::Dkim1Ed25519Sha256 => TEST_ED25519_KEY.to_string(), DkimSignatureType::Dkim1RsaSha256 => TEST_RSA_KEY.to_string(), + DkimSignatureType::Dkim2Ed25519Sha256 + | DkimSignatureType::Dkim2RsaSha256 => todo!(), } } else { generate_dkim_private_key(algorithm).await.unwrap().unwrap() @@ -186,6 +188,7 @@ async fn dkim_management(server: &Server, task: &TaskDomainManagement) -> trc::R let mut signature = match algorithm { DkimSignatureType::Dkim1Ed25519Sha256 => DkimSignature::Dkim1Ed25519Sha256(signature), DkimSignatureType::Dkim1RsaSha256 => DkimSignature::Dkim1RsaSha256(signature), + DkimSignatureType::Dkim2Ed25519Sha256 | DkimSignatureType::Dkim2RsaSha256 => todo!(), }; // Publish key diff --git a/crates/smtp/Cargo.toml b/crates/smtp/Cargo.toml index 8bd988b5..b20bd5ff 100644 --- a/crates/smtp/Cargo.toml +++ b/crates/smtp/Cargo.toml @@ -21,7 +21,7 @@ email = { path = "../email" } registry = { path = "../registry" } spam-filter = { path = "../spam-filter" } trc = { path = "../trc" } -mail-auth = { version = "0.10", features = ["rkyv"] } +mail-auth = { path = "/Users/me/code/mail-auth", features = ["rkyv"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } smtp-proto = { version = "0.2", features = ["rkyv", "serde"] } diff --git a/crates/smtp/src/inbound/data.rs b/crates/smtp/src/inbound/data.rs index 3f5896bb..44cfcbf6 100644 --- a/crates/smtp/src/inbound/data.rs +++ b/crates/smtp/src/inbound/data.rs @@ -30,7 +30,12 @@ use common::{ }; use mail_auth::{ AuthenticatedMessage, AuthenticationResults, DkimResult, DmarcResult, ReceivedSpf, - common::{crypto::Algorithm, headers::HeaderWriter, verify::VerifySignature}, + common::{ + crypto::Algorithm, + headers::{Header, HeaderWriter}, + verify::VerifySignature, + }, + dkim::DkimError, dmarc::{self, verify::DmarcParameters}, }; use mail_builder::headers::{date::Date, message_id::generate_message_id_header}; @@ -108,17 +113,22 @@ impl Session { .unwrap_or(VerifyStrategy::Relaxed); let dkim_output = if dkim.verify() || dmarc.verify() { // Remove insecure DKIM signatures before verification - for header in &mut auth_message.dkim_headers { - if let Ok(signature) = &mut header.header - && (signature.algorithm() == Algorithm::RsaSha1 - || (signature.algorithm() == Algorithm::RsaSha256 - && signature.b.len() < 128)) + auth_message.dkim_headers.retain(|header| { + let signature = &header.header; + if signature.algorithm() == Algorithm::RsaSha1 + || (signature.algorithm() == Algorithm::RsaSha256 && signature.b.len() < 128) { - header.header = Err(mail_auth::Error::CryptoError( - "Insecure DKIM signature".into(), - )); + auth_message.errors.push(Header { + name: header.name, + value: header.value, + header: mail_auth::Error::Dkim(DkimError::UnsupportedAlgorithm), + }); + auth_message.has_dkim_errors = true; + false + } else { + true } - } + }); let time = Instant::now(); let dkim_output = self diff --git a/crates/smtp/src/outbound/delivery.rs b/crates/smtp/src/outbound/delivery.rs index 8e0ebfb5..c1c6d1b4 100644 --- a/crates/smtp/src/outbound/delivery.rs +++ b/crates/smtp/src/outbound/delivery.rs @@ -345,7 +345,7 @@ impl QueuedMessage { TlsRptOptions { record, interval }.into() } - Err(mail_auth::Error::DnsRecordNotFound(_)) => { + Err(mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => { trc::event!( TlsRpt(TlsRptEvent::RecordNotFound), SpanId = message.span_id, @@ -400,7 +400,7 @@ impl QueuedMessage { let strict = tls_strategy.is_mta_sts_required(); if let Some(tls_report) = &tls_report { match &err { - mta_sts::Error::Dns(mail_auth::Error::DnsRecordNotFound(_)) => { + mta_sts::Error::Dns(mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => { if strict { server.schedule_report(TlsEvent { policy: PolicyType::Sts(None), @@ -417,7 +417,7 @@ impl QueuedMessage { .await; } } - mta_sts::Error::Dns(mail_auth::Error::DnsError(_)) => (), + mta_sts::Error::Dns(mail_auth::Error::Dns(mail_auth::DnsError::Resolver(_))) => (), _ => { server .schedule_report(TlsEvent { @@ -436,7 +436,7 @@ impl QueuedMessage { } match &err { - mta_sts::Error::Dns(mail_auth::Error::DnsRecordNotFound(_)) => { + mta_sts::Error::Dns(mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => { trc::event!( MtaSts(MtaStsEvent::PolicyNotFound), SpanId = message.span_id, @@ -499,7 +499,7 @@ impl QueuedMessage { let time = Instant::now(); mx_list = match server.mx_lookup(domain).await { Ok(mx) => mx, - Err(mail_auth::Error::DnsRecordNotFound(_)) => { + Err(mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => { trc::event!( Delivery(DeliveryEvent::MxLookupFailed), SpanId = message.span_id, @@ -822,7 +822,7 @@ impl QueuedMessage { } Err(err) => { let not_found = - matches!(&err, mail_auth::Error::DnsRecordNotFound(_)); + matches!(&err, mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_))); if not_found { trc::event!( diff --git a/crates/smtp/src/outbound/lookup.rs b/crates/smtp/src/outbound/lookup.rs index f9fb9328..62498432 100644 --- a/crates/smtp/src/outbound/lookup.rs +++ b/crates/smtp/src/outbound/lookup.rs @@ -116,7 +116,7 @@ impl DnsLookup for Server { ) .await .map_err(|err| { - if let mail_auth::Error::DnsRecordNotFound(_) = &err { + if let mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(_)) = &err { if matches!( remote_host, NextHop::MX { diff --git a/crates/smtp/src/outbound/mod.rs b/crates/smtp/src/outbound/mod.rs index 22064995..2c61c0f7 100644 --- a/crates/smtp/src/outbound/mod.rs +++ b/crates/smtp/src/outbound/mod.rs @@ -156,10 +156,14 @@ impl Status>, ErrorDetails> { pub fn from_mail_auth_error(entity: &str, err: mail_auth::Error) -> Self { match &err { - mail_auth::Error::DnsRecordNotFound(code) => Status::PermanentFailure(ErrorDetails { - entity: entity.into(), - details: Error::DnsError(format!("Domain not found: {code:?}").into_boxed_str()), - }), + mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(code)) => { + Status::PermanentFailure(ErrorDetails { + entity: entity.into(), + details: Error::DnsError( + format!("Domain not found: {code:?}").into_boxed_str(), + ), + }) + } _ => Status::TemporaryFailure(ErrorDetails { entity: entity.into(), details: Error::DnsError(err.to_string().into_boxed_str()), @@ -170,7 +174,7 @@ impl Status>, ErrorDetails> { pub fn from_mta_sts_error(entity: &str, err: mta_sts::Error) -> Self { match &err { mta_sts::Error::Dns(err) => match err { - mail_auth::Error::DnsRecordNotFound(code) => { + mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(code)) => { Status::PermanentFailure(ErrorDetails { entity: entity.into(), details: Error::MtaStsError( @@ -178,10 +182,12 @@ impl Status>, ErrorDetails> { ), }) } - mail_auth::Error::InvalidRecordType => Status::PermanentFailure(ErrorDetails { - entity: entity.into(), - details: Error::MtaStsError("Failed to parse MTA-STS DNS record.".into()), - }), + mail_auth::Error::Dns(mail_auth::DnsError::InvalidRecordType) => { + Status::PermanentFailure(ErrorDetails { + entity: entity.into(), + details: Error::MtaStsError("Failed to parse MTA-STS DNS record.".into()), + }) + } _ => Status::TemporaryFailure(ErrorDetails { entity: entity.into(), details: Error::MtaStsError( diff --git a/crates/smtp/src/outbound/mta_sts/lookup.rs b/crates/smtp/src/outbound/mta_sts/lookup.rs index d6ede094..cbc2f7a8 100644 --- a/crates/smtp/src/outbound/mta_sts/lookup.rs +++ b/crates/smtp/src/outbound/mta_sts/lookup.rs @@ -114,10 +114,10 @@ impl Display for Error { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Error::Dns(err) => match err { - mail_auth::Error::DnsRecordNotFound(code) => { + mail_auth::Error::Dns(mail_auth::DnsError::RecordNotFound(code)) => { write!(f, "Record not found: {code:?}") } - mail_auth::Error::InvalidRecordType => { + mail_auth::Error::Dns(mail_auth::DnsError::InvalidRecordType) => { f.write_str("Failed to parse MTA-STS DNS record.") } _ => write!(f, "DNS lookup error: {err}"), diff --git a/crates/spam-filter/Cargo.toml b/crates/spam-filter/Cargo.toml index b545c182..7bf839ba 100644 --- a/crates/spam-filter/Cargo.toml +++ b/crates/spam-filter/Cargo.toml @@ -14,7 +14,7 @@ registry = { path = "../registry" } smtp-proto = { version = "0.2", features = ["rkyv"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.10" } +mail-auth = { path = "/Users/me/code/mail-auth" } tokio = { version = "1.47", features = ["net", "macros"] } psl = "2" hyper = { version = "1.0.1", features = ["server", "http1", "http2"] } diff --git a/crates/spam-filter/src/modules/dnsbl.rs b/crates/spam-filter/src/modules/dnsbl.rs index ab90d763..e0e4f146 100644 --- a/crates/spam-filter/src/modules/dnsbl.rs +++ b/crates/spam-filter/src/modules/dnsbl.rs @@ -154,7 +154,7 @@ async fn is_dnsbl( entry } - Err(Error::DnsRecordNotFound(_)) => { + Err(Error::Dns(mail_auth::DnsError::RecordNotFound(_))) => { trc::event!( Spam(SpamEvent::Dnsbl), Hostname = zone.clone(), diff --git a/crates/trc/Cargo.toml b/crates/trc/Cargo.toml index 2bbe2282..cbcbbe71 100644 --- a/crates/trc/Cargo.toml +++ b/crates/trc/Cargo.toml @@ -5,8 +5,8 @@ edition = "2024" [dependencies] event_macro = { path = "./event-macro" } -mail-auth = { version = "0.10" } -mail-parser = { version = "0.11", features = ["full_encoding"] } +mail-auth = { path = "/Users/me/code/mail-auth", features = ["arc"] } +mail-parser = { version = "0.11", features = ["full_encoding"] } base64 = "0.22.1" serde = "1.0" serde_json = "1.0.120" diff --git a/crates/trc/src/event/conv.rs b/crates/trc/src/event/conv.rs index cb5b25e8..ddfab62d 100644 --- a/crates/trc/src/event/conv.rs +++ b/crates/trc/src/event/conv.rs @@ -235,67 +235,188 @@ impl From for Error { mail_auth::Error::NoHeadersFound => { EventType::MailAuth(MailAuthEvent::NoHeadersFound).into_err() } - mail_auth::Error::CryptoError(details) => EventType::MailAuth(MailAuthEvent::Crypto) - .into_err() - .details(CompactString::from(details)), mail_auth::Error::Io(details) => EventType::MailAuth(MailAuthEvent::Io) .into_err() .details(CompactString::from(details)), mail_auth::Error::Base64 => EventType::MailAuth(MailAuthEvent::Base64).into_err(), - mail_auth::Error::UnsupportedVersion => { - EventType::Dkim(DkimEvent::UnsupportedVersion).into_err() - } - mail_auth::Error::UnsupportedAlgorithm => { - EventType::Dkim(DkimEvent::UnsupportedAlgorithm).into_err() - } - mail_auth::Error::UnsupportedCanonicalization => { - EventType::Dkim(DkimEvent::UnsupportedCanonicalization).into_err() - } - mail_auth::Error::UnsupportedKeyType => { - EventType::Dkim(DkimEvent::UnsupportedKeyType).into_err() - } - mail_auth::Error::FailedBodyHashMatch => { - EventType::Dkim(DkimEvent::FailedBodyHashMatch).into_err() - } - mail_auth::Error::FailedVerification => { - EventType::Dkim(DkimEvent::FailedVerification).into_err() - } - mail_auth::Error::FailedAuidMatch => { - EventType::Dkim(DkimEvent::FailedAuidMatch).into_err() - } - mail_auth::Error::RevokedPublicKey => { - EventType::Dkim(DkimEvent::RevokedPublicKey).into_err() - } - mail_auth::Error::IncompatibleAlgorithms => { - EventType::Dkim(DkimEvent::IncompatibleAlgorithms).into_err() - } - mail_auth::Error::SignatureExpired => { - EventType::Dkim(DkimEvent::SignatureExpired).into_err() - } - mail_auth::Error::SignatureLength => { - EventType::Dkim(DkimEvent::SignatureLength).into_err() - } - mail_auth::Error::DnsError(details) => EventType::MailAuth(MailAuthEvent::DnsError) - .into_err() - .details(CompactString::from(details)), - mail_auth::Error::DnsRecordNotFound(code) => { - EventType::MailAuth(MailAuthEvent::DnsRecordNotFound) - .into_err() - .code(code.to_str()) - } - mail_auth::Error::ArcChainTooLong => EventType::Arc(ArcEvent::ChainTooLong).into_err(), - mail_auth::Error::ArcInvalidInstance(instance) => { - EventType::Arc(ArcEvent::InvalidInstance).ctx(Key::Id, instance) - } - mail_auth::Error::ArcInvalidCV => EventType::Arc(ArcEvent::InvalidCv).into_err(), - mail_auth::Error::ArcHasHeaderTag => EventType::Arc(ArcEvent::HasHeaderTag).into_err(), - mail_auth::Error::ArcBrokenChain => EventType::Arc(ArcEvent::BrokenChain).into_err(), mail_auth::Error::NotAligned => { EventType::MailAuth(MailAuthEvent::PolicyNotAligned).into_err() } - mail_auth::Error::InvalidRecordType => { - EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType).into_err() - } + mail_auth::Error::Crypto(err) => match err { + mail_auth::common::crypto::CryptoError::Library(details) => { + EventType::MailAuth(MailAuthEvent::Crypto) + .into_err() + .details(CompactString::from(details)) + } + mail_auth::common::crypto::CryptoError::FailedVerification => { + EventType::Dkim(DkimEvent::FailedVerification).into_err() + } + mail_auth::common::crypto::CryptoError::IncompatibleAlgorithms => { + EventType::Dkim(DkimEvent::IncompatibleAlgorithms).into_err() + } + }, + mail_auth::Error::Dns(err) => match err { + mail_auth::DnsError::Resolver(details) => { + EventType::MailAuth(MailAuthEvent::DnsError) + .into_err() + .details(CompactString::from(details)) + } + mail_auth::DnsError::RecordNotFound(code) => { + EventType::MailAuth(MailAuthEvent::DnsRecordNotFound) + .into_err() + .code(code.to_str()) + } + mail_auth::DnsError::InvalidRecordType => { + EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType).into_err() + } + }, + mail_auth::Error::Dkim(err) => match err { + mail_auth::dkim::DkimError::UnsupportedVersion => { + EventType::Dkim(DkimEvent::UnsupportedVersion).into_err() + } + mail_auth::dkim::DkimError::UnsupportedAlgorithm => { + EventType::Dkim(DkimEvent::UnsupportedAlgorithm).into_err() + } + mail_auth::dkim::DkimError::UnsupportedCanonicalization => { + EventType::Dkim(DkimEvent::UnsupportedCanonicalization).into_err() + } + mail_auth::dkim::DkimError::UnsupportedKeyType => { + EventType::Dkim(DkimEvent::UnsupportedKeyType).into_err() + } + mail_auth::dkim::DkimError::FailedBodyHashMatch => { + EventType::Dkim(DkimEvent::FailedBodyHashMatch).into_err() + } + mail_auth::dkim::DkimError::FailedAuidMatch => { + EventType::Dkim(DkimEvent::FailedAuidMatch).into_err() + } + mail_auth::dkim::DkimError::RevokedPublicKey => { + EventType::Dkim(DkimEvent::RevokedPublicKey).into_err() + } + mail_auth::dkim::DkimError::SignatureExpired => { + EventType::Dkim(DkimEvent::SignatureExpired).into_err() + } + mail_auth::dkim::DkimError::SignatureLength => { + EventType::Dkim(DkimEvent::SignatureLength).into_err() + } + }, + mail_auth::Error::Arc(err) => match err { + mail_auth::arc::ArcError::ChainTooLong => { + EventType::Arc(ArcEvent::ChainTooLong).into_err() + } + mail_auth::arc::ArcError::InvalidInstance(instance) => { + EventType::Arc(ArcEvent::InvalidInstance).ctx(Key::Id, instance) + } + mail_auth::arc::ArcError::InvalidCV => { + EventType::Arc(ArcEvent::InvalidCv).into_err() + } + mail_auth::arc::ArcError::HasHeaderTag => { + EventType::Arc(ArcEvent::HasHeaderTag).into_err() + } + mail_auth::arc::ArcError::BrokenChain => { + EventType::Arc(ArcEvent::BrokenChain).into_err() + } + mail_auth::arc::ArcError::FailedBodyHashMatch => { + EventType::Dkim(DkimEvent::FailedBodyHashMatch).into_err() + } + mail_auth::arc::ArcError::SignatureExpired => { + EventType::Dkim(DkimEvent::SignatureExpired).into_err() + } + mail_auth::arc::ArcError::SignatureLength => { + EventType::Dkim(DkimEvent::SignatureLength).into_err() + } + }, + mail_auth::Error::Dkim2(err) => match err { + mail_auth::dkim2::Dkim2Error::InstanceMissing(m) => { + EventType::Dkim(DkimEvent::InstanceMissing).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::InstanceSyntax(m) => { + EventType::Dkim(DkimEvent::InstanceSyntax).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::InstanceTagMissing { m, tag } => { + EventType::Dkim(DkimEvent::InstanceTagMissing) + .ctx(Key::Id, m) + .details(tag) + } + mail_auth::dkim2::Dkim2Error::InstanceNotSigned(m) => { + EventType::Dkim(DkimEvent::InstanceNotSigned).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::InstanceAboveSignature(m) => { + EventType::Dkim(DkimEvent::InstanceAboveSignature).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::SignatureMissing(i) => { + EventType::Dkim(DkimEvent::SignatureMissing).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::SignatureSyntax(i) => { + EventType::Dkim(DkimEvent::SignatureSyntax).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::SignatureTagMissing { i, tag } => { + EventType::Dkim(DkimEvent::SignatureTagMissing) + .ctx(Key::Id, i) + .details(tag) + } + mail_auth::dkim2::Dkim2Error::SignatureTagUnexpected { i, tag } => { + EventType::Dkim(DkimEvent::SignatureTagUnexpected) + .ctx(Key::Id, i) + .details(tag) + } + mail_auth::dkim2::Dkim2Error::SequenceGap => { + EventType::Dkim(DkimEvent::SequenceGap).into_err() + } + mail_auth::dkim2::Dkim2Error::SequenceOverflow => { + EventType::Dkim(DkimEvent::SequenceOverflow).into_err() + } + mail_auth::dkim2::Dkim2Error::SignatureExpired(i) => { + EventType::Dkim(DkimEvent::SignatureExpired).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::MailFromMismatch(i) => { + EventType::Dkim(DkimEvent::MailFromMismatch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::RcptToMismatch(i) => { + EventType::Dkim(DkimEvent::RcptToMismatch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::MailFromDomainMismatch(i) => { + EventType::Dkim(DkimEvent::MailFromDomainMismatch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::NextDomainMismatch(i) => { + EventType::Dkim(DkimEvent::NextDomainMismatch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeyFetch(i) => { + EventType::Dkim(DkimEvent::PublicKeyFetch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeyMissing(i) => { + EventType::Dkim(DkimEvent::PublicKeyMissing).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeyMultiple(i) => { + EventType::Dkim(DkimEvent::PublicKeyMultiple).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeySyntax(i) => { + EventType::Dkim(DkimEvent::PublicKeySyntax).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeyAlgorithmMismatch(i) => { + EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::PublicKeyRevoked(i) => { + EventType::Dkim(DkimEvent::RevokedPublicKey).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::IncorrectSignature(i) => { + EventType::Dkim(DkimEvent::FailedVerification).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::NoValidAlgorithm(i) => { + EventType::Dkim(DkimEvent::NoValidAlgorithm).ctx(Key::Id, i) + } + mail_auth::dkim2::Dkim2Error::HeaderHashMismatch(m) => { + EventType::Dkim(DkimEvent::HeaderHashMismatch).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::BodyHashMismatch(m) => { + EventType::Dkim(DkimEvent::FailedBodyHashMatch).ctx(Key::Id, m) + } + mail_auth::dkim2::Dkim2Error::Modified => { + EventType::Dkim(DkimEvent::Modified).into_err() + } + mail_auth::dkim2::Dkim2Error::Exploded => { + EventType::Dkim(DkimEvent::Exploded).into_err() + } + }, } } } diff --git a/crates/trc/src/event/enums.rs b/crates/trc/src/event/enums.rs index 53d883df..aa4523ae 100644 --- a/crates/trc/src/event/enums.rs +++ b/crates/trc/src/event/enums.rs @@ -6,8 +6,8 @@ // This file is auto-generated. Do not edit directly. -pub const TOTAL_EVENT_COUNT: usize = 606; -pub const TOTAL_METRIC_COUNT: usize = 340; +pub const TOTAL_EVENT_COUNT: usize = 630; +pub const TOTAL_METRIC_COUNT: usize = 364; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum EventType { @@ -229,6 +229,30 @@ pub enum DkimEvent { SignatureRetiring = 598, SignatureRetired = 599, SignatureDeleted = 600, + InstanceMissing = 606, + InstanceSyntax = 607, + InstanceTagMissing = 608, + InstanceNotSigned = 609, + InstanceAboveSignature = 610, + SignatureMissing = 611, + SignatureSyntax = 612, + SignatureTagMissing = 613, + SignatureTagUnexpected = 614, + SequenceGap = 615, + SequenceOverflow = 616, + MailFromMismatch = 617, + RcptToMismatch = 618, + MailFromDomainMismatch = 619, + NextDomainMismatch = 620, + PublicKeyFetch = 621, + PublicKeyMissing = 622, + PublicKeyMultiple = 623, + PublicKeySyntax = 624, + PublicKeyAlgorithmMismatch = 625, + NoValidAlgorithm = 626, + HeaderHashMismatch = 627, + Modified = 628, + Exploded = 629, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] @@ -959,6 +983,30 @@ pub enum MetricType { DkimSignatureExpired = 103, DkimSignatureLength = 104, DkimSignerNotFound = 105, + DkimInstanceMissing = 340, + DkimInstanceSyntax = 341, + DkimInstanceTagMissing = 342, + DkimInstanceNotSigned = 343, + DkimInstanceAboveSignature = 344, + DkimSignatureMissing = 345, + DkimSignatureSyntax = 346, + DkimSignatureTagMissing = 347, + DkimSignatureTagUnexpected = 348, + DkimSequenceGap = 349, + DkimSequenceOverflow = 350, + DkimMailFromMismatch = 351, + DkimRcptToMismatch = 352, + DkimMailFromDomainMismatch = 353, + DkimNextDomainMismatch = 354, + DkimPublicKeyFetch = 355, + DkimPublicKeyMissing = 356, + DkimPublicKeyMultiple = 357, + DkimPublicKeySyntax = 358, + DkimPublicKeyAlgorithmMismatch = 359, + DkimNoValidAlgorithm = 360, + DkimHeaderHashMismatch = 361, + DkimModified = 362, + DkimExploded = 363, DmarcPass = 106, DmarcFail = 107, DmarcPermError = 108, diff --git a/crates/trc/src/event/enums_impl.rs b/crates/trc/src/event/enums_impl.rs index 56e1c715..e3cec6d6 100644 --- a/crates/trc/src/event/enums_impl.rs +++ b/crates/trc/src/event/enums_impl.rs @@ -144,6 +144,30 @@ impl EventType { b"dkim.signature-retiring" => EventType::Dkim(DkimEvent::SignatureRetiring), b"dkim.signature-retired" => EventType::Dkim(DkimEvent::SignatureRetired), b"dkim.signature-deleted" => EventType::Dkim(DkimEvent::SignatureDeleted), + b"dkim.instance-missing" => EventType::Dkim(DkimEvent::InstanceMissing), + b"dkim.instance-syntax" => EventType::Dkim(DkimEvent::InstanceSyntax), + b"dkim.instance-tag-missing" => EventType::Dkim(DkimEvent::InstanceTagMissing), + b"dkim.instance-not-signed" => EventType::Dkim(DkimEvent::InstanceNotSigned), + b"dkim.instance-above-signature" => EventType::Dkim(DkimEvent::InstanceAboveSignature), + b"dkim.signature-missing" => EventType::Dkim(DkimEvent::SignatureMissing), + b"dkim.signature-syntax" => EventType::Dkim(DkimEvent::SignatureSyntax), + b"dkim.signature-tag-missing" => EventType::Dkim(DkimEvent::SignatureTagMissing), + b"dkim.signature-tag-unexpected" => EventType::Dkim(DkimEvent::SignatureTagUnexpected), + b"dkim.sequence-gap" => EventType::Dkim(DkimEvent::SequenceGap), + b"dkim.sequence-overflow" => EventType::Dkim(DkimEvent::SequenceOverflow), + b"dkim.mail-from-mismatch" => EventType::Dkim(DkimEvent::MailFromMismatch), + b"dkim.rcpt-to-mismatch" => EventType::Dkim(DkimEvent::RcptToMismatch), + b"dkim.mail-from-domain-mismatch" => EventType::Dkim(DkimEvent::MailFromDomainMismatch), + b"dkim.next-domain-mismatch" => EventType::Dkim(DkimEvent::NextDomainMismatch), + b"dkim.public-key-fetch" => EventType::Dkim(DkimEvent::PublicKeyFetch), + b"dkim.public-key-missing" => EventType::Dkim(DkimEvent::PublicKeyMissing), + b"dkim.public-key-multiple" => EventType::Dkim(DkimEvent::PublicKeyMultiple), + b"dkim.public-key-syntax" => EventType::Dkim(DkimEvent::PublicKeySyntax), + b"dkim.public-key-algorithm-mismatch" => EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch), + b"dkim.no-valid-algorithm" => EventType::Dkim(DkimEvent::NoValidAlgorithm), + b"dkim.header-hash-mismatch" => EventType::Dkim(DkimEvent::HeaderHashMismatch), + b"dkim.modified" => EventType::Dkim(DkimEvent::Modified), + b"dkim.exploded" => EventType::Dkim(DkimEvent::Exploded), b"dmarc.pass" => EventType::Dmarc(DmarcEvent::Pass), b"dmarc.fail" => EventType::Dmarc(DmarcEvent::Fail), b"dmarc.perm-error" => EventType::Dmarc(DmarcEvent::PermError), @@ -776,6 +800,32 @@ impl EventType { EventType::Dkim(DkimEvent::SignatureRetiring) => "dkim.signature-retiring", EventType::Dkim(DkimEvent::SignatureRetired) => "dkim.signature-retired", EventType::Dkim(DkimEvent::SignatureDeleted) => "dkim.signature-deleted", + EventType::Dkim(DkimEvent::InstanceMissing) => "dkim.instance-missing", + EventType::Dkim(DkimEvent::InstanceSyntax) => "dkim.instance-syntax", + EventType::Dkim(DkimEvent::InstanceTagMissing) => "dkim.instance-tag-missing", + EventType::Dkim(DkimEvent::InstanceNotSigned) => "dkim.instance-not-signed", + EventType::Dkim(DkimEvent::InstanceAboveSignature) => "dkim.instance-above-signature", + EventType::Dkim(DkimEvent::SignatureMissing) => "dkim.signature-missing", + EventType::Dkim(DkimEvent::SignatureSyntax) => "dkim.signature-syntax", + EventType::Dkim(DkimEvent::SignatureTagMissing) => "dkim.signature-tag-missing", + EventType::Dkim(DkimEvent::SignatureTagUnexpected) => "dkim.signature-tag-unexpected", + EventType::Dkim(DkimEvent::SequenceGap) => "dkim.sequence-gap", + EventType::Dkim(DkimEvent::SequenceOverflow) => "dkim.sequence-overflow", + EventType::Dkim(DkimEvent::MailFromMismatch) => "dkim.mail-from-mismatch", + EventType::Dkim(DkimEvent::RcptToMismatch) => "dkim.rcpt-to-mismatch", + EventType::Dkim(DkimEvent::MailFromDomainMismatch) => "dkim.mail-from-domain-mismatch", + EventType::Dkim(DkimEvent::NextDomainMismatch) => "dkim.next-domain-mismatch", + EventType::Dkim(DkimEvent::PublicKeyFetch) => "dkim.public-key-fetch", + EventType::Dkim(DkimEvent::PublicKeyMissing) => "dkim.public-key-missing", + EventType::Dkim(DkimEvent::PublicKeyMultiple) => "dkim.public-key-multiple", + EventType::Dkim(DkimEvent::PublicKeySyntax) => "dkim.public-key-syntax", + EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => { + "dkim.public-key-algorithm-mismatch" + } + EventType::Dkim(DkimEvent::NoValidAlgorithm) => "dkim.no-valid-algorithm", + EventType::Dkim(DkimEvent::HeaderHashMismatch) => "dkim.header-hash-mismatch", + EventType::Dkim(DkimEvent::Modified) => "dkim.modified", + EventType::Dkim(DkimEvent::Exploded) => "dkim.exploded", EventType::Dmarc(DmarcEvent::Pass) => "dmarc.pass", EventType::Dmarc(DmarcEvent::Fail) => "dmarc.fail", EventType::Dmarc(DmarcEvent::PermError) => "dmarc.perm-error", @@ -1501,6 +1551,30 @@ impl EventType { EventType::Dkim(DkimEvent::SignatureRetiring) => 598, EventType::Dkim(DkimEvent::SignatureRetired) => 599, EventType::Dkim(DkimEvent::SignatureDeleted) => 600, + EventType::Dkim(DkimEvent::InstanceMissing) => 606, + EventType::Dkim(DkimEvent::InstanceSyntax) => 607, + EventType::Dkim(DkimEvent::InstanceTagMissing) => 608, + EventType::Dkim(DkimEvent::InstanceNotSigned) => 609, + EventType::Dkim(DkimEvent::InstanceAboveSignature) => 610, + EventType::Dkim(DkimEvent::SignatureMissing) => 611, + EventType::Dkim(DkimEvent::SignatureSyntax) => 612, + EventType::Dkim(DkimEvent::SignatureTagMissing) => 613, + EventType::Dkim(DkimEvent::SignatureTagUnexpected) => 614, + EventType::Dkim(DkimEvent::SequenceGap) => 615, + EventType::Dkim(DkimEvent::SequenceOverflow) => 616, + EventType::Dkim(DkimEvent::MailFromMismatch) => 617, + EventType::Dkim(DkimEvent::RcptToMismatch) => 618, + EventType::Dkim(DkimEvent::MailFromDomainMismatch) => 619, + EventType::Dkim(DkimEvent::NextDomainMismatch) => 620, + EventType::Dkim(DkimEvent::PublicKeyFetch) => 621, + EventType::Dkim(DkimEvent::PublicKeyMissing) => 622, + EventType::Dkim(DkimEvent::PublicKeyMultiple) => 623, + EventType::Dkim(DkimEvent::PublicKeySyntax) => 624, + EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => 625, + EventType::Dkim(DkimEvent::NoValidAlgorithm) => 626, + EventType::Dkim(DkimEvent::HeaderHashMismatch) => 627, + EventType::Dkim(DkimEvent::Modified) => 628, + EventType::Dkim(DkimEvent::Exploded) => 629, EventType::Dmarc(DmarcEvent::Pass) => 134, EventType::Dmarc(DmarcEvent::Fail) => 132, EventType::Dmarc(DmarcEvent::PermError) => 135, @@ -2112,6 +2186,30 @@ impl EventType { 598 => Some(EventType::Dkim(DkimEvent::SignatureRetiring)), 599 => Some(EventType::Dkim(DkimEvent::SignatureRetired)), 600 => Some(EventType::Dkim(DkimEvent::SignatureDeleted)), + 606 => Some(EventType::Dkim(DkimEvent::InstanceMissing)), + 607 => Some(EventType::Dkim(DkimEvent::InstanceSyntax)), + 608 => Some(EventType::Dkim(DkimEvent::InstanceTagMissing)), + 609 => Some(EventType::Dkim(DkimEvent::InstanceNotSigned)), + 610 => Some(EventType::Dkim(DkimEvent::InstanceAboveSignature)), + 611 => Some(EventType::Dkim(DkimEvent::SignatureMissing)), + 612 => Some(EventType::Dkim(DkimEvent::SignatureSyntax)), + 613 => Some(EventType::Dkim(DkimEvent::SignatureTagMissing)), + 614 => Some(EventType::Dkim(DkimEvent::SignatureTagUnexpected)), + 615 => Some(EventType::Dkim(DkimEvent::SequenceGap)), + 616 => Some(EventType::Dkim(DkimEvent::SequenceOverflow)), + 617 => Some(EventType::Dkim(DkimEvent::MailFromMismatch)), + 618 => Some(EventType::Dkim(DkimEvent::RcptToMismatch)), + 619 => Some(EventType::Dkim(DkimEvent::MailFromDomainMismatch)), + 620 => Some(EventType::Dkim(DkimEvent::NextDomainMismatch)), + 621 => Some(EventType::Dkim(DkimEvent::PublicKeyFetch)), + 622 => Some(EventType::Dkim(DkimEvent::PublicKeyMissing)), + 623 => Some(EventType::Dkim(DkimEvent::PublicKeyMultiple)), + 624 => Some(EventType::Dkim(DkimEvent::PublicKeySyntax)), + 625 => Some(EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch)), + 626 => Some(EventType::Dkim(DkimEvent::NoValidAlgorithm)), + 627 => Some(EventType::Dkim(DkimEvent::HeaderHashMismatch)), + 628 => Some(EventType::Dkim(DkimEvent::Modified)), + 629 => Some(EventType::Dkim(DkimEvent::Exploded)), 134 => Some(EventType::Dmarc(DmarcEvent::Pass)), 132 => Some(EventType::Dmarc(DmarcEvent::Fail)), 135 => Some(EventType::Dmarc(DmarcEvent::PermError)), @@ -3139,6 +3237,34 @@ impl EventType { EventType::Dkim(DkimEvent::SignatureRetiring) => "DKIM signature retiring", EventType::Dkim(DkimEvent::SignatureRetired) => "DKIM signature retired", EventType::Dkim(DkimEvent::SignatureDeleted) => "DKIM signature deleted", + EventType::Dkim(DkimEvent::InstanceMissing) => "DKIM2 message-instance missing", + EventType::Dkim(DkimEvent::InstanceSyntax) => "DKIM2 message-instance syntax error", + EventType::Dkim(DkimEvent::InstanceTagMissing) => "DKIM2 message-instance tag missing", + EventType::Dkim(DkimEvent::InstanceNotSigned) => "DKIM2 message-instance not signed", + EventType::Dkim(DkimEvent::InstanceAboveSignature) => { + "DKIM2 message-instance above signature" + } + EventType::Dkim(DkimEvent::SignatureMissing) => "DKIM2 signature missing", + EventType::Dkim(DkimEvent::SignatureSyntax) => "DKIM2 signature syntax error", + EventType::Dkim(DkimEvent::SignatureTagMissing) => "DKIM2 signature tag missing", + EventType::Dkim(DkimEvent::SignatureTagUnexpected) => "DKIM2 signature unexpected tag", + EventType::Dkim(DkimEvent::SequenceGap) => "DKIM2 sequence gap", + EventType::Dkim(DkimEvent::SequenceOverflow) => "DKIM2 sequence overflow", + EventType::Dkim(DkimEvent::MailFromMismatch) => "DKIM2 MAIL FROM mismatch", + EventType::Dkim(DkimEvent::RcptToMismatch) => "DKIM2 RCPT TO mismatch", + EventType::Dkim(DkimEvent::MailFromDomainMismatch) => "DKIM2 MAIL FROM domain mismatch", + EventType::Dkim(DkimEvent::NextDomainMismatch) => "DKIM2 next domain mismatch", + EventType::Dkim(DkimEvent::PublicKeyFetch) => "DKIM2 public key fetch error", + EventType::Dkim(DkimEvent::PublicKeyMissing) => "DKIM2 public key missing", + EventType::Dkim(DkimEvent::PublicKeyMultiple) => "DKIM2 multiple public keys", + EventType::Dkim(DkimEvent::PublicKeySyntax) => "DKIM2 public key syntax error", + EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => { + "DKIM2 public key algorithm mismatch" + } + EventType::Dkim(DkimEvent::NoValidAlgorithm) => "DKIM2 no valid algorithm", + EventType::Dkim(DkimEvent::HeaderHashMismatch) => "DKIM2 header hash mismatch", + EventType::Dkim(DkimEvent::Modified) => "DKIM2 message modified", + EventType::Dkim(DkimEvent::Exploded) => "DKIM2 message exploded", EventType::Dmarc(DmarcEvent::Pass) => "DMARC check passed", EventType::Dmarc(DmarcEvent::Fail) => "DMARC check failed", EventType::Dmarc(DmarcEvent::PermError) => "DMARC permanent error", @@ -4141,6 +4267,30 @@ impl EventType { EventType::Dkim(DkimEvent::SignatureRetiring), EventType::Dkim(DkimEvent::SignatureRetired), EventType::Dkim(DkimEvent::SignatureDeleted), + EventType::Dkim(DkimEvent::InstanceMissing), + EventType::Dkim(DkimEvent::InstanceSyntax), + EventType::Dkim(DkimEvent::InstanceTagMissing), + EventType::Dkim(DkimEvent::InstanceNotSigned), + EventType::Dkim(DkimEvent::InstanceAboveSignature), + EventType::Dkim(DkimEvent::SignatureMissing), + EventType::Dkim(DkimEvent::SignatureSyntax), + EventType::Dkim(DkimEvent::SignatureTagMissing), + EventType::Dkim(DkimEvent::SignatureTagUnexpected), + EventType::Dkim(DkimEvent::SequenceGap), + EventType::Dkim(DkimEvent::SequenceOverflow), + EventType::Dkim(DkimEvent::MailFromMismatch), + EventType::Dkim(DkimEvent::RcptToMismatch), + EventType::Dkim(DkimEvent::MailFromDomainMismatch), + EventType::Dkim(DkimEvent::NextDomainMismatch), + EventType::Dkim(DkimEvent::PublicKeyFetch), + EventType::Dkim(DkimEvent::PublicKeyMissing), + EventType::Dkim(DkimEvent::PublicKeyMultiple), + EventType::Dkim(DkimEvent::PublicKeySyntax), + EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch), + EventType::Dkim(DkimEvent::NoValidAlgorithm), + EventType::Dkim(DkimEvent::HeaderHashMismatch), + EventType::Dkim(DkimEvent::Modified), + EventType::Dkim(DkimEvent::Exploded), EventType::Dmarc(DmarcEvent::Pass), EventType::Dmarc(DmarcEvent::Fail), EventType::Dmarc(DmarcEvent::PermError), @@ -4705,6 +4855,30 @@ impl MetricType { b"dkim.signature-expired" => MetricType::DkimSignatureExpired, b"dkim.signature-length" => MetricType::DkimSignatureLength, b"dkim.signer-not-found" => MetricType::DkimSignerNotFound, + b"dkim.instance-missing" => MetricType::DkimInstanceMissing, + b"dkim.instance-syntax" => MetricType::DkimInstanceSyntax, + b"dkim.instance-tag-missing" => MetricType::DkimInstanceTagMissing, + b"dkim.instance-not-signed" => MetricType::DkimInstanceNotSigned, + b"dkim.instance-above-signature" => MetricType::DkimInstanceAboveSignature, + b"dkim.signature-missing" => MetricType::DkimSignatureMissing, + b"dkim.signature-syntax" => MetricType::DkimSignatureSyntax, + b"dkim.signature-tag-missing" => MetricType::DkimSignatureTagMissing, + b"dkim.signature-tag-unexpected" => MetricType::DkimSignatureTagUnexpected, + b"dkim.sequence-gap" => MetricType::DkimSequenceGap, + b"dkim.sequence-overflow" => MetricType::DkimSequenceOverflow, + b"dkim.mail-from-mismatch" => MetricType::DkimMailFromMismatch, + b"dkim.rcpt-to-mismatch" => MetricType::DkimRcptToMismatch, + b"dkim.mail-from-domain-mismatch" => MetricType::DkimMailFromDomainMismatch, + b"dkim.next-domain-mismatch" => MetricType::DkimNextDomainMismatch, + b"dkim.public-key-fetch" => MetricType::DkimPublicKeyFetch, + b"dkim.public-key-missing" => MetricType::DkimPublicKeyMissing, + b"dkim.public-key-multiple" => MetricType::DkimPublicKeyMultiple, + b"dkim.public-key-syntax" => MetricType::DkimPublicKeySyntax, + b"dkim.public-key-algorithm-mismatch" => MetricType::DkimPublicKeyAlgorithmMismatch, + b"dkim.no-valid-algorithm" => MetricType::DkimNoValidAlgorithm, + b"dkim.header-hash-mismatch" => MetricType::DkimHeaderHashMismatch, + b"dkim.modified" => MetricType::DkimModified, + b"dkim.exploded" => MetricType::DkimExploded, b"dmarc.pass" => MetricType::DmarcPass, b"dmarc.fail" => MetricType::DmarcFail, b"dmarc.perm-error" => MetricType::DmarcPermError, @@ -5051,6 +5225,30 @@ impl MetricType { MetricType::DkimSignatureExpired => "dkim.signature-expired", MetricType::DkimSignatureLength => "dkim.signature-length", MetricType::DkimSignerNotFound => "dkim.signer-not-found", + MetricType::DkimInstanceMissing => "dkim.instance-missing", + MetricType::DkimInstanceSyntax => "dkim.instance-syntax", + MetricType::DkimInstanceTagMissing => "dkim.instance-tag-missing", + MetricType::DkimInstanceNotSigned => "dkim.instance-not-signed", + MetricType::DkimInstanceAboveSignature => "dkim.instance-above-signature", + MetricType::DkimSignatureMissing => "dkim.signature-missing", + MetricType::DkimSignatureSyntax => "dkim.signature-syntax", + MetricType::DkimSignatureTagMissing => "dkim.signature-tag-missing", + MetricType::DkimSignatureTagUnexpected => "dkim.signature-tag-unexpected", + MetricType::DkimSequenceGap => "dkim.sequence-gap", + MetricType::DkimSequenceOverflow => "dkim.sequence-overflow", + MetricType::DkimMailFromMismatch => "dkim.mail-from-mismatch", + MetricType::DkimRcptToMismatch => "dkim.rcpt-to-mismatch", + MetricType::DkimMailFromDomainMismatch => "dkim.mail-from-domain-mismatch", + MetricType::DkimNextDomainMismatch => "dkim.next-domain-mismatch", + MetricType::DkimPublicKeyFetch => "dkim.public-key-fetch", + MetricType::DkimPublicKeyMissing => "dkim.public-key-missing", + MetricType::DkimPublicKeyMultiple => "dkim.public-key-multiple", + MetricType::DkimPublicKeySyntax => "dkim.public-key-syntax", + MetricType::DkimPublicKeyAlgorithmMismatch => "dkim.public-key-algorithm-mismatch", + MetricType::DkimNoValidAlgorithm => "dkim.no-valid-algorithm", + MetricType::DkimHeaderHashMismatch => "dkim.header-hash-mismatch", + MetricType::DkimModified => "dkim.modified", + MetricType::DkimExploded => "dkim.exploded", MetricType::DmarcPass => "dmarc.pass", MetricType::DmarcFail => "dmarc.fail", MetricType::DmarcPermError => "dmarc.perm-error", @@ -5408,6 +5606,30 @@ impl MetricType { MetricType::DkimSignatureExpired => 103, MetricType::DkimSignatureLength => 104, MetricType::DkimSignerNotFound => 105, + MetricType::DkimInstanceMissing => 340, + MetricType::DkimInstanceSyntax => 341, + MetricType::DkimInstanceTagMissing => 342, + MetricType::DkimInstanceNotSigned => 343, + MetricType::DkimInstanceAboveSignature => 344, + MetricType::DkimSignatureMissing => 345, + MetricType::DkimSignatureSyntax => 346, + MetricType::DkimSignatureTagMissing => 347, + MetricType::DkimSignatureTagUnexpected => 348, + MetricType::DkimSequenceGap => 349, + MetricType::DkimSequenceOverflow => 350, + MetricType::DkimMailFromMismatch => 351, + MetricType::DkimRcptToMismatch => 352, + MetricType::DkimMailFromDomainMismatch => 353, + MetricType::DkimNextDomainMismatch => 354, + MetricType::DkimPublicKeyFetch => 355, + MetricType::DkimPublicKeyMissing => 356, + MetricType::DkimPublicKeyMultiple => 357, + MetricType::DkimPublicKeySyntax => 358, + MetricType::DkimPublicKeyAlgorithmMismatch => 359, + MetricType::DkimNoValidAlgorithm => 360, + MetricType::DkimHeaderHashMismatch => 361, + MetricType::DkimModified => 362, + MetricType::DkimExploded => 363, MetricType::DmarcPass => 106, MetricType::DmarcFail => 107, MetricType::DmarcPermError => 108, @@ -5753,6 +5975,30 @@ impl MetricType { 103 => Some(MetricType::DkimSignatureExpired), 104 => Some(MetricType::DkimSignatureLength), 105 => Some(MetricType::DkimSignerNotFound), + 340 => Some(MetricType::DkimInstanceMissing), + 341 => Some(MetricType::DkimInstanceSyntax), + 342 => Some(MetricType::DkimInstanceTagMissing), + 343 => Some(MetricType::DkimInstanceNotSigned), + 344 => Some(MetricType::DkimInstanceAboveSignature), + 345 => Some(MetricType::DkimSignatureMissing), + 346 => Some(MetricType::DkimSignatureSyntax), + 347 => Some(MetricType::DkimSignatureTagMissing), + 348 => Some(MetricType::DkimSignatureTagUnexpected), + 349 => Some(MetricType::DkimSequenceGap), + 350 => Some(MetricType::DkimSequenceOverflow), + 351 => Some(MetricType::DkimMailFromMismatch), + 352 => Some(MetricType::DkimRcptToMismatch), + 353 => Some(MetricType::DkimMailFromDomainMismatch), + 354 => Some(MetricType::DkimNextDomainMismatch), + 355 => Some(MetricType::DkimPublicKeyFetch), + 356 => Some(MetricType::DkimPublicKeyMissing), + 357 => Some(MetricType::DkimPublicKeyMultiple), + 358 => Some(MetricType::DkimPublicKeySyntax), + 359 => Some(MetricType::DkimPublicKeyAlgorithmMismatch), + 360 => Some(MetricType::DkimNoValidAlgorithm), + 361 => Some(MetricType::DkimHeaderHashMismatch), + 362 => Some(MetricType::DkimModified), + 363 => Some(MetricType::DkimExploded), 106 => Some(MetricType::DmarcPass), 107 => Some(MetricType::DmarcFail), 108 => Some(MetricType::DmarcPermError), @@ -6096,6 +6342,30 @@ impl MetricType { MetricType::DkimSignatureExpired => 124, MetricType::DkimSignatureLength => 125, MetricType::DkimSignerNotFound => 126, + MetricType::DkimInstanceMissing => 606, + MetricType::DkimInstanceSyntax => 607, + MetricType::DkimInstanceTagMissing => 608, + MetricType::DkimInstanceNotSigned => 609, + MetricType::DkimInstanceAboveSignature => 610, + MetricType::DkimSignatureMissing => 611, + MetricType::DkimSignatureSyntax => 612, + MetricType::DkimSignatureTagMissing => 613, + MetricType::DkimSignatureTagUnexpected => 614, + MetricType::DkimSequenceGap => 615, + MetricType::DkimSequenceOverflow => 616, + MetricType::DkimMailFromMismatch => 617, + MetricType::DkimRcptToMismatch => 618, + MetricType::DkimMailFromDomainMismatch => 619, + MetricType::DkimNextDomainMismatch => 620, + MetricType::DkimPublicKeyFetch => 621, + MetricType::DkimPublicKeyMissing => 622, + MetricType::DkimPublicKeyMultiple => 623, + MetricType::DkimPublicKeySyntax => 624, + MetricType::DkimPublicKeyAlgorithmMismatch => 625, + MetricType::DkimNoValidAlgorithm => 626, + MetricType::DkimHeaderHashMismatch => 627, + MetricType::DkimModified => 628, + MetricType::DkimExploded => 629, MetricType::DmarcPass => 134, MetricType::DmarcFail => 132, MetricType::DmarcPermError => 135, @@ -6420,6 +6690,30 @@ impl MetricType { MetricType::DkimSignatureExpired => "DKIM signature expired", MetricType::DkimSignatureLength => "DKIM signature length issue", MetricType::DkimSignerNotFound => "DKIM signer not found", + MetricType::DkimInstanceMissing => "DKIM2 message-instance missing", + MetricType::DkimInstanceSyntax => "DKIM2 message-instance syntax error", + MetricType::DkimInstanceTagMissing => "DKIM2 message-instance tag missing", + MetricType::DkimInstanceNotSigned => "DKIM2 message-instance not signed", + MetricType::DkimInstanceAboveSignature => "DKIM2 message-instance above signature", + MetricType::DkimSignatureMissing => "DKIM2 signature missing", + MetricType::DkimSignatureSyntax => "DKIM2 signature syntax error", + MetricType::DkimSignatureTagMissing => "DKIM2 signature tag missing", + MetricType::DkimSignatureTagUnexpected => "DKIM2 signature unexpected tag", + MetricType::DkimSequenceGap => "DKIM2 sequence gap", + MetricType::DkimSequenceOverflow => "DKIM2 sequence overflow", + MetricType::DkimMailFromMismatch => "DKIM2 MAIL FROM mismatch", + MetricType::DkimRcptToMismatch => "DKIM2 RCPT TO mismatch", + MetricType::DkimMailFromDomainMismatch => "DKIM2 MAIL FROM domain mismatch", + MetricType::DkimNextDomainMismatch => "DKIM2 next domain mismatch", + MetricType::DkimPublicKeyFetch => "DKIM2 public key fetch error", + MetricType::DkimPublicKeyMissing => "DKIM2 public key missing", + MetricType::DkimPublicKeyMultiple => "DKIM2 multiple public keys", + MetricType::DkimPublicKeySyntax => "DKIM2 public key syntax error", + MetricType::DkimPublicKeyAlgorithmMismatch => "DKIM2 public key algorithm mismatch", + MetricType::DkimNoValidAlgorithm => "DKIM2 no valid algorithm", + MetricType::DkimHeaderHashMismatch => "DKIM2 header hash mismatch", + MetricType::DkimModified => "DKIM2 message modified", + MetricType::DkimExploded => "DKIM2 message exploded", MetricType::DmarcPass => "DMARC check passed", MetricType::DmarcFail => "DMARC check failed", MetricType::DmarcPermError => "DMARC permanent error", @@ -6782,6 +7076,30 @@ impl MetricType { | MetricType::DkimSignatureExpired | MetricType::DkimSignatureLength | MetricType::DkimSignerNotFound + | MetricType::DkimInstanceMissing + | MetricType::DkimInstanceSyntax + | MetricType::DkimInstanceTagMissing + | MetricType::DkimInstanceNotSigned + | MetricType::DkimInstanceAboveSignature + | MetricType::DkimSignatureMissing + | MetricType::DkimSignatureSyntax + | MetricType::DkimSignatureTagMissing + | MetricType::DkimSignatureTagUnexpected + | MetricType::DkimSequenceGap + | MetricType::DkimSequenceOverflow + | MetricType::DkimMailFromMismatch + | MetricType::DkimRcptToMismatch + | MetricType::DkimMailFromDomainMismatch + | MetricType::DkimNextDomainMismatch + | MetricType::DkimPublicKeyFetch + | MetricType::DkimPublicKeyMissing + | MetricType::DkimPublicKeyMultiple + | MetricType::DkimPublicKeySyntax + | MetricType::DkimPublicKeyAlgorithmMismatch + | MetricType::DkimNoValidAlgorithm + | MetricType::DkimHeaderHashMismatch + | MetricType::DkimModified + | MetricType::DkimExploded | MetricType::DmarcPass | MetricType::DmarcFail | MetricType::DmarcPermError @@ -7120,6 +7438,30 @@ impl MetricType { MetricType::DkimSignatureExpired, MetricType::DkimSignatureLength, MetricType::DkimSignerNotFound, + MetricType::DkimInstanceMissing, + MetricType::DkimInstanceSyntax, + MetricType::DkimInstanceTagMissing, + MetricType::DkimInstanceNotSigned, + MetricType::DkimInstanceAboveSignature, + MetricType::DkimSignatureMissing, + MetricType::DkimSignatureSyntax, + MetricType::DkimSignatureTagMissing, + MetricType::DkimSignatureTagUnexpected, + MetricType::DkimSequenceGap, + MetricType::DkimSequenceOverflow, + MetricType::DkimMailFromMismatch, + MetricType::DkimRcptToMismatch, + MetricType::DkimMailFromDomainMismatch, + MetricType::DkimNextDomainMismatch, + MetricType::DkimPublicKeyFetch, + MetricType::DkimPublicKeyMissing, + MetricType::DkimPublicKeyMultiple, + MetricType::DkimPublicKeySyntax, + MetricType::DkimPublicKeyAlgorithmMismatch, + MetricType::DkimNoValidAlgorithm, + MetricType::DkimHeaderHashMismatch, + MetricType::DkimModified, + MetricType::DkimExploded, MetricType::DmarcPass, MetricType::DmarcFail, MetricType::DmarcPermError, diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index b4863371..7b95f671 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -12,7 +12,7 @@ rustls-platform-verifier = "0.7" tokio = { version = "1.47", features = ["net", "macros", "signal"] } tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "tls12"] } serde = { version = "1.0", features = ["derive"]} -mail-auth = { version = "0.10" } +mail-auth = { path = "/Users/me/code/mail-auth" } smtp-proto = { version = "0.2" } ahash = { version = "0.8", features = ["serde"] } chrono = "0.4" diff --git a/resources/schema/schema.json.gz b/resources/schema/schema.json.gz index 634bb244e86423d78bc0e09689a765620376e429..d46002f8b281c2800073555c14fb3f978ae57d49 100644 GIT binary patch delta 119597 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 delta 118329 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șX$_ajBevoxEI@UA2&dpPsAoSk<2emdvPJyBp<`W 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 v1_rsa.push(sig), DkimSignature::Dkim1Ed25519Sha256(sig) => v1_ed25519.push(sig), + DkimSignature::Dkim2Ed25519Sha256(_) | DkimSignature::Dkim2RsaSha256(_) => todo!(), } }