|
|
a13ffa |
From c2b8a3b20ab807133c0c78b58f23cb0ac415f20a Mon Sep 17 00:00:00 2001
|
|
|
a13ffa |
From: Dan Walsh <dwalsh@redhat.com>
|
|
|
a13ffa |
Date: Mon, 14 Apr 2014 09:25:01 -0700
|
|
|
a13ffa |
Subject: [PATCH 2/5] Update XDG_RUNTIME_DIR directory
|
|
|
a13ffa |
|
|
|
a13ffa |
---
|
|
|
a13ffa |
policycoreutils/sandbox/seunshare.c | 11 +++++++++++
|
|
|
a13ffa |
1 file changed, 11 insertions(+)
|
|
|
a13ffa |
|
|
|
a13ffa |
diff --git a/policycoreutils/sandbox/seunshare.c b/policycoreutils/sandbox/seunshare.c
|
|
|
a13ffa |
index 97f3920..596a43e 100644
|
|
|
a13ffa |
--- a/policycoreutils/sandbox/seunshare.c
|
|
|
a13ffa |
+++ b/policycoreutils/sandbox/seunshare.c
|
|
|
a13ffa |
@@ -964,6 +964,7 @@ int main(int argc, char **argv) {
|
|
|
a13ffa |
if (child == 0) {
|
|
|
a13ffa |
char *display = NULL;
|
|
|
a13ffa |
char *LANG = NULL;
|
|
|
a13ffa |
+ char *RUNTIME_DIR = NULL;
|
|
|
a13ffa |
int rc = -1;
|
|
|
a13ffa |
char *resolved_path = NULL;
|
|
|
a13ffa |
|
|
|
a13ffa |
@@ -1014,6 +1015,13 @@ int main(int argc, char **argv) {
|
|
|
a13ffa |
}
|
|
|
a13ffa |
}
|
|
|
a13ffa |
|
|
|
a13ffa |
+ if ((RUNTIME_DIR = getenv("XDG_RUNTIME_DIR")) != NULL) {
|
|
|
a13ffa |
+ if ((RUNTIME_DIR = strdup(RUNTIME_DIR)) == NULL) {
|
|
|
a13ffa |
+ perror(_("Out of memory"));
|
|
|
a13ffa |
+ goto childerr;
|
|
|
a13ffa |
+ }
|
|
|
a13ffa |
+ }
|
|
|
a13ffa |
+
|
|
|
a13ffa |
if ((rc = clearenv()) != 0) {
|
|
|
a13ffa |
perror(_("Failed to clear environment"));
|
|
|
a13ffa |
goto childerr;
|
|
|
a13ffa |
@@ -1022,6 +1030,8 @@ int main(int argc, char **argv) {
|
|
|
a13ffa |
rc |= setenv("DISPLAY", display, 1);
|
|
|
a13ffa |
if (LANG)
|
|
|
a13ffa |
rc |= setenv("LANG", LANG, 1);
|
|
|
a13ffa |
+ if (RUNTIME_DIR)
|
|
|
a13ffa |
+ rc |= setenv("XDG_RUNTIME_DIR", RUNTIME_DIR, 1);
|
|
|
a13ffa |
rc |= setenv("HOME", pwd->pw_dir, 1);
|
|
|
a13ffa |
rc |= setenv("SHELL", pwd->pw_shell, 1);
|
|
|
a13ffa |
rc |= setenv("USER", pwd->pw_name, 1);
|
|
|
a13ffa |
@@ -1049,6 +1059,7 @@ childerr:
|
|
|
a13ffa |
free(resolved_path);
|
|
|
a13ffa |
free(display);
|
|
|
a13ffa |
free(LANG);
|
|
|
a13ffa |
+ free(RUNTIME_DIR);
|
|
|
a13ffa |
exit(-1);
|
|
|
a13ffa |
}
|
|
|
a13ffa |
|
|
|
a13ffa |
--
|
|
|
a13ffa |
2.1.0
|
|
|
a13ffa |
|