--- a/patches/gdm-03-sdtlogin.diff Wed Aug 11 11:38:23 2010 +0000
+++ b/patches/gdm-03-sdtlogin.diff Fri Aug 13 16:04:51 2010 +0000
@@ -56,7 +56,7 @@
#include <security/pam_appl.h>
#include <glib.h>
-@@ -64,6 +71,7 @@
+@@ -65,6 +72,7 @@
#endif
#include "gdm-session-settings.h"
@@ -64,7 +64,7 @@
#define GDM_SESSION_WORKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SESSION_WORKER, GdmSessionWorkerPrivate))
-@@ -156,12 +164,115 @@ static void gdm_session_worker_finalize (GObject *object);
+@@ -155,12 +163,115 @@ static void gdm_session_worker_final
static void queue_state_change (GdmSessionWorker *worker);
typedef int (* GdmSessionWorkerPamNewMessagesFunc) (int,
@@ -181,7 +181,7 @@
GQuark
gdm_session_worker_error_quark (void)
{
-@@ -592,7 +703,11 @@ static gboolean
+@@ -591,7 +702,11 @@ static gboolean
gdm_session_worker_get_username (GdmSessionWorker *worker,
char **username)
{
@@ -193,7 +193,7 @@
g_assert (worker->priv->pam_handle != NULL);
-@@ -861,7 +976,7 @@ gdm_session_worker_process_pam_message (GdmSessionWorker *worker,
+@@ -865,7 +980,7 @@ gdm_session_worker_process_pam_message (
static int
gdm_session_worker_pam_new_messages_handler (int number_of_messages,
@@ -202,9 +202,9 @@
struct pam_response **responses,
GdmSessionWorker *worker)
{
-@@ -1987,6 +2102,11 @@ gdm_session_worker_start_user_session (GdmSessionWorker *worker,
+@@ -2016,6 +2131,11 @@ gdm_session_worker_start_user_session (G
- passwd_entry = getpwnam (worker->priv->username);
+ gdm_get_pwent_for_name (worker->priv->username, &passwd_entry);
+#ifdef __sun
+ solaris_xserver_cred (worker->priv->username,