Resolves: #1943818 (ESourceWebDAV: Fallback to SHA1 on SSL trust verification if needed)
parent
5e7c5615b2
commit
33ab7b58ad
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/src/libedataserver/e-source-webdav.c b/src/libedataserver/e-source-webdav.c
|
||||||
|
index 657d41da2..c4762895e 100644
|
||||||
|
--- a/src/libedataserver/e-source-webdav.c
|
||||||
|
+++ b/src/libedataserver/e-source-webdav.c
|
||||||
|
@@ -1520,7 +1520,12 @@ e_source_webdav_verify_ssl_trust (ESourceWebdav *extension,
|
||||||
|
if (decode_ssl_trust (extension, &response, &old_host, &old_hash)) {
|
||||||
|
gchar *hash;
|
||||||
|
|
||||||
|
- hash = g_compute_checksum_for_data (G_CHECKSUM_SHA256, bytes->data, bytes->len);
|
||||||
|
+ /* This is required for Flatpak, which can be built with eds before the 3.40, where
|
||||||
|
+ had been changed to use SHA256. */
|
||||||
|
+ if (old_hash && strlen (old_hash) == g_checksum_type_get_length (G_CHECKSUM_SHA1) * 2)
|
||||||
|
+ hash = g_compute_checksum_for_data (G_CHECKSUM_SHA1, bytes->data, bytes->len);
|
||||||
|
+ else
|
||||||
|
+ hash = g_compute_checksum_for_data (G_CHECKSUM_SHA256, bytes->data, bytes->len);
|
||||||
|
|
||||||
|
if (response != E_TRUST_PROMPT_RESPONSE_UNKNOWN &&
|
||||||
|
g_strcmp0 (old_host, host) == 0 &&
|
Loading…
Reference in new issue