diff options
author | Mart Raudsepp <leio@gentoo.org> | 2018-07-15 18:06:35 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2018-07-15 18:19:08 +0300 |
commit | 650afd4647ec44b71457fa836c555f30ede718e9 (patch) | |
tree | 9dc07eb9d78595496a6d9ff7e160abbf6a066d78 /mail-client/balsa/files | |
parent | x11-misc/redshift: amd64 stable wrt bug #661024 (diff) | |
download | gentoo-650afd4647ec44b71457fa836c555f30ede718e9.tar.gz gentoo-650afd4647ec44b71457fa836c555f30ede718e9.tar.bz2 gentoo-650afd4647ec44b71457fa836c555f30ede718e9.zip |
mail-client/balsa: bump to 2.5.6, includes EFAIL security fixes
*html2text is actually a runtime dependency in the webkit-gtk code paths,
not buildtime for all USE.
* Add glib-compile-resources deps (libxml2).
* New gnutls dep.
* libesmtp usage removed.
* Custom icon cache in /usr/share/balsa, needing gtk-update-icon-cache
during compile phase.
* src_prepare modifications are all obsolete (upstream bugs fixed).
* Include patches to hopefully keep USE=webkit working with older webkit-gtk.
Closes: https://bugs.gentoo.org/660322
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'mail-client/balsa/files')
-rw-r--r-- | mail-client/balsa/files/balsa-2.5.6-fix-older-webkit1.patch | 156 | ||||
-rw-r--r-- | mail-client/balsa/files/balsa-2.5.6-fix-older-webkit2.patch | 53 |
2 files changed, 209 insertions, 0 deletions
diff --git a/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit1.patch b/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit1.patch new file mode 100644 index 000000000000..227e2ac04b4f --- /dev/null +++ b/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit1.patch @@ -0,0 +1,156 @@ +From ea37ea940dfbcc4e6bcf8327194857a7b306a278 Mon Sep 17 00:00:00 2001 +From: Peter Bloomfield +Date: Sat, 7 Jul 2018 14:44:26 -0400 +Subject: [PATCH] Use g_debug() instead of conditional compilation + +* libbalsa/html.c (lbh_navigation_policy_decision), + (lbh_new_window_policy_decision), (lbh_response_policy_decision), + (lbh_resource_notify_response_cb), (lbh_web_process_crashed_cb), + (lbh_cid_cb), (libbalsa_html_new): Use g_debug() instead of + conditionally compiled printing. +--- + libbalsa/html.c | 52 ++++++++++++++++++++++++------------------------- + 2 files changed, 25 insertions(+), 27 deletions(-) + +diff --git a/libbalsa/html.c b/libbalsa/html.c +index 17f62789e..1e5e2f500 100644 +--- a/libbalsa/html.c ++++ b/libbalsa/html.c +@@ -44,6 +44,11 @@ + #include <string.h> + #include <glib/gi18n.h> + ++#ifdef G_LOG_DOMAIN ++# undef G_LOG_DOMAIN ++#endif ++#define G_LOG_DOMAIN "html" ++ + #ifdef HAVE_HTML_WIDGET + + /* +@@ -141,13 +146,6 @@ html2text(gchar ** text, gsize len) + * Experimental support for WebKit2. + */ + +-#define DEBUG_WEBKIT2 FALSE +-#if DEBUG_WEBKIT2 +-#define d(x) x +-#else +-#define d(x) +-#endif +- + /* WebKitContextMenuItem uses GtkAction, which is deprecated. + * We don't use it, but it breaks the git-tree build, so we just mangle + * it: */ +@@ -280,10 +278,10 @@ lbh_navigation_policy_decision(WebKitPolicyDecision * decision, + + switch (navigation_type) { + case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: +- d(g_print("%s clicked %s\n", __func__, uri)); ++ g_debug("%s clicked %s", __func__, uri); + (*info->clicked_cb) (uri); + default: +- d(g_print("%s uri %s, type %d, ignored\n", __func__, uri, navigation_type)); ++ g_debug("%s uri %s, type %d, ignored", __func__, uri, navigation_type); + webkit_policy_decision_ignore(decision); + } + } +@@ -305,13 +303,13 @@ lbh_new_window_policy_decision(WebKitPolicyDecision * decision, + (navigation_action)) { + case WEBKIT_NAVIGATION_TYPE_LINK_CLICKED: + request = webkit_navigation_action_get_request(navigation_action); +- d(g_print("%s clicked %s\n", __func__, +- webkit_uri_request_get_uri(request))); ++ g_debug("%s clicked %s", __func__, ++ webkit_uri_request_get_uri(request)); + (*info->clicked_cb) (webkit_uri_request_get_uri(request)); + default: +- d(g_print("%s type %d, ignored\n", __func__, +- webkit_navigation_action_get_navigation_type +- (navigation_action))); ++ g_debug("%s type %d, ignored", __func__, ++ webkit_navigation_action_get_navigation_type ++ (navigation_action)); + + webkit_policy_decision_ignore(decision); + } +@@ -321,10 +319,10 @@ static void + lbh_response_policy_decision(WebKitPolicyDecision * decision, + gpointer data) + { +- d(g_print("%s uri %s, ignored\n", __func__, +- webkit_uri_request_get_uri +- (webkit_response_policy_decision_get_request +- (WEBKIT_RESPONSE_POLICY_DECISION(decision))))); ++ g_debug("%s uri %s, ignored", __func__, ++ webkit_uri_request_get_uri ++ (webkit_response_policy_decision_get_request ++ (WEBKIT_RESPONSE_POLICY_DECISION(decision)))); + webkit_policy_decision_ignore(decision); + } + +@@ -453,20 +451,20 @@ lbh_resource_notify_response_cb(WebKitWebResource * resource, + + response = webkit_web_resource_get_response(resource); + mime_type = webkit_uri_response_get_mime_type(response); +- d(g_print("%s mime-type %s\n", __func__, mime_type)); ++ g_debug("%s mime-type %s", __func__, mime_type); + if (g_ascii_strncasecmp(mime_type, "image/", 6) != 0) + return; + + if (info->info_bar) { +- d(g_print("%s %s destroy info_bar\n", __func__, +- webkit_web_resource_get_uri(resource))); ++ g_debug("%s %s destroy info_bar", __func__, ++ webkit_web_resource_get_uri(resource)); + /* web_view is loading an image from its cache, so we do not + * need to ask the user for permission to download */ + gtk_widget_destroy(info->info_bar); + info->info_bar = NULL; + } else { +- d(g_print("%s %s null info_bar\n", __func__, +- webkit_web_resource_get_uri(resource))); ++ g_debug("%s %s null info_bar", __func__, ++ webkit_web_resource_get_uri(resource)); + } + } + +@@ -493,7 +491,7 @@ static gboolean + lbh_web_process_crashed_cb(WebKitWebView * web_view, + gpointer data) + { +- d(g_print("%s\n", __func__)); ++ g_debug("%s", __func__); + return FALSE; + } + +@@ -509,7 +507,7 @@ lbh_cid_cb(WebKitURISchemeRequest * request, + LibBalsaMessageBody *body; + + path = webkit_uri_scheme_request_get_path(request); +- d(g_print("%s path %s\n", __func__, path)); ++ g_debug("%s path %s", __func__, path); + + if ((body = + libbalsa_message_get_part_by_id(info->body->message, path))) { +@@ -616,7 +614,7 @@ libbalsa_html_new(LibBalsaMessageBody * body, + webkit_web_context_register_uri_scheme(context, "cid", lbh_cid_cb, + &info, NULL); + have_registered_cid = TRUE; +- d(g_print("%s registered cid: scheme\n", __func__)); ++ g_debug("%s registered cid: scheme", __func__); + } + + settings = webkit_web_view_get_settings(web_view); +@@ -647,7 +645,7 @@ libbalsa_html_new(LibBalsaMessageBody * body, + if (g_regex_match_simple(src_regex, text, G_REGEX_CASELESS, 0)) { + info->info_bar = lbh_info_bar(info); + gtk_box_pack_start(GTK_BOX(vbox), info->info_bar, FALSE, FALSE, 0); +- d(g_print("%s shows info_bar\n", __func__)); ++ g_debug("%s shows info_bar", __func__); + } + + webkit_web_view_load_html(web_view, text, NULL); +-- +2.17.1 + diff --git a/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit2.patch b/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit2.patch new file mode 100644 index 000000000000..d7b5eb74ba1c --- /dev/null +++ b/mail-client/balsa/files/balsa-2.5.6-fix-older-webkit2.patch @@ -0,0 +1,53 @@ +From 3423ca9bf48e675007b7fb1bd61b50aa97d14890 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Albrecht=20Dre=C3=9F?= +Date: Sat, 7 Jul 2018 16:36:49 -0400 +Subject: [PATCH] html: Fix HTML rendering with webkit2gtk-4.0 < 2.20 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* README: document use of G_MESSAGES_DEBUG=… +* libbalsa/html.c (lbh_navigation_policy_decision): + allow the rendering of “about:blank”. +--- + libbalsa/html.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +leio: trimmed out the G_MESSAGES_DEBUG doc changes +diff --git a/libbalsa/html.c b/libbalsa/html.c +index 1e5e2f500..307194e0a 100644 +--- a/libbalsa/html.c ++++ b/libbalsa/html.c +@@ -44,13 +44,13 @@ + #include <string.h> + #include <glib/gi18n.h> + ++#ifdef HAVE_HTML_WIDGET ++ + #ifdef G_LOG_DOMAIN + # undef G_LOG_DOMAIN + #endif + #define G_LOG_DOMAIN "html" + +-#ifdef HAVE_HTML_WIDGET +- + /* + * Used by all HTML widgets + * +@@ -281,8 +281,12 @@ lbh_navigation_policy_decision(WebKitPolicyDecision * decision, + g_debug("%s clicked %s", __func__, uri); + (*info->clicked_cb) (uri); + default: +- g_debug("%s uri %s, type %d, ignored", __func__, uri, navigation_type); +- webkit_policy_decision_ignore(decision); ++ if (g_ascii_strcasecmp(uri, "about:blank") != 0) { ++ g_debug("%s uri %s, type %d, ignored", __func__, uri, navigation_type); ++ webkit_policy_decision_ignore(decision); ++ } else { ++ g_debug("%s uri %s, type %d loaded", __func__, uri, navigation_type); ++ } + } + } + +-- +2.17.1 |