diff options
author | Ray Strode <rstrode@redhat.com> | 2015-02-16 17:47:55 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-02-18 17:34:13 -0500 |
commit | 020601ecd47a889ae223ea34b5addcb81191dc73 (patch) | |
tree | 07a503dcfdad2f76206edcf92ff0a761a4cdabe3 /daemon/gdm-session.c | |
parent | fab6fe9a1cd31396e43b9338d1b02c84e8636eda (diff) | |
download | gdm-020601ecd47a889ae223ea34b5addcb81191dc73.tar.gz |
session: add authentication-failed signal
This signal records when a user tried to log in but typed
the wrong password (or whatever).
We'll need this to move session recording up to GdmManager.
https://bugzilla.gnome.org/show_bug.cgi?id=744764
Diffstat (limited to 'daemon/gdm-session.c')
-rw-r--r-- | daemon/gdm-session.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index 3a125a98..6f4ae3ea 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -153,6 +153,7 @@ enum { CLIENT_DISCONNECTED, CLIENT_READY_FOR_SESSION_TO_START, DISCONNECTED, + AUTHENTICATION_FAILED, VERIFICATION_COMPLETE, SESSION_OPENED, SESSION_STARTED, @@ -283,6 +284,12 @@ on_authenticate_cb (GdmDBusWorker *proxy, if (worked) { gdm_session_authorize (self, service_name); } else { + g_signal_emit (self, + signals[AUTHENTICATION_FAILED], + 0, + service_name, + conversation->worker_pid); + gdm_session_record_failed (conversation->worker_pid, self->priv->selected_user, self->priv->display_hostname, @@ -3291,6 +3298,19 @@ gdm_session_class_init (GdmSessionClass *session_class) G_TYPE_NONE, 1, G_TYPE_STRING); + + signals [AUTHENTICATION_FAILED] = + g_signal_new ("authentication-failed", + GDM_TYPE_SESSION, + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GdmSessionClass, authentication_failed), + NULL, + NULL, + NULL, + G_TYPE_NONE, + 2, + G_TYPE_STRING, + G_TYPE_INT); signals [VERIFICATION_COMPLETE] = g_signal_new ("verification-complete", GDM_TYPE_SESSION, |