[gconf] daemon: store daemon data in XDG_RUNTIME_DIR



commit 2895a09bc0666cf7b26190bdb648ad1f52c174da
Author: Ray Strode <rstrode redhat com>
Date:   Fri Jun 10 18:47:41 2011 -0400

    daemon: store daemon data in XDG_RUNTIME_DIR
    
    If XDG_RUNTIME_DIR is available it's a much better
    directory than /tmp since it ensures there's no
    DoS possibilities
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652289

 gconf/gconf-internals.c |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/gconf/gconf-internals.c b/gconf/gconf-internals.c
index 9550b1a..784bcb3 100644
--- a/gconf/gconf-internals.c
+++ b/gconf/gconf-internals.c
@@ -2796,13 +2796,18 @@ gconf_get_daemon_dir (void)
       const char *tmpdir;
 
       subdir = g_strconcat ("gconfd-", g_get_user_name (), NULL);
-      
-      if (g_getenv ("GCONF_TMPDIR")) {
-	tmpdir = g_getenv ("GCONF_TMPDIR");
-      } else {
-	tmpdir = g_get_tmp_dir ();
-      }
-      
+
+      if (g_getenv ("GCONF_TMPDIR"))
+        tmpdir = g_getenv ("GCONF_TMPDIR");
+      else if (g_getenv ("XDG_RUNTIME_DIR"))
+        {
+          g_free (subdir);
+          subdir = g_strdup ("gconfd");
+          tmpdir = g_getenv ("XDG_RUNTIME_DIR");
+        }
+      else
+        tmpdir = g_get_tmp_dir ();
+
       s = g_build_filename (tmpdir, subdir, NULL);
 
       g_free (subdir);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]