Index: gdm-2.24.0/daemon/gdm-session-direct.c
===================================================================
--- gdm-2.24.0.orig/daemon/gdm-session-direct.c
+++ gdm-2.24.0/daemon/gdm-session-direct.c
@@ -273,8 +273,7 @@ gdm_session_direct_handle_setup_failed (
         dbus_message_unref (reply);
 
         g_debug ("GdmSessionDirect: Emitting 'setup-failed' signal");
-
-        _gdm_session_setup_failed (GDM_SESSION (session), NULL);
+        _gdm_session_setup_failed (GDM_SESSION (session), text);
 
         return DBUS_HANDLER_RESULT_HANDLED;
 }
@@ -319,8 +318,7 @@ gdm_session_direct_handle_reset_failed (
         dbus_message_unref (reply);
 
         g_debug ("GdmSessionDirect: Emitting 'reset-failed' signal");
-
-        _gdm_session_reset_failed (GDM_SESSION (session), NULL);
+        _gdm_session_reset_failed (GDM_SESSION (session), text);
 
         return DBUS_HANDLER_RESULT_HANDLED;
 }
@@ -364,8 +362,7 @@ gdm_session_direct_handle_authentication
         dbus_message_unref (reply);
 
         g_debug ("GdmSessionDirect: Emitting 'authentication-failed' signal");
-
-        _gdm_session_authentication_failed (GDM_SESSION (session), NULL);
+        _gdm_session_authentication_failed (GDM_SESSION (session), text);
 
         return DBUS_HANDLER_RESULT_HANDLED;
 }
@@ -407,10 +404,9 @@ gdm_session_direct_handle_authorization_
         reply = dbus_message_new_method_return (message);
         dbus_connection_send (connection, reply, NULL);
         dbus_message_unref (reply);
+        g_debug ("GdmSessionDirect: Emitting 'authorization-failed' signal %s", text);
 
-        g_debug ("GdmSessionDirect: Emitting 'authorization-failed' signal");
-
-        _gdm_session_authorization_failed (GDM_SESSION (session), NULL);
+        _gdm_session_authorization_failed (GDM_SESSION (session), text);
 
         return DBUS_HANDLER_RESULT_HANDLED;
 }
@@ -967,7 +963,6 @@ gdm_session_direct_handle_start_failed (
         reply = dbus_message_new_method_return (message);
         dbus_connection_send (connection, reply, NULL);
         dbus_message_unref (reply);
-
         g_debug ("GdmSessionDirect: Emitting 'session-start-failed' signal");
         _gdm_session_session_start_failed (GDM_SESSION (session), text);
 
@@ -1171,18 +1166,6 @@ session_worker_message (DBusConnection *
         } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "Authenticated")) {
                 return gdm_session_direct_handle_authenticated (session, connection, message);
         } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "AuthenticationFailed")) {
-                return gdm_session_direct_handle_authentication_failed (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "Authorized")) {
-                return gdm_session_direct_handle_authorized (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "AuthorizationFailed")) {
-                return gdm_session_direct_handle_authorization_failed (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "Accredited")) {
-                return gdm_session_direct_handle_accredited (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "AccreditationFailed")) {
-                return gdm_session_direct_handle_accreditation_failed (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "Authenticated")) {
-                return gdm_session_direct_handle_authenticated (session, connection, message);
-        } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "AuthenticationFailed")) {
                 return gdm_session_direct_handle_authentication_failed (session, connection, message);
         } else if (dbus_message_is_method_call (message, GDM_SESSION_DBUS_INTERFACE, "Authorized")) {
                 return gdm_session_direct_handle_authorized (session, connection, message);
Index: gdm-2.24.0/daemon/gdm-simple-slave.c
===================================================================
--- gdm-2.24.0.orig/daemon/gdm-simple-slave.c
+++ gdm-2.24.0/daemon/gdm-simple-slave.c
@@ -215,7 +215,7 @@ on_session_setup_failed (GdmSession
 {
         if (slave->priv->greeter_server != NULL) {
                 gdm_greeter_server_problem (slave->priv->greeter_server,
-                                            _("Unable to initialize login system"));
+                                           message != NULL ? message : _("Unable to initialize login system"));
         }
 
         destroy_session (slave);
@@ -251,7 +251,7 @@ on_session_authentication_failed (GdmSes
 {
         if (slave->priv->greeter_server != NULL) {
                 gdm_greeter_server_problem (slave->priv->greeter_server,
-                                            _("Unable to authenticate user"));
+                                          message != NULL ? message :  _("Unable to authenticate user"));
         }
         destroy_session (slave);
         queue_greeter_reset (slave);
@@ -305,7 +305,7 @@ on_session_authorization_failed (GdmSess
 {
         if (slave->priv->greeter_server != NULL) {
                 gdm_greeter_server_problem (slave->priv->greeter_server,
-                                            _("Unable to authorize user"));
+                                            message != NULL ? message:  _("Unable to authorize user"));
         }
 
         destroy_session (slave);
