summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauri Aarnio <Lauri.Aarnio@iki.fi>2009-03-13 16:59:45 +0200
committerLauri Leukkunen <lle@rahina.org>2009-03-23 01:37:47 +0200
commitb88704b1331c6a7857cc4607d870ef0e58b5170d (patch)
tree5b3ad638b64ea058c0024772e325234bdec3095b
parent9c11d8d85b8ed161bdc6c01f406a4b322354b2a8 (diff)
Bugfix: Failed, if /tmp was symlink to /var/tmp (all mapping modes)
- reorganized some rules in the mapping modes and added a check to utils/sb2, so that $SBOX_SESSION_DIR does not contain symlinks
-rw-r--r--lua_scripts/pathmaps/devel/00_default.lua4
-rw-r--r--lua_scripts/pathmaps/emulate/00_default.lua3
-rw-r--r--lua_scripts/pathmaps/install/00_default.lua2
-rw-r--r--lua_scripts/pathmaps/maemo_simple/00_default.lua8
-rw-r--r--lua_scripts/pathmaps/simple/00_default.lua4
-rw-r--r--lua_scripts/pathmaps/tools/00_default.lua3
-rwxr-xr-xutils/sb22
7 files changed, 20 insertions, 6 deletions
diff --git a/lua_scripts/pathmaps/devel/00_default.lua b/lua_scripts/pathmaps/devel/00_default.lua
index d99795d..a3201e4 100644
--- a/lua_scripts/pathmaps/devel/00_default.lua
+++ b/lua_scripts/pathmaps/devel/00_default.lua
@@ -617,6 +617,9 @@ simple_chain = {
next_chain = nil,
binary = nil,
rules = {
+ -- -----------------------------------------------
+ -- 1. The session directory
+ {dir = session_dir, use_orig_path = true},
-- -----------------------------------------------
-- 2. Development environment special destinations:
@@ -686,7 +689,6 @@ simple_chain = {
-- -----------------------------------------------
-- 85. /tmp
- {prefix = session_dir, use_orig_path = true},
{prefix = "/tmp", map_to = session_dir},
-- -----------------------------------------------
diff --git a/lua_scripts/pathmaps/emulate/00_default.lua b/lua_scripts/pathmaps/emulate/00_default.lua
index 13026e2..82fbe08 100644
--- a/lua_scripts/pathmaps/emulate/00_default.lua
+++ b/lua_scripts/pathmaps/emulate/00_default.lua
@@ -43,6 +43,8 @@ mapall_chain = {
next_chain = nil,
binary = nil,
rules = {
+ {dir = session_dir, use_orig_path = true},
+
{path = sbox_cputransparency_method, use_orig_path = true,
readonly = true},
@@ -101,7 +103,6 @@ mapall_chain = {
{prefix = "/var/run", map_to = session_dir},
--
- {prefix = session_dir, use_orig_path = true},
{prefix = "/tmp", replace_by = tmp_dir_dest},
--
diff --git a/lua_scripts/pathmaps/install/00_default.lua b/lua_scripts/pathmaps/install/00_default.lua
index 1328f4d..38afa23 100644
--- a/lua_scripts/pathmaps/install/00_default.lua
+++ b/lua_scripts/pathmaps/install/00_default.lua
@@ -21,6 +21,7 @@ default_chain = {
next_chain = nil,
binary = nil,
rules = {
+ { dir = session_dir, use_orig_path = true },
{ prefix = tools_source, use_orig_path = true, readonly = true },
{ path = "/bin/sh", func_name = ".*exec.*", replace_by = interp_wrapper },
@@ -35,7 +36,6 @@ default_chain = {
virtual_path = true},
{ prefix = "/sys", use_orig_path = true },
- { prefix = session_dir, use_orig_path = true },
{ prefix = "/tmp", map_to = session_dir },
{ prefix = sbox_user_home_dir, use_orig_path = true },
diff --git a/lua_scripts/pathmaps/maemo_simple/00_default.lua b/lua_scripts/pathmaps/maemo_simple/00_default.lua
index 4e5cec3..6102e0d 100644
--- a/lua_scripts/pathmaps/maemo_simple/00_default.lua
+++ b/lua_scripts/pathmaps/maemo_simple/00_default.lua
@@ -20,6 +20,10 @@ simple_chain = {
binary = nil,
rules = {
-- -----------------------------------------------
+ -- 1. The session directory
+ {dir = session_dir, use_orig_path = true},
+
+ -- -----------------------------------------------
-- 2. Development environment special destinations:
{prefix = "/sb2/wrappers",
@@ -57,7 +61,6 @@ simple_chain = {
{prefix = "/home", use_orig_path = true},
{prefix = "/host_usr", map_to = target_root},
- {prefix = session_dir, use_orig_path = true},
{prefix = "/tmp", map_to = session_dir},
{prefix = "/dev", use_orig_path = true},
@@ -76,11 +79,12 @@ qemu_chain = {
next_chain = nil,
binary = basename(sbox_cputransparency_method),
rules = {
+ {prefix = session_dir, use_orig_path = true},
+
{prefix = "/lib", map_to = target_root},
{prefix = "/usr/lib", map_to = target_root},
{prefix = "/usr/local/lib", map_to = target_root},
- {prefix = session_dir, use_orig_path = true},
{prefix = "/tmp", map_to = session_dir},
{prefix = "/dev", use_orig_path = true},
diff --git a/lua_scripts/pathmaps/simple/00_default.lua b/lua_scripts/pathmaps/simple/00_default.lua
index 32abdd9..e5dac6a 100644
--- a/lua_scripts/pathmaps/simple/00_default.lua
+++ b/lua_scripts/pathmaps/simple/00_default.lua
@@ -20,6 +20,10 @@ simple_chain = {
binary = nil,
rules = {
-- -----------------------------------------------
+ -- 1. The session directory
+ {dir = session_dir, use_orig_path = true},
+
+ -- -----------------------------------------------
-- 2. Development environment special destinations:
{prefix = "/sb2/wrappers",
diff --git a/lua_scripts/pathmaps/tools/00_default.lua b/lua_scripts/pathmaps/tools/00_default.lua
index 7c9b1a5..2f5569f 100644
--- a/lua_scripts/pathmaps/tools/00_default.lua
+++ b/lua_scripts/pathmaps/tools/00_default.lua
@@ -48,6 +48,8 @@ mapall_chain = {
next_chain = nil,
binary = nil,
rules = {
+ {dir = session_dir, use_orig_path = true},
+
{path = sbox_cputransparency_method, use_orig_path = true,
readonly = true},
@@ -66,7 +68,6 @@ mapall_chain = {
{prefix = "/var/run", map_to = session_dir},
--
- {prefix = session_dir, use_orig_path = true},
{prefix = "/tmp", map_to = session_dir},
--
diff --git a/utils/sb2 b/utils/sb2
index 3952d9b..44486a2 100755
--- a/utils/sb2
+++ b/utils/sb2
@@ -899,6 +899,8 @@ function initialize_new_sb2_session()
exit_error "Failed to create directory for session (problems with /tmp ?)"
fi
fi
+ # resolve possible symlinks in SBOX_SESSION_DIR
+ SBOX_SESSION_DIR=`readlink -f $SBOX_SESSION_DIR`
mkdir -p $SBOX_SESSION_DIR
if [ $? != 0 ]; then