Bug 807911 - GAL couldn't work with evolution-ews connector
Summary: GAL couldn't work with evolution-ews connector
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: evolution-ews
Version: 17
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Matthew Barnes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-03-29 06:27 UTC by Mikhail
Modified: 2012-04-20 08:52 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-19 09:22:13 UTC
Type: ---


Attachments (Terms of Use)
error message (25.19 KB, image/png)
2012-03-29 06:27 UTC, Mikhail
no flags Details
ews settings (51.53 KB, image/png)
2012-03-29 06:28 UTC, Mikhail
no flags Details
error message (23.88 KB, image/png)
2012-04-17 09:29 UTC, Mikhail
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 674372 0 None None None Never

Description Mikhail 2012-03-29 06:27:09 UTC
Description of problem:
GAL couldn't work with evolution-ews connector

Comment 1 Mikhail 2012-03-29 06:27:55 UTC
Created attachment 573544 [details]
error message

Comment 2 Mikhail 2012-03-29 06:28:25 UTC
Created attachment 573545 [details]
ews settings

Comment 3 Mikhail 2012-03-29 06:30:17 UTC
I also try kill evolution-addressbook-factory process, but it not help to solve this problem

Comment 4 Milan Crha 2012-03-29 12:41:03 UTC
Thanks for a bug report. I'm wondering where the GAL got exchange.citrus-it.ru. Couldn't it be from the Contacts addressbook, though even there the host name doesn't match the one shown in your preferences.

Could you invoke this command, please? It'll show us where this comes from.
   $ gconftool-2 --get /apps/evolution/addressbook/sources | grep citrus

Please make sure you'll not expose any private information. Also note the GAL allows only searching in EWS, thus write part of the email in the Search field, and you should receive related person(s).

Comment 5 Milan Crha 2012-03-29 15:25:47 UTC
Thanks for the email. From it I see that GAL is incorrectly defined, its "hosturl" property is formed as "exchange.email.com", where "email.com" is taken from yours "user@email.com" as filled while creating the account. It seems like a bug in the code for GAL, because Contacts addressbook has filled "hosturl" properly properly. Making GAL's "hosturl" same as that from Contacts book should fix the issue (with gconf-editor, change requires restart of evolution and evolution-addressbook-factory). I gave you more detailed guide with specified values in the email, which I'm not going to repeat here.

Please update the bug whether it helped you. Thanks in advance.

Comment 6 Milan Crha 2012-03-29 15:59:47 UTC
By the way, is this with evolution-ews-3.3.92 or later?

Comment 7 Mikhail 2012-03-29 16:35:54 UTC
evolution-ews version 3.4.0

Comment 8 Milan Crha 2012-03-29 20:04:22 UTC
Nice, that has the fix from [1], which aimed to fix issues about contacts/calendar ESource-s for ews.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=667849

Comment 9 Milan Crha 2012-03-30 13:36:43 UTC
I checked the code, but I do not see anything obviously incorrect in it with respect of hosturl property. Is it possible you tried ews with version earlier than 3.3.92, and the GAL book definition left there from previous account? I cannot think of any other way of getting this issue currently.

(In reply to comment #5)
> Making GAL's "hosturl" same as that from Contacts
> book should fix the issue (with gconf-editor, change requires restart of
> evolution and evolution-addressbook-factory). I gave you more detailed guide
> with specified values in the email, which I'm not going to repeat here.

Did you try the above, and did it help, please?

Comment 10 Mikhail 2012-04-11 05:33:29 UTC
Now a have recreated evolution-ews account.
And have another issue...
GAL not work after boot until I kill process evolution-addressbook-factory.
Details can be seen in the video.
https://docs.google.com/open?id=0B0nwzlfiB4aQWjA4alp6UVhfdWs

Comment 11 Milan Crha 2012-04-11 07:28:29 UTC
Thanks for the update. Was the "after boot" a full machine reboot, or just logout and login after account change? I'm asking because with logout & login it could happen that the factory was not closed, and was left confused by the account change, while after full reboot, when you stay on the login prompt (in gdm) there should be no evolution-addressbook-factory running, it should be only started on demand, when for example opening composer in evolution. It is basically what happened in your video, you killed the old factory, the composer you left opened didn't notice it and tried to communicate with it on an old GDBus connection (there are printed warnings on evolution's console in this case), but with closing the composer and opening a new one, the new connects to the new factory, and the rest begins to work as expected. You should see everything running as expected after new reboot, I guess?

Comment 12 Mikhail 2012-04-11 07:41:48 UTC
"after boot" means a full machine reboot

Comment 13 Milan Crha 2012-04-12 09:44:50 UTC
OK, thanks for the update. I'll investigate further.

Comment 14 Milan Crha 2012-04-17 08:06:25 UTC
Strange, it works for me with no such issue. I see a little delay before the search term comes to work, which is due to opening the addressbook and connecting to the server, but otherwise the search work, even after fresh boot. Could you try to gather debug prints for the evolution-addressbook-factory process, please? You can do it easily, by replacing the process with a script which will write this output into a log file. I would do that with these commands as root:
   $ cd /usr/libexec
   $ mv evolution-addressbook-factory evolution-addressbook-factory.orig
   
Then create a file names evolution-addressbook-factory in /usr/libexec and fill it with this content (no extra spaces at the beginning of those tow lines):

   #!/bin/bash

   EWS_DEBUG=2 /usr/libexec/evolution-addressbook-factory.orig &>/tmp/log.txt

Save the file and run:
   $ chmod a+x evolution-addressbook-factory

Then restart your machine and repeat the issue. Do not kill the factory, just close evolution, wait for 10 seconds, and only if the factory will be still running then kill it. Then check the /tmp/log.txt file for its content, it should provide detailed information about communication between server and evolution, which may shed a light on this issue. Please note that the file can contain private information, thus either strip it or feel free to send it directly to me, to avoid exposing this information in public. Thanks in advance.

Also, updates-testing contains evolution-ews-3.4.1 now, thus if you could update to that version first, then it'll be better too. It's just to use fresh code.

Comment 15 Mikhail 2012-04-17 09:28:24 UTC
1) no addressbook factory before logon
2) after logon, but before running evolution, addressbook factory already running
3) when I try fill field "To" in composer I see attached error message

