[at-spi2-atk] Don't create a sub-directory for the socket when running as root
- From: Mike Gorse <mgorse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [at-spi2-atk] Don't create a sub-directory for the socket when running as root
- Date: Wed, 4 Jul 2012 01:52:44 +0000 (UTC)
commit 7fc3c0ed67c52371855c5db456f26f27dfd22126
Author: Mike Gorse <mgorse suse com>
Date: Tue Jul 3 20:52:25 2012 -0500
Don't create a sub-directory for the socket when running as root
If an application is running as root but within a user's runtime directory,
then creating a temporary directory will result in the directory being owned
by root, and the user will not have permission to search the directory to
access the socket, so an AT running as the normal user will not be able to
connect to the application running as root.
Fixes regression introduced by the fix for BGO#678348.
atk-adaptor/bridge.c | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c
index 8c9d6bc..9880639 100644
--- a/atk-adaptor/bridge.c
+++ b/atk-adaptor/bridge.c
@@ -298,15 +298,23 @@ register_application (SpiBridge * app)
dbus_message_unref (message);
#ifndef DISABLE_P2P
- app->app_tmp_dir = g_build_filename (g_get_user_runtime_dir (),
- "at-spi2-XXXXXX", NULL);
- if (!g_mkdtemp (app->app_tmp_dir))
+ if (getuid () != 0)
{
- g_free (app->app_tmp_dir);
- app->app_tmp_dir = NULL;
- return FALSE;
+ app->app_tmp_dir = g_build_filename (g_get_user_runtime_dir (),
+ "at-spi2-XXXXXX", NULL);
+ if (!g_mkdtemp (app->app_tmp_dir))
+ {
+ g_free (app->app_tmp_dir);
+ app->app_tmp_dir = NULL;
+ return FALSE;
+ }
}
- app->app_bus_addr = g_strdup_printf ("unix:path=%s/socket", app->app_tmp_dir);
+
+ if (app->app_tmp_dir)
+ app->app_bus_addr = g_strdup_printf ("unix:path=%s/socket", app->app_tmp_dir);
+ else
+ app->app_bus_addr = g_strdup_printf ("unix:path=%s/at-spi2-socket-%d",
+ g_get_user_runtime_dir (), getpid ());
#endif
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]