Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 595000 Details for
Bug 834798
MAPI no longer does Kerberos Authentication
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
proposed ema patch
ema.patch (text/plain), 7.26 KB, created by
Milan Crha
on 2012-06-28 11:49:03 UTC
(
hide
)
Description:
proposed ema patch
Filename:
MIME Type:
Creator:
Milan Crha
Created:
2012-06-28 11:49:03 UTC
Size:
7.26 KB
patch
obsolete
>diff --git a/po/POTFILES.in b/po/POTFILES.in >index 85b08dd..d68e58e 100644 >--- a/po/POTFILES.in >+++ b/po/POTFILES.in >@@ -4,6 +4,7 @@ src/addressbook/e-book-backend-mapi-gal.c > src/calendar/e-cal-backend-mapi.c > src/camel/camel-mapi-folder.c > src/camel/camel-mapi-provider.c >+src/camel/camel-mapi-sasl-krb.c > src/camel/camel-mapi-store.c > src/camel/camel-mapi-transport.c > src/collection/e-mapi-backend.c >diff --git a/src/camel/Makefile.am b/src/camel/Makefile.am >index 6b7ab43..9dccf0a 100644 >--- a/src/camel/Makefile.am >+++ b/src/camel/Makefile.am >@@ -18,6 +18,7 @@ libcamelmapi_la_SOURCES = \ > camel-mapi-provider.c \ > camel-mapi-folder.c \ > camel-mapi-folder-summary.c \ >+ camel-mapi-sasl-krb.c \ > camel-mapi-store.c \ > camel-mapi-store-summary.c \ > camel-mapi-transport.c >@@ -25,6 +26,7 @@ libcamelmapi_la_SOURCES = \ > noinst_HEADERS = \ > camel-mapi-folder.h \ > camel-mapi-folder-summary.h \ >+ camel-mapi-sasl-krb.h \ > camel-mapi-store.h \ > camel-mapi-store-summary.h \ > camel-mapi-transport.h >diff --git a/src/camel/camel-mapi-provider.c b/src/camel/camel-mapi-provider.c >index e0a399f..84b2737 100644 >--- a/src/camel/camel-mapi-provider.c >+++ b/src/camel/camel-mapi-provider.c >@@ -31,6 +31,7 @@ > > #include <gmodule.h> > >+#include "camel-mapi-sasl-krb.h" > #include "camel-mapi-store.h" > #include "camel-mapi-transport.h" > >@@ -114,6 +115,9 @@ camel_provider_module_init(void) > bindtextdomain (GETTEXT_PACKAGE, EXCHANGE_MAPI_LOCALEDIR); > bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); > >+ /* register MAPIKRB auth type */ >+ CAMEL_TYPE_MAPI_SASL_KRB; >+ > camel_provider_register (&mapi_provider); > } > >diff --git a/src/camel/camel-mapi-sasl-krb.c b/src/camel/camel-mapi-sasl-krb.c >new file mode 100644 >index 0000000..3f744a3 >--- /dev/null >+++ b/src/camel/camel-mapi-sasl-krb.c >@@ -0,0 +1,62 @@ >+/* >+ * This program is free software; you can redistribute it and/or >+ * modify it under the terms of the GNU Lesser General Public >+ * License as published by the Free Software Foundation; either >+ * version 2 of the License, or (at your option) version 3. >+ * >+ * This program is distributed in the hope that it will be useful, >+ * but WITHOUT ANY WARRANTY; without even the implied warranty of >+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+ * Lesser General Public License for more details. >+ * >+ * You should have received a copy of the GNU Lesser General Public >+ * License along with the program; if not, see <http://www.gnu.org/licenses/> >+ * >+ */ >+ >+#ifdef HAVE_CONFIG_H >+#include <config.h> >+#endif >+ >+#include <string.h> >+ >+#include <glib/gi18n-lib.h> >+ >+#include "camel-mapi-sasl-krb.h" >+ >+static CamelServiceAuthType mapi_sasl_krb_auth_type = { >+ N_("Kerberos"), >+ >+ N_("This option will connect to the server using kerberos key."), >+ >+ "MAPIKRB", >+ FALSE >+}; >+ >+G_DEFINE_TYPE (CamelMapiSaslKrb, camel_mapi_sasl_krb, CAMEL_TYPE_SASL) >+ >+static GByteArray * >+mapi_sasl_krb_challenge_sync (CamelSasl *sasl, >+ GByteArray *token, >+ GCancellable *cancellable, >+ GError **error) >+{ >+ camel_sasl_set_authenticated (sasl, TRUE); >+ >+ return NULL; >+} >+ >+static void >+camel_mapi_sasl_krb_class_init (CamelMapiSaslKrbClass *class) >+{ >+ CamelSaslClass *sasl_class; >+ >+ sasl_class = CAMEL_SASL_CLASS (class); >+ sasl_class->auth_type = &mapi_sasl_krb_auth_type; >+ sasl_class->challenge_sync = mapi_sasl_krb_challenge_sync; >+} >+ >+static void >+camel_mapi_sasl_krb_init (CamelMapiSaslKrb *mapi_sasl_krb) >+{ >+} >diff --git a/src/camel/camel-mapi-sasl-krb.h b/src/camel/camel-mapi-sasl-krb.h >new file mode 100644 >index 0000000..9438592 >--- /dev/null >+++ b/src/camel/camel-mapi-sasl-krb.h >@@ -0,0 +1,59 @@ >+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ >+/* >+ * This program is free software; you can redistribute it and/or >+ * modify it under the terms of the GNU Lesser General Public >+ * License as published by the Free Software Foundation; either >+ * version 2 of the License, or (at your option) version 3. >+ * >+ * This program is distributed in the hope that it will be useful, >+ * but WITHOUT ANY WARRANTY; without even the implied warranty of >+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+ * Lesser General Public License for more details. >+ * >+ * You should have received a copy of the GNU Lesser General Public >+ * License along with the program; if not, see <http://www.gnu.org/licenses/> >+ * >+ */ >+ >+#ifndef CAMEL_MAPI_SASL_KRB_H >+#define CAMEL_MAPI_SASL_KRB_H >+ >+#include <camel/camel.h> >+ >+/* Standard GObject macros */ >+#define CAMEL_TYPE_MAPI_SASL_KRB \ >+ (camel_mapi_sasl_krb_get_type ()) >+#define CAMEL_MAPI_SASL_KRB(obj) \ >+ (G_TYPE_CHECK_INSTANCE_CAST \ >+ ((obj), CAMEL_TYPE_MAPI_SASL_KRB, CamelMapiSaslKrb)) >+#define CAMEL_MAPI_SASL_KRB_CLASS(cls) \ >+ (G_TYPE_CHECK_CLASS_CAST \ >+ ((cls), CAMEL_TYPE_MAPI_SASL_KRB, CamelMapiSaslKrbClass)) >+#define CAMEL_IS_MAPI_SASL_KRB(obj) \ >+ (G_TYPE_CHECK_INSTANCE_TYPE \ >+ ((obj), CAMEL_TYPE_MAPI_SASL_KRB)) >+#define CAMEL_IS_MAPI_SASL_KRB_CLASS(cls) \ >+ (G_TYPE_CHECK_CLASS_TYPE \ >+ ((cls), CAMEL_TYPE_MAPI_SASL_KRB)) >+#define CAMEL_MAPI_SASL_KRB_GET_CLASS(obj) \ >+ (G_TYPE_INSTANCE_GET_CLASS \ >+ ((obj), CAMEL_TYPE_MAPI_SASL_KRB, CamelMapiSaslKrbClass)) >+ >+G_BEGIN_DECLS >+ >+typedef struct _CamelMapiSaslKrb CamelMapiSaslKrb; >+typedef struct _CamelMapiSaslKrbClass CamelMapiSaslKrbClass; >+ >+struct _CamelMapiSaslKrb { >+ CamelSasl parent; >+}; >+ >+struct _CamelMapiSaslKrbClass { >+ CamelSaslClass parent_class; >+}; >+ >+GType camel_mapi_sasl_krb_get_type (void); >+ >+G_END_DECLS >+ >+#endif /* CAMEL_MAPI_SASL_KRB_H */ >diff --git a/src/camel/camel-mapi-store.c b/src/camel/camel-mapi-store.c >index a2a504f..65dbfcb 100644 >--- a/src/camel/camel-mapi-store.c >+++ b/src/camel/camel-mapi-store.c >@@ -42,6 +42,7 @@ > > #include "camel-mapi-store.h" > #include "camel-mapi-folder.h" >+#include "camel-mapi-sasl-krb.h" > #include "camel-mapi-settings.h" > #include "camel-mapi-store-summary.h" > #include "camel-mapi-folder-summary.h" >@@ -1952,6 +1953,9 @@ camel_mapi_store_class_init (CamelMapiStoreClass *class) > CamelServiceClass *service_class; > CamelStoreClass *store_class; > >+ /* register MAPIKRB auth type */ >+ CAMEL_TYPE_MAPI_SASL_KRB; >+ > g_type_class_add_private (class, sizeof (CamelMapiStorePrivate)); > > object_class = G_OBJECT_CLASS (class); >@@ -2081,6 +2085,7 @@ mapi_connect_sync (CamelService *service, > CamelMapiStore *store = CAMEL_MAPI_STORE (service); > CamelServiceConnectionStatus status; > CamelSession *session; >+ EMapiProfileData empd = { 0 }; > uint64_t current_size = -1, receive_quota = -1, send_quota = -1; > gchar *name; > >@@ -2104,7 +2109,9 @@ mapi_connect_sync (CamelService *service, > name = camel_service_get_name (service, TRUE); > camel_operation_push_message (cancellable, _("Connecting to '%s'"), name); > >- if (!camel_session_authenticate_sync (session, service, NULL, cancellable, error)) { >+ e_mapi_util_profiledata_from_settings (&empd, CAMEL_MAPI_SETTINGS (camel_service_get_settings (service))); >+ >+ if (!camel_session_authenticate_sync (session, service, empd.krb_sso ? "MAPIKRB" : NULL, cancellable, error)) { > camel_operation_pop_message (cancellable); > camel_service_disconnect_sync (service, TRUE, cancellable, NULL); > g_free (name);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 834798
: 595000