From: Robert Swiecki Date: Wed, 16 May 2018 13:50:31 +0000 (+0200) Subject: mnt: add original_uid to directories created as new root by nsjail X-Git-Tag: 2.7~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8db8c7eea56e2cb9dd8771ff407ff50cf9c30c1;p=platform%2Fupstream%2Fnsjail.git mnt: add original_uid to directories created as new root by nsjail --- diff --git a/mnt.cc b/mnt.cc index 4186022..a6cd103 100644 --- a/mnt.cc +++ b/mnt.cc @@ -287,28 +287,45 @@ static std::unique_ptr getDir(nsjconf_t* nsjconf, const char* name) std::unique_ptr dir(new std::string); dir->assign("/run/user/") - .append(std::to_string(nsjconf->orig_uid)) .append("/nsjail.") + .append(std::to_string(nsjconf->orig_uid)) + .append(".") .append(name); if (mkdirAndTest(*dir)) { return dir; } - dir->assign("/tmp/nsjail.").append(name); + dir->assign("/tmp/nsjail.") + .append(std::to_string(nsjconf->orig_uid)) + .append(".") + .append(name); if (mkdirAndTest(*dir)) { return dir; } const char* tmp = getenv("TMPDIR"); if (tmp) { - dir->assign(tmp).append("/").append("nsjail.").append(name); + dir->assign(tmp) + .append("/") + .append("nsjail.") + .append(std::to_string(nsjconf->orig_uid)) + .append(".") + .append(name); if (mkdirAndTest(*dir)) { return dir; } } - dir->assign("/dev/shm/nsjail.").append(name); + dir->assign("/dev/shm/nsjail.") + .append(std::to_string(nsjconf->orig_uid)) + .append(".") + .append(name); if (mkdirAndTest(*dir)) { return dir; } - dir->assign("/tmp/nsjail.").append(name).append(".").append(std::to_string(util::rnd64())); + dir->assign("/tmp/nsjail.") + .append(std::to_string(nsjconf->orig_uid)) + .append(".") + .append(name) + .append(".") + .append(std::to_string(util::rnd64())); if (mkdirAndTest(*dir)) { return dir; }