summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/evolution-CVE-2020-11879.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/evolution-CVE-2020-11879.patch')
-rw-r--r--gnu/packages/patches/evolution-CVE-2020-11879.patch122
1 files changed, 0 insertions, 122 deletions
diff --git a/gnu/packages/patches/evolution-CVE-2020-11879.patch b/gnu/packages/patches/evolution-CVE-2020-11879.patch
deleted file mode 100644
index 8c85895aab..0000000000
--- a/gnu/packages/patches/evolution-CVE-2020-11879.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 6489f20d6905cc797e2b2581c415e558c457caa7 Mon Sep 17 00:00:00 2001
-From: Milan Crha <mcrha@redhat.com>
-Date: Wed, 12 Feb 2020 18:59:52 +0100
-Subject: [PATCH] I#784 - Warn about and limit what can be attached using
- mailto: URI
-
-Closes https://gitlab.gnome.org/GNOME/evolution/issues/784
----
- src/composer/e-msg-composer.c | 58 +++++++++++++++++++++++++++++------
- src/e-util/e-system.error.xml | 7 ++++-
- 2 files changed, 54 insertions(+), 11 deletions(-)
-
-diff --git a/src/composer/e-msg-composer.c b/src/composer/e-msg-composer.c
-index e4c9ac095e..cd3168d882 100644
---- a/src/composer/e-msg-composer.c
-+++ b/src/composer/e-msg-composer.c
-@@ -4761,7 +4761,8 @@ handle_mailto (EMsgComposer *composer,
- gchar *header, *content, *buf;
- gsize nread, nwritten;
- const gchar *p;
-- gint len, clen;
-+ gint len, clen, has_attachments = 0;
-+ gboolean has_blacklisted_attachment = FALSE;
-
- table = e_msg_composer_get_header_table (composer);
- view = e_msg_composer_get_attachment_view (composer);
-@@ -4844,22 +4845,36 @@ handle_mailto (EMsgComposer *composer,
- } else if (!g_ascii_strcasecmp (header, "attach") ||
- !g_ascii_strcasecmp (header, "attachment")) {
- EAttachment *attachment;
-+ GFile *file;
-
- camel_url_decode (content);
-- if (file_is_blacklisted (content))
-- e_alert_submit (
-- E_ALERT_SINK (e_msg_composer_get_editor (composer)),
-- "mail:blacklisted-file",
-- content, NULL);
- if (g_ascii_strncasecmp (content, "file:", 5) == 0)
- attachment = e_attachment_new_for_uri (content);
- else
- attachment = e_attachment_new_for_path (content);
-- e_attachment_store_add_attachment (store, attachment);
-- e_attachment_load_async (
-- attachment, (GAsyncReadyCallback)
-- e_attachment_load_handle_error, composer);
-+ file = e_attachment_ref_file (attachment);
-+ if (!file || !g_file_peek_path (file) ||
-+ !g_file_test (g_file_peek_path (file), G_FILE_TEST_EXISTS) ||
-+ g_file_test (g_file_peek_path (file), G_FILE_TEST_IS_DIR)) {
-+ /* Do nothing, simply ignore the attachment request */
-+ } else {
-+ has_attachments++;
-+
-+ if (file_is_blacklisted (content)) {
-+ has_blacklisted_attachment = TRUE;
-+ e_alert_submit (
-+ E_ALERT_SINK (e_msg_composer_get_editor (composer)),
-+ "mail:blacklisted-file",
-+ content, NULL);
-+ }
-+
-+ e_attachment_store_add_attachment (store, attachment);
-+ e_attachment_load_async (
-+ attachment, (GAsyncReadyCallback)
-+ e_attachment_load_handle_error, composer);
-+ }
- g_object_unref (attachment);
-+ g_clear_object (&file);
- } else if (!g_ascii_strcasecmp (header, "from")) {
- /* Ignore */
- } else if (!g_ascii_strcasecmp (header, "reply-to")) {
-@@ -4883,6 +4898,29 @@ handle_mailto (EMsgComposer *composer,
-
- g_free (buf);
-
-+ if (has_attachments && !has_blacklisted_attachment) {
-+ const gchar *primary;
-+ gchar *secondary;
-+
-+ primary = g_dngettext (GETTEXT_PACKAGE,
-+ "Review attachment before sending.",
-+ "Review attachments before sending.",
-+ has_attachments);
-+
-+ secondary = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
-+ "There had been added %d attachment. Make sure it does not contain any sensitive information before sending the message.",
-+ "There had been added %d attachments. Make sure they do not contain any sensitive information before sending the message.",
-+ has_attachments),
-+ has_attachments);
-+
-+ e_alert_submit (
-+ E_ALERT_SINK (e_msg_composer_get_editor (composer)),
-+ "system:generic-warning",
-+ primary, secondary, NULL);
-+
-+ g_free (secondary);
-+ }
-+
- merge_always_cc_and_bcc (table, to, &cc, &bcc);
-
- tov = destination_list_to_vector (to);
-diff --git a/src/e-util/e-system.error.xml b/src/e-util/e-system.error.xml
-index ddcf989fda..02facb7d26 100644
---- a/src/e-util/e-system.error.xml
-+++ b/src/e-util/e-system.error.xml
-@@ -1,6 +1,11 @@
- <?xml version="1.0"?>
- <error-list domain="system">
-- <error type="error" id="generic-error">
-+ <error id="generic-error" type="error">
-+ <primary>{0}</primary>
-+ <secondary>{1}</secondary>
-+ </error>
-+
-+ <error id="generic-warning" type="warning">
- <primary>{0}</primary>
- <secondary>{1}</secondary>
- </error>
---
-GitLab
-