summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--daemon/gdm-display-access-file.c7
-rw-r--r--utils/Makefile.am1
-rw-r--r--utils/gdm-screenshot.c20
4 files changed, 27 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index dbe7ec8b..893bc03f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2008-07-21 William Jon McCann <jmccann@redhat.com>
+ * daemon/gdm-display-access-file.c (_create_xauth_file_for_user):
+ Fix xauth dir permissions if it exists.
+
+ * utils/Makefile.am:
+ * utils/gdm-screenshot.c (screenshot_save), (prepare_screenshot):
+ Write gdm screenshot output to /var/run/gdm instead of /tmp.
+
+2008-07-21 William Jon McCann <jmccann@redhat.com>
+
* gui/simple-greeter/Makefile.am:
* gui/simple-greeter/gdm-user.c (get_filesystem_type),
(render_icon_from_home):
diff --git a/daemon/gdm-display-access-file.c b/daemon/gdm-display-access-file.c
index 5146b906..a74b7400 100644
--- a/daemon/gdm-display-access-file.c
+++ b/daemon/gdm-display-access-file.c
@@ -227,7 +227,7 @@ _create_xauth_file_for_user (const char *username,
fp = NULL;
- /* Create directory if not exist, then set permission 01775 and ownership root:gdm */
+ /* Create directory if not exist, then set permission 01775 and ownership root:gdm */
if (g_file_test (GDM_XAUTH_DIR, G_FILE_TEST_IS_DIR) == FALSE) {
g_unlink (GDM_XAUTH_DIR);
if (g_mkdir (GDM_XAUTH_DIR, S_ISVTX|S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH) != 0) {
@@ -242,8 +242,11 @@ _create_xauth_file_for_user (const char *username,
g_chmod (GDM_XAUTH_DIR, S_ISVTX|S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH);
_get_uid_and_gid_for_user ("gdm", &uid, &gid);
chown (GDM_XAUTH_DIR, 0, gid);
+ } else {
+ /* if it does exist make sure it has correct mode */
+ g_chmod (GDM_XAUTH_DIR, S_ISVTX|S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH);
}
-
+
template = g_strdup_printf (GDM_XAUTH_DIR
"/auth-cookie-XXXXXXXX-for-%s",
username);
diff --git a/utils/Makefile.am b/utils/Makefile.am
index d33d5a6f..642cd382 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -3,6 +3,7 @@ NULL =
INCLUDES = \
-I. \
-I.. \
+ -DLOCALSTATEDIR=\""$(localstatedir)"\" \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
$(UTILS_CFLAGS) \
$(GTK_CFLAGS) \
diff --git a/utils/gdm-screenshot.c b/utils/gdm-screenshot.c
index f395a3b8..f92744b5 100644
--- a/utils/gdm-screenshot.c
+++ b/utils/gdm-screenshot.c
@@ -158,11 +158,14 @@ screenshot_get_pixbuf (Window w)
static char *
screenshot_save (GdkPixbuf *pixbuf)
{
- char *filename;
- gboolean res;
- GError *error;
+ char *filename;
+ gboolean res;
+ GError *error;
+ const char *save_dir;
- filename = g_build_filename (g_get_tmp_dir (),
+ save_dir = LOCALSTATEDIR "/run/gdm";
+
+ filename = g_build_filename (save_dir,
"GDM-Screenshot.png",
NULL);
@@ -206,10 +209,11 @@ prepare_screenshot (void)
}
filename = screenshot_save (screenshot);
- g_print ("Wrote %s\n", filename);
- /* FIXME: show a dialog or something */
-
- g_free (filename);
+ if (filename != NULL) {
+ g_print ("Wrote %s\n", filename);
+ /* FIXME: show a dialog or something */
+ g_free (filename);
+ }
}
int