Make transition to "postinstall" domain explicit.
When running the postinstall program, we were relying on the automatic
transition between update_engine domain and postinstall, which required
postinstall_file to be an entrypoint for such domain. This patch makes
the transition explicit by calling setexeccon(3).
Bug: 28008031
TEST=make dist; Deployed an update to edison-eng: postinstall runs as "postinstall" domain.
Change-Id: I27d404886841e0bd39589f0274eaaf98929eeac9
diff --git a/common/subprocess_unittest.cc b/common/subprocess_unittest.cc
index 5ca44e8..d5e33bb 100644
--- a/common/subprocess_unittest.cc
+++ b/common/subprocess_unittest.cc
@@ -148,6 +148,7 @@
{kBinPath "/sh", "-c", "echo on stdout; echo on stderr >&2"},
0,
{},
+ nullptr,
base::Bind(&ExpectedResults, 0, "on stdout\n")));
loop_.Run();
}
@@ -158,6 +159,7 @@
{kBinPath "/sh", "-c", "echo on pipe >&3"},
0,
{3},
+ nullptr,
base::Bind(&ExpectedDataOnPipe, &subprocess_, &pid, 3, "on pipe\n", 0));
EXPECT_NE(0, pid);
@@ -174,10 +176,7 @@
const vector<string> cmd = {kBinPath "/sh", "-c",
base::StringPrintf("echo on pipe >/proc/self/fd/%d", pipe.writer)};
EXPECT_TRUE(subprocess_.ExecFlags(
- cmd,
- 0,
- {},
- base::Bind(&ExpectedResults, 1, "")));
+ cmd, 0, {}, nullptr, base::Bind(&ExpectedResults, 1, "")));
loop_.Run();
}