mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
core: rework how we treat specifiers in Environment= of transient units
Let's validate the data passed in after resolving specifiers, but let's write out to the unit snippet the list without specifiers applied. This way the pre-existing comment actually starts matching what is actually implemented.
This commit is contained in:
parent
41de9cc29e
commit
1c68232ee2
@ -1817,13 +1817,13 @@ int bus_exec_context_set_transient_property(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (!strv_env_is_valid(l))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid environment block.");
|
||||
|
||||
r = unit_full_printf_strv(u, l, &q);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (!strv_env_is_valid(q))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid environment block.");
|
||||
|
||||
if (mode != UNIT_CHECK) {
|
||||
if (strv_length(q) == 0) {
|
||||
c->environment = strv_free(c->environment);
|
||||
@ -1840,7 +1840,7 @@ int bus_exec_context_set_transient_property(
|
||||
c->environment = e;
|
||||
|
||||
/* We write just the new settings out to file, with unresolved specifiers */
|
||||
joined = strv_join_quoted(q);
|
||||
joined = strv_join_quoted(l);
|
||||
if (!joined)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user