After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 792190 - Fails to update offline GAL
Fails to update offline GAL
Status: RESOLVED FIXED
Product: evolution-ews
Classification: Other
Component: Contacts (Global Address List)
3.26.x
Other Linux
: Normal normal
: ---
Assigned To: Evolution EWS maintainer(s)
Evolution EWS maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2018-01-04 08:43 UTC by Milan Crha
Modified: 2018-01-04 13:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2018-01-04 08:43:22 UTC
From this thread:
https://mail.gnome.org/archives/evolution-list/2017-December/msg00069.html

Connect to an Office365 account, then open evolution in Contact view and:
a) select "Offline Global Address List"
b) right-click it->Refresh
c) select "Contacts" from the same EWS account
d) select "Offline Global Address List" again
e) right-click it->Refresh

and now an error is shown:

   The address book backend servicing “Offline Global Address List”
   encountered an error.
   The reported error was “Failed to update GAL:401 Unauthorized”.
Comment 1 Milan Crha 2018-01-04 13:35:05 UTC
The connections to the server are shared within the process and the OAB (Offline Address Book) connection is created on demand, with taken password from an existing connection to the server.

When another address book from the same EWS account is opened, it is tried first whether it can connect to it, but without the password. The connection's local copy of the password is updated (and the previous password removed), but as the SoupSession has cached its own authentication token, the password in the EWS connection is not used at all and everything works, expect when the OAB refresh is invoked it has missing the password, thus it fails with "401 Unauthorized".

The below change updates internally stored password from passed-in credentials only if the credentials contain any password, which prevents unneeded lost of the password in the EWS connection structure.

Created commit dd2cee8 in ews master (3.27.4+)
Created commit 2d99763 in ews gnome-3-26 (3.26.4+)