summaryrefslogtreecommitdiff
path: root/x11/gdm/files/patch-daemon_gdm-session-worker.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11/gdm/files/patch-daemon_gdm-session-worker.c')
-rw-r--r--x11/gdm/files/patch-daemon_gdm-session-worker.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.c b/x11/gdm/files/patch-daemon_gdm-session-worker.c
index 0c56d5da4419..362a116eaa79 100644
--- a/x11/gdm/files/patch-daemon_gdm-session-worker.c
+++ b/x11/gdm/files/patch-daemon_gdm-session-worker.c
@@ -1,5 +1,5 @@
---- daemon/gdm-session-worker.c.orig 2009-04-14 10:01:14.000000000 -0400
-+++ daemon/gdm-session-worker.c 2009-05-31 15:52:10.000000000 -0400
+--- daemon/gdm-session-worker.c.orig 2009-09-21 22:05:27.000000000 +0200
++++ daemon/gdm-session-worker.c 2009-09-22 12:33:59.000000000 +0200
@@ -31,6 +31,9 @@
#include <errno.h>
#include <grp.h>
@@ -8,9 +8,9 @@
+#include <login_cap.h>
+#endif
- #include <security/pam_appl.h>
-
-@@ -332,7 +335,7 @@ gdm_session_execute (const char *file,
+ #ifdef HAVE_LOGINDEVPERM
+ #include <libdevinfo.h>
+@@ -340,7 +343,7 @@ gdm_session_execute (const char *file,
* what to search if PATH is unset. POSIX may, dunno.
*/
@@ -19,8 +19,8 @@
}
len = strlen (file) + 1;
-@@ -1757,11 +1760,12 @@ gdm_session_worker_start_user_session (G
- char **environment;
+@@ -1995,15 +1998,16 @@ gdm_session_worker_start_user_session (G
+ char *cachedirname;
char *home_dir;
int fd;
+#ifdef HAVE_LOGINCAP
@@ -28,6 +28,10 @@
+ struct passwd *pwent = getpwnam (login);
+#endif
+ /* Make sure cachedir gets created before we drop to user */
+ cachedirname = gdm_session_worker_create_cachedir (worker);
+ g_free (cachedirname);
+
- if (setuid (worker->priv->uid) < 0) {
- g_debug ("GdmSessionWorker: could not reset uid - %s", g_strerror (errno));
- _exit (1);
@@ -36,7 +40,7 @@
if (setsid () < 0) {
g_debug ("GdmSessionWorker: could not set pid '%u' as leader of new session and process group - %s",
-@@ -1769,6 +1773,28 @@ gdm_session_worker_start_user_session (G
+@@ -2011,6 +2015,28 @@ gdm_session_worker_start_user_session (G
_exit (2);
}