mirror of
https://github.com/chatmail/core.git
synced 2026-04-20 15:06:30 +03:00
Fix clippy::unnecessary_wraps warnings
This lint is enabled by default in 1.50 toolchain.
This commit is contained in:
@@ -167,12 +167,7 @@ pub(crate) async fn dc_receive_imf_inner(
|
||||
// missing Message-IDs may come if the mail was set from this account with another
|
||||
// client that relies in the SMTP server to generate one.
|
||||
// true eg. for the Webmailer used in all-inkl-KAS
|
||||
match dc_create_incoming_rfc724_mid(sent_timestamp, from_id, &to_ids) {
|
||||
Some(x) => x,
|
||||
None => {
|
||||
bail!("No Message-Id found and could not create incoming rfc724_mid");
|
||||
}
|
||||
}
|
||||
dc_create_incoming_rfc724_mid(sent_timestamp, from_id, &to_ids)
|
||||
}
|
||||
};
|
||||
if mime_parser.parts.last().is_some() {
|
||||
@@ -1897,11 +1892,9 @@ async fn get_rfc724_mid_in_list(context: &Context, mid_list: &str) -> Result<Opt
|
||||
return Ok(None);
|
||||
}
|
||||
|
||||
if let Ok(ids) = parse_message_ids(mid_list) {
|
||||
for id in ids.iter().rev() {
|
||||
if let Some((_, _, msg_id)) = rfc724_mid_exists(context, id).await? {
|
||||
return Ok(Some(Message::load_from_db(context, msg_id).await?));
|
||||
}
|
||||
for id in parse_message_ids(mid_list).iter().rev() {
|
||||
if let Some((_, _, msg_id)) = rfc724_mid_exists(context, id).await? {
|
||||
return Ok(Some(Message::load_from_db(context, msg_id).await?));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1998,16 +1991,15 @@ fn dc_create_incoming_rfc724_mid(
|
||||
message_timestamp: i64,
|
||||
contact_id_from: u32,
|
||||
contact_ids_to: &ContactIds,
|
||||
) -> Option<String> {
|
||||
) -> String {
|
||||
/* create a deterministic rfc724_mid from input such that
|
||||
repeatedly calling it with the same input results in the same Message-id */
|
||||
|
||||
let largest_id_to = contact_ids_to.iter().max().copied().unwrap_or_default();
|
||||
let result = format!(
|
||||
format!(
|
||||
"{}-{}-{}@stub",
|
||||
message_timestamp, contact_id_from, largest_id_to
|
||||
);
|
||||
Some(result)
|
||||
)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
@@ -2070,18 +2062,18 @@ mod tests {
|
||||
let mut members = ContactIds::new();
|
||||
assert_eq!(
|
||||
dc_create_incoming_rfc724_mid(123, 45, &members),
|
||||
Some("123-45-0@stub".into())
|
||||
"123-45-0@stub"
|
||||
);
|
||||
members.insert(7);
|
||||
members.insert(3);
|
||||
assert_eq!(
|
||||
dc_create_incoming_rfc724_mid(123, 45, &members),
|
||||
Some("123-45-7@stub".into())
|
||||
"123-45-7@stub"
|
||||
);
|
||||
members.insert(9);
|
||||
assert_eq!(
|
||||
dc_create_incoming_rfc724_mid(123, 45, &members),
|
||||
Some("123-45-9@stub".into())
|
||||
"123-45-9@stub"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@ impl MimeMessage {
|
||||
parser.parse_mime_recursive(context, &mail).await?;
|
||||
parser.maybe_remove_bad_parts();
|
||||
parser.heuristically_parse_ndn(context).await;
|
||||
parser.parse_headers(context)?;
|
||||
parser.parse_headers(context);
|
||||
|
||||
if warn_empty_signature && parser.signatures.is_empty() {
|
||||
for part in parser.parts.iter_mut() {
|
||||
@@ -276,7 +276,7 @@ impl MimeMessage {
|
||||
}
|
||||
|
||||
/// Parses system messages.
|
||||
fn parse_system_message_headers(&mut self, context: &Context) -> Result<()> {
|
||||
fn parse_system_message_headers(&mut self, context: &Context) {
|
||||
if self.get(HeaderDef::AutocryptSetupMessage).is_some() {
|
||||
self.parts = self
|
||||
.parts
|
||||
@@ -304,7 +304,6 @@ impl MimeMessage {
|
||||
self.is_system_message = SystemMessage::ChatProtectionDisabled;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Parses avatar action headers.
|
||||
@@ -404,8 +403,8 @@ impl MimeMessage {
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_headers(&mut self, context: &Context) -> Result<()> {
|
||||
self.parse_system_message_headers(context)?;
|
||||
fn parse_headers(&mut self, context: &Context) {
|
||||
self.parse_system_message_headers(context);
|
||||
self.parse_avatar_headers();
|
||||
self.parse_videochat_headers();
|
||||
self.squash_attachment_parts();
|
||||
@@ -481,8 +480,6 @@ impl MimeMessage {
|
||||
|
||||
self.parts.push(part);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn avatar_action_from_header(&mut self, header_value: String) -> Option<AvatarAction> {
|
||||
@@ -1236,7 +1233,7 @@ pub(crate) struct FailureReport {
|
||||
}
|
||||
|
||||
#[allow(clippy::indexing_slicing)]
|
||||
pub(crate) fn parse_message_ids(ids: &str) -> Result<Vec<String>> {
|
||||
pub(crate) fn parse_message_ids(ids: &str) -> Vec<String> {
|
||||
// take care with mailparse::msgidparse() that is pretty untolerant eg. wrt missing `<` or `>`
|
||||
let mut msgids = Vec::new();
|
||||
for id in ids.split_whitespace() {
|
||||
@@ -1251,11 +1248,11 @@ pub(crate) fn parse_message_ids(ids: &str) -> Result<Vec<String>> {
|
||||
msgids.push(id);
|
||||
}
|
||||
}
|
||||
Ok(msgids)
|
||||
msgids
|
||||
}
|
||||
|
||||
pub(crate) fn parse_message_id(ids: &str) -> Result<String> {
|
||||
if let Some(id) = parse_message_ids(ids)?.first() {
|
||||
if let Some(id) = parse_message_ids(ids).first() {
|
||||
Ok(id.to_string())
|
||||
} else {
|
||||
bail!("could not parse message_id: {}", ids);
|
||||
@@ -2507,23 +2504,23 @@ CWt6wx7fiLp0qS9RrX75g6Gqw7nfCs6EcBERcIPt7DTe8VStJwf3LWqVwxl4gQl46yhfoqwEO+I=
|
||||
|
||||
#[test]
|
||||
fn test_parse_message_ids() {
|
||||
let test = parse_message_ids(" foo bar <foobar>").unwrap();
|
||||
let test = parse_message_ids(" foo bar <foobar>");
|
||||
assert_eq!(test.len(), 3);
|
||||
assert_eq!(test[0], "foo");
|
||||
assert_eq!(test[1], "bar");
|
||||
assert_eq!(test[2], "foobar");
|
||||
|
||||
let test = parse_message_ids(" < foobar >").unwrap();
|
||||
let test = parse_message_ids(" < foobar >");
|
||||
assert_eq!(test.len(), 1);
|
||||
assert_eq!(test[0], "foobar");
|
||||
|
||||
let test = parse_message_ids("").unwrap();
|
||||
let test = parse_message_ids("");
|
||||
assert!(test.is_empty());
|
||||
|
||||
let test = parse_message_ids(" ").unwrap();
|
||||
let test = parse_message_ids(" ");
|
||||
assert!(test.is_empty());
|
||||
|
||||
let test = parse_message_ids(" < ").unwrap();
|
||||
let test = parse_message_ids(" < ");
|
||||
assert!(test.is_empty());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user