summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd/files/233-0002-core-load-fragment-refuse-units-with-errors-in-RootD.patch')
-rw-r--r--sys-apps/systemd/files/233-0002-core-load-fragment-refuse-units-with-errors-in-RootD.patch117
1 files changed, 0 insertions, 117 deletions
diff --git a/sys-apps/systemd/files/233-0002-core-load-fragment-refuse-units-with-errors-in-RootD.patch b/sys-apps/systemd/files/233-0002-core-load-fragment-refuse-units-with-errors-in-RootD.patch
deleted file mode 100644
index fe30ef9ff617..000000000000
--- a/sys-apps/systemd/files/233-0002-core-load-fragment-refuse-units-with-errors-in-RootD.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 433e7893c6c0f6cbc98d8911fc5149ee9beedb79 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Thu, 6 Jul 2017 13:54:42 -0400
-Subject: [PATCH 2/3] core/load-fragment: refuse units with errors in
- RootDirectory/RootImage/DynamicUser
-
-Behaviour of the service is completely different with the option off, so the
-service would probably mess up state on disk and do unexpected things.
----
- src/core/load-fragment-gperf.gperf.m4 | 6 +++---
- src/core/load-fragment.c | 7 +++++--
- src/shared/conf-parser.c | 16 +++++++++++-----
- 3 files changed, 19 insertions(+), 10 deletions(-)
-
-diff --git a/src/core/load-fragment-gperf.gperf.m4 b/src/core/load-fragment-gperf.gperf.m4
-index cb9e6fea2..d0868bf40 100644
---- a/src/core/load-fragment-gperf.gperf.m4
-+++ b/src/core/load-fragment-gperf.gperf.m4
-@@ -18,8 +18,8 @@ struct ConfigPerfItem;
- m4_dnl Define the context options only once
- m4_define(`EXEC_CONTEXT_CONFIG_ITEMS',
- `$1.WorkingDirectory, config_parse_working_directory, 0, offsetof($1, exec_context)
--$1.RootDirectory, config_parse_unit_path_printf, 0, offsetof($1, exec_context.root_directory)
--$1.RootImage, config_parse_unit_path_printf, 0, offsetof($1, exec_context.root_image)
-+$1.RootDirectory, config_parse_unit_path_printf, true, offsetof($1, exec_context.root_directory)
-+$1.RootImage, config_parse_unit_path_printf, true, offsetof($1, exec_context.root_image)
- $1.User, config_parse_user_group, 0, offsetof($1, exec_context.user)
- $1.Group, config_parse_user_group, 0, offsetof($1, exec_context.group)
- $1.SupplementaryGroups, config_parse_user_group_strv, 0, offsetof($1, exec_context.supplementary_groups)
-@@ -35,7 +35,7 @@ $1.UMask, config_parse_mode, 0,
- $1.Environment, config_parse_environ, 0, offsetof($1, exec_context.environment)
- $1.EnvironmentFile, config_parse_unit_env_file, 0, offsetof($1, exec_context.environment_files)
- $1.PassEnvironment, config_parse_pass_environ, 0, offsetof($1, exec_context.pass_environment)
--$1.DynamicUser, config_parse_bool, 0, offsetof($1, exec_context.dynamic_user)
-+$1.DynamicUser, config_parse_bool, true, offsetof($1, exec_context.dynamic_user)
- $1.StandardInput, config_parse_exec_input, 0, offsetof($1, exec_context)
- $1.StandardOutput, config_parse_exec_output, 0, offsetof($1, exec_context)
- $1.StandardError, config_parse_exec_output, 0, offsetof($1, exec_context)
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index 5b7471c0d..ae4ec5cf0 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -242,6 +242,7 @@ int config_parse_unit_path_printf(
- _cleanup_free_ char *k = NULL;
- Unit *u = userdata;
- int r;
-+ bool fatal = ltype;
-
- assert(filename);
- assert(lvalue);
-@@ -250,8 +251,10 @@ int config_parse_unit_path_printf(
-
- r = unit_full_printf(u, rvalue, &k);
- if (r < 0) {
-- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers on %s, ignoring: %m", rvalue);
-- return 0;
-+ log_syntax(unit, LOG_ERR, filename, line, r,
-+ "Failed to resolve unit specifiers on %s%s: %m",
-+ fatal ? "" : ", ignoring", rvalue);
-+ return fatal ? -ENOEXEC : 0;
- }
-
- return config_parse_path(unit, filename, line, section, section_line, lvalue, ltype, k, data, userdata);
-diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
-index 265ac83dc..ffb905fb6 100644
---- a/src/shared/conf-parser.c
-+++ b/src/shared/conf-parser.c
-@@ -614,6 +614,7 @@ int config_parse_bool(const char* unit,
-
- int k;
- bool *b = data;
-+ bool fatal = ltype;
-
- assert(filename);
- assert(lvalue);
-@@ -622,8 +623,10 @@ int config_parse_bool(const char* unit,
-
- k = parse_boolean(rvalue);
- if (k < 0) {
-- log_syntax(unit, LOG_ERR, filename, line, k, "Failed to parse boolean value, ignoring: %s", rvalue);
-- return 0;
-+ log_syntax(unit, LOG_ERR, filename, line, k,
-+ "Failed to parse boolean value%s: %s",
-+ fatal ? "" : ", ignoring", rvalue);
-+ return fatal ? -ENOEXEC : 0;
- }
-
- *b = !!k;
-@@ -714,6 +717,7 @@ int config_parse_path(
- void *userdata) {
-
- char **s = data, *n;
-+ bool fatal = ltype;
-
- assert(filename);
- assert(lvalue);
-@@ -722,12 +726,14 @@ int config_parse_path(
-
- if (!utf8_is_valid(rvalue)) {
- log_syntax_invalid_utf8(unit, LOG_ERR, filename, line, rvalue);
-- return 0;
-+ return fatal ? -ENOEXEC : 0;
- }
-
- if (!path_is_absolute(rvalue)) {
-- log_syntax(unit, LOG_ERR, filename, line, 0, "Not an absolute path, ignoring: %s", rvalue);
-- return 0;
-+ log_syntax(unit, LOG_ERR, filename, line, 0,
-+ "Not an absolute path%s: %s",
-+ fatal ? "" : ", ignoring", rvalue);
-+ return fatal ? -ENOEXEC : 0;
- }
-
- n = strdup(rvalue);
---
-2.13.2
-