[evolution-data-server] ESoupSession: Let it understand GSSAPI authentication method



commit 8d7630c92487951c671342c6a2aabad13560bd07
Author: Milan Crha <mcrha redhat com>
Date:   Mon Aug 2 11:29:57 2021 +0200

    ESoupSession: Let it understand GSSAPI authentication method
    
    When the authentication method is "GSSAPI", let it be used by
    the SoupSession.
    
    Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/105

 src/libedataserver/e-soup-session.c | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/src/libedataserver/e-soup-session.c b/src/libedataserver/e-soup-session.c
index 621a60280..381b9f88d 100644
--- a/src/libedataserver/e-soup-session.c
+++ b/src/libedataserver/e-soup-session.c
@@ -295,6 +295,11 @@ e_soup_session_maybe_prepare_auth (ESoupSession *session,
                if (g_strcmp0 (auth_method, "OAuth2") == 0 ||
                    e_oauth2_services_is_oauth2_alias_static (auth_method)) {
                        success = e_soup_session_maybe_prepare_bearer_auth (session, soup_uri, message, 
cancellable, error);
+               } else if (g_strcmp0 (auth_method, "GSSAPI") == 0 && soup_auth_negotiate_supported ()) {
+                       SoupSession *soup_session = SOUP_SESSION (session);
+
+                       soup_session_add_feature_by_type (soup_session, SOUP_TYPE_AUTH_NEGOTIATE);
+                       soup_session_remove_feature_by_type (soup_session, SOUP_TYPE_AUTH_BASIC);
                } else if (user && *user) {
                        /* Default to Basic authentication when user is filled */
                        success = e_soup_session_maybe_prepare_basic_auth (session, soup_uri, message, user, 
credentials, cancellable, error);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]