tree-wide: remove support for kernels lacking ambient caps
Let's bump the kernel baseline a bit to 4.3 and thus require ambient caps. This allows us to remove support for a variety of special casing, most importantly the ExecStart=!! hack.
This commit is contained in:
@@ -488,10 +488,11 @@ static const char* const exec_command_strings[] = {
|
||||
"ignore-failure", /* EXEC_COMMAND_IGNORE_FAILURE */
|
||||
"privileged", /* EXEC_COMMAND_FULLY_PRIVILEGED */
|
||||
"no-setuid", /* EXEC_COMMAND_NO_SETUID */
|
||||
"ambient", /* EXEC_COMMAND_AMBIENT_MAGIC */
|
||||
"no-env-expand", /* EXEC_COMMAND_NO_ENV_EXPAND */
|
||||
};
|
||||
|
||||
assert_cc((1 << ELEMENTSOF(exec_command_strings)) - 1 == _EXEC_COMMAND_FLAGS_ALL);
|
||||
|
||||
const char* exec_command_flags_to_string(ExecCommandFlags i) {
|
||||
for (size_t idx = 0; idx < ELEMENTSOF(exec_command_strings); idx++)
|
||||
if (i == (1 << idx))
|
||||
@@ -503,12 +504,14 @@ const char* exec_command_flags_to_string(ExecCommandFlags i) {
|
||||
ExecCommandFlags exec_command_flags_from_string(const char *s) {
|
||||
ssize_t idx;
|
||||
|
||||
idx = string_table_lookup(exec_command_strings, ELEMENTSOF(exec_command_strings), s);
|
||||
if (streq(s, "ambient")) /* Compatibility with ambient hack, removed in v258, map to no bits set */
|
||||
return 0;
|
||||
|
||||
idx = string_table_lookup(exec_command_strings, ELEMENTSOF(exec_command_strings), s);
|
||||
if (idx < 0)
|
||||
return _EXEC_COMMAND_FLAGS_INVALID;
|
||||
else
|
||||
return 1 << idx;
|
||||
|
||||
return 1 << idx;
|
||||
}
|
||||
|
||||
int fexecve_or_execve(int executable_fd, const char *executable, char *const argv[], char *const envp[]) {
|
||||
|
||||
Reference in New Issue
Block a user