summaryrefslogtreecommitdiff
blob: 5d1c2780162ae6a182aba46f6e44c8380f8cea52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 6672b8236139bd6ef41ecb915f4c72e2a052dba5 Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Tue, 4 Dec 2018 18:19:30 +0100
Subject: [PATCH] Let child source with 'none' authentication method use
 collection source authentication

That might be the same as having set NULL authentication method.

Related to https://gitlab.gnome.org/GNOME/evolution-ews/issues/27
---
 src/libedataserver/e-data-server-util.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libedataserver/e-data-server-util.c b/src/libedataserver/e-data-server-util.c
index 47fd4d2ec..bd209c980 100644
--- a/src/libedataserver/e-data-server-util.c
+++ b/src/libedataserver/e-data-server-util.c
@@ -3259,11 +3259,13 @@ e_util_can_use_collection_as_credential_source (ESource *collection_source,
 			if (can_use_collection) {
 				gchar *method_source, *method_collection;
 
-				/* Also check the method; if different, then rather not use the collection */
+				/* Also check the method; if different, then rather not use the collection.
+				   Consider 'none' method on the child as the same as the collection method. */
 				method_source = e_source_authentication_dup_method (auth_source);
 				method_collection = e_source_authentication_dup_method (auth_collection);
 
 				can_use_collection = !method_source || !method_collection ||
+					g_ascii_strcasecmp (method_source, "none") == 0 ||
 					g_ascii_strcasecmp (method_source, method_collection) == 0;
 
 				g_free (method_source);
-- 
2.17.0