diff options
author | Ray Strode <rstrode@redhat.com> | 2023-02-21 12:10:46 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2023-02-22 15:02:19 -0500 |
commit | f9dd22c453119a46d81614ff1cb2b4e88aba4e70 (patch) | |
tree | 3e313292c23337efcef4d91d94c0abcc37f71e06 | |
parent | e1086376f8bb79d82fd4557389d143ae8e2b4749 (diff) | |
download | gnome-online-accounts-f9dd22c453119a46d81614ff1cb2b4e88aba4e70.tar.gz |
goakerberosidentity: Don't send "expired" and "unexpired" signals from two parts of the code
Since commit e869642bd079aec2098542a3c8f1b296694499ab verify_identity
handles sending "expired" and "unexpired" signals on its own.
Unfortunately that commit neglected to make
goa_kerberos_identity_refresh stop sending the signals.
This commit removes the duplicated logic.
-rw-r--r-- | src/goaidentity/goakerberosidentity.c | 42 |
1 files changed, 6 insertions, 36 deletions
diff --git a/src/goaidentity/goakerberosidentity.c b/src/goaidentity/goakerberosidentity.c index b5cbcec..20add72 100644 --- a/src/goaidentity/goakerberosidentity.c +++ b/src/goaidentity/goakerberosidentity.c @@ -1780,7 +1780,6 @@ done: void goa_kerberos_identity_refresh (GoaKerberosIdentity *self) { - VerificationLevel old_verification_level, new_verification_level; g_autofree char *preauth_identity_source = NULL; g_autoptr (GError) error = NULL; @@ -1788,11 +1787,13 @@ goa_kerberos_identity_refresh (GoaKerberosIdentity *self) self->identifier, self->active_credentials_cache_name); - G_LOCK (identity_lock); - old_verification_level = self->cached_verification_level; - G_UNLOCK (identity_lock); + verify_identity (self, &preauth_identity_source, &error); - new_verification_level = verify_identity (self, &preauth_identity_source, &error); + if (error != NULL) + { + g_debug ("GoaKerberosIdentity: Could not verify identity %s: %s", self->identifier, error->message); + return; + } G_LOCK (identity_lock); if (g_strcmp0 (self->preauth_identity_source, preauth_identity_source) != 0) @@ -1801,37 +1802,6 @@ goa_kerberos_identity_refresh (GoaKerberosIdentity *self) self->preauth_identity_source = g_steal_pointer (&preauth_identity_source); } G_UNLOCK (identity_lock); - - if (new_verification_level != old_verification_level) - { - if ((old_verification_level == VERIFICATION_LEVEL_SIGNED_IN) && - new_verification_level == VERIFICATION_LEVEL_EXISTS) - { - G_LOCK (identity_lock); - self->cached_verification_level = new_verification_level; - G_UNLOCK (identity_lock); - - g_signal_emit (G_OBJECT (self), signals[EXPIRED], 0); - } - else if (old_verification_level == VERIFICATION_LEVEL_EXISTS && - new_verification_level == VERIFICATION_LEVEL_SIGNED_IN) - { - G_LOCK (identity_lock); - self->cached_verification_level = new_verification_level; - G_UNLOCK (identity_lock); - - g_signal_emit (G_OBJECT (self), signals[UNEXPIRED], 0); - } - else - { - G_LOCK (identity_lock); - self->cached_verification_level = new_verification_level; - G_UNLOCK (identity_lock); - } - G_LOCK (identity_lock); - queue_notify (self, &self->is_signed_in_idle_id, "is-signed-in"); - G_UNLOCK (identity_lock); - } } gboolean |