summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-02-16 17:47:55 -0500
committerRay Strode <rstrode@redhat.com>2015-02-18 17:34:13 -0500
commit020601ecd47a889ae223ea34b5addcb81191dc73 (patch)
tree07a503dcfdad2f76206edcf92ff0a761a4cdabe3 /daemon/gdm-session.c
parentfab6fe9a1cd31396e43b9338d1b02c84e8636eda (diff)
downloadgdm-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.c20
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,