[Github-comments] [geany/geany] prefer XDG_RUNTIME_DIR over /tmp for the socket (#2222)

Thomas Martitz notifications at xxxxx
Thu Jul 18 21:01:33 UTC 2019


kugel- commented on this pull request.



> @@ -439,20 +441,35 @@ static gint socket_fd_open_unix(const gchar *path)
 		return -1;
 	}
 
-	/* fix for #1888561:
-	 * in case the configuration directory is located on a network file system or any other
-	 * file system which doesn't support sockets, we just link the socket there and create the
-	 * real socket in the system's tmp directory assuming it supports sockets */
-	real_path = g_strdup_printf("%s%cgeany_socket.%08x",
-		g_get_tmp_dir(), G_DIR_SEPARATOR, g_random_int());
+	/* Try to place the socket in XDG_RUNTIME_DIR, according to XDG Base
+	 * Directory Specification, see
+	 * https://specifications.freedesktop.org/basedir-spec/latest */
+	real_dir = g_build_filename(g_get_user_runtime_dir(), "geany", NULL);
+	if (g_mkdir_with_parents(real_dir, 0755) == 0)

I use `_with_parents()` in case the geany directory already exists. I could also use mkdir() and handle EEXIST but this seemed more convenient. 

For the runtime directory, I assume it already exists, since it's provided by the spec. If that's not the case I think we cuoldn't create it since users generally don't have sufficient permissions for /var/run/user.

I also considered that the 0700 requirement applies to the $XDG_RUNTIME_DIR itself. A quick survey on my system shows that the subdirectories are inconsistent, but the systemd subdirectory (and systemd manages $XDG_RUNTIME_DIR) has 0755. I guess it doesn't matter much. Can change to 0700 if you want.

```
srw-rw-rw- 1 kugel kugel   0 16. Jul 06:57 bus
drwx------ 2 kugel kugel  60 17. Jul 16:14 dconf
drwxr-xr-x 2 kugel kugel  40 18. Jul 07:13 geany
drwx------ 2 kugel kugel 140 16. Jul 06:57 gnupg
srw------- 1 kugel kugel   0 16. Jul 06:57 kdeinit5__0
srwxr-xr-x 1 kugel kugel   0 16. Jul 06:57 klauncherdKXvtl.1.slave-socket
-rw-r--r-- 1 kugel kugel  74 16. Jul 06:57 KSMserver__0
srwxr-xr-x 1 kugel kugel   0 16. Jul 06:57 kwallet5.socket
drwxr-xr-x 2 kugel kugel  60 16. Jul 06:57 Nextcloud
drwxr-xr-x 2 kugel kugel  60 16. Jul 06:57 p11-kit
srw-rw-rw- 1 kugel kugel   0 16. Jul 06:57 pipewire-0
drwx------ 2 kugel kugel 100 16. Jul 06:57 pulse
drwxr-xr-x 3 kugel kugel 100 16. Jul 06:57 systemd
drwx------ 2 kugel kugel  40 18. Jul 21:56 xpra
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2222#discussion_r305113299
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20190718/9932ee30/attachment-0001.html>


More information about the Github-comments mailing list