Comment 16 Mikhail 2012-04-17 09:29:02 UTC
Created attachment 577964 [details]
error message

Comment 17 Mikhail 2012-04-17 09:31:23 UTC
Log after killing addressbook factory (factory still running after close evolution)

Comment 18 Mikhail 2012-04-17 09:31:52 UTC
Created attachment 577968 [details]
log

Comment 19 Mikhail 2012-04-17 16:40:48 UTC
Created attachment 578102 [details]
log from another machine

Comment 20 Mikhail 2012-04-17 17:20:19 UTC
Created attachment 578112 [details]
log from another machine

Comment 21 Milan Crha 2012-04-18 13:02:22 UTC
Thanks for the update. The error says "Authentication failed", only not the E_CLIENT_ERROR, but error from EWS. That's probably the issue here. The attached logs seem to prove that, as they are full of unauthorized responses.

Could you try with this [1] test package, please? It contains a fix which should make this behave better, without need of a restart of the address book factory.

By the way, do you enter EWS account password each start of evolution?

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=4001548

Comment 22 Mikhail 2012-04-18 20:12:09 UTC
Thanks, It helps, but not in all cases.
If try fill field "To" directly, evolution composer not solves variants contacts from GAL while I not kill addressbook factory. It see on the new video.
https://docs.google.com/open?id=0B0nwzlfiB4aQNjJubG8xcVdJOFE

Comment 23 Mikhail 2012-04-18 20:18:51 UTC
I don't know should work prompts in the menu "send to" nautilus? They do not work too.
https://docs.google.com/open?id=0B0nwzlfiB4aQTXVFZFpaY1ZSY2s

Comment 24 Milan Crha 2012-04-19 09:15:27 UTC
(In reply to comment #22)
> Thanks, It helps, but not in all cases.
> If try fill field "To" directly, evolution composer not solves variants
> contacts from GAL while I not kill addressbook factory. It see on the new
> video.
> https://docs.google.com/open?id=0B0nwzlfiB4aQNjJubG8xcVdJOFE

Good, I'm committing my change to sources (3.5.1+/3.4.2+). The entering of To directly in the composer, it can be something with the entry itself. It'll need even more investigation.

(In reply to comment #23)
> I don't know should work prompts in the menu "send to" nautilus? They do not
> work too.
> https://docs.google.com/open?id=0B0nwzlfiB4aQTXVFZFpaY1ZSY2s

I would file this to nautilus-sendto, it uses its own EContactEntry, derived from GtkEntry. Maybe the core issue is the same, but maybe not. Better to to use Gnome's bugzilla, it has its bug tracker there.

Comment 25 Milan Crha 2012-04-19 09:22:13 UTC
I moved the evolution part to upstream as bug [1]. Please CC there yourself, in case any upstream developer will have additional questions.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=674372

Comment 26 Mikhail 2012-04-19 11:44:31 UTC
Could this problem be related to the problem of locking the account at work through the evolution-mapi? 
https://bugzilla.redhat.com/show_bug.cgi?id=802110

Comment 27 Milan Crha 2012-04-20 08:52:06 UTC
There might not be enough to restart evolution-addressbook-factory process, and that's the only thing you did in your video. Or you mean that before starting recording you unlocked your account? It seemed like you recorded just after the login. That way I believe it is unrelated to bug #802110, and the bug is somewhere with the name-selector-entry.


Note You need to log in before you can comment on or make changes to this bug.