Commit dff703a1 authored by Milan Crha's avatar Milan Crha
Browse files

Bump libsoup dependency to 2.40.3

This removes workarounds for below libsoup bugs and makes trust-prompt
for WebDAV based backends work better, by checking also server certificates.

 * soup_message_get_https_status() now returns the certificate
   and flags for unsuccessful https connections as well as
   successful ones. [bug #690176]

 * Fixed a deadlock when calling soup_session_abort() on
   a SoupSessionSync in some cases. [bug #691399]
parent 37699de9
......@@ -41,8 +41,8 @@ m4_define([gdk_minimum_version], [3.4.0])
m4_define([gdk_encoded_version], [GDK_VERSION_3_4])
dnl Keep these two definitions in agreement.
m4_define([soup_minimum_version], [2.38.1])
m4_define([soup_encoded_version], [SOUP_VERSION_2_38])
m4_define([soup_minimum_version], [2.40.3])
m4_define([soup_encoded_version], [SOUP_VERSION_2_40])
m4_define([eds_minimum_version], [evo_version])
m4_define([gtkhtml_minimum_version], [4.5.2])
......@@ -188,54 +188,13 @@ trust_prompt_sync (const ENamedParameters *parameters,
EUserPrompter *prompter;
gint response;
gboolean asked = FALSE;
g_return_val_if_fail (parameters != NULL, E_TRUST_PROMPT_RESPONSE_UNKNOWN);
prompter = e_user_prompter_new ();
g_return_val_if_fail (prompter != NULL, E_TRUST_PROMPT_RESPONSE_UNKNOWN);
/* before libsoup 2.41.3 the certificate was not set on failed requests,
thus do a simple prompt only in such case
#if SOUP_CHECK_VERSION(2, 41, 3)
asked = TRUE;
response = e_user_prompter_extension_prompt_sync (prompter, "ETrustPrompt::trust-prompt", parameters, NULL, cancellable, error);
if (!asked) {
GList *button_captions = NULL;
const gchar *markup;
gchar *tmp = NULL;
button_captions = g_list_append (button_captions, _("_Reject"));
button_captions = g_list_append (button_captions, _("Accept _Temporarily"));
button_captions = g_list_append (button_captions, _("_Accept Permanently"));
markup = e_named_parameters_get (parameters, "markup");
if (!markup) {
gchar *bhost;
bhost = g_strconcat ("<b>", e_named_parameters_get (parameters, "host"), "</b>", NULL);
tmp = g_strdup_printf (_("SSL certificate for '%s' is not trusted. Do you wish to accept it?"), bhost);
g_free (bhost);
markup = tmp;
response = e_user_prompter_prompt_sync (prompter, "question", _("Certificate trust..."),
markup, NULL, TRUE, button_captions, cancellable, NULL);
if (response == 1)
response = 2;
else if (response == 2)
response = 1;
g_list_free (button_captions);
g_free (tmp);
g_object_unref (prompter);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment