Extend mailbox adapter to eml files

This commit is contained in:
FliegendeWurst 2023-07-31 16:01:17 +02:00
parent 2259730c67
commit 6ae1fb3f6b
4 changed files with 1161 additions and 73 deletions

View File

@ -0,0 +1,69 @@
Return-Path: <noreply@github.com>
Date: Mon, 31 Jul 2023 01:34:57 -0700
From: "github-actions[bot]" <notifications@github.com>
To: KeYProject/key <key@noreply.github.com>
In-Reply-To: <KeYProject/key/pull/3232@github.com>
References: <KeYProject/key/pull/3232@github.com>
Subject: Re: [KeYProject/key] Fix more UI bugs (PR #3232)
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_64c77231630fb_12bafdd0c012685";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: github-actions[bot]
X-GitHub-Recipient: FliegendeWurst
X-GitHub-Reason: author
List-ID: KeYProject/key <key.KeYProject.github.com>
List-Archive: https://github.com/KeYProject/key
X-Auto-Response-Suppress: All
destinations: 2012gdwu+github@posteo.de
X-GitHub-Recipient-Address: 2012gdwu+github@posteo.de
----==_mimepart_64c77231630fb_12bafdd0c012685
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Thank you for your contribution.
The test artifacts are available on [Artiweb](https://keyproject.github.io/artiweb/3232/).
The newest artifact is [here](https://keyproject.github.io/artiweb/3232/833812796/).
--
Reply to this email directly or view it on GitHub:
https://github.com/KeYProject/key/pull/3232#issuecomment-1657918122
You are receiving this because you authored the thread.
Message ID: <KeYProject/key/pull/3232/c1657918122@github.com>
----==_mimepart_64c77231630fb_12bafdd0c012685
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<p></p>
<p dir="auto">Thank you for your contribution.</p>
<p dir="auto">The test artifacts are available on <a href="https://keyproject.github.io/artiweb/3232/" rel="nofollow">Artiweb</a>.<br>
The newest artifact is <a href="https://keyproject.github.io/artiweb/3232/833812796/" rel="nofollow">here</a>.</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />Reply to this email directly, <a href="https://github.com/KeYProject/key/pull/3232#issuecomment-1657918122">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AC72QTN2XK2D42XVPNPMTXLXS5U3DANCNFSM6AAAAAA25Y7T4M">unsubscribe</a>.<br />You are receiving this because you authored the thread.<img src="https://github.com/notifications/beacon/AC72QTNZM6RAGMF7TAEUEL3XS5U3DA5CNFSM6AAAAAA25Y7T4OWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTC2HJKU.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span>&lt;KeYProject/key/pull/3232/c1657918122</span><span>@</span><span>github</span><span>.</span><span>com&gt;</span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/KeYProject/key/pull/3232#issuecomment-1657918122",
"url": "https://github.com/KeYProject/key/pull/3232#issuecomment-1657918122",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
----==_mimepart_64c77231630fb_12bafdd0c012685--

View File

@ -0,0 +1,984 @@
From - Mon Jul 31 15:15:47 2023
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Content-Type: multipart/mixed;
boundary="------------4qicfcop0idtQJYkG05sMt93"
Message-ID: <68b5f6c4-8de4-02e9-fd09-8157d8ccd29b@student.kit.edu>
Date: Mon, 31 Jul 2023 15:15:41 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
From: Arne Keller <uskyk@student.kit.edu>
Content-Language: de-DE
To: <recipient@gmail.com>
Subject: Subject line
X-Enigmail-Draft-Status: N00200
X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0;
attachmentreminder=0; deliveryformat=0
X-Identity-Key: id6
Fcc: imap://KIT%5Cuskyk@imap.kit.edu/Sent
MIME-Version: 1.0
--------------4qicfcop0idtQJYkG05sMt93
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
<p>regular text<br>
</p>
</body>
</html>
--------------4qicfcop0idtQJYkG05sMt93
Content-Type: application/pdf; name="short.pdf"
Content-Disposition: attachment; filename="short.pdf"
Content-Transfer-Encoding: base64
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
zhUtk8I7g3h4jsfChVS2tUNJq1N+OJE3vqwROtkY10wlDXg14G1wP75PSZe7tp6tNH8Qb+UYvCMB
AW2GfhBJF0GzzkP2fLXAtiXFVbHWVESLFCUAFDmT0UmoY/olFaeqgN3iKY9Ito12a5ztA9xS08bb
Haoda/mb9xVo+p2oQFGrMVQVWp5bbbhgjmPXQYxxH/WJFm1JTrYz+51bGnBdgvFPabjN9V9kzTKM
NwgepRzRkUONVYg2xRHgncX1zyxtAR88djaeW4WduN9op/OGhbHlWGeIrXVKVo8rH+CUmhy1JxrE
huS88JI+ePYKOu6ZtjH4ASJA586XTmBClwFaXgAM0lVW3k6l+XD4p57ebrYyYXJjfC5bHeeIzFMQ
9X4JyOmZZZGQn76lOUFQHih+P4JPSok/9KyVuKbIvCVRwOK6EeY3DG8pKWxsfGRf+ybNpKVRzubu
dZG5jBFGP3otS07e3LP6bana84rPRFTwkBYey2m56oWHb5m82mRPF5Bf7be+vreENpasmU3WmvhF
j4xaMX7sPdujePleVw5ip9GiYgYVih2wl52dzKppK9xhbKvWbcmtbCDr4jO12xw5umWLLFCgVrub
WU2lZXgWrQeds9LbyzO46E5/f+5x5doy3mRNgZ1Sr+3tiNNEtOd7qvEA3KiTU3KOsOYKVtIR0kpD
gCeHDXVViUURH3pzPN/QkfIaqYvzaIQJCy7TPKlww2I77PGRqMgz3/v6V6yNyVcncLOW5PPXLJkL
yf2UzDXu3KqgObOOuzA83eRUWckXYZkpc51+ptNhgFM0PL97j1XhokJBlCcZ/P8AhORPCgplbmRz
dHJlYW0KZW5kb2JqCjMxIDAgb2JqCjw8Ci9BdXRob3IoKS9UaXRsZSgpL1N1YmplY3QoKS9DcmVh
dG9yKFwzNzZcMzc3XDAwMExcMDAwYVwwMDBUXDAwMGVcMDAwWFwwMDBcMDQwXDAwMHZcMDAwaVww
MDBhXDAwMFwwNDBcMDAwcFwwMDBhXDAwMG5cMDAwZFwwMDBvXDAwMGMpL1Byb2R1Y2VyKHBkZlRl
WC0xLjQwLjE5KS9LZXl3b3JkcygpCi9DcmVhdGlvbkRhdGUgKEQ6MjAxOTA2MDUxNTA5MjArMDIn
MDAnKQovTW9kRGF0ZSAoRDoyMDE5MDYwNTE1MDkyMCswMicwMCcpCi9UcmFwcGVkIC9GYWxzZQov
UFRFWC5GdWxsYmFubmVyIChUaGlzIGlzIHBkZlRlWCwgVmVyc2lvbiAzLjE0MTU5MjY1LTIuNi0x
LjQwLjE5IChUZVggTGl2ZSAyMDE4L0FyY2ggTGludXgpIGtwYXRoc2VhIHZlcnNpb24gNi4zLjAp
Cj4+CmVuZG9iagoyIDAgb2JqCjw8Ci9UeXBlIC9PYmpTdG0KL04gMjUKL0ZpcnN0IDE3OAovTGVu
Z3RoIDExMjkgICAgICAKL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnjarVZtc9s2DP6u
X4GP8XYWxXfyrtc7J667rEnaS7Kua5IPms3a2imWT5Iv7b8fIMmW7cxd9vLBNAk+APEAIAUOCUiQ
HAxwwcECNxIciMSAB6E8KBBeAFcgbYKboBIO3IGyScQ9aJMgFryyIBCVaFJCSw7V0KImIdq0ijZR
Dw1yjhoJLgQIriVwCUImJhJoQiqHSmgCjxfohdIIRpPaoo94kvYyevUK2A2wt8VtAWwMdxIZXAOb
ZPUDvH6N2xG7/bYKwD6k8xCxs2JZh2VdgSZcxK5DVazLaaiQWSO4DLMsPS2+wl2CAoNuWS8eIlQv
UY/cI1hnuT/v02+fcU/E1jiwiY7R4+U6zx+OIWWDNMbG3Lv/G2p1zM0BdILEgYI1wQTxpIsSZhAT
0M4x38iW5qjCPpTF9CbUcIeRG0+A3YavNXTW9iJ+UoVpnRXLH2I+IM2Te2kN/uw9pnVBQ6Ah3w4F
DfeJSuj/aSspt4DZILpTWElYBrEFmmnOY96te6nQOtbguI0dVp6IRYdrR0IowQmbuNiDxOxgIu+E
bfBYci/9tRrtaJ+NytLJnUQnmH0XS7CikRqJJxuXxAaMFoRwCj0inDStr4RotY3Q4Lnp9jtZo9tZ
l4Y0kLXZ2CecpnyK7fGaqpZM90S7Wauok52dVqaUwkDuzmVC8x7RanRS0YfDYcnJDtOjW4T0FHzp
G3uOUtDsYgqIKBHHW6ywZJvk6Ya+5DTrpJ7GVuKl7RA9tt1X2uNaNRqqRzV7jnQfdt4AugTjUE3L
bFUXZXsprtJH3Ln6+eOby/MfLy6vi8d0ycXwtMhnCMjTOT4NLfK0eRaGyhoYCodPl7b4mHFp8XkY
VVN6HoxD7Fm6+ilk80W3pANpb8g9rs7rNM+mo+U8D5BE7KYOjx8xfz5inzolzADaWKQlXb8TNmOB
LVjOClayp0HrySRDbcF3n6K/I3h+dT2+erclmAyvw3ydp+URjvi8DoXHylL0YHOxx9Hvc/Qv4mh2
KUq+SzFFghn7gxXLwFahzIoZq1jN1nts5T9hOxp9fns+3mHbunSErHYdWenoPRT635IdcrWhq81R
uoHY7XHTz7m9WU6LWbac43HZly8BPz70kcJ3sYsQKE/xAm9ZivWTUJ3gv2pDiTPHcuTCWYGjwtpp
Iopzz54enocR3V7/XjdLEqK/p2kVmo/G0buxF3364Dcf0ElWVjWRJa8idpFuVhxD92s2qxcV9QgN
dkOSuoK/zO733PpORR94pg49U2bPMbt1DHuY/+7Y8eI78Ms8jxjfc8z0jrkXOEYtTkU9zpo6lYi9
y2ZV1yEcpPz9us6zJYGbw6nLaszT2dvFxs5GM6uxVnnn9IiawGbWdUZizyG6hnj2ybiYDm/qtKwH
0OzDySLkeTF8Ksp8NgDXylboOLUPpl3udhS+9Z5dZI9ZfWBxF9j3RKFCnHDPw3OWYh6KedTGadPK
bWOxYdD5LvyG3jxcFrPAfqlCH7b3q7AcNYfD9hn+E7Q51S0KZW5kc3RyZWFtCmVuZG9iagozMiAw
IG9iago8PAovVHlwZSAvWFJlZgovSW5kZXggWzAgMzNdCi9TaXplIDMzCi9XIFsxIDIgMV0KL1Jv
b3QgMzAgMCBSCi9JbmZvIDMxIDAgUgovSUQgWzxCMjE4QUE3ODgwNDhGMjQ0QjUyRUNDMkJCRjdG
REUzNz4gPEIyMThBQTc4ODA0OEYyNDRCNTJFQ0MyQkJGN0ZERTM3Pl0KL0xlbmd0aCA4OSAgICAg
ICAgCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp42hXLyQGCUBRD0eShjMqkIG3Rg+3Y
iKXohhrowTXevzhJNpF0hEL+vsgwcqtLO5DhhDN6DBhxQ4EJJTpUqNHYRfpfvO6pr37/Ure4Y8YD
iz+St6f+7n0I1gplbmRzdHJlYW0KZW5kb2JqCnN0YXJ0eHJlZgo1MzM0OAolJUVPRgo=
--------------4qicfcop0idtQJYkG05sMt93--

View File

@ -1,24 +1,23 @@
use crate::adapted_iter::one_file;
use super::*; use super::*;
use anyhow::Result; use anyhow::Result;
use async_stream::stream; use async_stream::stream;
use lazy_static::lazy_static; use lazy_static::lazy_static;
use tokio::io::{BufReader, AsyncReadExt}; use mime2ext::mime2ext;
use tokio::io::AsyncReadExt;
use std::{path::{Path, PathBuf}, sync::Mutex, io::Cursor}; use std::{
collections::VecDeque,
io::Cursor,
};
static EXTENSIONS: &[&str] = &["mbox", "mbx"]; static EXTENSIONS: &[&str] = &["mbox", "mbx", "eml"];
static MIME_TYPES: &[&str] = &[ static MIME_TYPES: &[&str] = &["application/mbox", "message/rfc822"];
"application/mbox",
];
lazy_static! { lazy_static! {
static ref METADATA: AdapterMeta = AdapterMeta { static ref METADATA: AdapterMeta = AdapterMeta {
name: "mbox".to_owned(), name: "mail".to_owned(),
version: 1, version: 1,
description: description: "Reads mailbox/mail files and runs extractors on the contents and attachments."
"Reads mailbox files and runs extractors on the contents and attachments."
.to_owned(), .to_owned(),
recurses: true, recurses: true,
fast_matchers: EXTENSIONS fast_matchers: EXTENSIONS
@ -49,25 +48,13 @@ impl GetMetadata for MboxAdapter {
} }
} }
fn get_inner_filename(filename: &Path) -> PathBuf { #[async_trait]
let extension = filename
.extension()
.map(|e| e.to_string_lossy())
.unwrap_or(Cow::Borrowed(""));
let stem = filename
.file_stem()
.expect("no filename given?")
.to_string_lossy();
let new_extension = match extension.as_ref() {
"tgz" | "tbz" | "tbz2" => ".tar",
_other => "",
};
filename.with_file_name(format!("{}{}", stem, new_extension))
}
impl FileAdapter for MboxAdapter { impl FileAdapter for MboxAdapter {
fn adapt(&self, ai: AdaptInfo, _detection_reason: &FileMatcher) -> Result<AdaptedFilesIterBox> { async fn adapt(
println!("running mbox adapter"); &self,
ai: AdaptInfo,
_detection_reason: &FileMatcher,
) -> Result<AdaptedFilesIterBox> {
let AdaptInfo { let AdaptInfo {
filepath_hint, filepath_hint,
mut inp, mut inp,
@ -88,17 +75,26 @@ impl FileAdapter for MboxAdapter {
let mail_bytes = mail.as_bytes(); // &content[offset..offset2]; let mail_bytes = mail.as_bytes(); // &content[offset..offset2];
let mail_content = mail_bytes.splitn(2, |x| *x == b'\n').skip(1).next().unwrap(); let mail_content = mail_bytes.splitn(2, |x| *x == b'\n').skip(1).next().unwrap();
let mail = mailparse::parse_mail(mail_content)?; let mail = mailparse::parse_mail(mail_content)?;
let mail_body = mail.get_body()?;
println!("body {:?}", mail_body);
let mut todos = VecDeque::new();
todos.push_back(mail);
while let Some(mail) = todos.pop_front() {
let mut path = filepath_hint.clone(); let mut path = filepath_hint.clone();
println!("{:?}", mail.ctype.mimetype); let filename = mail.get_content_disposition().params.get("filename").cloned();
match &*mail.ctype.mimetype { match &*mail.ctype.mimetype {
"text/html" => { x if x.starts_with("multipart/") => {
path.push("mail.html"); todos.extend(mail.subparts);
}, continue;
_ => { }
path.push("mail.txt"); mime => {
if let Some(name) = filename {
path.push(name);
} else if let Some(extension) = mime2ext(mime) {
path.push(format!("data.{extension}"));
} else {
path.push("data");
}
} }
} }
@ -109,13 +105,14 @@ impl FileAdapter for MboxAdapter {
filepath_hint: path, filepath_hint: path,
is_real_file: false, is_real_file: false,
archive_recursion_depth: archive_recursion_depth + 1, archive_recursion_depth: archive_recursion_depth + 1,
inp: Box::pin(Cursor::new(mail_body.into_bytes())), inp: Box::pin(Cursor::new(mail.get_body_raw()?)),
line_prefix: line_prefix.to_string(), line_prefix: line_prefix.to_string(),
config: config, config: config,
postprocess, postprocess,
}; };
ais.push(ai2); ais.push(ai2);
} }
}
for a in ais { for a in ais {
yield(Ok(a)); yield(Ok(a));
} }
@ -131,54 +128,92 @@ mod tests {
use crate::test_utils::*; use crate::test_utils::*;
use pretty_assertions::assert_eq; use pretty_assertions::assert_eq;
use tokio::fs::File; use tokio::fs::File;
use tokio_stream::StreamExt;
#[test]
fn test_inner_filename() {
for (a, b) in &[
("hi/test.tgz", "hi/test.tar"),
("hi/hello.gz", "hi/hello"),
("a/b/initramfs", "a/b/initramfs"),
("hi/test.tbz2", "hi/test.tar"),
("hi/test.tbz", "hi/test.tar"),
("hi/test.hi.bz2", "hi/test.hi"),
("hello.tar.gz", "hello.tar"),
] {
assert_eq!(get_inner_filename(&PathBuf::from(a)), PathBuf::from(*b));
}
}
#[tokio::test] #[tokio::test]
async fn gz() -> Result<()> { async fn mail_simple() -> Result<()> {
let adapter = MboxAdapter; let adapter = MboxAdapter;
let filepath = test_data_dir().join("hello.gz"); let filepath = test_data_dir().join("github_email.eml");
let (a, d) = simple_adapt_info(&filepath, Box::pin(File::open(&filepath).await?)); let (a, d) = simple_adapt_info(&filepath, Box::pin(File::open(&filepath).await?));
let r = adapter.adapt(a, &d)?; let mut r = adapter.adapt(a, &d).await?;
let o = adapted_to_vec(r).await?; let mut count = 0;
assert_eq!(String::from_utf8(o)?, "hello\n"); while let Some(file) = r.next().await {
let mut file = file?;
let mut buf = Vec::new();
file.inp.read_to_end(&mut buf).await?;
match file.filepath_hint.components().last().unwrap().as_os_str().to_str().unwrap() {
"data.txt" | "data.html" => {
assert!(String::from_utf8(buf)?.contains("Thank you for your contribution"));
},
x => panic!("unexpected filename {x:?}"),
}
count += 1;
}
assert_eq!(2, count);
Ok(()) Ok(())
} }
#[tokio::test] #[tokio::test]
async fn pdf_gz() -> Result<()> { async fn mbox_simple() -> Result<()> {
let adapter = MboxAdapter; let adapter = MboxAdapter;
let filepath = test_data_dir().join("short.pdf.gz"); let filepath = test_data_dir().join("test.mbx");
let (a, d) = simple_adapt_info(&filepath, Box::pin(File::open(&filepath).await?)); let (a, d) = simple_adapt_info(&filepath, Box::pin(File::open(&filepath).await?));
let r = loop_adapt(&adapter, d, a)?; let mut r = adapter.adapt(a, &d).await?;
let o = adapted_to_vec(r).await?; let mut count = 0;
while let Some(file) = r.next().await {
let mut file = file?;
assert_eq!( assert_eq!(
String::from_utf8(o)?, "data.html",
"PREFIX:Page 1: hello world file.filepath_hint.components().last().unwrap().as_os_str()
PREFIX:Page 1: this is just a test.
PREFIX:Page 1:
PREFIX:Page 1: 1
PREFIX:Page 1:
PREFIX:Page 1:
"
); );
let mut buf = Vec::new();
file.inp.read_to_end(&mut buf).await?;
assert_eq!("<html>\r\n <head>\r\n <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\r\n </head>\r\n <body>\r\n <p>&gt;From</p>\r\n <p>Another word &gt;From<br>\r\n </p>\r\n </body>\r\n</html>", String::from_utf8(buf)?.trim());
count += 1;
}
assert_eq!(3, count);
Ok(())
}
#[tokio::test]
async fn mbox_attachment() -> Result<()> {
let adapter = MboxAdapter;
let filepath = test_data_dir().join("mail_with_attachment.mbox");
let (a, d) = simple_adapt_info(&filepath, Box::pin(File::open(&filepath).await?));
let mut r = loop_adapt(&adapter, d, a).await?;
let mut count = 0;
while let Some(file) = r.next().await {
let mut file = file?;
let path = file
.filepath_hint
.components()
.last()
.unwrap()
.as_os_str()
.to_str()
.unwrap();
let mut buf = Vec::new();
file.inp.read_to_end(&mut buf).await?;
match path {
"data.html.txt" => {
assert_eq!("PREFIX:regular text\nPREFIX:\n", String::from_utf8(buf)?);
}
"short.pdf.txt" => {
assert_eq!("PREFIX:Page 1: hello world\nPREFIX:Page 1: this is just a test.\nPREFIX:Page 1: \nPREFIX:Page 1: 1\nPREFIX:Page 1: \nPREFIX:Page 1: \n", String::from_utf8(buf)?);
}
_ => {
panic!("unrelated {path:?}");
}
}
count += 1;
}
assert_eq!(2, count); // one message + one attachment
Ok(()) Ok(())
} }
} }