diff --git a/CHANGELOG.md b/CHANGELOG.md index a2125aaf1..41c9319f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,6 +66,9 @@ ### Changes +- Look at Authentication-Results. Don't accept Autocrypt key changes + if they come with negative authentiation results while this contact + sent emails with positive authentication results in the past. #3583 - jsonrpc in cffi also sends events now #3662 - jsonrpc: new format for events and better typescript autocompletion - Join all "[migration] vXX" log messages into one diff --git a/src/authres.rs b/src/authres.rs new file mode 100644 index 000000000..55a3dc636 --- /dev/null +++ b/src/authres.rs @@ -0,0 +1,744 @@ +//! Parsing and handling of the Authentication-Results header. +//! See the comment on [`handle_authres`] for more. + +use std::borrow::Cow; +use std::collections::BTreeSet; +use std::fmt; + +use anyhow::Result; +use mailparse::MailHeaderMap; +use mailparse::ParsedMail; +use once_cell::sync::Lazy; + +use crate::config::Config; +use crate::context::Context; +use crate::headerdef::HeaderDef; +use crate::tools::time; +use crate::tools::EmailAddress; + +/// `authres` is short for the Authentication-Results header, defined in +/// , which contains info +/// about whether DKIM and SPF passed. +/// +/// To mitigate From forgery, we remember for each sending domain whether it is known +/// to have valid DKIM. If an email from such a domain comes with invalid DKIM, +/// we don't allow changing the autocrypt key. +/// +/// See . +pub(crate) async fn handle_authres( + context: &Context, + mail: &ParsedMail<'_>, + from: &str, + message_time: i64, +) -> Result { + let from_domain = match EmailAddress::new(from) { + Ok(email) => email.domain, + Err(e) => { + warn!(context, "invalid email {:#}", e); + // This email is invalid, but don't return an error, we still want to + // add a stub to the database so that it's not downloaded again + return Ok(DkimResults::default()); + } + }; + + let authres = parse_authres_headers(&mail.get_headers(), &from_domain); + update_authservid_candidates(context, &authres).await?; + compute_dkim_results(context, authres, &from_domain, message_time).await +} + +#[derive(Default, Debug)] +pub(crate) struct DkimResults { + /// Whether DKIM passed for this particular e-mail. + pub dkim_passed: bool, + /// Whether DKIM is known to work for e-mails coming from the sender's domain, + /// i.e. whether we expect DKIM to work. + pub dkim_should_work: bool, + /// Whether changing the public Autocrypt key should be allowed. + /// This is false if we expected DKIM to work (dkim_works=true), + /// but it failed now (dkim_passed=false). + pub allow_keychange: bool, +} + +impl fmt::Display for DkimResults { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + write!( + fmt, + "DKIM Results: Passed={}, Works={}, Allow_Keychange={}", + self.dkim_passed, self.dkim_should_work, self.allow_keychange + )?; + if !self.allow_keychange { + write!(fmt, " KEYCHANGES NOT ALLOWED!!!!")?; + } + Ok(()) + } +} + +type AuthservId = String; + +#[derive(Debug, PartialEq)] +enum DkimResult { + /// The header explicitly said that DKIM passed + Passed, + /// The header explicitly said that DKIM failed + Failed, + /// The header didn't say anything about DKIM; this might mean that it wasn't + /// checked, but it might also mean that it failed. This is because some providers + /// (e.g. ik.me, mail.ru, posteo.de) don't add `dkim=none` to their + /// Authentication-Results if there was no DKIM. + Nothing, +} + +type ParsedAuthresHeaders = Vec<(AuthservId, DkimResult)>; + +fn parse_authres_headers( + headers: &mailparse::headers::Headers<'_>, + from_domain: &str, +) -> ParsedAuthresHeaders { + let mut res = Vec::new(); + for header_value in headers.get_all_values(HeaderDef::AuthenticationResults.into()) { + let header_value = remove_comments(&header_value); + + if let Some(mut authserv_id) = header_value.split(';').next() { + if authserv_id.contains(char::is_whitespace) || authserv_id.is_empty() { + // Outlook violates the RFC by not adding an authserv-id at all, which we notice + // because there is whitespace in the first identifier before the ';'. + // Authentication-Results-parsing still works securely because they remove incoming + // Authentication-Results headers. + // We just use an arbitrary authserv-id, it will work for Outlook, and in general, + // with providers not implementing the RFC correctly, someone can trick us + // into thinking that an incoming email is DKIM-correct, anyway. + // The most important thing here is that we have some valid `authserv_id`. + authserv_id = "invalidAuthservId"; + } + let dkim_passed = parse_one_authres_header(&header_value, from_domain); + res.push((authserv_id.to_string(), dkim_passed)); + } + } + + res +} + +/// The headers can contain comments that look like this: +/// ```text +/// Authentication-Results: (this is a comment) gmx.net; (another; comment) dkim=pass; +/// ``` +fn remove_comments(header: &str) -> Cow<'_, str> { + // In Pomsky, this is: + // "(" Codepoint* lazy ")" + // See https://playground.pomsky-lang.org/?text=%22(%22%20Codepoint*%20lazy%20%22)%22 + static RE: Lazy = Lazy::new(|| regex::Regex::new(r"\([\s\S]*?\)").unwrap()); + + RE.replace_all(header, " ") +} + +/// Parses a single Authentication-Results header, like: +/// +/// ```text +/// Authentication-Results: gmx.net; dkim=pass header.i=@slack.com +/// ``` +fn parse_one_authres_header(header_value: &str, from_domain: &str) -> DkimResult { + if let Some((before_dkim_part, dkim_to_end)) = header_value.split_once("dkim=") { + // Check that the character right before `dkim=` is a space or a tab + // so that we wouldn't e.g. mistake `notdkim=pass` for `dkim=pass` + if before_dkim_part.ends_with(' ') || before_dkim_part.ends_with('\t') { + let dkim_part = dkim_to_end.split(';').next().unwrap_or_default(); + let dkim_parts: Vec<_> = dkim_part.split_whitespace().collect(); + if let Some(&"pass") = dkim_parts.first() { + // DKIM headers contain a header.d or header.i field + // that says which domain signed. We have to check ourselves + // that this is the same domain as in the From header. + let header_d: &str = &format!("header.d={}", &from_domain); + let header_i: &str = &format!("header.i=@{}", &from_domain); + + if dkim_parts.contains(&header_d) || dkim_parts.contains(&header_i) { + // We have found a `dkim=pass` header! + return DkimResult::Passed; + } + } else { + // dkim=fail, dkim=none, ... + return DkimResult::Failed; + } + } + } + + DkimResult::Nothing +} + +/// ## About authserv-ids +/// +/// After having checked DKIM, our email server adds an Authentication-Results header. +/// +/// Now, an attacker could just add an Authentication-Results header that says dkim=pass +/// in order to make us think that DKIM was correct in their From-forged email. +/// +/// In order to prevent this, each email server adds its authserv-id to the +/// Authentication-Results header, e.g. Testrun's authserv-id is `testrun.org`, Gmail's +/// is `mx.google.com`. When Testrun gets a mail delivered from outside, it will then +/// remove any Authentication-Results headers whose authserv-id is also `testrun.org`. +/// +/// We need to somehow find out the authserv-id(s) of our email server, so that +/// we can use the Authentication-Results with the right authserv-id. +/// +/// ## What this function does +/// +/// When receiving an email, this function is called and updates the candidates for +/// our server's authserv-id, i.e. what we think our server's authserv-id is. +/// +/// Usually, every incoming email has Authentication-Results with our server's +/// authserv-id, so, the intersection of the existing authserv-ids and the incoming +/// authserv-ids for our server's authserv-id is a good guess for our server's +/// authserv-id. When this intersection is empty, we assume that the authserv-id has +/// changed and start over with the new authserv-ids. +/// +/// See [`handle_authres`]. +async fn update_authservid_candidates( + context: &Context, + authres: &ParsedAuthresHeaders, +) -> Result<()> { + let mut new_ids: BTreeSet<&str> = authres + .iter() + .map(|(authserv_id, _dkim_passed)| authserv_id.as_str()) + .collect(); + if new_ids.is_empty() { + // The incoming message doesn't contain any authentication results, maybe it's a + // self-sent or a mailer-daemon message + return Ok(()); + } + + let old_config = context.get_config(Config::AuthservIdCandidates).await?; + let old_ids = parse_authservid_candidates_config(&old_config); + let intersection: BTreeSet<&str> = old_ids.intersection(&new_ids).copied().collect(); + if !intersection.is_empty() { + new_ids = intersection; + } + // If there were no AuthservIdCandidates previously, just start with + // the ones from the incoming email + + if old_ids != new_ids { + let new_config = new_ids.into_iter().collect::>().join(" "); + context + .set_config(Config::AuthservIdCandidates, Some(&new_config)) + .await?; + // Updating the authservid candidates may mean that we now consider + // emails as "failed" which "passed" previously, so we need to + // reset our expectation which DKIMs work. + clear_dkim_works(context).await? + } + Ok(()) +} + +/// Use the parsed authres and the authservid candidates to compute whether DKIM passed +/// and whether a keychange should be allowed. +/// +/// We track in the `sending_domains` table whether we get positive Authentication-Results +/// for mails from a contact (meaning that their provider properly authenticates against +/// our provider). +/// +/// Once a contact is known to come with positive Authentication-Resutls (dkim: pass), +/// we don't accept Autocrypt key changes if they come with negative Authentication-Results. +async fn compute_dkim_results( + context: &Context, + mut authres: ParsedAuthresHeaders, + from_domain: &str, + message_time: i64, +) -> Result { + let mut dkim_passed = false; + + let ids_config = context.get_config(Config::AuthservIdCandidates).await?; + let ids = parse_authservid_candidates_config(&ids_config); + + // Remove all foreign authentication results + authres.retain(|(authserv_id, _dkim_passed)| ids.contains(authserv_id.as_str())); + + if authres.is_empty() { + // If the authentication results are empty, then our provider doesn't add them + // and an attacker could just add their own Authentication-Results, making us + // think that DKIM passed. So, in this case, we can as well assume that DKIM passed. + dkim_passed = true; + } else { + for (_authserv_id, current_dkim_passed) in authres { + match current_dkim_passed { + DkimResult::Passed => { + dkim_passed = true; + break; + } + DkimResult::Failed => { + dkim_passed = false; + break; + } + DkimResult::Nothing => { + // Continue looking for an Authentication-Results header + } + } + } + } + + let last_working_timestamp = dkim_works_timestamp(context, from_domain).await?; + let mut dkim_should_work = dkim_should_work(last_working_timestamp)?; + if message_time > last_working_timestamp && dkim_passed { + set_dkim_works_timestamp(context, from_domain, message_time).await?; + dkim_should_work = true; + } + + Ok(DkimResults { + dkim_passed, + dkim_should_work, + allow_keychange: dkim_passed || !dkim_should_work, + }) +} + +/// Whether DKIM in emails from this domain should be considered to work. +fn dkim_should_work(last_working_timestamp: i64) -> Result { + // When we get an email with valid DKIM-Authentication-Results, + // then we assume that DKIM works for 30 days from this time on. + let should_work_until = last_working_timestamp + 3600 * 24 * 30; + + let dkim_ever_worked = last_working_timestamp > 0; + + // We're using time() here and not the time when the message + // claims to have been sent (passed around as `message_time`) + // because otherwise an attacker could just put a time way + // in the future into the `Date` header and then we would + // assume that DKIM doesn't have to be valid anymore. + let dkim_should_work_now = should_work_until > time(); + Ok(dkim_ever_worked && dkim_should_work_now) +} + +async fn dkim_works_timestamp(context: &Context, from_domain: &str) -> Result { + let last_working_timestamp: i64 = context + .sql + .query_get_value( + "SELECT dkim_works FROM sending_domains WHERE domain=?", + paramsv![from_domain], + ) + .await? + .unwrap_or(0); + Ok(last_working_timestamp) +} + +async fn set_dkim_works_timestamp( + context: &Context, + from_domain: &str, + timestamp: i64, +) -> Result<()> { + context + .sql + .execute( + "INSERT INTO sending_domains (domain, dkim_works) VALUES (?,?) + ON CONFLICT(domain) DO UPDATE SET dkim_works=excluded.dkim_works", + paramsv![from_domain, timestamp], + ) + .await?; + Ok(()) +} + +async fn clear_dkim_works(context: &Context) -> Result<()> { + context + .sql + .execute("DELETE FROM sending_domains", paramsv![]) + .await?; + Ok(()) +} + +fn parse_authservid_candidates_config(config: &Option) -> BTreeSet<&str> { + config + .as_deref() + .map(|c| c.split_whitespace().collect()) + .unwrap_or_default() +} + +#[cfg(test)] +mod tests { + #![allow(clippy::indexing_slicing)] + use std::time::Duration; + + use tokio::fs; + use tokio::io::AsyncReadExt; + + use super::*; + + use crate::e2ee; + use crate::mimeparser; + use crate::peerstate::Peerstate; + use crate::securejoin::get_securejoin_qr; + use crate::securejoin::join_securejoin; + use crate::test_utils; + use crate::test_utils::TestContext; + use crate::test_utils::TestContextManager; + use crate::tools; + + #[test] + fn test_remove_comments() { + let header = "Authentication-Results: mx3.messagingengine.com; + dkim=pass (1024-bit rsa key sha256) header.d=riseup.net;" + .to_string(); + assert_eq!( + remove_comments(&header), + "Authentication-Results: mx3.messagingengine.com; + dkim=pass header.d=riseup.net;" + ); + + let header = ") aaa (".to_string(); + assert_eq!(remove_comments(&header), ") aaa ("); + + let header = "((something weird) no comment".to_string(); + assert_eq!(remove_comments(&header), " no comment"); + + let header = "🎉(🎉(🎉))🎉(".to_string(); + assert_eq!(remove_comments(&header), "🎉 )🎉("); + + // Comments are allowed to include whitespace + let header = "(com\n\t\r\nment) no comment (comment)".to_string(); + assert_eq!(remove_comments(&header), " no comment "); + } + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_parse_authentication_results() -> Result<()> { + let t = TestContext::new().await; + t.configure_addr("alice@gmx.net").await; + let bytes = b"Authentication-Results: gmx.net; dkim=pass header.i=@slack.com +Authentication-Results: gmx.net; dkim=pass header.i=@amazonses.com"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "slack.com"); + assert_eq!( + actual, + vec![ + ("gmx.net".to_string(), DkimResult::Passed), + ("gmx.net".to_string(), DkimResult::Nothing) + ] + ); + + let bytes = b"Authentication-Results: gmx.net; notdkim=pass header.i=@slack.com +Authentication-Results: gmx.net; notdkim=pass header.i=@amazonses.com"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "slack.com"); + assert_eq!( + actual, + vec![ + ("gmx.net".to_string(), DkimResult::Nothing), + ("gmx.net".to_string(), DkimResult::Nothing) + ] + ); + + let bytes = b"Authentication-Results: gmx.net; dkim=pass header.i=@amazonses.com"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "slack.com"); + assert_eq!(actual, vec![("gmx.net".to_string(), DkimResult::Nothing)],); + + // Weird Authentication-Results from Outlook without an authserv-id + let bytes = b"Authentication-Results: spf=pass (sender IP is 40.92.73.85) + smtp.mailfrom=hotmail.com; dkim=pass (signature was verified) + header.d=hotmail.com;dmarc=pass action=none + header.from=hotmail.com;compauth=pass reason=100"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "hotmail.com"); + // At this point, the most important thing to test is that there are no + // authserv-ids with whitespace in them. + assert_eq!( + actual, + vec![("invalidAuthservId".to_string(), DkimResult::Passed)] + ); + + let bytes = b"Authentication-Results: gmx.net; dkim=none header.i=@slack.com +Authentication-Results: gmx.net; dkim=pass header.i=@slack.com"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "slack.com"); + assert_eq!( + actual, + vec![ + ("gmx.net".to_string(), DkimResult::Failed), + ("gmx.net".to_string(), DkimResult::Passed) + ] + ); + + // ';' in comments + let bytes = b"Authentication-Results: mx1.riseup.net; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.a=rsa-sha256 header.s=mail header.b=avNJu6sw; + dkim-atps=neutral"; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "yandex.ru"); + assert_eq!( + actual, + vec![("mx1.riseup.net".to_string(), DkimResult::Passed)] + ); + + let bytes = br#"Authentication-Results: box.hispanilandia.net; + dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.b="kqh3WUKq"; + dkim-atps=neutral +Authentication-Results: box.hispanilandia.net; dmarc=pass (p=quarantine dis=none) header.from=disroot.org +Authentication-Results: box.hispanilandia.net; spf=pass smtp.mailfrom=adbenitez@disroot.org"#; + let mail = mailparse::parse_mail(bytes)?; + let actual = parse_authres_headers(&mail.get_headers(), "disroot.org"); + assert_eq!( + actual, + vec![ + ("box.hispanilandia.net".to_string(), DkimResult::Failed), + ("box.hispanilandia.net".to_string(), DkimResult::Nothing), + ("box.hispanilandia.net".to_string(), DkimResult::Nothing), + ] + ); + + Ok(()) + } + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_update_authservid_candidates() -> Result<()> { + let t = TestContext::new_alice().await; + + update_authservid_candidates_test(&t, &["mx3.messagingengine.com"]).await; + let candidates = t.get_config(Config::AuthservIdCandidates).await?.unwrap(); + assert_eq!(candidates, "mx3.messagingengine.com"); + + // "mx4.messagingengine.com" seems to be the new authserv-id, DC should accept it + update_authservid_candidates_test(&t, &["mx4.messagingengine.com"]).await; + let candidates = t.get_config(Config::AuthservIdCandidates).await?.unwrap(); + assert_eq!(candidates, "mx4.messagingengine.com"); + + // A message without any Authentication-Results headers shouldn't remove all + // candidates since it could be a mailer-daemon message or so + update_authservid_candidates_test(&t, &[]).await; + let candidates = t.get_config(Config::AuthservIdCandidates).await?.unwrap(); + assert_eq!(candidates, "mx4.messagingengine.com"); + + update_authservid_candidates_test(&t, &["mx4.messagingengine.com", "someotherdomain.com"]) + .await; + let candidates = t.get_config(Config::AuthservIdCandidates).await?.unwrap(); + assert_eq!(candidates, "mx4.messagingengine.com"); + + Ok(()) + } + + /// Calls update_authservid_candidates(), meant for using in a test. + /// + /// update_authservid_candidates() only looks at the keys of its + /// `authentication_results` parameter. So, this function takes `incoming_ids` + /// and adds some AuthenticationResults to get the HashMap we need. + async fn update_authservid_candidates_test(context: &Context, incoming_ids: &[&str]) { + let v = incoming_ids + .iter() + .map(|id| (id.to_string(), DkimResult::Passed)) + .collect(); + update_authservid_candidates(context, &v).await.unwrap() + } + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_realworld_authentication_results() -> Result<()> { + let mut test_failed = false; + + let dir = tools::read_dir("test-data/message/dkimchecks-2022-09-28/".as_ref()) + .await + .unwrap(); + let mut bytes = Vec::new(); + for entry in dir { + if !entry.file_type().await.unwrap().is_dir() { + continue; + } + let self_addr = entry.file_name().into_string().unwrap(); + let self_domain = EmailAddress::new(&self_addr).unwrap().domain; + let authres_parsing_works = [ + "ik.me", + "web.de", + "posteo.de", + "gmail.com", + "hotmail.com", + "mail.ru", + "aol.com", + "yahoo.com", + "icloud.com", + "fastmail.com", + "mail.de", + "outlook.com", + "gmx.de", + "testrun.org", + ] + .contains(&self_domain.as_str()); + + let t = TestContext::new().await; + t.configure_addr(&self_addr).await; + if !authres_parsing_works { + println!("========= Receiving as {} =========", &self_addr); + } + + // Simulate receiving all emails once, so that we have the correct authserv-ids + let mut dir = tools::read_dir(&entry.path()).await.unwrap(); + + // The ordering in which the emails are received can matter; + // the test _should_ pass for every ordering. + dir.sort_by_key(|d| d.file_name()); + //rand::seq::SliceRandom::shuffle(&mut dir[..], &mut rand::thread_rng()); + + for entry in &dir { + let mut file = fs::File::open(entry.path()).await?; + bytes.clear(); + file.read_to_end(&mut bytes).await.unwrap(); + + let mail = mailparse::parse_mail(&bytes)?; + let from = &mimeparser::get_from(&mail.headers)[0].addr; + + let res = handle_authres(&t, &mail, from, time()).await?; + assert!(res.allow_keychange); + } + + for entry in &dir { + let mut file = fs::File::open(entry.path()).await?; + bytes.clear(); + file.read_to_end(&mut bytes).await.unwrap(); + + let mail = mailparse::parse_mail(&bytes)?; + let from = &mimeparser::get_from(&mail.headers)[0].addr; + + let res = handle_authres(&t, &mail, from, time()).await?; + if !res.allow_keychange { + println!( + "!!!!!! FAILURE Receiving {:?}, keychange is not allowed !!!!!!", + entry.path() + ); + test_failed = true; + } + + let from_domain = EmailAddress::new(from).unwrap().domain; + assert_eq!( + res.dkim_should_work, + dkim_should_work(dkim_works_timestamp(&t, &from_domain).await?)? + ); + assert_eq!(res.dkim_passed, res.dkim_should_work); + + // delta.blinzeln.de and gmx.de have invalid DKIM, so the DKIM check should fail + let expected_result = (from_domain != "delta.blinzeln.de") && (from_domain != "gmx.de") + // These are (fictional) forged emails where the attacker added a fake + // Authentication-Results before sending the email + && from != "forged-authres-added@example.com" + // Other forged emails + && !from.starts_with("forged"); + + if res.dkim_passed != expected_result { + if authres_parsing_works { + println!( + "!!!!!! FAILURE Receiving {:?}, order {:#?} wrong result: !!!!!!", + entry.path(), + dir.iter().map(|e| e.file_name()).collect::>() + ); + test_failed = true; + } + println!("From {}: {}", from_domain, res.dkim_passed); + } + } + } + + assert!(!test_failed); + Ok(()) + } + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_handle_authres() { + let t = TestContext::new().await; + + // Even if the format is wrong and parsing fails, handle_authres() shouldn't + // return an Err because this would prevent the message from being added + // to the database and downloaded again and again + let bytes = b"Authentication-Results: dkim="; + let mail = mailparse::parse_mail(bytes).unwrap(); + handle_authres(&t, &mail, "invalidfrom.com", time()) + .await + .unwrap(); + } + + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn test_handle_authres_fails() -> Result<()> { + let mut tcm = TestContextManager::new(); + let alice = tcm.alice().await; + let bob = tcm.bob().await; + + // Bob sends Alice a message, so she gets his key + tcm.send_recv_accept(&bob, &alice, "Hi").await; + + // We don't need bob anymore, let's make sure it's not accidentally used + drop(bob); + + // Assume Alice receives an email from bob@example.net with + // correct DKIM -> `set_dkim_works()` was called + set_dkim_works_timestamp(&alice, "example.net", time()).await?; + // And Alice knows her server's authserv-id + alice + .set_config(Config::AuthservIdCandidates, Some("example.org")) + .await?; + + tcm.section("An attacker, bob2, sends a from-forged email to Alice!"); + + let bob2 = tcm.unconfigured().await; + bob2.configure_addr("bob@example.net").await; + e2ee::ensure_secret_key_exists(&bob2).await?; + + let chat = bob2.create_chat(&alice).await; + let mut sent = bob2 + .send_text(chat.id, "Please send me lots of money") + .await; + + sent.payload + .insert_str(0, "Authentication-Results: example.org; dkim=fail"); + + let received = alice.recv_msg(&sent).await; + + // Assert that the error tells the user about the problem + assert!(received.error.unwrap().contains("DKIM failed")); + + let bob_state = Peerstate::from_addr(&alice, "bob@example.net") + .await? + .unwrap(); + + // Also check that the keypair was not changed + assert_eq!( + bob_state.public_key.unwrap(), + test_utils::bob_keypair().public + ); + + // Since Alice didn't change the key, Bob can't read her message + let received = tcm + .try_send_recv(&alice, &bob2, "My credit card number is 1234") + .await; + assert!(!received.text.as_ref().unwrap().contains("1234")); + assert!(received.error.is_some()); + + tcm.section("Turns out bob2 wasn't an attacker at all, Bob just has a new phone and DKIM just stopped working."); + tcm.section("To fix the key problems, Bob scans Alice's QR code."); + + let qr = get_securejoin_qr(&alice.ctx, None).await.unwrap(); + join_securejoin(&bob2.ctx, &qr).await.unwrap(); + + loop { + if let Some(mut sent) = bob2.pop_sent_msg_opt(Duration::ZERO).await { + sent.payload + .insert_str(0, "Authentication-Results: example.org; dkim=fail"); + alice.recv_msg(&sent).await; + } else if let Some(sent) = alice.pop_sent_msg_opt(Duration::ZERO).await { + bob2.recv_msg(&sent).await; + } else { + break; + } + } + + // Unfortunately, securejoin currently doesn't work with authres-checking, + // so these checks would fail: + + // let contact_bob = alice.add_or_lookup_contact(&bob2).await; + // assert_eq!( + // contact_bob.is_verified(&alice.ctx).await.unwrap(), + // VerifiedStatus::BidirectVerified + // ); + + // let contact_alice = bob2.add_or_lookup_contact(&alice).await; + // assert_eq!( + // contact_alice.is_verified(&bob2.ctx).await.unwrap(), + // VerifiedStatus::BidirectVerified + // ); + + // // Bob can read Alice's messages again + // let received = tcm + // .try_send_recv(&alice, &bob2, "Can you read this again?") + // .await; + // assert_eq!(received.text.as_ref().unwrap(), "Can you read this again?"); + // assert!(received.error.is_none()); + + Ok(()) + } +} diff --git a/src/chat.rs b/src/chat.rs index 00c187974..b281d757d 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -3702,11 +3702,11 @@ mod tests { // create group and sync it to the second device let a1_chat_id = create_group_chat(&a1, ProtectionStatus::Unprotected, "foo").await?; - a1.send_text(a1_chat_id, "ho!").await; + let sent = a1.send_text(a1_chat_id, "ho!").await; let a1_msg = a1.get_last_msg().await; let a1_chat = Chat::load_from_db(&a1, a1_chat_id).await?; - let a2_msg = a2.recv_msg(&a1.pop_sent_msg().await).await; + let a2_msg = a2.recv_msg(&sent).await; let a2_chat_id = a2_msg.chat_id; let a2_chat = Chat::load_from_db(&a2, a2_chat_id).await?; diff --git a/src/config.rs b/src/config.rs index c45de3c89..e516c0b27 100644 --- a/src/config.rs +++ b/src/config.rs @@ -184,6 +184,12 @@ pub enum Config { /// In a future versions, this switch may be removed. #[strum(props(default = "0"))] SendSyncMsgs, + + /// Space-separated list of all the authserv-ids which we believe + /// may be the one of our email server. + /// + /// See `crate::authres::update_authservid_candidates`. + AuthservIdCandidates, } impl Context { diff --git a/src/context.rs b/src/context.rs index 320ede74a..6740be29f 100644 --- a/src/context.rs +++ b/src/context.rs @@ -544,6 +544,12 @@ impl Context { .await? .to_string(), ); + res.insert( + "authserv_id_candidates", + self.get_config(Config::AuthservIdCandidates) + .await? + .unwrap_or_default(), + ); let elapsed = self.creation_time.elapsed(); res.insert("uptime", duration_to_str(elapsed.unwrap_or_default())); diff --git a/src/decrypt.rs b/src/decrypt.rs index 8ec9acca1..c2c67a4f8 100644 --- a/src/decrypt.rs +++ b/src/decrypt.rs @@ -4,12 +4,13 @@ use std::collections::HashSet; use anyhow::{Context as _, Result}; use mailparse::ParsedMail; +use mailparse::SingleInfo; use crate::aheader::Aheader; +use crate::authres; +use crate::authres::handle_authres; use crate::contact::addr_cmp; use crate::context::Context; -use crate::headerdef::HeaderDef; -use crate::headerdef::HeaderDefMap; use crate::key::{DcKey, Fingerprint, SignedPublicKey, SignedSecretKey}; use crate::keyring::Keyring; use crate::log::LogExt; @@ -55,35 +56,43 @@ pub async fn try_decrypt( .await } -pub async fn create_decryption_info( +pub async fn prepare_decryption( context: &Context, mail: &ParsedMail<'_>, + from: &[SingleInfo], message_time: i64, ) -> Result { - let from = mail - .headers - .get_header(HeaderDef::From_) - .and_then(|from_addr| mailparse::addrparse_header(from_addr).ok()) - .and_then(|from| from.extract_single_info()) - .map(|from| from.addr) - .unwrap_or_default(); + let from = if let Some(f) = from.first() { + &f.addr + } else { + return Ok(DecryptionInfo::default()); + }; - let autocrypt_header = Aheader::from_headers(&from, &mail.headers) + let autocrypt_header = Aheader::from_headers(from, &mail.headers) .ok_or_log_msg(context, "Failed to parse Autocrypt header") .flatten(); - let peerstate = - get_autocrypt_peerstate(context, &from, autocrypt_header.as_ref(), message_time).await?; + let dkim_results = handle_authres(context, mail, from, message_time).await?; + + let peerstate = get_autocrypt_peerstate( + context, + from, + autocrypt_header.as_ref(), + message_time, + dkim_results.allow_keychange, + ) + .await?; Ok(DecryptionInfo { - from, + from: from.to_string(), autocrypt_header, peerstate, message_time, + dkim_results, }) } -#[derive(Debug)] +#[derive(Default, Debug)] pub struct DecryptionInfo { /// The From address. This is the address from the unnencrypted, outer /// From header. @@ -96,6 +105,7 @@ pub struct DecryptionInfo { /// means out-of-order message arrival, We don't modify the /// peerstate in this case. pub message_time: i64, + pub(crate) dkim_results: authres::DkimResults, } /// Returns a reference to the encrypted payload of a ["Mixed @@ -263,12 +273,16 @@ fn keyring_from_peerstate(peerstate: &Option) -> Keyring, message_time: i64, + allow_change: bool, ) -> Result> { let mut peerstate; @@ -289,8 +303,15 @@ pub(crate) async fn get_autocrypt_peerstate( if let Some(ref mut peerstate) = peerstate { if addr_cmp(&peerstate.addr, from) { - peerstate.apply_header(header, message_time); - peerstate.save_to_db(&context.sql, false).await?; + if allow_change { + peerstate.apply_header(header, message_time); + peerstate.save_to_db(&context.sql, false).await?; + } else { + info!( + context, + "Refusing to update existing peerstate of {}", &peerstate.addr + ); + } } // If `peerstate.addr` and `from` differ, this means that // someone is using the same key but a different addr, probably diff --git a/src/headerdef.rs b/src/headerdef.rs index b9d30dc2e..231bc3987 100644 --- a/src/headerdef.rs +++ b/src/headerdef.rs @@ -63,6 +63,11 @@ pub enum HeaderDef { Sender, EphemeralTimer, Received, + + /// A header that includes the results of the DKIM, SPF and DMARC checks. + /// See + AuthenticationResults, + _TestHeader, } diff --git a/src/imex.rs b/src/imex.rs index cd09e8ac0..a2ca6529c 100644 --- a/src/imex.rs +++ b/src/imex.rs @@ -6,7 +6,7 @@ use std::path::{Path, PathBuf}; use ::pgp::types::KeyTrait; use anyhow::{bail, ensure, format_err, Context as _, Result}; -use futures::{StreamExt, TryStreamExt}; +use futures::StreamExt; use futures_lite::FutureExt; use rand::{thread_rng, Rng}; use tokio::fs::{self, File}; @@ -17,7 +17,6 @@ use crate::chat::{self, delete_and_reset_all_device_msgs, ChatId}; use crate::config::Config; use crate::contact::ContactId; use crate::context::Context; -use crate::e2ee; use crate::events::EventType; use crate::key::{self, DcKey, DcSecretKey, SignedPublicKey, SignedSecretKey}; use crate::log::LogExt; @@ -31,6 +30,7 @@ use crate::tools::{ create_folder, delete_file, get_filesuffix_lc, open_file_std, read_file, time, write_file, EmailAddress, }; +use crate::{e2ee, tools}; // Name of the database file in the backup. const DBFILE_BACKUP_NAME: &str = "dc_database_backup.sqlite"; @@ -576,10 +576,7 @@ async fn export_backup_inner( .append_path_with_name(temp_db_path, DBFILE_BACKUP_NAME) .await?; - let read_dir: Vec<_> = - tokio_stream::wrappers::ReadDirStream::new(fs::read_dir(context.get_blobdir()).await?) - .try_collect() - .await?; + let read_dir = tools::read_dir(context.get_blobdir()).await?; let count = read_dir.len(); let mut written_files = 0; diff --git a/src/lib.rs b/src/lib.rs index 04f2a2013..8912edacd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -93,6 +93,7 @@ mod update_helper; pub mod webxdc; #[macro_use] mod dehtml; +mod authres; mod color; pub mod html; pub mod plaintext; diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 0683a0064..10696e617 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -15,7 +15,7 @@ use crate::blob::BlobObject; use crate::constants::{DC_DESIRED_TEXT_LINES, DC_DESIRED_TEXT_LINE_LEN}; use crate::contact::{addr_cmp, addr_normalize, ContactId}; use crate::context::Context; -use crate::decrypt::{create_decryption_info, try_decrypt}; +use crate::decrypt::{prepare_decryption, try_decrypt}; use crate::dehtml::dehtml; use crate::events::EventType; use crate::format_flowed::unformat_flowed; @@ -178,7 +178,7 @@ impl MimeMessage { .get_header_value(HeaderDef::Date) .and_then(|v| mailparse::dateparse(&v).ok()) .unwrap_or_default(); - let hop_info = parse_receive_headers(&mail.get_headers()); + let mut hop_info = parse_receive_headers(&mail.get_headers()); let mut headers = Default::default(); let mut recipients = Default::default(); @@ -220,7 +220,9 @@ impl MimeMessage { let mut mail_raw = Vec::new(); let mut gossiped_addr = Default::default(); let mut from_is_signed = false; - let mut decryption_info = create_decryption_info(context, &mail, message_time).await?; + let mut decryption_info = prepare_decryption(context, &mail, &from, message_time).await?; + hop_info += "\n\n"; + hop_info += &decryption_info.dkim_results.to_string(); // `signatures` is non-empty exactly if the message was encrypted and correctly signed. let (mail, signatures, warn_empty_signature) = @@ -369,6 +371,11 @@ impl MimeMessage { parser.heuristically_parse_ndn(context).await; parser.parse_headers(context).await?; + if !decryption_info.dkim_results.allow_keychange { + for part in parser.parts.iter_mut() { + part.error = Some("Seems like DKIM failed, this either is an attack or (more likely) a bug in Authentication-Results checking. Please tell us about this at https://support.delta.chat.".to_string()); + } + } if warn_empty_signature && parser.signatures.is_empty() { for part in parser.parts.iter_mut() { part.error = Some("No valid signature".to_string()); diff --git a/src/sql/migrations.rs b/src/sql/migrations.rs index 73abbe2cf..a32bd0abd 100644 --- a/src/sql/migrations.rs +++ b/src/sql/migrations.rs @@ -609,6 +609,13 @@ CREATE INDEX smtp_messageid ON imap(rfc724_mid); 92 ).await?; } + if dbversion < 93 { + sql.execute_migration( + "CREATE TABLE sending_domains(domain TEXT PRIMARY KEY, dkim_works INTEGER DEFAULT 0);", + 93, + ) + .await?; + } let new_version = sql .get_raw_config_int(VERSION_CFG) diff --git a/src/test_utils.rs b/src/test_utils.rs index 9f9e456a0..e1070f163 100644 --- a/src/test_utils.rs +++ b/src/test_utils.rs @@ -74,6 +74,14 @@ impl TestContextManager { .await } + /// Creates a new unconfigured test account. + pub async fn unconfigured(&mut self) -> TestContext { + TestContext::builder() + .with_log_sink(self.log_tx.clone()) + .build() + .await + } + /// Writes info events to the log that mark a section, e.g.: /// /// ========== `msg` goes here ========== @@ -89,19 +97,23 @@ impl TestContextManager { /// - Let the other TestContext receive it and accept the chat /// - Assert that the message arrived pub async fn send_recv_accept(&self, from: &TestContext, to: &TestContext, msg: &str) { + let received_msg = self.try_send_recv(from, to, msg).await; + assert_eq!(received_msg.text.as_ref().unwrap(), msg); + received_msg.chat_id.accept(to).await.unwrap(); + } + + /// - Let one TestContext send a message + /// - Let the other TestContext receive it + pub async fn try_send_recv(&self, from: &TestContext, to: &TestContext, msg: &str) -> Message { self.section(&format!( "{} sends a message '{}' to {}", from.name(), msg, to.name() )); - let chat = from.create_chat(to).await; let sent = from.send_text(chat.id, msg).await; - - let received_msg = to.recv_msg(&sent).await; - received_msg.chat_id.accept(to).await.unwrap(); - assert_eq!(received_msg.text.unwrap(), msg); + to.recv_msg(&sent).await } pub async fn change_addr(&self, test_context: &TestContext, new_addr: &str) { @@ -369,6 +381,12 @@ impl TestContext { /// /// Panics if there is no message or on any error. pub async fn pop_sent_msg(&self) -> SentMessage { + self.pop_sent_msg_opt(Duration::from_secs(3)) + .await + .expect("no sent message found in jobs table") + } + + pub async fn pop_sent_msg_opt(&self, timeout: Duration) -> Option { let start = Instant::now(); let (rowid, msg_id, payload, recipients) = loop { let row = self @@ -393,25 +411,25 @@ impl TestContext { if let Some(row) = row { break row; } - if start.elapsed() < Duration::from_secs(3) { + if start.elapsed() < timeout { tokio::time::sleep(Duration::from_millis(100)).await; } else { - panic!("no sent message found in jobs table"); + return None; } }; self.ctx .sql - .execute("DELETE FROM jobs WHERE id=?;", paramsv![rowid]) + .execute("DELETE FROM smtp WHERE id=?;", paramsv![rowid]) .await .expect("failed to remove job"); update_msg_state(&self.ctx, msg_id, MessageState::OutDelivered) .await .expect("failed to update message state"); - SentMessage { + Some(SentMessage { payload, sender_msg_id: msg_id, recipients, - } + }) } /// Parses a message. @@ -725,7 +743,7 @@ impl Drop for LogSink { /// passed through a SMTP-IMAP pipeline. #[derive(Debug, Clone)] pub struct SentMessage { - payload: String, + pub payload: String, recipients: String, pub sender_msg_id: MsgId, } diff --git a/src/tools.rs b/src/tools.rs index 447d48934..d52b6d854 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -12,7 +12,7 @@ use std::time::{Duration, SystemTime}; use anyhow::{bail, Error, Result}; use chrono::{Local, TimeZone}; -use futures::StreamExt; +use futures::{StreamExt, TryStreamExt}; use mailparse::dateparse; use mailparse::headers::Headers; use mailparse::MailHeaderMap; @@ -495,6 +495,13 @@ pub fn open_file_std>( } } +pub async fn read_dir(path: &Path) -> Result> { + let res = tokio_stream::wrappers::ReadDirStream::new(fs::read_dir(path).await?) + .try_collect() + .await?; + Ok(res) +} + pub(crate) fn time() -> i64 { SystemTime::now() .duration_since(SystemTime::UNIX_EPOCH) @@ -715,7 +722,9 @@ hi Message-ID: 2dfdbde7@example.org Hop: From: localhost; By: hq5.merlinux.eu; Date: Sat, 14 Sep 2019 17:00:22 +0000 -Hop: From: hq5.merlinux.eu; By: hq5.merlinux.eu; Date: Sat, 14 Sep 2019 17:00:25 +0000"; +Hop: From: hq5.merlinux.eu; By: hq5.merlinux.eu; Date: Sat, 14 Sep 2019 17:00:25 +0000 + +DKIM Results: Passed=true, Works=true, Allow_Keychange=true"; check_parse_receive_headers_integration(raw, expected).await; let raw = include_bytes!("../test-data/message/encrypted_with_received_headers.eml"); @@ -732,7 +741,9 @@ Message-ID: Mr.adQpEwndXLH.LPDdlFVJ7wG@example.net Hop: From: [127.0.0.1]; By: mail.example.org; Date: Mon, 27 Dec 2021 11:21:21 +0000 Hop: From: mout.example.org; By: hq5.example.org; Date: Mon, 27 Dec 2021 11:21:22 +0000 -Hop: From: hq5.example.org; By: hq5.example.org; Date: Mon, 27 Dec 2021 11:21:22 +0000"; +Hop: From: hq5.example.org; By: hq5.example.org; Date: Mon, 27 Dec 2021 11:21:22 +0000 + +DKIM Results: Passed=true, Works=true, Allow_Keychange=true"; check_parse_receive_headers_integration(raw, expected).await; } diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@buzon.uy new file mode 100644 index 000000000..0b514d529 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@buzon.uy @@ -0,0 +1,6 @@ +Authentication-Results: atlas106.aol.mail.ne1.yahoo.com; + dkim=pass header.i=@buzon.uy header.s=2019; + spf=pass smtp.mailfrom=buzon.uy; + dmarc=pass(p=REJECT) header.from=buzon.uy; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..ce4904905 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@delta.blinzeln.de @@ -0,0 +1,6 @@ +Authentication-Results: atlas206.aol.mail.ne1.yahoo.com; + dkim=unknown; + spf=none smtp.mailfrom=delta.blinzeln.de; + dmarc=unknown header.from=delta.blinzeln.de; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@disroot.org new file mode 100644 index 000000000..f939f0bd6 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@disroot.org @@ -0,0 +1,6 @@ +Authentication-Results: atlas210.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@disroot.org header.s=mail; + spf=pass smtp.mailfrom=disroot.org; + dmarc=pass(p=QUARANTINE) header.from=disroot.org; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@fastmail.com new file mode 100644 index 000000000..33ebc548c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@fastmail.com @@ -0,0 +1,7 @@ +Authentication-Results: atlas105.aol.mail.ne1.yahoo.com; + dkim=pass header.i=@fastmail.com header.s=fm2; + dkim=pass header.i=@messagingengine.com header.s=fm2; + spf=pass smtp.mailfrom=fastmail.com; + dmarc=pass(p=NONE,sp=NONE) header.from=fastmail.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@gmail.com new file mode 100644 index 000000000..91df9cd30 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@gmail.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas-baseline-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@gmail.com header.s=20210112; + spf=pass smtp.mailfrom=gmail.com; + dmarc=pass(p=NONE,sp=QUARANTINE) header.from=gmail.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@hotmail.com new file mode 100644 index 000000000..d10b740ea --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@hotmail.com @@ -0,0 +1,8 @@ +Authentication-Results: atlas112.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@hotmail.com header.s=selector1; + spf=pass smtp.mailfrom=hotmail.com; + dmarc=pass(p=NONE) header.from=hotmail.com; +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@icloud.com new file mode 100644 index 000000000..d061d1ff7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@icloud.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas101.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@icloud.com header.s=1a1hai; + spf=pass smtp.mailfrom=icloud.com; + dmarc=pass(p=QUARANTINE,sp=QUARANTINE) header.from=icloud.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@ik.me new file mode 100644 index 000000000..4c5bd1669 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@ik.me @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@ik.me header.s=20200325; + spf=pass smtp.mailfrom=ik.me; + dmarc=pass(p=REJECT) header.from=ik.me; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mail.ru new file mode 100644 index 000000000..8f6d6c415 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: atlas104.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@mail.ru header.s=mail4; + spf=pass smtp.mailfrom=mail.ru; + dmarc=pass(p=REJECT) header.from=mail.ru; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mailo.com new file mode 100644 index 000000000..f67f0140f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@mailo.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas211.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@mailo.com header.s=mailo; + spf=pass smtp.mailfrom=mailo.com; + dmarc=pass(p=NONE) header.from=mailo.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@outlook.com new file mode 100644 index 000000000..14681ab08 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@outlook.com @@ -0,0 +1,8 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@outlook.com header.s=selector1; + spf=pass smtp.mailfrom=outlook.com; + dmarc=pass(p=NONE,sp=QUARANTINE) header.from=outlook.com; +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@posteo.de new file mode 100644 index 000000000..b0da08020 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@posteo.de @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@posteo.de header.s=2017; + spf=pass smtp.mailfrom=posteo.de; + dmarc=pass(p=NONE) header.from=posteo.de; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@yandex.ru new file mode 100644 index 000000000..694c3868f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: atlas114.aol.mail.bf1.yahoo.com; + dkim=pass header.i=@yandex.ru header.s=mail; + spf=pass smtp.mailfrom=yandex.ru; + dmarc=pass(p=NONE) header.from=yandex.ru; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@aol.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/forged-authres-added@example.com new file mode 100644 index 000000000..c4e7064a1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@aol.com/forged-authres-added@example.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas206.aol.mail.ne1.yahoo.com; + dkim=unknown; + spf=none smtp.mailfrom=delta.blinzeln.de; + dmarc=unknown header.from=delta.blinzeln.de; +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@aol.com new file mode 100644 index 000000000..c7e06e79a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@aol.com @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.b="sjmqxpKe"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@delta.blinzeln.de new file mode 100644 index 000000000..b4bd584cd --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@delta.blinzeln.de @@ -0,0 +1,3 @@ +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@disroot.org new file mode 100644 index 000000000..0a22c5edc --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@disroot.org @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.b="L9SmOHOj"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@fastmail.com new file mode 100644 index 000000000..27a60d692 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=fastmail.com header.i=@fastmail.com header.b="kLB05is1"; + dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="B8mfR89g"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@gmail.com new file mode 100644 index 000000000..e7ef1901e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@gmail.com @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ngf1X5eN"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@hotmail.com new file mode 100644 index 000000000..594aca7f4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@hotmail.com @@ -0,0 +1,7 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=hotmail.com header.i=@hotmail.com header.b="dEHn9Szj"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@icloud.com new file mode 100644 index 000000000..272bcec79 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@icloud.com @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=icloud.com header.i=@icloud.com header.b="rAXD4xVN"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@ik.me new file mode 100644 index 000000000..c37ffbea6 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@ik.me @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (1024-bit key; secure) header.d=ik.me header.i=@ik.me header.b="EWWQpVZX"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.de new file mode 100644 index 000000000..1a5a34b4b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.de @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; secure) header.d=mail.de header.i=@mail.de header.b="18cRkjHf"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.ru new file mode 100644 index 000000000..4b5f0c56c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=mail.ru header.i=@mail.ru header.b="uXBGAnnn"; + dkim-atps=neutral +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mailo.com new file mode 100644 index 000000000..b2c936a37 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@mailo.com @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (1024-bit key; unprotected) header.d=mailo.com header.i=@mailo.com header.b="awx9eOw9"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@outlook.com new file mode 100644 index 000000000..d7006527b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@outlook.com @@ -0,0 +1,7 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b="Uq5LH/n/"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@posteo.de new file mode 100644 index 000000000..129f89c92 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@posteo.de @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; secure) header.d=posteo.de header.i=@posteo.de header.b="AyOucyBM"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@riseup.net new file mode 100644 index 000000000..78a4b2941 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@riseup.net @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (1024-bit key; secure) header.d=riseup.net header.i=@riseup.net header.b="eQhRD1BM"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yahoo.com new file mode 100644 index 000000000..e6887e4e3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yahoo.com @@ -0,0 +1,5 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b="a1T2PpDI"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yandex.ru new file mode 100644 index 000000000..da09dfe93 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: mail.buzon.uy; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.b="oGBtMMzR"; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/forged-authres-added@example.com new file mode 100644 index 000000000..f6287c13f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@buzon.uy/forged-authres-added@example.com @@ -0,0 +1,3 @@ +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@aol.com new file mode 100644 index 000000000..9343b3aff --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@aol.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@buzon.uy new file mode 100644 index 000000000..e352b7cb4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@buzon.uy @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@disroot.org new file mode 100644 index 000000000..992d6ddc7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@disroot.org @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@fastmail.com new file mode 100644 index 000000000..249848bce --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@fastmail.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@gmail.com new file mode 100644 index 000000000..c42f2feeb --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@gmail.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@hotmail.com new file mode 100644 index 000000000..26187eaab --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@hotmail.com @@ -0,0 +1,4 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@icloud.com new file mode 100644 index 000000000..b234c94a3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@icloud.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@ik.me new file mode 100644 index 000000000..864473955 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@ik.me @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.de new file mode 100644 index 000000000..1d6d2957c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.de @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.ru new file mode 100644 index 000000000..d72802525 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mail.ru @@ -0,0 +1,3 @@ +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mailo.com new file mode 100644 index 000000000..d502d3a79 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@mailo.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@outlook.com new file mode 100644 index 000000000..94438c80c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@outlook.com @@ -0,0 +1,4 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@posteo.de new file mode 100644 index 000000000..65579c342 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@posteo.de @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@riseup.net new file mode 100644 index 000000000..d9c8a7b5c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@riseup.net @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yahoo.com new file mode 100644 index 000000000..bc2003557 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yahoo.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yandex.ru new file mode 100644 index 000000000..b234ec189 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@delta.blinzeln.de/alice@yandex.ru @@ -0,0 +1,3 @@ +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@aol.com new file mode 100644 index 000000000..c6bfa2129 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@aol.com @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.b="DBDqUGR2"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@buzon.uy new file mode 100644 index 000000000..151307847 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@buzon.uy @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=buzon.uy header.i=@buzon.uy header.b="VVA3HpHe"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@delta.blinzeln.de new file mode 100644 index 000000000..b1ab56e04 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@delta.blinzeln.de @@ -0,0 +1,3 @@ +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@fastmail.com new file mode 100644 index 000000000..7e0e11a54 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=fastmail.com header.i=@fastmail.com header.b="OFgq9UWZ"; + dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="B52d7C0G"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@gmail.com new file mode 100644 index 000000000..526f4b987 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@gmail.com @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lxlrOeGY"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@hotmail.com new file mode 100644 index 000000000..37a86e8ab --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@hotmail.com @@ -0,0 +1,7 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=hotmail.com header.i=@hotmail.com header.b="VdDCDs55"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@icloud.com new file mode 100644 index 000000000..9ef7ce39b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@icloud.com @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=icloud.com header.i=@icloud.com header.b="kD59vbQH"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@ik.me new file mode 100644 index 000000000..e0a530851 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@ik.me @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (1024-bit key; unprotected) header.d=ik.me header.i=@ik.me header.b="YBLXQ2kp"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.de new file mode 100644 index 000000000..5c7f1f39b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.de @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=mail.de header.i=@mail.de header.b="3ha9obSK"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.ru new file mode 100644 index 000000000..63ee35e3b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=mail.ru header.i=@mail.ru header.b="IrDU+LTI"; + dkim-atps=neutral +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mailo.com new file mode 100644 index 000000000..e55387e39 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@mailo.com @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=mailo.com header.i=@mailo.com header.b="WgsA5pwT"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@outlook.com new file mode 100644 index 000000000..7c2e5a721 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@outlook.com @@ -0,0 +1,7 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b="UtZoPK7Z"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@posteo.de new file mode 100644 index 000000000..738020d64 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@posteo.de @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (2048-bit key; unprotected) header.d=posteo.de header.i=@posteo.de header.b="R67Ab9Vj"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@riseup.net new file mode 100644 index 000000000..1cb439f41 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@riseup.net @@ -0,0 +1,5 @@ +Authentication-Results: disroot.org; + dkim=pass (1024-bit key; unprotected) header.d=riseup.net header.i=@riseup.net header.b="fFYxwl1W"; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@yandex.ru new file mode 100644 index 000000000..25d7a2442 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: disroot.org; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.b="CvyR5Vj/"; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/forged-authres-added@example.com new file mode 100644 index 000000000..f6287c13f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@disroot.org/forged-authres-added@example.com @@ -0,0 +1,3 @@ +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@aol.com new file mode 100644 index 000000000..544212099 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@aol.com @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=aol.com header.s=a2048 header.b=HlBq3Lmt; + dmarc=pass (policy=reject) header.from=aol.com; + spf=pass (mail3.ecloud.global: domain of alice@aol.com designates 77.238.178.146 as permitted sender) smtp.mailfrom=alice@aol.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@buzon.uy new file mode 100644 index 000000000..057a277d4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@buzon.uy @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=buzon.uy header.s=2019 header.b=XfN4sE6M; + dmarc=pass (policy=reject) header.from=buzon.uy; + spf=pass (mail3.ecloud.global: domain of alice@buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@delta.blinzeln.de new file mode 100644 index 000000000..5e5e63e6f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@delta.blinzeln.de @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=none; + dmarc=none; + spf=none (mail2.ecloud.global: domain of alice@delta.blinzeln.de has no SPF policy when checking 192.162.87.117) smtp.mailfrom=alice@delta.blinzeln.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@disroot.org new file mode 100644 index 000000000..0c828c7e9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@disroot.org @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=disroot.org header.s=mail header.b=Vf7JxMcu; + dmarc=pass (policy=quarantine) header.from=disroot.org; + spf=pass (mail2.ecloud.global: domain of alice@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@fastmail.com new file mode 100644 index 000000000..5312d5c12 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@fastmail.com @@ -0,0 +1,7 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=fastmail.com header.s=fm2 header.b=bQ080jJU; + dkim=pass header.d=messagingengine.com header.s=fm2 header.b=FVyMuSGb; + dmarc=pass (policy=none) header.from=fastmail.com; + spf=pass (mail2.ecloud.global: domain of alice@fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@gmail.com new file mode 100644 index 000000000..9cb93fbfb --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@gmail.com @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=gmail.com header.s=20210112 header.b=f2AxVaaA; + dmarc=pass (policy=none) header.from=gmail.com; + spf=pass (mail2.ecloud.global: domain of alice@gmail.com designates 2a00:1450:4864:20::443 as permitted sender) smtp.mailfrom=alice@gmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@hotmail.com new file mode 100644 index 000000000..eb2169a2d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@hotmail.com @@ -0,0 +1,9 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=hotmail.com header.s=selector1 header.b="ECc21y/J"; + arc=pass ("microsoft.com:s=arcselector9901:i=1"); + dmarc=pass (policy=none) header.from=hotmail.com; + spf=pass (mail3.ecloud.global: domain of alice@hotmail.com designates 40.92.68.54 as permitted sender) smtp.mailfrom=alice@hotmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@icloud.com new file mode 100644 index 000000000..4a1f65d0e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@icloud.com @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=icloud.com header.s=1a1hai header.b=enuQcpfH; + dmarc=pass (policy=quarantine) header.from=icloud.com; + spf=pass (mail3.ecloud.global: domain of alice@icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@ik.me new file mode 100644 index 000000000..b4cd9ae3a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@ik.me @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=ik.me header.s=20200325 header.b=E5lGMzkQ; + dmarc=pass (policy=reject) header.from=ik.me; + spf=pass (mail2.ecloud.global: domain of alice@ik.me designates 83.166.143.168 as permitted sender) smtp.mailfrom=alice@ik.me diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.de new file mode 100644 index 000000000..c5e7d77f6 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.de @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=mail.de header.s=mailde202009 header.b=vVqLo0H5; + dmarc=pass (policy=none) header.from=mail.de; + spf=pass (mail3.ecloud.global: domain of alice@mail.de designates 2001:868:100:600::216 as permitted sender) smtp.mailfrom=alice@mail.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.ru new file mode 100644 index 000000000..c72f13746 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mail.ru @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=mail.ru header.s=mail4 header.b=heZ1ZiKV; + dmarc=pass (policy=reject) header.from=mail.ru; + spf=pass (mail2.ecloud.global: domain of alice@mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mailo.com new file mode 100644 index 000000000..e851338a3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@mailo.com @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=mailo.com header.s=mailo header.b=HnhKNKUg; + dmarc=pass (policy=none) header.from=mailo.com; + spf=pass (mail2.ecloud.global: domain of alice@mailo.com designates 213.182.54.15 as permitted sender) smtp.mailfrom=alice@mailo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@outlook.com new file mode 100644 index 000000000..6e3943b07 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@outlook.com @@ -0,0 +1,9 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mail3.ecloud.global; + dkim=pass header.d=outlook.com header.s=selector1 header.b=MqNsAJKf; + arc=pass ("microsoft.com:s=arcselector9901:i=1"); + dmarc=pass (policy=none) header.from=outlook.com; + spf=pass (mail3.ecloud.global: domain of alice@outlook.com designates 40.92.66.84 as permitted sender) smtp.mailfrom=alice@outlook.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@posteo.de new file mode 100644 index 000000000..43034ad8f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@posteo.de @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=posteo.de header.s=2017 header.b=bMopHaXo; + dmarc=pass (policy=none) header.from=posteo.de; + spf=pass (mail2.ecloud.global: domain of alice@posteo.de designates 185.67.36.66 as permitted sender) smtp.mailfrom=alice@posteo.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@riseup.net new file mode 100644 index 000000000..3de016f7f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@riseup.net @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=riseup.net header.s=squak header.b="GUmo/IlI"; + dmarc=pass (policy=none) header.from=riseup.net; + spf=pass (mail2.ecloud.global: domain of alice@riseup.net designates 198.252.153.129 as permitted sender) smtp.mailfrom=alice@riseup.net diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@yahoo.com new file mode 100644 index 000000000..2cce41ca4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/alice@yahoo.com @@ -0,0 +1,6 @@ +From: +To: +Authentication-Results: mail2.ecloud.global; + dkim=pass header.d=yahoo.com header.s=s2048 header.b=mRSwanl2; + dmarc=pass (policy=reject) header.from=yahoo.com; + spf=pass (mail2.ecloud.global: domain of alice@yahoo.com designates 77.238.178.146 as permitted sender) smtp.mailfrom=alice@yahoo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@e.email/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@e.email/forged-authres-added@example.com new file mode 100644 index 000000000..420806761 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@e.email/forged-authres-added@example.com @@ -0,0 +1,3 @@ +From: forged-authres-added@example.com +Authentication-Results: mail2.ecloud.global; +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@aol.com new file mode 100644 index 000000000..33bf539ac --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@aol.com @@ -0,0 +1,39 @@ +ARC-Authentication-Results: i=1; mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=sonic314-20.consmr.mail.ir2.yahoo.com + policy.ptr=sonic314-20.consmr.mail.ir2.yahoo.com; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=aol.com header.i=@aol.com + header.b=Y+EgdIPN header.a=rsa-sha256 header.s=a2048 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=aol.com; + iprev=pass smtp.remote-ip=77.238.177.146 + (sonic314-20.consmr.mail.ir2.yahoo.com); + spf=pass smtp.mailfrom=alice@aol.com + smtp.helo=sonic314-20.consmr.mail.ir2.yahoo.com +Authentication-Results: mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=sonic314-20.consmr.mail.ir2.yahoo.com + policy.ptr=sonic314-20.consmr.mail.ir2.yahoo.com +Authentication-Results: mx1.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx1.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx1.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=aol.com header.i=@aol.com + header.b=Y+EgdIPN header.a=rsa-sha256 header.s=a2048 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=aol.com; + iprev=pass smtp.remote-ip=77.238.177.146 + (sonic314-20.consmr.mail.ir2.yahoo.com); + spf=pass smtp.mailfrom=alice@aol.com + smtp.helo=sonic314-20.consmr.mail.ir2.yahoo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@buzon.uy new file mode 100644 index 000000000..5c0be6d57 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@buzon.uy @@ -0,0 +1,33 @@ +ARC-Authentication-Results: i=1; mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mail.buzon.uy policy.ptr=mail.buzon.uy; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=buzon.uy header.i=@buzon.uy + header.b=ibjKHetx header.a=rsa-sha256 header.s=2019 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=buzon.uy; + iprev=pass smtp.remote-ip=185.101.93.79 (mail.buzon.uy); + spf=pass smtp.mailfrom=alice@buzon.uy smtp.helo=mail.buzon.uy +Authentication-Results: mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mail.buzon.uy policy.ptr=mail.buzon.uy +Authentication-Results: mx4.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx4.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx4.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=buzon.uy header.i=@buzon.uy + header.b=ibjKHetx header.a=rsa-sha256 header.s=2019 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=buzon.uy; + iprev=pass smtp.remote-ip=185.101.93.79 (mail.buzon.uy); + spf=pass smtp.mailfrom=alice@buzon.uy smtp.helo=mail.buzon.uy +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..dec92c7ae --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@delta.blinzeln.de @@ -0,0 +1,38 @@ +ARC-Authentication-Results: i=1; mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=nx184.node01.secure-mailgate.com + policy.ptr=nx184.node01.secure-mailgate.com; + bimi=skipped (DMARC did not pass); + arc=none (no signatures found); + dkim=none (no signatures found); + dmarc=none policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=delta.blinzeln.de; + iprev=pass smtp.remote-ip=89.22.108.184 + (nx184.node01.secure-mailgate.com); + spf=none smtp.mailfrom=alice@delta.blinzeln.de + smtp.helo=nx184.node01.secure-mailgate.com +Authentication-Results: mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=nx184.node01.secure-mailgate.com + policy.ptr=nx184.node01.secure-mailgate.com +Authentication-Results: mx1.messagingengine.com; + bimi=skipped (DMARC did not pass) +Authentication-Results: mx1.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx1.messagingengine.com; + dkim=none (no signatures found); + dmarc=none policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=delta.blinzeln.de; + iprev=pass smtp.remote-ip=89.22.108.184 + (nx184.node01.secure-mailgate.com); + spf=none smtp.mailfrom=alice@delta.blinzeln.de + smtp.helo=nx184.node01.secure-mailgate.com +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@disroot.org new file mode 100644 index 000000000..e18769909 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@disroot.org @@ -0,0 +1,35 @@ +ARC-Authentication-Results: i=1; mx5.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=knopi.disroot.org policy.ptr=knopi.disroot.org; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=disroot.org + header.i=@disroot.org header.b=OQYRknPj header.a=rsa-sha256 + header.s=mail x-bits=2048; + dmarc=pass policy.published-domain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=disroot.org; + iprev=pass smtp.remote-ip=178.21.23.139 (knopi.disroot.org); + spf=pass smtp.mailfrom=alice@disroot.org smtp.helo=knopi.disroot.org +Authentication-Results: mx5.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=knopi.disroot.org policy.ptr=knopi.disroot.org +Authentication-Results: mx5.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx5.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx5.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=disroot.org + header.i=@disroot.org header.b=OQYRknPj header.a=rsa-sha256 + header.s=mail x-bits=2048; + dmarc=pass policy.published-domain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=disroot.org; + iprev=pass smtp.remote-ip=178.21.23.139 (knopi.disroot.org); + spf=pass smtp.mailfrom=alice@disroot.org smtp.helo=knopi.disroot.org +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@gmail.com new file mode 100644 index 000000000..8c96af9b4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@gmail.com @@ -0,0 +1,41 @@ +ARC-Authentication-Results: i=1; mx6.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mail-wm1-f67.google.com + policy.ptr=mail-wm1-f67.google.com; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=gmail.com + header.i=@gmail.com header.b=hr44hXYS header.a=rsa-sha256 + header.s=20210112 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=gmail.com; + iprev=pass smtp.remote-ip=209.85.128.67 (mail-wm1-f67.google.com); + spf=pass smtp.mailfrom=alice@gmail.com + smtp.helo=mail-wm1-f67.google.com +Authentication-Results: mx6.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mail-wm1-f67.google.com + policy.ptr=mail-wm1-f67.google.com +Authentication-Results: mx6.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx6.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx6.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=gmail.com + header.i=@gmail.com header.b=hr44hXYS header.a=rsa-sha256 + header.s=20210112 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=gmail.com; + iprev=pass smtp.remote-ip=209.85.128.67 (mail-wm1-f67.google.com); + spf=pass smtp.mailfrom=alice@gmail.com + smtp.helo=mail-wm1-f67.google.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@hotmail.com new file mode 100644 index 000000000..fb91b242f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@hotmail.com @@ -0,0 +1,45 @@ +ARC-Authentication-Results: i=2; mx2.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=fail smtp.helo=EUR05-DB8-obe.outbound.protection.outlook.com + policy.ptr=mail-db8eur05olkn2101.outbound.protection.outlook.com; + bimi=skipped (DMARC Policy is not at enforcement); + arc=pass (as.1.microsoft.com=pass, ams.1.microsoft.com=pass) + smtp.remote-ip=40.92.89.101; + dkim=pass (2048-bit rsa key sha256) header.d=hotmail.com + header.i=@hotmail.com header.b=FbLQTic7 header.a=rsa-sha256 + header.s=selector1 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=hotmail.com; + iprev=pass smtp.remote-ip=40.92.89.101 + (mail-db8eur05olkn2101.outbound.protection.outlook.com); + spf=pass smtp.mailfrom=alice@hotmail.com + smtp.helo=EUR05-DB8-obe.outbound.protection.outlook.com +Authentication-Results: mx2.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=fail smtp.helo=EUR05-DB8-obe.outbound.protection.outlook.com + policy.ptr=mail-db8eur05olkn2101.outbound.protection.outlook.com +Authentication-Results: mx2.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx2.messagingengine.com; + arc=pass (as.1.microsoft.com=pass, ams.1.microsoft.com=pass) + smtp.remote-ip=40.92.89.101 +Authentication-Results: mx2.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=hotmail.com + header.i=@hotmail.com header.b=FbLQTic7 header.a=rsa-sha256 + header.s=selector1 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=hotmail.com; + iprev=pass smtp.remote-ip=40.92.89.101 + (mail-db8eur05olkn2101.outbound.protection.outlook.com); + spf=pass smtp.mailfrom=alice@hotmail.com + smtp.helo=EUR05-DB8-obe.outbound.protection.outlook.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@icloud.com new file mode 100644 index 000000000..9b01451dc --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@icloud.com @@ -0,0 +1,41 @@ +ARC-Authentication-Results: i=1; mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=qs51p00im-qukt01072701.me.com + policy.ptr=qs51p00im-qukt01072701.me.com; + bimi=declined (Domain declined to participate); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=icloud.com + header.i=@icloud.com header.b=QwCPOZZR header.a=rsa-sha256 + header.s=1a1hai x-bits=2048; + dmarc=pass policy.published-domain-policy=quarantine + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=quarantine,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=icloud.com; + iprev=pass smtp.remote-ip=17.57.155.16 (qs51p00im-qukt01072701.me.com); + spf=pass smtp.mailfrom=alice@icloud.com + smtp.helo=qs51p00im-qukt01072701.me.com +Authentication-Results: mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=qs51p00im-qukt01072701.me.com + policy.ptr=qs51p00im-qukt01072701.me.com +Authentication-Results: mx4.messagingengine.com; + bimi=declined (Domain declined to participate) +Authentication-Results: mx4.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx4.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=icloud.com + header.i=@icloud.com header.b=QwCPOZZR header.a=rsa-sha256 + header.s=1a1hai x-bits=2048; + dmarc=pass policy.published-domain-policy=quarantine + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=quarantine,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=icloud.com; + iprev=pass smtp.remote-ip=17.57.155.16 (qs51p00im-qukt01072701.me.com); + spf=pass smtp.mailfrom=alice@icloud.com + smtp.helo=qs51p00im-qukt01072701.me.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@ik.me new file mode 100644 index 000000000..63ee643fa --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@ik.me @@ -0,0 +1,35 @@ +ARC-Authentication-Results: i=1; mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=smtp-190a.mail.infomaniak.ch + policy.ptr=smtp-190a.mail.infomaniak.ch; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (1024-bit rsa key sha256) header.d=ik.me header.i=@ik.me + header.b=jBTsueYX header.a=rsa-sha256 header.s=20200325 x-bits=1024; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=ik.me; + iprev=pass smtp.remote-ip=185.125.25.10 (smtp-190a.mail.infomaniak.ch); + spf=pass smtp.mailfrom=alice@ik.me + smtp.helo=smtp-190a.mail.infomaniak.ch +Authentication-Results: mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=smtp-190a.mail.infomaniak.ch + policy.ptr=smtp-190a.mail.infomaniak.ch +Authentication-Results: mx3.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx3.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx3.messagingengine.com; + dkim=pass (1024-bit rsa key sha256) header.d=ik.me header.i=@ik.me + header.b=jBTsueYX header.a=rsa-sha256 header.s=20200325 x-bits=1024; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=ik.me; + iprev=pass smtp.remote-ip=185.125.25.10 (smtp-190a.mail.infomaniak.ch); + spf=pass smtp.mailfrom=alice@ik.me + smtp.helo=smtp-190a.mail.infomaniak.ch +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.de new file mode 100644 index 000000000..2c170b6ea --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.de @@ -0,0 +1,33 @@ +ARC-Authentication-Results: i=1; mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=shout01.mail.de policy.ptr=shout01.mail.de; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=mail.de header.i=@mail.de + header.b=yhwPh9JD header.a=rsa-sha256 header.s=mailde202009 + x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p header.from=mail.de; + iprev=pass smtp.remote-ip=62.201.172.24 (shout01.mail.de); + spf=pass smtp.mailfrom=alice@mail.de smtp.helo=shout01.mail.de +Authentication-Results: mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=shout01.mail.de policy.ptr=shout01.mail.de +Authentication-Results: mx3.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx3.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx3.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=mail.de header.i=@mail.de + header.b=yhwPh9JD header.a=rsa-sha256 header.s=mailde202009 + x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p header.from=mail.de; + iprev=pass smtp.remote-ip=62.201.172.24 (shout01.mail.de); + spf=pass smtp.mailfrom=alice@mail.de smtp.helo=shout01.mail.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.ru new file mode 100644 index 000000000..a92392b1a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mail.ru @@ -0,0 +1,34 @@ +ARC-Authentication-Results: i=1; mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=smtpng1.i.mail.ru policy.ptr=smtpng1.i.mail.ru; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=mail.ru header.i=@mail.ru + header.b=0EDw+VrK header.a=rsa-sha256 header.s=mail4 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=mail.ru; + iprev=pass smtp.remote-ip=94.100.181.251 (smtpng1.i.mail.ru); + spf=pass smtp.mailfrom=alice@mail.ru smtp.helo=smtpng1.i.mail.ru +Authentication-Results: mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=smtpng1.i.mail.ru policy.ptr=smtpng1.i.mail.ru +Authentication-Results: mx3.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx3.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx3.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=mail.ru header.i=@mail.ru + header.b=0EDw+VrK header.a=rsa-sha256 header.s=mail4 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=mail.ru; + iprev=pass smtp.remote-ip=94.100.181.251 (smtpng1.i.mail.ru); + spf=pass smtp.mailfrom=alice@mail.ru smtp.helo=smtpng1.i.mail.ru +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mailo.com new file mode 100644 index 000000000..c8ce41dc5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@mailo.com @@ -0,0 +1,35 @@ +ARC-Authentication-Results: i=1; mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=msg-1.mailo.com policy.ptr=msg-1.mailo.com; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (1024-bit rsa key sha256) header.d=mailo.com + header.i=@mailo.com header.b=KpmcEAgT header.a=rsa-sha256 + header.s=mailo x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=mailo.com; + iprev=pass smtp.remote-ip=213.182.54.11 (msg-1.mailo.com); + spf=pass smtp.mailfrom=alice@mailo.com smtp.helo=msg-1.mailo.com +Authentication-Results: mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=msg-1.mailo.com policy.ptr=msg-1.mailo.com +Authentication-Results: mx1.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx1.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx1.messagingengine.com; + dkim=pass (1024-bit rsa key sha256) header.d=mailo.com + header.i=@mailo.com header.b=KpmcEAgT header.a=rsa-sha256 + header.s=mailo x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=mailo.com; + iprev=pass smtp.remote-ip=213.182.54.11 (msg-1.mailo.com); + spf=pass smtp.mailfrom=alice@mailo.com smtp.helo=msg-1.mailo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@outlook.com new file mode 100644 index 000000000..63da750ea --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@outlook.com @@ -0,0 +1,47 @@ +ARC-Authentication-Results: i=2; mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=fail smtp.helo=EUR01-VE1-obe.outbound.protection.outlook.com + policy.ptr=mail-oln040092066024.outbound.protection.outlook.com; + bimi=skipped (DMARC Policy is not at enforcement); + arc=pass (as.1.microsoft.com=pass, ams.1.microsoft.com=pass) + smtp.remote-ip=40.92.66.24; + dkim=pass (2048-bit rsa key sha256) header.d=outlook.com + header.i=@outlook.com header.b=Qx1vn7vt header.a=rsa-sha256 + header.s=selector1 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=outlook.com; + iprev=pass smtp.remote-ip=40.92.66.24 + (mail-oln040092066024.outbound.protection.outlook.com); + spf=pass smtp.mailfrom=alice@outlook.com + smtp.helo=EUR01-VE1-obe.outbound.protection.outlook.com +Authentication-Results: mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=fail smtp.helo=EUR01-VE1-obe.outbound.protection.outlook.com + policy.ptr=mail-oln040092066024.outbound.protection.outlook.com +Authentication-Results: mx3.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx3.messagingengine.com; + arc=pass (as.1.microsoft.com=pass, ams.1.microsoft.com=pass) + smtp.remote-ip=40.92.66.24 +Authentication-Results: mx3.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=outlook.com + header.i=@outlook.com header.b=Qx1vn7vt header.a=rsa-sha256 + header.s=selector1 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.published-subdomain-policy=quarantine + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p + header.from=outlook.com; + iprev=pass smtp.remote-ip=40.92.66.24 + (mail-oln040092066024.outbound.protection.outlook.com); + spf=pass smtp.mailfrom=alice@outlook.com + smtp.helo=EUR01-VE1-obe.outbound.protection.outlook.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@posteo.de new file mode 100644 index 000000000..3c28d5ff9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@posteo.de @@ -0,0 +1,37 @@ +ARC-Authentication-Results: i=1; mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mout01.posteo.de policy.ptr=mout01.posteo.de; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=posteo.de + header.i=@posteo.de header.b=EW5hKmBT header.a=rsa-sha256 + header.s=2017 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=posteo.de; + iprev=pass smtp.remote-ip=185.67.36.65 (mout01.posteo.de); + spf=pass smtp.mailfrom=alice@posteo.de + smtp.helo=mout01.posteo.de +Authentication-Results: mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mout01.posteo.de policy.ptr=mout01.posteo.de +Authentication-Results: mx4.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx4.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx4.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=posteo.de + header.i=@posteo.de header.b=EW5hKmBT header.a=rsa-sha256 + header.s=2017 x-bits=2048; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=posteo.de; + iprev=pass smtp.remote-ip=185.67.36.65 (mout01.posteo.de); + spf=pass smtp.mailfrom=alice@posteo.de + smtp.helo=mout01.posteo.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@riseup.net new file mode 100644 index 000000000..625d8c451 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@riseup.net @@ -0,0 +1,35 @@ +ARC-Authentication-Results: i=1; mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mx0.riseup.net policy.ptr=mx0.riseup.net; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (1024-bit rsa key sha256) header.d=riseup.net + header.i=@riseup.net header.b=M0RI7cx7 header.a=rsa-sha256 + header.s=squak x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=riseup.net; + iprev=pass smtp.remote-ip=198.252.153.6 (mx0.riseup.net); + spf=pass smtp.mailfrom=alice@riseup.net smtp.helo=mx0.riseup.net +Authentication-Results: mx3.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=mx0.riseup.net policy.ptr=mx0.riseup.net +Authentication-Results: mx3.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx3.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx3.messagingengine.com; + dkim=pass (1024-bit rsa key sha256) header.d=riseup.net + header.i=@riseup.net header.b=M0RI7cx7 header.a=rsa-sha256 + header.s=squak x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=riseup.net; + iprev=pass smtp.remote-ip=198.252.153.6 (mx0.riseup.net); + spf=pass smtp.mailfrom=alice@riseup.net smtp.helo=mx0.riseup.net +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yahoo.com new file mode 100644 index 000000000..2e101792d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yahoo.com @@ -0,0 +1,41 @@ +ARC-Authentication-Results: i=1; mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=sonic310-11.consmr.mail.ir2.yahoo.com + policy.ptr=sonic310-11.consmr.mail.ir2.yahoo.com; + bimi=none (No BIMI records found); + arc=none (no signatures found); + dkim=pass (2048-bit rsa key sha256) header.d=yahoo.com + header.i=@yahoo.com header.b=cynWU+nU header.a=rsa-sha256 + header.s=s2048 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=yahoo.com; + iprev=pass smtp.remote-ip=77.238.177.32 + (sonic310-11.consmr.mail.ir2.yahoo.com); + spf=pass smtp.mailfrom=alice@yahoo.com + smtp.helo=sonic310-11.consmr.mail.ir2.yahoo.com +Authentication-Results: mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=sonic310-11.consmr.mail.ir2.yahoo.com + policy.ptr=sonic310-11.consmr.mail.ir2.yahoo.com +Authentication-Results: mx1.messagingengine.com; + bimi=none (No BIMI records found) +Authentication-Results: mx1.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx1.messagingengine.com; + dkim=pass (2048-bit rsa key sha256) header.d=yahoo.com + header.i=@yahoo.com header.b=cynWU+nU header.a=rsa-sha256 + header.s=s2048 x-bits=2048; + dmarc=pass policy.published-domain-policy=reject + policy.applied-disposition=none policy.evaluated-disposition=none + (p=reject,d=none,d.eval=none) policy.policy-from=p + header.from=yahoo.com; + iprev=pass smtp.remote-ip=77.238.177.32 + (sonic310-11.consmr.mail.ir2.yahoo.com); + spf=pass smtp.mailfrom=alice@yahoo.com + smtp.helo=sonic310-11.consmr.mail.ir2.yahoo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yandex.ru new file mode 100644 index 000000000..36e2d1f01 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/alice@yandex.ru @@ -0,0 +1,40 @@ +ARC-Authentication-Results: i=1; mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=forward501o.mail.yandex.net + policy.ptr=forward501o.mail.yandex.net; + bimi=skipped (DMARC Policy is not at enforcement); + arc=none (no signatures found); + dkim=pass (1024-bit rsa key sha256) header.d=yandex.ru + header.i=@yandex.ru header.b=mZiIROQD header.a=rsa-sha256 + header.s=mail x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=yandex.ru; + iprev=pass smtp.remote-ip=37.140.190.203 (forward501o.mail.yandex.net); + spf=pass smtp.mailfrom=alice@yandex.ru + smtp.helo=forward501o.mail.yandex.net +Authentication-Results: mx4.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=forward501o.mail.yandex.net + policy.ptr=forward501o.mail.yandex.net +Authentication-Results: mx4.messagingengine.com; + bimi=skipped (DMARC Policy is not at enforcement) +Authentication-Results: mx4.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx4.messagingengine.com; + dkim=pass (1024-bit rsa key sha256) header.d=yandex.ru + header.i=@yandex.ru header.b=mZiIROQD header.a=rsa-sha256 + header.s=mail x-bits=1024; + dmarc=pass policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=yandex.ru; + iprev=pass smtp.remote-ip=37.140.190.203 (forward501o.mail.yandex.net); + spf=pass smtp.mailfrom=alice@yandex.ru + smtp.helo=forward501o.mail.yandex.net +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/forged-authres-added@example.com new file mode 100644 index 000000000..8f01fa300 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@fastmail.com/forged-authres-added@example.com @@ -0,0 +1,22 @@ +Authentication-Results: mx1.messagingengine.com; + x-csa=none; + x-me-sender=none; + x-ptr=pass smtp.helo=nx184.node01.secure-mailgate.com + policy.ptr=nx184.node01.secure-mailgate.com +Authentication-Results: mx1.messagingengine.com; + bimi=skipped (DMARC did not pass) +Authentication-Results: mx1.messagingengine.com; + arc=none (no signatures found) +Authentication-Results: mx1.messagingengine.com; + dkim=none (no signatures found); + dmarc=none policy.published-domain-policy=none + policy.applied-disposition=none policy.evaluated-disposition=none + (p=none,d=none,d.eval=none) policy.policy-from=p + header.from=delta.blinzeln.de; + iprev=pass smtp.remote-ip=89.22.108.184 + (nx184.node01.secure-mailgate.com); + spf=none smtp.mailfrom=alice@delta.blinzeln.de + smtp.helo=nx184.node01.secure-mailgate.com +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@aol.com new file mode 100644 index 000000000..01e1d8234 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@aol.com @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@aol.com header.s=a2048 header.b=aox1b6+y; + spf=pass (google.com: domain of alice@aol.com designates 87.248.110.84 as permitted sender) smtp.mailfrom=alice@aol.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=aol.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@aol.com header.s=a2048 header.b=aox1b6+y; + spf=pass (google.com: domain of alice@aol.com designates 87.248.110.84 as permitted sender) smtp.mailfrom=alice@aol.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=aol.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@buzon.uy new file mode 100644 index 000000000..0174f7d26 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@buzon.uy @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@buzon.uy header.s=2019 header.b=GjVe3q13; + spf=pass (google.com: domain of alice@buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=buzon.uy +Authentication-Results: mx.google.com; + dkim=pass header.i=@buzon.uy header.s=2019 header.b=GjVe3q13; + spf=pass (google.com: domain of alice@buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=buzon.uy +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..c67b673ad --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@delta.blinzeln.de @@ -0,0 +1,7 @@ +ARC-Authentication-Results: i=1; mx.google.com; + spf=neutral (google.com: 89.22.108.212 is neither permitted nor denied by best guess record for domain of alice@delta.blinzeln.de) smtp.mailfrom=alice@delta.blinzeln.de +Authentication-Results: mx.google.com; + spf=neutral (google.com: 89.22.108.212 is neither permitted nor denied by best guess record for domain of alice@delta.blinzeln.de) smtp.mailfrom=alice@delta.blinzeln.de +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@disroot.org new file mode 100644 index 000000000..316fdf986 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@disroot.org @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@disroot.org header.s=mail header.b=agINRXYl; + spf=pass (google.com: domain of alice@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=disroot.org +Authentication-Results: mx.google.com; + dkim=pass header.i=@disroot.org header.s=mail header.b=agINRXYl; + spf=pass (google.com: domain of alice@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=disroot.org +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@fastmail.com new file mode 100644 index 000000000..3d8b341e6 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@fastmail.com @@ -0,0 +1,12 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@fastmail.com header.s=fm2 header.b=9iLihtf9; + dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=vFQyciDG; + spf=pass (google.com: domain of alice@fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fastmail.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@fastmail.com header.s=fm2 header.b=9iLihtf9; + dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=vFQyciDG; + spf=pass (google.com: domain of alice@fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fastmail.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@hotmail.com new file mode 100644 index 000000000..4ddac5a6d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@hotmail.com @@ -0,0 +1,14 @@ +ARC-Authentication-Results: i=2; mx.google.com; + dkim=pass header.i=@hotmail.com header.s=selector1 header.b=cXkaZaq1; + arc=pass (i=1); + spf=pass (google.com: domain of alice@hotmail.com designates 40.92.73.35 as permitted sender) smtp.mailfrom=alice@hotmail.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hotmail.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@hotmail.com header.s=selector1 header.b=cXkaZaq1; + arc=pass (i=1); + spf=pass (google.com: domain of alice@hotmail.com designates 40.92.73.35 as permitted sender) smtp.mailfrom=alice@hotmail.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hotmail.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@icloud.com new file mode 100644 index 000000000..88884d1ca --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@icloud.com @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@icloud.com header.s=1a1hai header.b=l1YS4V6g; + spf=pass (google.com: domain of alice@icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=icloud.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@icloud.com header.s=1a1hai header.b=l1YS4V6g; + spf=pass (google.com: domain of alice@icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com; + dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=icloud.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@ik.me new file mode 100644 index 000000000..c6fdb08a7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@ik.me @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@ik.me header.s=20200325 header.b=k4mDkE5i; + spf=pass (google.com: domain of alice@ik.me designates 2001:1600:4:17::8fae as permitted sender) smtp.mailfrom=alice@ik.me; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=ik.me +Authentication-Results: mx.google.com; + dkim=pass header.i=@ik.me header.s=20200325 header.b=k4mDkE5i; + spf=pass (google.com: domain of alice@ik.me designates 2001:1600:4:17::8fae as permitted sender) smtp.mailfrom=alice@ik.me; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=ik.me +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.de new file mode 100644 index 000000000..4bbc2f17f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.de @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@mail.de header.s=mailde202009 header.b=PVEru5f0; + spf=pass (google.com: domain of alice@mail.de designates 2001:868:100:600::216 as permitted sender) smtp.mailfrom=alice@mail.de; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mail.de +Authentication-Results: mx.google.com; + dkim=pass header.i=@mail.de header.s=mailde202009 header.b=PVEru5f0; + spf=pass (google.com: domain of alice@mail.de designates 2001:868:100:600::216 as permitted sender) smtp.mailfrom=alice@mail.de; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mail.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.ru new file mode 100644 index 000000000..ac050cfa8 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mail.ru @@ -0,0 +1,11 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@mail.ru header.s=mail4 header.b=K86lQ0h9; + spf=pass (google.com: domain of alice@mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=mail.ru +Authentication-Results: mx.google.com; + dkim=pass header.i=@mail.ru header.s=mail4 header.b=K86lQ0h9; + spf=pass (google.com: domain of alice@mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=mail.ru +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mailo.com new file mode 100644 index 000000000..a01bbf88c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@mailo.com @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@mailo.com header.s=mailo header.b="PoGUlxd/"; + spf=pass (google.com: domain of alice@mailo.com designates 213.182.54.11 as permitted sender) smtp.mailfrom=alice@mailo.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mailo.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@mailo.com header.s=mailo header.b="PoGUlxd/"; + spf=pass (google.com: domain of alice@mailo.com designates 213.182.54.11 as permitted sender) smtp.mailfrom=alice@mailo.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mailo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@outlook.com new file mode 100644 index 000000000..4e3adc5c7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@outlook.com @@ -0,0 +1,14 @@ +ARC-Authentication-Results: i=2; mx.google.com; + dkim=pass header.i=@outlook.com header.s=selector1 header.b=CHJ1fVli; + arc=pass (i=1); + spf=pass (google.com: domain of alice@outlook.com designates 40.92.66.108 as permitted sender) smtp.mailfrom=alice@outlook.com; + dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@outlook.com header.s=selector1 header.b=CHJ1fVli; + arc=pass (i=1); + spf=pass (google.com: domain of alice@outlook.com designates 40.92.66.108 as permitted sender) smtp.mailfrom=alice@outlook.com; + dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@posteo.de new file mode 100644 index 000000000..25a22a5a3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@posteo.de @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@posteo.de header.s=2017 header.b=PJxg1eJM; + spf=pass (google.com: domain of alice@posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=alice@posteo.de; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.de +Authentication-Results: mx.google.com; + dkim=pass header.i=@posteo.de header.s=2017 header.b=PJxg1eJM; + spf=pass (google.com: domain of alice@posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=alice@posteo.de; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@riseup.net new file mode 100644 index 000000000..23e12cdf6 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@riseup.net @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@riseup.net header.s=squak header.b="W/pP/71g"; + spf=pass (google.com: domain of alice@riseup.net designates 198.252.153.6 as permitted sender) smtp.mailfrom=alice@riseup.net; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=riseup.net +Authentication-Results: mx.google.com; + dkim=pass header.i=@riseup.net header.s=squak header.b="W/pP/71g"; + spf=pass (google.com: domain of alice@riseup.net designates 198.252.153.6 as permitted sender) smtp.mailfrom=alice@riseup.net; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=riseup.net +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yahoo.com new file mode 100644 index 000000000..2cc377c57 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yahoo.com @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@yahoo.com header.s=s2048 header.b=KF9PvN1o; + spf=pass (google.com: domain of alice@yahoo.com designates 87.248.110.84 as permitted sender) smtp.mailfrom=alice@yahoo.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=yahoo.com +Authentication-Results: mx.google.com; + dkim=pass header.i=@yahoo.com header.s=s2048 header.b=KF9PvN1o; + spf=pass (google.com: domain of alice@yahoo.com designates 87.248.110.84 as permitted sender) smtp.mailfrom=alice@yahoo.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=yahoo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yandex.ru new file mode 100644 index 000000000..a716d2cf8 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/alice@yandex.ru @@ -0,0 +1,11 @@ +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@yandex.ru header.s=mail header.b="k4k4P0Z/"; + spf=pass (google.com: domain of alice@yandex.ru designates 77.88.28.108 as permitted sender) smtp.mailfrom=alice@yandex.ru; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex.ru +Authentication-Results: mx.google.com; + dkim=pass header.i=@yandex.ru header.s=mail header.b="k4k4P0Z/"; + spf=pass (google.com: domain of alice@yandex.ru designates 77.88.28.108 as permitted sender) smtp.mailfrom=alice@yandex.ru; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex.ru +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/forged-authres-added@example.com new file mode 100644 index 000000000..706ac67c5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmail.com/forged-authres-added@example.com @@ -0,0 +1,5 @@ +Authentication-Results: mx.google.com; + spf=neutral (google.com: 89.22.108.212 is neither permitted nor denied by best guess record for domain of alice@delta.blinzeln.de) smtp.mailfrom=alice@delta.blinzeln.de +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@gmx.de/alice@slack.com b/test-data/message/dkimchecks-2022-09-28/alice@gmx.de/alice@slack.com new file mode 100644 index 000000000..0427b1a49 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@gmx.de/alice@slack.com @@ -0,0 +1,3 @@ +Authentication-Results: gmx.net; dkim=pass header.i=@slack.com +Authentication-Results: gmx.net; dkim=pass header.i=@amazonses.com +From: alice@slack.com \ No newline at end of file diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@aol.com new file mode 100644 index 000000000..728ca83fc --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@aol.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 77.238.178.97) + smtp.mailfrom=aol.com; dkim=pass (signature was verified) + header.d=aol.com;dmarc=pass action=none header.from=aol.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..93a110504 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@delta.blinzeln.de @@ -0,0 +1,6 @@ +Authentication-Results: spf=none (sender IP is 192.162.87.121) + smtp.mailfrom=delta.blinzeln.de; dkim=none (message not signed) + header.d=none;dmarc=none action=none + header.from=delta.blinzeln.de;compauth=fail reason=001 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@disroot.org new file mode 100644 index 000000000..2357d0298 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@disroot.org @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 178.21.23.139) + smtp.mailfrom=disroot.org; dkim=pass (signature was verified) + header.d=disroot.org;dmarc=pass action=none + header.from=disroot.org;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@fastmail.com new file mode 100644 index 000000000..66d50d774 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 66.111.4.28) + smtp.mailfrom=fastmail.com; dkim=pass (signature was verified) + header.d=fastmail.com;dmarc=pass action=none + header.from=fastmail.com;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@gmail.com new file mode 100644 index 000000000..cb58e94c1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@gmail.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 209.85.221.68) + smtp.mailfrom=gmail.com; dkim=pass (signature was verified) + header.d=gmail.com;dmarc=pass action=none header.from=gmail.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@icloud.com new file mode 100644 index 000000000..9c44b6bd4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@icloud.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 17.57.155.16) + smtp.mailfrom=icloud.com; dkim=pass (signature was verified) + header.d=icloud.com;dmarc=pass action=none + header.from=icloud.com;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@ik.me new file mode 100644 index 000000000..49669a003 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@ik.me @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 83.166.143.174) + smtp.mailfrom=ik.me; dkim=pass (signature was verified) + header.d=ik.me;dmarc=pass action=none header.from=ik.me;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.de new file mode 100644 index 000000000..0c8fd3114 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.de @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 62.201.172.25) + smtp.mailfrom=mail.de; dkim=pass (signature was verified) + header.d=mail.de;dmarc=pass action=none header.from=mail.de;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.ru new file mode 100644 index 000000000..b47b04e55 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 94.100.181.251) + smtp.mailfrom=mail.ru; dkim=pass (signature was verified) + header.d=mail.ru;dmarc=pass action=none header.from=mail.ru;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mailo.com new file mode 100644 index 000000000..0d54b1fb1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@mailo.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 213.182.54.11) + smtp.mailfrom=mailo.com; dkim=pass (signature was verified) + header.d=mailo.com;dmarc=pass action=none header.from=mailo.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@posteo.de new file mode 100644 index 000000000..32c8a1f67 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@posteo.de @@ -0,0 +1,6 @@ +Authentication-Results: spf=temperror (sender IP is 185.67.36.66) + smtp.mailfrom=posteo.de; dkim=pass (signature was verified) + header.d=posteo.de;dmarc=pass action=none header.from=posteo.de;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@riseup.net new file mode 100644 index 000000000..511018a81 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@riseup.net @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 198.252.153.129) + smtp.mailfrom=riseup.net; dkim=pass (signature was verified) + header.d=riseup.net;dmarc=pass action=none + header.from=riseup.net;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yahoo.com new file mode 100644 index 000000000..92c098f52 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yahoo.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 77.238.176.99) + smtp.mailfrom=yahoo.com; dkim=pass (signature was verified) + header.d=yahoo.com;dmarc=pass action=none header.from=yahoo.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yandex.ru new file mode 100644 index 000000000..f718d2eed --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@hotmail.com/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 77.88.28.108) + smtp.mailfrom=yandex.ru; dkim=pass (signature was verified) + header.d=yandex.ru;dmarc=pass action=none header.from=yandex.ru;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@aol.com new file mode 100644 index 000000000..ca1a2356b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@aol.com @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=aol.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=aol.com header.i=@aol.com header.b=XubAwo48 +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@aol.com designates 87.248.110.84 as permitted sender) smtp.mailfrom=alice@aol.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@buzon.uy new file mode 100644 index 000000000..2c5faf19f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@buzon.uy @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=buzon.uy +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=buzon.uy header.i=@buzon.uy header.b=RIQdNWNe +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..3d4fe8732 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@delta.blinzeln.de @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=none header.from=delta.blinzeln.de +Authentication-Results: dkim-verifier.icloud.com; dkim=none +Authentication-Results: spf.icloud.com; spf=none (spf.icloud.com: alice@delta.blinzeln.de does not designate permitted sender hosts) smtp.mailfrom=alice@delta.blinzeln.de +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@disroot.org new file mode 100644 index 000000000..e85326eff --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@disroot.org @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=disroot.org +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=CTWkc989 +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@fastmail.com new file mode 100644 index 000000000..1bab5e7a0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@fastmail.com @@ -0,0 +1,9 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=fastmail.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b=XEFkSwVW +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=tIugs7hL +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@gmail.com new file mode 100644 index 000000000..3d6ad8a47 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@gmail.com @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=gmail.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HYnahEVt +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@gmail.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=alice@gmail.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@ik.me new file mode 100644 index 000000000..51e942483 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@ik.me @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=ik.me +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (1024-bit key) header.d=ik.me header.i=@ik.me header.b=tu6YPP4A +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@ik.me designates 83.166.143.174 as permitted sender) smtp.mailfrom=alice@ik.me +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.de new file mode 100644 index 000000000..f686ca8b7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.de @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=mail.de +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=mail.de header.i=@mail.de header.b=dLA2UUO1 +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@mail.de designates 62.201.172.25 as permitted sender) smtp.mailfrom=alice@mail.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.ru new file mode 100644 index 000000000..b65bb7259 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mail.ru @@ -0,0 +1,8 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=mail.ru +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=mail.ru header.i=@mail.ru header.b=e36cIHLU +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mailo.com new file mode 100644 index 000000000..4ee0f5213 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@mailo.com @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=mailo.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (1024-bit key) header.d=mailo.com header.i=@mailo.com header.b=iBgqeTn7 +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@mailo.com designates 213.182.54.11 as permitted sender) smtp.mailfrom=alice@mailo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@outlook.com new file mode 100644 index 000000000..a180ec43f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@outlook.com @@ -0,0 +1,9 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=outlook.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=aRO3cX1y +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@outlook.com designates 40.92.66.68 as permitted sender) smtp.mailfrom=alice@outlook.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@posteo.de new file mode 100644 index 000000000..cb5cc5f5a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@posteo.de @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=posteo.de +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=posteo.de header.i=@posteo.de header.b=XcYh4i4k +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@posteo.de designates 185.67.36.66 as permitted sender) smtp.mailfrom=alice@posteo.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@riseup.net new file mode 100644 index 000000000..0b2118778 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@riseup.net @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=riseup.net +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=pOxpthcq +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@riseup.net designates 198.252.153.129 as permitted sender) smtp.mailfrom=alice@riseup.net +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yahoo.com new file mode 100644 index 000000000..1f69b2ed5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yahoo.com @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=none +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=yahoo.com +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (2048-bit key) header.d=yahoo.com header.i=@yahoo.com header.b=ku0XoLqQ +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@yahoo.com designates 77.238.179.83 as permitted sender) smtp.mailfrom=alice@yahoo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yandex.ru new file mode 100644 index 000000000..d11558772 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/alice@yandex.ru @@ -0,0 +1,8 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=pass header.from=yandex.ru +Authentication-Results: dkim-verifier.icloud.com; + dkim=pass (1024-bit key) header.d=yandex.ru header.i=@yandex.ru header.b=k2jxFMfG +Authentication-Results: spf.icloud.com; spf=pass (spf.icloud.com: domain of alice@yandex.ru designates 5.45.198.239 as permitted sender) smtp.mailfrom=alice@yandex.ru +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/forged-authres-added@example.com new file mode 100644 index 000000000..c354f2f09 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@icloud.com/forged-authres-added@example.com @@ -0,0 +1,7 @@ +Authentication-Results: bimi.icloud.com; bimi=skipped reason="insufficient dmarc" +Authentication-Results: dmarc.icloud.com; dmarc=none header.from=delta.blinzeln.de +Authentication-Results: dkim-verifier.icloud.com; dkim=none +Authentication-Results: spf.icloud.com; spf=none (spf.icloud.com: alice@delta.blinzeln.de does not designate permitted sender hosts) smtp.mailfrom=alice@delta.blinzeln.de +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@aol.com new file mode 100644 index 000000000..42c714daf --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@aol.com @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=reject dis=none) header.from=aol.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.b="Txpx5K4S"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=aol.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@buzon.uy new file mode 100644 index 000000000..b2c012b51 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@buzon.uy @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=reject dis=none) header.from=buzon.uy +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=buzon.uy header.i=@buzon.uy header.b="myjYUi37"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=buzon.uy diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@delta.blinzeln.de new file mode 100644 index 000000000..8cc73ad0c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@delta.blinzeln.de @@ -0,0 +1,5 @@ +Authentication-Results: mx.infomaniak.com; dmarc=none (p=none dis=none) header.from=delta.blinzeln.de +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org +Authentication-Results: mx.infomaniak.com; spf=none smtp.mailfrom=delta.blinzeln.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@disroot.org new file mode 100644 index 000000000..5c4d8cec9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@disroot.org @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=quarantine dis=none) header.from=disroot.org +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.b="HlBDJq/t"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=disroot.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@fastmail.com new file mode 100644 index 000000000..a6dafc817 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@fastmail.com @@ -0,0 +1,8 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=fastmail.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=fastmail.com header.i=@fastmail.com header.b="KMpU4FxP"; + dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="AQlzEcHV"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=fastmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@gmail.com new file mode 100644 index 000000000..ce9186d1b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@gmail.com @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HII5WJV8"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=gmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@hotmail.com new file mode 100644 index 000000000..a862cdf74 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@hotmail.com @@ -0,0 +1,9 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=hotmail.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=hotmail.com header.i=@hotmail.com header.b="Dbq+lYiV"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=hotmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@icloud.com new file mode 100644 index 000000000..07cbe2042 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@icloud.com @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=quarantine dis=none) header.from=icloud.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=icloud.com header.i=@icloud.com header.b="RYsH+EvP"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=icloud.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mail.de new file mode 100644 index 000000000..e0f51ddd3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mail.de @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=mail.de +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; secure) header.d=mail.de header.i=@mail.de header.b="tBa3jrls"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=mail.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mailo.com new file mode 100644 index 000000000..f250777af --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@mailo.com @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=mailo.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (1024-bit key; unprotected) header.d=mailo.com header.i=@mailo.com header.b="W4AVjC6K"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=mailo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@outlook.com new file mode 100644 index 000000000..7fd4c7bc9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@outlook.com @@ -0,0 +1,9 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=outlook.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b="fGclt/Vk"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=outlook.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@posteo.de new file mode 100644 index 000000000..8b7419e29 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@posteo.de @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=posteo.de +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; secure) header.d=posteo.de header.i=@posteo.de header.b="UcblSoDm"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=posteo.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@riseup.net new file mode 100644 index 000000000..9973d9ef0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@riseup.net @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=riseup.net +Authentication-Results: mx.infomaniak.com; + dkim=pass (1024-bit key; secure) header.d=riseup.net header.i=@riseup.net header.b="dGbBF9qT"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=riseup.net diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yahoo.com new file mode 100644 index 000000000..511ca4705 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yahoo.com @@ -0,0 +1,7 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=reject dis=none) header.from=yahoo.com +Authentication-Results: mx.infomaniak.com; + dkim=pass (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b="sJ+4wNJ7"; + dkim-atps=neutral +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=yahoo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yandex.ru new file mode 100644 index 000000000..f4339913f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/alice@yandex.ru @@ -0,0 +1,8 @@ +Authentication-Results: mx.infomaniak.com; dmarc=pass (p=none dis=none) header.from=yandex.ru +Authentication-Results: mx.infomaniak.com; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.b="lfDaLIBg"; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: +Authentication-Results: mx.infomaniak.com; spf=pass smtp.mailfrom=yandex.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@ik.me/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/forged-authres-added@example.com new file mode 100644 index 000000000..790fd22ae --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@ik.me/forged-authres-added@example.com @@ -0,0 +1,5 @@ +Authentication-Results: mx.infomaniak.com; dmarc=none (p=none dis=none) header.from=delta.blinzeln.de +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: mx.infomaniak.com; spf=none smtp.mailfrom=delta.blinzeln.de +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@aol.com new file mode 100644 index 000000000..f89f49721 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@aol.com @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix01.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.b="cMT1rpDE"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@buzon.uy new file mode 100644 index 000000000..b2461e610 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@buzon.uy @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix02.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=buzon.uy header.i=@buzon.uy header.b="apWsl1gh"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@delta.blinzeln.de new file mode 100644 index 000000000..556a06400 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@delta.blinzeln.de @@ -0,0 +1,4 @@ +Authentication-Results: mxpostfix01.mail.de; dkim=none; dkim-atps=neutral +From: +To: bot +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@disroot.org new file mode 100644 index 000000000..c5324f88d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@disroot.org @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.b="h1fPYPvx"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@fastmail.com new file mode 100644 index 000000000..5d89d4add --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: mxpostfix02.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=fastmail.com header.i=@fastmail.com header.b="Tt2wMg3b"; + dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="kVONgiOo"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@gmail.com new file mode 100644 index 000000000..2b05b31cf --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@gmail.com @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix02.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="SQcyDRqs"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@hotmail.com new file mode 100644 index 000000000..13c381353 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@hotmail.com @@ -0,0 +1,7 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=hotmail.com header.i=@hotmail.com header.b="CU2s8rqP"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@icloud.com new file mode 100644 index 000000000..63096f634 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@icloud.com @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=icloud.com header.i=@icloud.com header.b="JhbBMJeY"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@ik.me new file mode 100644 index 000000000..f27903935 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@ik.me @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix01.mail.de; + dkim=pass (1024-bit key; secure) header.d=ik.me header.i=@ik.me header.b="NKw1/mI8"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mail.ru new file mode 100644 index 000000000..ca6e196a0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: mxpostfix02.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=mail.ru header.i=@mail.ru header.b="JKR9v9aG"; + dkim-atps=neutral +From: +To: bot +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mailo.com new file mode 100644 index 000000000..4cdbe046f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@mailo.com @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (1024-bit key; unprotected) header.d=mailo.com header.i=@mailo.com header.b="WNL8tBaQ"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@outlook.com new file mode 100644 index 000000000..f57dddba2 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@outlook.com @@ -0,0 +1,7 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b="lZ/3SL2c"; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@posteo.de new file mode 100644 index 000000000..e5dd7dbec --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@posteo.de @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix03.mail.de; + dkim=pass (2048-bit key; secure) header.d=posteo.de header.i=@posteo.de header.b="q9Kd4g/Y"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@riseup.net new file mode 100644 index 000000000..6e210810a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@riseup.net @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix02.mail.de; + dkim=pass (1024-bit key; secure) header.d=riseup.net header.i=@riseup.net header.b="kACrHe55"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yahoo.com new file mode 100644 index 000000000..ff6aa6dd1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yahoo.com @@ -0,0 +1,5 @@ +Authentication-Results: mxpostfix01.mail.de; + dkim=pass (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b="si+QZzxa"; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yandex.ru new file mode 100644 index 000000000..de2d152dd --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: mxpostfix01.mail.de; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.b="dsSyS3ny"; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.de/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/forged-authres-added@example.com new file mode 100644 index 000000000..bda164a9e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.de/forged-authres-added@example.com @@ -0,0 +1,4 @@ +Authentication-Results: mxpostfix01.mail.de; dkim=none; dkim-atps=neutral +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@aol.com new file mode 100644 index 000000000..51b36c868 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@aol.com @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx216.i.mail.ru: domain of aol.com designates 77.238.176.99 as permitted sender) smtp.mailfrom=alice@aol.com smtp.helo=sonic301-22.consmr.mail.ir2.yahoo.com; + dkim=pass header.d=aol.com; dmarc=pass header.from=alice@aol.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@buzon.uy new file mode 100644 index 000000000..1092c33d0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@buzon.uy @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx311.i.mail.ru: domain of buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy smtp.helo=mail.buzon.uy; + dkim=pass header.d=buzon.uy; dmarc=pass header.from=alice@buzon.uy diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@delta.blinzeln.de new file mode 100644 index 000000000..6cdde499b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@delta.blinzeln.de @@ -0,0 +1,3 @@ +Authentication-Results: mxs.mail.ru; spf=none () smtp.mailfrom=alice@delta.blinzeln.de smtp.helo=nx170.node02.secure-mailgate.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@disroot.org new file mode 100644 index 000000000..d31512521 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@disroot.org @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx227.i.mail.ru: domain of disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org smtp.helo=knopi.disroot.org; + dkim=pass header.d=disroot.org; dmarc=pass header.from=alice@disroot.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@fastmail.com new file mode 100644 index 000000000..6f3ecc7bb --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@fastmail.com @@ -0,0 +1,5 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx285.i.mail.ru: domain of fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com smtp.helo=out4-smtp.messagingengine.com; + dkim=pass header.d=fastmail.com; + dkim=pass header.d=messagingengine.com; dmarc=pass header.from=alice@fastmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@gmail.com new file mode 100644 index 000000000..ef8455066 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@gmail.com @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx273.i.mail.ru: domain of gmail.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=alice@gmail.com smtp.helo=mail-wr1-f66.google.com; + dkim=pass header.d=gmail.com; dmarc=pass header.from=alice@gmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@hotmail.com new file mode 100644 index 000000000..767e87bb5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@hotmail.com @@ -0,0 +1,6 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx200.i.mail.ru: domain of hotmail.com designates 40.92.73.37 as permitted sender) smtp.mailfrom=alice@hotmail.com smtp.helo=EUR04-HE1-obe.outbound.protection.outlook.com; + dkim=pass header.d=hotmail.com; dmarc=pass header.from=alice@hotmail.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@icloud.com new file mode 100644 index 000000000..25ff500ed --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@icloud.com @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx326.i.mail.ru: domain of icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com smtp.helo=qs51p00im-qukt01072701.me.com; + dkim=pass header.d=icloud.com; dmarc=pass header.from=alice@icloud.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@ik.me new file mode 100644 index 000000000..594df287e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@ik.me @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx197.i.mail.ru: domain of ik.me designates 185.125.25.10 as permitted sender) smtp.mailfrom=alice@ik.me smtp.helo=smtp-190a.mail.infomaniak.ch; + dkim=pass header.d=ik.me; dmarc=pass header.from=alice@ik.me diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mail.de new file mode 100644 index 000000000..f5352370b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mail.de @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx285.i.mail.ru: domain of mail.de designates 62.201.172.25 as permitted sender) smtp.mailfrom=alice@mail.de smtp.helo=shout02.mail.de; + dkim=pass header.d=mail.de; dmarc=pass header.from=alice@mail.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mailo.com new file mode 100644 index 000000000..3202f8a63 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@mailo.com @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx289.i.mail.ru: domain of mailo.com designates 213.182.54.15 as permitted sender) smtp.mailfrom=alice@mailo.com smtp.helo=msg-4.mailo.com; + dkim=pass header.d=mailo.com; dmarc=pass header.from=alice@mailo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@outlook.com new file mode 100644 index 000000000..40637952e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@outlook.com @@ -0,0 +1,6 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx222.i.mail.ru: domain of outlook.com designates 40.92.66.68 as permitted sender) smtp.mailfrom=alice@outlook.com smtp.helo=EUR01-VE1-obe.outbound.protection.outlook.com; + dkim=pass header.d=outlook.com; dmarc=pass header.from=alice@outlook.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@posteo.de new file mode 100644 index 000000000..7625d379e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@posteo.de @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx288.i.mail.ru: domain of posteo.de designates 185.67.36.66 as permitted sender) smtp.mailfrom=alice@posteo.de smtp.helo=mout02.posteo.de; + dkim=pass header.d=posteo.de; dmarc=pass header.from=alice@posteo.de diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@riseup.net new file mode 100644 index 000000000..2b5428669 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@riseup.net @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx282.i.mail.ru: domain of riseup.net designates 198.252.153.6 as permitted sender) smtp.mailfrom=alice@riseup.net smtp.helo=mx0.riseup.net; + dkim=pass header.d=riseup.net; dmarc=pass header.from=alice@riseup.net diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yahoo.com new file mode 100644 index 000000000..27341954a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yahoo.com @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx252.i.mail.ru: domain of yahoo.com designates 77.238.179.188 as permitted sender) smtp.mailfrom=alice@yahoo.com smtp.helo=sonic313-21.consmr.mail.ir2.yahoo.com; + dkim=pass header.d=yahoo.com; dmarc=pass header.from=alice@yahoo.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yandex.ru new file mode 100644 index 000000000..4647265d1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/alice@yandex.ru @@ -0,0 +1,4 @@ +From: +To: +Authentication-Results: mxs.mail.ru; spf=pass (mx109.mail.ru: domain of yandex.ru designates 77.88.28.112 as permitted sender) smtp.mailfrom=alice@yandex.ru smtp.helo=forward502p.mail.yandex.net; + dkim=pass header.d=yandex.ru; dmarc=pass header.from=alice@yandex.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/forged-authres-added@example.com new file mode 100644 index 000000000..81d980e29 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mail.ru/forged-authres-added@example.com @@ -0,0 +1,3 @@ +Authentication-Results: mxs.mail.ru; spf=none () smtp.mailfrom=alice@delta.blinzeln.de smtp.helo=nx170.node02.secure-mailgate.com +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@aol.com new file mode 100644 index 000000000..76a2602fc --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@aol.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@buzon.uy new file mode 100644 index 000000000..0025bd389 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@buzon.uy @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..2df28e3c7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@delta.blinzeln.de @@ -0,0 +1,3 @@ +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@disroot.org new file mode 100644 index 000000000..a14816bec --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@disroot.org @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@fastmail.com new file mode 100644 index 000000000..80703364b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@fastmail.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@gmail.com new file mode 100644 index 000000000..5fe669057 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@gmail.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@hotmail.com new file mode 100644 index 000000000..de828710e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@hotmail.com @@ -0,0 +1,4 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@icloud.com new file mode 100644 index 000000000..de3e5a428 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@icloud.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@ik.me new file mode 100644 index 000000000..4d46ff23d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@ik.me @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@mail.de new file mode 100644 index 000000000..6f961b645 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@mail.de @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@outlook.com new file mode 100644 index 000000000..61225c7ec --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@outlook.com @@ -0,0 +1,4 @@ +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@posteo.de new file mode 100644 index 000000000..10a459deb --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@posteo.de @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@riseup.net new file mode 100644 index 000000000..8f4816520 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@riseup.net @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yahoo.com new file mode 100644 index 000000000..c020f7d0d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yahoo.com @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yandex.ru new file mode 100644 index 000000000..c5052ce4b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/alice@yandex.ru @@ -0,0 +1,3 @@ +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/forged-authres-added@example.com new file mode 100644 index 000000000..f6287c13f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@mailo.com/forged-authres-added@example.com @@ -0,0 +1,3 @@ +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@nauta.cu/forged@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@nauta.cu/forged@disroot.org new file mode 100644 index 000000000..f2ac78fa3 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@nauta.cu/forged@disroot.org @@ -0,0 +1,8 @@ +Authentication-Results: box.hispanilandia.net; + dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.b="kqh3WUKq"; + dkim-atps=neutral +Authentication-Results: box.hispanilandia.net; dmarc=pass (p=quarantine dis=none) header.from=disroot.org +Authentication-Results: box.hispanilandia.net; spf=pass smtp.mailfrom=adbenitez@disroot.org +From: forged@disroot.org + +This is an email from adb's mailing list that pretends being sent by forged@disroot.org. \ No newline at end of file diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..4386a3c01 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@delta.blinzeln.de @@ -0,0 +1,6 @@ +Authentication-Results: spf=none (sender IP is 192.162.87.171) + smtp.mailfrom=delta.blinzeln.de; dkim=none (message not signed) + header.d=none;dmarc=none action=none + header.from=delta.blinzeln.de;compauth=fail reason=001 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@disroot.org new file mode 100644 index 000000000..f3e117e20 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@disroot.org @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 178.21.23.139) + smtp.mailfrom=disroot.org; dkim=pass (signature was verified) + header.d=disroot.org;dmarc=pass action=none + header.from=disroot.org;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@fastmail.com new file mode 100644 index 000000000..9fce4e422 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 66.111.4.28) + smtp.mailfrom=fastmail.com; dkim=pass (signature was verified) + header.d=fastmail.com;dmarc=pass action=none + header.from=fastmail.com;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@gmail.com new file mode 100644 index 000000000..da9ae307a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@gmail.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 209.85.128.67) + smtp.mailfrom=gmail.com; dkim=pass (signature was verified) + header.d=gmail.com;dmarc=pass action=none header.from=gmail.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@hotmail.com new file mode 100644 index 000000000..72a7d0da5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@hotmail.com @@ -0,0 +1,13 @@ +ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is + 40.92.73.85) smtp.rcpttodomain=outlook.com smtp.mailfrom=hotmail.com; + dmarc=pass (p=none sp=none pct=100) action=none header.from=hotmail.com; + dkim=pass (signature was verified) header.d=hotmail.com; arc=pass (0 oda=0 + ltdi=1) +Authentication-Results: spf=pass (sender IP is 40.92.73.85) + smtp.mailfrom=hotmail.com; dkim=pass (signature was verified) + header.d=hotmail.com;dmarc=pass action=none + header.from=hotmail.com;compauth=pass reason=100 +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@icloud.com new file mode 100644 index 000000000..743b8a39e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@icloud.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 17.57.155.16) + smtp.mailfrom=icloud.com; dkim=pass (signature was verified) + header.d=icloud.com;dmarc=pass action=none + header.from=icloud.com;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@ik.me new file mode 100644 index 000000000..e5b8f67d9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@ik.me @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 83.166.143.172) + smtp.mailfrom=ik.me; dkim=pass (signature was verified) + header.d=ik.me;dmarc=pass action=none header.from=ik.me;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.de new file mode 100644 index 000000000..89439ab7a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.de @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 62.201.172.25) + smtp.mailfrom=mail.de; dkim=pass (signature was verified) + header.d=mail.de;dmarc=pass action=none header.from=mail.de;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.ru new file mode 100644 index 000000000..eb9779c6d --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 94.100.181.251) + smtp.mailfrom=mail.ru; dkim=pass (signature was verified) + header.d=mail.ru;dmarc=pass action=none header.from=mail.ru;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mailo.com new file mode 100644 index 000000000..ffdddcb23 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@mailo.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 213.182.54.12) + smtp.mailfrom=mailo.com; dkim=pass (signature was verified) + header.d=mailo.com;dmarc=pass action=none header.from=mailo.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@riseup.net new file mode 100644 index 000000000..b463bd26a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@riseup.net @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 198.252.153.129) + smtp.mailfrom=riseup.net; dkim=pass (signature was verified) + header.d=riseup.net;dmarc=pass action=none + header.from=riseup.net;compauth=pass reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yahoo.com new file mode 100644 index 000000000..c433ac69c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yahoo.com @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 77.238.176.206) + smtp.mailfrom=yahoo.com; dkim=pass (signature was verified) + header.d=yahoo.com;dmarc=pass action=none header.from=yahoo.com;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yandex.ru new file mode 100644 index 000000000..1441d3baa --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@outlook.com/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: spf=pass (sender IP is 37.140.190.179) + smtp.mailfrom=yandex.ru; dkim=pass (signature was verified) + header.d=yandex.ru;dmarc=pass action=none header.from=yandex.ru;compauth=pass + reason=100 +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@aol.com new file mode 100644 index 000000000..346c6c829 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@aol.com @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=reject dis=none) header.from=aol.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=aol.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=aol.com header.i=@aol.com header.b=GjnZ7bT0; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@buzon.uy new file mode 100644 index 000000000..ccb0357e1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@buzon.uy @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=reject dis=none) header.from=buzon.uy +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=buzon.uy +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=buzon.uy header.i=@buzon.uy header.b=BvEzK1ZM; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@delta.blinzeln.de new file mode 100644 index 000000000..05b9b983e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@delta.blinzeln.de @@ -0,0 +1,5 @@ +Authentication-Results: posteo.de; dmarc=none (p=none dis=none) header.from=delta.blinzeln.de +Authentication-Results: posteo.de; spf=tempfail smtp.mailfrom=delta.blinzeln.de +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@disroot.org new file mode 100644 index 000000000..8cd0f24e8 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@disroot.org @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=quarantine dis=none) header.from=disroot.org +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=disroot.org +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=efBb8ZQO; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@fastmail.com new file mode 100644 index 000000000..5ed5d0057 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@fastmail.com @@ -0,0 +1,8 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=fastmail.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=fastmail.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b=tuorMG/I; + dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=mwBYuGTq; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@gmail.com new file mode 100644 index 000000000..9008a884a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@gmail.com @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=gmail.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SJjarA70; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@hotmail.com new file mode 100644 index 000000000..b7c5ea735 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@hotmail.com @@ -0,0 +1,9 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=hotmail.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=hotmail.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=hotmail.com header.i=@hotmail.com header.b=aqo8efk9; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@icloud.com new file mode 100644 index 000000000..9bad56145 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@icloud.com @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=quarantine dis=none) header.from=icloud.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=icloud.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=r/M8U3nt; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@ik.me new file mode 100644 index 000000000..36dd47540 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@ik.me @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=reject dis=none) header.from=ik.me +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=ik.me +Authentication-Results: posteo.de; + dkim=pass (1024-bit key) header.d=ik.me header.i=@ik.me header.b=4ibRj8Gi; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.de new file mode 100644 index 000000000..f46106b69 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.de @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=mail.de +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=mail.de +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=mail.de header.i=@mail.de header.b=QjA9h4IW; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.ru new file mode 100644 index 000000000..2e23e40e9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mail.ru @@ -0,0 +1,8 @@ +Authentication-Results: posteo.de; dmarc=pass (p=reject dis=none) header.from=mail.ru +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=mail.ru +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=mail.ru header.i=@mail.ru header.b=SGc3jC2I; + dkim-atps=neutral +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mailo.com new file mode 100644 index 000000000..83abd3a0a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@mailo.com @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=mailo.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=mailo.com +Authentication-Results: posteo.de; + dkim=pass (1024-bit key) header.d=mailo.com header.i=@mailo.com header.b=Ye7KpuTx; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@outlook.com new file mode 100644 index 000000000..4df304b44 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@outlook.com @@ -0,0 +1,9 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=outlook.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=outlook.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=uk70iBwu; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@riseup.net new file mode 100644 index 000000000..08b2f20d2 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@riseup.net @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=riseup.net +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=riseup.net +Authentication-Results: posteo.de; + dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=hAaxuWvc; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yahoo.com new file mode 100644 index 000000000..cdfa53c75 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yahoo.com @@ -0,0 +1,7 @@ +Authentication-Results: posteo.de; dmarc=pass (p=reject dis=none) header.from=yahoo.com +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=yahoo.com +Authentication-Results: posteo.de; + dkim=pass (2048-bit key) header.d=yahoo.com header.i=@yahoo.com header.b=XTEPlzFO; + dkim-atps=neutral +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yandex.ru new file mode 100644 index 000000000..6f83d5a68 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/alice@yandex.ru @@ -0,0 +1,8 @@ +Authentication-Results: posteo.de; dmarc=pass (p=none dis=none) header.from=yandex.ru +Authentication-Results: posteo.de; spf=pass smtp.mailfrom=yandex.ru +Authentication-Results: posteo.de; + dkim=pass (1024-bit key) header.d=yandex.ru header.i=@yandex.ru header.b=XsBIC1C8; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/forged-authres-added@example.com new file mode 100644 index 000000000..3dacbe632 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@posteo.de/forged-authres-added@example.com @@ -0,0 +1,5 @@ +Authentication-Results: posteo.de; dmarc=none (p=none dis=none) header.from=delta.blinzeln.de +Authentication-Results: posteo.de; spf=tempfail smtp.mailfrom=delta.blinzeln.de +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@aol.com new file mode 100644 index 000000000..794cdbe54 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@aol.com @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.a=rsa-sha256 header.s=a2048 header.b=Aei3fiG8; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@buzon.uy new file mode 100644 index 000000000..bdad12584 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@buzon.uy @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=buzon.uy header.i=@buzon.uy header.a=rsa-sha256 header.s=2019 header.b=gc8qGJWd; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@delta.blinzeln.de new file mode 100644 index 000000000..8c3a9af42 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@delta.blinzeln.de @@ -0,0 +1,3 @@ +From: +To: bot +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@disroot.org new file mode 100644 index 000000000..377594c14 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@disroot.org @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=NtiGkBD2; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@fastmail.com new file mode 100644 index 000000000..307f10994 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@fastmail.com @@ -0,0 +1,6 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=fastmail.com header.i=@fastmail.com header.a=rsa-sha256 header.s=fm2 header.b=ZyZhU7V7; + dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=GQt3UCVa; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@gmail.com new file mode 100644 index 000000000..3ac28fba7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@gmail.com @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=kUOVASbW; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@hotmail.com new file mode 100644 index 000000000..04fcba782 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@hotmail.com @@ -0,0 +1,7 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=hotmail.com header.i=@hotmail.com header.a=rsa-sha256 header.s=selector1 header.b=ot+fEoWQ; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@icloud.com new file mode 100644 index 000000000..1939e5c46 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@icloud.com @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=icloud.com header.i=@icloud.com header.a=rsa-sha256 header.s=1a1hai header.b=wns6PtC+; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@ik.me new file mode 100644 index 000000000..6665b5870 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@ik.me @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (1024-bit key; secure) header.d=ik.me header.i=@ik.me header.a=rsa-sha256 header.s=20200325 header.b=pxpE0vb9; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.de new file mode 100644 index 000000000..b52dbc2a0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.de @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; secure) header.d=mail.de header.i=@mail.de header.a=rsa-sha256 header.s=mailde202009 header.b=aBcwisze; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.ru new file mode 100644 index 000000000..7b83d4b24 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=mail.ru header.i=@mail.ru header.a=rsa-sha256 header.s=mail4 header.b=YraBU3ek; + dkim-atps=neutral +From: +To: bot +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mailo.com new file mode 100644 index 000000000..f6fa85e93 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@mailo.com @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (1024-bit key; unprotected) header.d=mailo.com header.i=@mailo.com header.a=rsa-sha256 header.s=mailo header.b=ehXZZkUs; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@outlook.com new file mode 100644 index 000000000..b963fd416 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@outlook.com @@ -0,0 +1,7 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.a=rsa-sha256 header.s=selector1 header.b=qavaKmkq; + dkim-atps=neutral +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@posteo.de new file mode 100644 index 000000000..a2b2b0640 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@posteo.de @@ -0,0 +1,5 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (2048-bit key; secure) header.d=posteo.de header.i=@posteo.de header.a=rsa-sha256 header.s=2017 header.b=jSdje1Vp; + dkim-atps=neutral +From: +To: bot diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@yandex.ru new file mode 100644 index 000000000..3aba97f3b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: mx1.riseup.net; + dkim=pass (1024-bit key; unprotected) header.d=yandex.ru header.i=@yandex.ru header.a=rsa-sha256 header.s=mail header.b=avNJu6sw; + dkim-atps=neutral +Authentication-Results: iva4-143b1447cf50.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/forged-authres-added@example.com new file mode 100644 index 000000000..f6287c13f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@riseup.net/forged-authres-added@example.com @@ -0,0 +1,3 @@ +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/alice@gmx.de b/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/alice@gmx.de new file mode 100644 index 000000000..1a45a55bf --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/alice@gmx.de @@ -0,0 +1,10 @@ +ARC-Authentication-Results: i=1; + testrun.org; + dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=Gug6p4zD; + dmarc=pass (policy=none) header.from=gmx.de; + spf=pass (testrun.org: domain of alice@gmx.de designates 212.227.17.21 as permitted sender) smtp.mailfrom=alice@gmx.de +Authentication-Results: testrun.org; + dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=Gug6p4zD; + dmarc=pass (policy=none) header.from=gmx.de; + spf=pass (testrun.org: domain of alice@gmx.de designates 212.227.17.21 as permitted sender) smtp.mailfrom=alice@gmx.de +From: alice@gmx.de \ No newline at end of file diff --git a/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/forged@nauta.cu b/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/forged@nauta.cu new file mode 100644 index 000000000..a662f7fb4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@testrun.org/forged@nauta.cu @@ -0,0 +1,14 @@ +Authentication-Results: box.hispanilandia.net; dmarc=none (p=none dis=none) header.from=nauta.cu +Authentication-Results: box.hispanilandia.net; spf=pass smtp.mailfrom=adbenitez@nauta.cu +ARC-Authentication-Results: i=1; + testrun.org; + dkim=fail ("body hash did not verify") header.d=nauta.cu header.s=nauta header.b=YrWhU6qk; + dmarc=none; + spf=pass (testrun.org: domain of "test1-bounces+hocuri=testrun.org@hispanilandia.net" designates 51.15.127.36 as permitted sender) smtp.mailfrom="test1-bounces+hocuri=testrun.org@hispanilandia.net" +Authentication-Results: testrun.org; + dkim=fail ("body hash did not verify") header.d=nauta.cu header.s=nauta header.b=YrWhU6qk; + dmarc=none; + spf=pass (testrun.org: domain of "test1-bounces+hocuri=testrun.org@hispanilandia.net" designates 51.15.127.36 as permitted sender) smtp.mailfrom="test1-bounces+hocuri=testrun.org@hispanilandia.net" +From: forged@nauta.cu + +This is an email from adb's mailing list that pretends being from forged@nauta.cu. \ No newline at end of file diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@buzon.uy new file mode 100644 index 000000000..b3efda67b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@buzon.uy @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@buzon.uy header.s=2019; + spf=pass smtp.mailfrom=buzon.uy; + dmarc=pass(p=REJECT) header.from=buzon.uy; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@delta.blinzeln.de new file mode 100644 index 000000000..2403f24c8 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@delta.blinzeln.de @@ -0,0 +1,6 @@ +Authentication-Results: atlas324.free.mail.ne1.yahoo.com; + dkim=unknown; + spf=none smtp.mailfrom=delta.blinzeln.de; + dmarc=unknown header.from=delta.blinzeln.de; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@disroot.org new file mode 100644 index 000000000..73e307c07 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@disroot.org @@ -0,0 +1,6 @@ +Authentication-Results: atlas108.free.mail.bf1.yahoo.com; + dkim=pass header.i=@disroot.org header.s=mail; + spf=pass smtp.mailfrom=disroot.org; + dmarc=pass(p=QUARANTINE) header.from=disroot.org; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@fastmail.com new file mode 100644 index 000000000..1ede20f4a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@fastmail.com @@ -0,0 +1,7 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@fastmail.com header.s=fm2; + dkim=pass header.i=@messagingengine.com header.s=fm2; + spf=pass smtp.mailfrom=fastmail.com; + dmarc=pass(p=NONE,sp=NONE) header.from=fastmail.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@gmail.com new file mode 100644 index 000000000..12627620f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@gmail.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas216.free.mail.bf1.yahoo.com; + dkim=pass header.i=@gmail.com header.s=20210112; + spf=pass smtp.mailfrom=gmail.com; + dmarc=pass(p=NONE,sp=QUARANTINE) header.from=gmail.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@hotmail.com new file mode 100644 index 000000000..7194a532f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@hotmail.com @@ -0,0 +1,8 @@ +Authentication-Results: atlas305.free.mail.ne1.yahoo.com; + dkim=pass header.i=@hotmail.com header.s=selector1; + spf=pass smtp.mailfrom=hotmail.com; + dmarc=pass(p=NONE) header.from=hotmail.com; +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@icloud.com new file mode 100644 index 000000000..d0a928d6c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@icloud.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@icloud.com header.s=1a1hai; + spf=pass smtp.mailfrom=icloud.com; + dmarc=pass(p=QUARANTINE,sp=QUARANTINE) header.from=icloud.com; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@ik.me new file mode 100644 index 000000000..84e15cbd9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@ik.me @@ -0,0 +1,6 @@ +Authentication-Results: atlas322.free.mail.ne1.yahoo.com; + dkim=pass header.i=@ik.me header.s=20200325; + spf=pass smtp.mailfrom=ik.me; + dmarc=pass(p=REJECT) header.from=ik.me; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.de new file mode 100644 index 000000000..a1d46cfa4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.de @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@mail.de header.s=mailde202009; + spf=pass smtp.mailfrom=mail.de; + dmarc=pass(p=NONE) header.from=mail.de; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.ru new file mode 100644 index 000000000..4810a6b7b --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@mail.ru @@ -0,0 +1,6 @@ +Authentication-Results: atlas119.free.mail.ne1.yahoo.com; + dkim=pass header.i=@mail.ru header.s=mail4; + spf=pass smtp.mailfrom=mail.ru; + dmarc=pass(p=REJECT) header.from=mail.ru; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@outlook.com new file mode 100644 index 000000000..c2a4ba95f --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@outlook.com @@ -0,0 +1,8 @@ +Authentication-Results: atlas219.free.mail.bf1.yahoo.com; + dkim=pass header.i=@outlook.com header.s=selector1; + spf=pass smtp.mailfrom=outlook.com; + dmarc=pass(p=NONE,sp=QUARANTINE) header.from=outlook.com; +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@posteo.de new file mode 100644 index 000000000..a0641cab1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@posteo.de @@ -0,0 +1,6 @@ +Authentication-Results: atlas106.free.mail.bf1.yahoo.com; + dkim=pass header.i=@posteo.de header.s=2017; + spf=pass smtp.mailfrom=posteo.de; + dmarc=pass(p=NONE) header.from=posteo.de; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@riseup.net new file mode 100644 index 000000000..53905dcdd --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@riseup.net @@ -0,0 +1,6 @@ +Authentication-Results: atlas-production.v2-mail-prod1-gq1.omega.yahoo.com; + dkim=pass header.i=@riseup.net header.s=squak; + spf=pass smtp.mailfrom=riseup.net; + dmarc=pass(p=NONE) header.from=riseup.net; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@yandex.ru new file mode 100644 index 000000000..092f0a27e --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/alice@yandex.ru @@ -0,0 +1,6 @@ +Authentication-Results: atlas313.free.mail.bf1.yahoo.com; + dkim=pass header.i=@yandex.ru header.s=mail; + spf=pass smtp.mailfrom=yandex.ru; + dmarc=pass(p=NONE) header.from=yandex.ru; +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/forged-authres-added@example.com new file mode 100644 index 000000000..6ca7761df --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yahoo.com/forged-authres-added@example.com @@ -0,0 +1,6 @@ +Authentication-Results: atlas324.free.mail.ne1.yahoo.com; + dkim=unknown; + spf=none smtp.mailfrom=delta.blinzeln.de; + dmarc=unknown header.from=delta.blinzeln.de; +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@aol.com new file mode 100644 index 000000000..5b9b8fd09 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@aol.com @@ -0,0 +1,3 @@ +Authentication-Results: vla5-30ef2e2d46cd.qloud-c.yandex.net; spf=pass (vla5-30ef2e2d46cd.qloud-c.yandex.net: domain of aol.com designates 77.238.176.206 as permitted sender, rule=[ip4:77.238.176.0/22]) smtp.mail=alice@aol.com; dkim=pass header.i=@aol.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@buzon.uy new file mode 100644 index 000000000..6f98dd342 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@buzon.uy @@ -0,0 +1,3 @@ +Authentication-Results: vla3-66f60228e45a.qloud-c.yandex.net; spf=pass (vla3-66f60228e45a.qloud-c.yandex.net: domain of buzon.uy designates 185.101.93.79 as permitted sender, rule=[mx]) smtp.mail=alice@buzon.uy; dkim=pass header.i=@buzon.uy +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@delta.blinzeln.de new file mode 100644 index 000000000..e3be1bbb0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@delta.blinzeln.de @@ -0,0 +1,2 @@ +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@disroot.org new file mode 100644 index 000000000..d9e807d98 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@disroot.org @@ -0,0 +1,3 @@ +Authentication-Results: sas1-9c1a55d84a51.qloud-c.yandex.net; spf=pass (sas1-9c1a55d84a51.qloud-c.yandex.net: domain of disroot.org designates 178.21.23.139 as permitted sender, rule=[a]) smtp.mail=alice@disroot.org; dkim=pass header.i=@disroot.org +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@fastmail.com new file mode 100644 index 000000000..b88aae331 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@fastmail.com @@ -0,0 +1,3 @@ +Authentication-Results: myt6-c6cdcba1eefd.qloud-c.yandex.net; spf=pass (myt6-c6cdcba1eefd.qloud-c.yandex.net: domain of fastmail.com designates 66.111.4.28 as permitted sender, rule=[ip4:66.111.4.28]) smtp.mail=alice@fastmail.com; dkim=pass header.i=@fastmail.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@gmail.com new file mode 100644 index 000000000..a68cea413 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@gmail.com @@ -0,0 +1,3 @@ +Authentication-Results: vla1-f55d97afef99.qloud-c.yandex.net; spf=pass (vla1-f55d97afef99.qloud-c.yandex.net: domain of gmail.com designates 2a00:1450:4864:20::443 as permitted sender, rule=[ip6:2a00:1450:4000::/36]) smtp.mail=alice@gmail.com; dkim=pass header.i=@gmail.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@hotmail.com new file mode 100644 index 000000000..cf4c6ded4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@hotmail.com @@ -0,0 +1,5 @@ +Authentication-Results: myt6-95f0aaf173a0.qloud-c.yandex.net; spf=pass (myt6-95f0aaf173a0.qloud-c.yandex.net: domain of hotmail.com designates 40.92.89.36 as permitted sender, rule=[ip4:40.92.0.0/15]) smtp.mail=alice@hotmail.com; dkim=pass header.i=@hotmail.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@icloud.com new file mode 100644 index 000000000..28cef24e2 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@icloud.com @@ -0,0 +1,3 @@ +Authentication-Results: sas1-fadc704f0d28.qloud-c.yandex.net; spf=pass (sas1-fadc704f0d28.qloud-c.yandex.net: domain of icloud.com designates 17.57.155.16 as permitted sender, rule=[ip4:17.57.155.0/24]) smtp.mail=alice@icloud.com; dkim=pass header.i=@icloud.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@ik.me new file mode 100644 index 000000000..396dc1f8c --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@ik.me @@ -0,0 +1,3 @@ +Authentication-Results: sas2-8adc7f9fdb94.qloud-c.yandex.net; spf=pass (sas2-8adc7f9fdb94.qloud-c.yandex.net: domain of ik.me designates 185.125.25.12 as permitted sender, rule=[ip4:185.125.25.8/29]) smtp.mail=alice@ik.me; dkim=pass header.i=@ik.me +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.de new file mode 100644 index 000000000..8dee204fb --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.de @@ -0,0 +1,3 @@ +Authentication-Results: sas1-5ea632933308.qloud-c.yandex.net; spf=pass (sas1-5ea632933308.qloud-c.yandex.net: domain of mail.de designates 2001:868:100:600::217 as permitted sender, rule=[ip6:2001:868:100:600::/64]) smtp.mail=alice@mail.de; dkim=pass header.i=@mail.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.ru new file mode 100644 index 000000000..7072701c7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mail.ru @@ -0,0 +1,3 @@ +Authentication-Results: myt6-50f129ea7c6f.qloud-c.yandex.net; spf=pass (myt6-50f129ea7c6f.qloud-c.yandex.net: domain of mail.ru designates 94.100.181.251 as permitted sender, rule=[ip4:94.100.176.0/20]) smtp.mail=alice@mail.ru; dkim=pass header.i=@mail.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mailo.com new file mode 100644 index 000000000..d01def7be --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@mailo.com @@ -0,0 +1,3 @@ +Authentication-Results: vla5-bc29b3935b72.qloud-c.yandex.net; spf=pass (vla5-bc29b3935b72.qloud-c.yandex.net: domain of mailo.com designates 213.182.54.15 as permitted sender, rule=[ip4:213.182.54.0/24]) smtp.mail=alice@mailo.com; dkim=pass header.i=@mailo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@outlook.com new file mode 100644 index 000000000..4c9456010 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@outlook.com @@ -0,0 +1,5 @@ +Authentication-Results: myt6-0c6ff95e6b5b.qloud-c.yandex.net; spf=pass (myt6-0c6ff95e6b5b.qloud-c.yandex.net: domain of outlook.com designates 40.92.58.101 as permitted sender, rule=[ip4:40.92.0.0/15]) smtp.mail=alice@outlook.com; dkim=pass header.i=@outlook.com +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@posteo.de new file mode 100644 index 000000000..a36030384 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@posteo.de @@ -0,0 +1,3 @@ +Authentication-Results: iva2-9b85764c69b5.qloud-c.yandex.net; spf=pass (iva2-9b85764c69b5.qloud-c.yandex.net: domain of posteo.de designates 185.67.36.66 as permitted sender, rule=[ip4:185.67.36.0/23]) smtp.mail=alice@posteo.de; dkim=pass header.i=@posteo.de +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@riseup.net new file mode 100644 index 000000000..d9ea6c7e9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@riseup.net @@ -0,0 +1,3 @@ +Authentication-Results: iva4-be43fd783926.qloud-c.yandex.net; spf=pass (iva4-be43fd783926.qloud-c.yandex.net: domain of riseup.net designates 198.252.153.6 as permitted sender, rule=[a:mx0.riseup.net]) smtp.mail=alice@riseup.net; dkim=pass header.i=@riseup.net +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@yahoo.com new file mode 100644 index 000000000..878b7a822 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/alice@yahoo.com @@ -0,0 +1,3 @@ +Authentication-Results: vla5-77e4a2c621ec.qloud-c.yandex.net; spf=pass (vla5-77e4a2c621ec.qloud-c.yandex.net: domain of yahoo.com designates 77.238.179.83 as permitted sender, rule=[ptr:yahoo.com]) smtp.mail=alice@yahoo.com; dkim=pass header.i=@yahoo.com +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/forged-authres-added@example.com new file mode 100644 index 000000000..9c1b61ce0 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@yandex.ru/forged-authres-added@example.com @@ -0,0 +1,2 @@ +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@aol.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@aol.com new file mode 100644 index 000000000..37066e6dd --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@aol.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of aol.com designates 77.238.177.146 as permitted sender) smtp.mailfrom=alice@aol.com; + dmarc=pass(p=reject dis=none) header.from=aol.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of aol.com designates 77.238.177.146 as permitted sender) smtp.mailfrom=alice@aol.com; + dmarc=pass header.from= (p=reject dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@buzon.uy b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@buzon.uy new file mode 100644 index 000000000..c294606fe --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@buzon.uy @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy; + dmarc=pass(p=reject dis=none) header.from=buzon.uy +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of buzon.uy designates 185.101.93.79 as permitted sender) smtp.mailfrom=alice@buzon.uy; + dmarc=pass header.from= (p=reject dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@delta.blinzeln.de b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@delta.blinzeln.de new file mode 100644 index 000000000..8087eb752 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@delta.blinzeln.de @@ -0,0 +1,5 @@ +Authentication-Results: mx.zohomail.eu; + spf=none (zohomail.eu: 192.162.87.206 is neither permitted nor denied by domain of delta.blinzeln.de) smtp.mailfrom=alice@delta.blinzeln.de +From: +To: +Authentication-Results: secure-mailgate.com; auth=pass smtp.auth=91.203.111.88@webbox222.server-home.org diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@disroot.org b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@disroot.org new file mode 100644 index 000000000..14bdc8df4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@disroot.org @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org; + dmarc=pass(p=quarantine dis=none) header.from=disroot.org +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=alice@disroot.org; + dmarc=pass header.from= (p=quarantine dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@fastmail.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@fastmail.com new file mode 100644 index 000000000..ce5618387 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@fastmail.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com; + dmarc=pass(p=none dis=none) header.from=fastmail.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of fastmail.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=alice@fastmail.com; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@gmail.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@gmail.com new file mode 100644 index 000000000..fa97970da --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@gmail.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=alice@gmail.com; + dmarc=pass(p=none dis=none) header.from=gmail.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=alice@gmail.com; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@hotmail.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@hotmail.com new file mode 100644 index 000000000..8c46c9cb9 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@hotmail.com @@ -0,0 +1,14 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of hotmail.com designates 40.92.89.94 as permitted sender) smtp.mailfrom=alice@hotmail.com; + arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); + dmarc=pass(p=none dis=none) header.from=hotmail.com +ARC-Authentication-Results: i=2; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of hotmail.com designates 40.92.89.94 as permitted sender) smtp.mailfrom=alice@hotmail.com; + arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); + dmarc=pass header.from= (p=none dis=none) +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@icloud.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@icloud.com new file mode 100644 index 000000000..2b9abe857 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@icloud.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com; + dmarc=pass(p=quarantine dis=none) header.from=icloud.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of icloud.com designates 17.57.155.16 as permitted sender) smtp.mailfrom=alice@icloud.com; + dmarc=pass header.from= (p=quarantine dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@ik.me b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@ik.me new file mode 100644 index 000000000..0da295cd4 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@ik.me @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of ik.me designates 84.16.66.168 as permitted sender) smtp.mailfrom=alice@ik.me; + dmarc=pass(p=reject dis=none) header.from=ik.me +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of ik.me designates 84.16.66.168 as permitted sender) smtp.mailfrom=alice@ik.me; + dmarc=pass header.from= (p=reject dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.de b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.de new file mode 100644 index 000000000..f89eb5ae7 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.de @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of mail.de designates 62.201.172.25 as permitted sender) smtp.mailfrom=alice@mail.de; + dmarc=pass(p=none dis=none) header.from=mail.de +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of mail.de designates 62.201.172.25 as permitted sender) smtp.mailfrom=alice@mail.de; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.ru b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.ru new file mode 100644 index 000000000..feacb190a --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mail.ru @@ -0,0 +1,11 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru; + dmarc=pass(p=reject dis=none) header.from=mail.ru +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.mail.ru designates 94.100.181.251 as permitted sender) smtp.mailfrom=alice@mail.ru; + dmarc=pass header.from= (p=reject dis=none) +From: +To: +Authentication-Results: smtpng1.m.smailru.net; auth=pass smtp.auth=alice@mail.ru smtp.mailfrom=alice@mail.ru diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mailo.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mailo.com new file mode 100644 index 000000000..d98929001 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@mailo.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of mailo.com designates 213.182.54.11 as permitted sender) smtp.mailfrom=alice@mailo.com; + dmarc=pass(p=none dis=none) header.from=mailo.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of mailo.com designates 213.182.54.11 as permitted sender) smtp.mailfrom=alice@mailo.com; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@outlook.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@outlook.com new file mode 100644 index 000000000..1ae4a98b5 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@outlook.com @@ -0,0 +1,14 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of outlook.com designates 40.92.58.104 as permitted sender) smtp.mailfrom=alice@outlook.com; + arc=pass (i=1 dmarc=pass fromdomain=outlook.com); + dmarc=pass(p=none dis=none) header.from=outlook.com +ARC-Authentication-Results: i=2; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of outlook.com designates 40.92.58.104 as permitted sender) smtp.mailfrom=alice@outlook.com; + arc=pass (i=1 dmarc=pass fromdomain=outlook.com); + dmarc=pass header.from= (p=none dis=none) +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; + dkim=none; arc=none +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@posteo.de b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@posteo.de new file mode 100644 index 000000000..4c3876374 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@posteo.de @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=alice@posteo.de; + dmarc=pass(p=none dis=none) header.from=posteo.de +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=alice@posteo.de; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@riseup.net b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@riseup.net new file mode 100644 index 000000000..8de1cf787 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@riseup.net @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of riseup.net designates 198.252.153.129 as permitted sender) smtp.mailfrom=alice@riseup.net; + dmarc=pass(p=none dis=none) header.from=riseup.net +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of riseup.net designates 198.252.153.129 as permitted sender) smtp.mailfrom=alice@riseup.net; + dmarc=pass header.from= (p=none dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yahoo.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yahoo.com new file mode 100644 index 000000000..bd7ebfbea --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yahoo.com @@ -0,0 +1,10 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.mail.yahoo.com designates 77.238.177.32 as permitted sender) smtp.mailfrom=alice@yahoo.com; + dmarc=pass(p=reject dis=none) header.from=yahoo.com +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.mail.yahoo.com designates 77.238.177.32 as permitted sender) smtp.mailfrom=alice@yahoo.com; + dmarc=pass header.from= (p=reject dis=none) +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yandex.ru b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yandex.ru new file mode 100644 index 000000000..ff3f535ae --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/alice@yandex.ru @@ -0,0 +1,11 @@ +Authentication-Results: mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.yandex.ru designates 37.140.190.195 as permitted sender) smtp.mailfrom=alice@yandex.ru; + dmarc=pass(p=none dis=none) header.from=yandex.ru +ARC-Authentication-Results: i=1; mx.zohomail.eu; + dkim=pass; + spf=pass (zohomail.eu: domain of _spf.yandex.ru designates 37.140.190.195 as permitted sender) smtp.mailfrom=alice@yandex.ru; + dmarc=pass header.from= (p=none dis=none) +Authentication-Results: vla1-b7b6154c4cfd.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru +From: +To: diff --git a/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/forged-authres-added@example.com b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/forged-authres-added@example.com new file mode 100644 index 000000000..4573d8ef1 --- /dev/null +++ b/test-data/message/dkimchecks-2022-09-28/alice@zohomail.eu/forged-authres-added@example.com @@ -0,0 +1,4 @@ +Authentication-Results: mx.zohomail.eu; +From: forged-authres-added@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com +Authentication-Results: aaa.com; dkim=pass header.i=@example.com diff --git a/test-data/message/dkimchecks_create-authresadding-attacker.py b/test-data/message/dkimchecks_create-authresadding-attacker.py new file mode 100644 index 000000000..e5c7f2c75 --- /dev/null +++ b/test-data/message/dkimchecks_create-authresadding-attacker.py @@ -0,0 +1,22 @@ +# This is a small script which helped me write the atuhresadding-attacker@example.com emails +# I still did quite some things manually. +# cd dkimchecks-2022-09-28; for d in *; do cd $d ; python3 ../../create-forged-authres-added.py >forged-authres-added@example.com; cd $HOME/deltachat-android/jni/deltachat-core-rust/test-data/message/dkimchecks-2022-09-28; done + +with open("nami.lefherz@delta.blinzeln.de", "r") as f: + inheader = False + for l in f: + if inheader and l.startswith(" "): + print(l, end='') + continue + else: + inheader=False + if l.startswith("Authentication-Results: secure-mailgate.com"): + print(f"Authentication-Results: aaa.com; dkim=pass header.i=@example.com") + elif l.startswith("Authentication-Results:") and not l.startswith("Authentication-Results: secure-mailgate.com"): + print(l, end='') + inheader=True + if l.startswith("From:"): + print("From: forged-authres-added@example.com"); + if l.startswith("Authentication-Results-Original"): + print("TO BE DELETED") + print(f"Authentication-Results: aaa.com; dkim=pass header.i=@example.com") diff --git a/test-data/message/dkimchecks_strip.py b/test-data/message/dkimchecks_strip.py new file mode 100644 index 000000000..0a7e7bdee --- /dev/null +++ b/test-data/message/dkimchecks_strip.py @@ -0,0 +1,14 @@ +# Use with dkimchecks_strip.sh + +import sys + +inheader = False +for l in sys.stdin: + if inheader and (l.startswith(" ") or l.startswith("\t")): + print(l, end='') + continue + else: + inheader = False + if l.startswith("Authentication-Results:") or l.startswith("From:") or l.startswith("To:") or l.startswith("ARC-Authentication-Results"): + print(l, end='') + inheader=True diff --git a/test-data/message/dkimchecks_strip.sh b/test-data/message/dkimchecks_strip.sh new file mode 100644 index 000000000..6ee05945f --- /dev/null +++ b/test-data/message/dkimchecks_strip.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# This is a small script I used to strip all the unnecessary information from the realworldemails before committing them, to avoid blowing up the repo size. +# Also, I deleted deltachattest@outlook.com/deltachat-dev@posteo.de. +# Also, I anonymized them using +# for n in ...; do rename $n alice *; done +# for n in ...; do rename $n alice */*; done +# for n in ...; do find ./ -type f -exec sed -i -e "s/${n}/alice/g" {} \; ;done +# (replace ... with the list of localparts in the email addresses) +set -euxo pipefail +cd dkimchecks-2022-09-28 +parent_dir=$PWD +for d in *; do + cd $d + for file in *; do + if ! [[ -s $file ]]; then + rm $file || true + else + python3 $parent_dir/../dkimchecks_strip.py < $file > ${file}-new + mv -f ${file}-new $file + fi + done + cd $parent_dir +done