[gnome-online-accounts/gnome-3-6] goaidentity: move ccache creation code to own function
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-online-accounts/gnome-3-6] goaidentity: move ccache creation code to own function
- Date: Mon, 15 Oct 2012 19:00:19 +0000 (UTC)
commit 25e743d74703dcb5841fdfcf1bd54b8d642c84d8
Author: Ray Strode <rstrode redhat com>
Date: Wed Oct 10 14:34:36 2012 -0400
goaidentity: move ccache creation code to own function
The details of getting a ccache object to initialize are
kind of hairy, and need to be made hairier to keep
the primary ccache valid and available.
This commit moves the current hairy code from
sign_in_identity to a new helper function.
A subsequent commit will improve the logic in that helper
function.
https://bugzilla.gnome.org/show_bug.cgi?id=685876
(cherry picked from commit a69c6fb1d5a253b5e38ab8c6fabb1be60f10ca13)
src/goaidentity/goakerberosidentitymanager.c | 43 ++++++++++++++++---------
1 files changed, 27 insertions(+), 16 deletions(-)
---
diff --git a/src/goaidentity/goakerberosidentitymanager.c b/src/goaidentity/goakerberosidentitymanager.c
index fb67387..2712be9 100644
--- a/src/goaidentity/goakerberosidentitymanager.c
+++ b/src/goaidentity/goakerberosidentitymanager.c
@@ -754,6 +754,32 @@ get_identity (GoaKerberosIdentityManager *self,
(GDestroyNotify) g_object_unref);
}
+static krb5_error_code
+get_new_credentials_cache (GoaKerberosIdentityManager *self,
+ krb5_ccache *credentials_cache)
+{
+ krb5_error_code error_code;
+
+ if (g_strcmp0 (self->priv->credentials_cache_type, "FILE") == 0)
+ {
+ krb5_ccache default_cache;
+
+ error_code = krb5_cc_default (self->priv->kerberos_context, &default_cache);
+
+ if (error_code == 0)
+ krb5_cc_dup (self->priv->kerberos_context, default_cache, credentials_cache);
+ }
+ else
+ {
+ error_code = krb5_cc_new_unique (self->priv->kerberos_context,
+ self->priv->credentials_cache_type,
+ NULL,
+ credentials_cache);
+ }
+
+ return error_code;
+}
+
static void
sign_in_identity (GoaKerberosIdentityManager *self,
Operation *operation)
@@ -770,22 +796,7 @@ sign_in_identity (GoaKerberosIdentityManager *self,
{
krb5_ccache credentials_cache;
- if (g_strcmp0 (self->priv->credentials_cache_type, "FILE") == 0)
- {
- krb5_ccache default_cache;
-
- error_code = krb5_cc_default (self->priv->kerberos_context, &default_cache);
-
- if (error_code == 0)
- krb5_cc_dup (self->priv->kerberos_context, default_cache, &credentials_cache);
- }
- else
- {
- error_code = krb5_cc_new_unique (self->priv->kerberos_context,
- self->priv->credentials_cache_type,
- NULL,
- &credentials_cache);
- }
+ error_code = get_new_credentials_cache (self, &credentials_cache);
if (error_code != 0)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]