Bug 1116149 - GSSAPI support is incomplete
Summary: GSSAPI support is incomplete
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: evolution-ews
Version: rawhide
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: 2014-07-03 21:37 UTC by Daniel Sands
Modified: 2014-07-07 14:26 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-07-07 14:00:22 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Suggested GSSAPI fixes (23.29 KB, patch)
2014-07-03 21:37 UTC, Daniel Sands
no flags Details | Diff


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

Description Daniel Sands 2014-07-03 21:37:05 UTC
Created attachment 914590 [details]
Suggested GSSAPI fixes

Description of problem:
There are some deficiencies with the GSSAPI implementation that was added to EWS, some of which are addressed by this proposed patch.

1) It still asks for a password.  GSSAPI should allow SSO authentication, but the gssapi patch forgot to tell the auth system that user input may not be required.  This affects mail, the calendar, the contacts, and the configuration pages, resulting in repeated requests for passwords even from the Gnome desktop itself.

2) The autodiscover code does not support GSSAPI at all.

3) The GSSAPI mechanism uses the "got-body" signal as a hack to add the GSSAPI authentication information.  It should use the "authenticate" signal instead.

4) The auth method discovery code first checks whether the "host" is reachable.  This will always fail because it only sets its Host URL for the service, and the camel code relies on the host and port itself being set before it can answer that question.  Even after setting the host and port, it is necessary to give the underlying system time to query the network service.  So this check should not be done at all.

5) [nitpick] Not all reposts are due to redirects, so the post_restarted callback should check the message status before assuming so.  In this case, reposts happen because of GSSAPI negotiation.

6) (not addressed in this patch):  If using GSSAPI, it should verify that the credentials exist and are current before attempting to initiate a connection.  It should not act as if a hard error occurred in this case; it should only wait until credentials are renewed to make another connection attempt.

Version-Release number of selected component (if applicable):
evolution-ews-3.12.3-1.fc21.x86_64

Comment 1 Milan Crha 2014-07-07 14:00:22 UTC
Thanks for a bug report and patch. As this is not Fedora specific, I rather moved this to the upstream (GNOME) bugzilla, as [1]. Please see [1] for any further updates.

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

Comment 2 Milan Crha 2014-07-07 14:26:08 UTC
I tested the patch and I cannot connect with it to my EWS server with Kerberos authentication. Please see [2] for more information. I'd prefer to move any further investigation to the upstream bug report. Thanks for your understanding.

[2] https://bugzilla.gnome.org/show_bug.cgi?id=732850#c1


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