diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/manager.c | 29 | ||||
-rw-r--r-- | src/core/mount-setup.c | 2 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index 4bebb2996f..bd49892cd4 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1856,6 +1856,7 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) { Iterator i; Unit *u; const char *t; + char **e; int r; assert(m); @@ -1879,6 +1880,14 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) { dual_timestamp_serialize(f, "finish-timestamp", &m->finish_timestamp); } + STRV_FOREACH(e, m->environment) { + _cleanup_free_ char *ce; + + ce = cescape(*e); + if (ce) + fprintf(f, "env=%s\n", *e); + } + fputc('\n', f); HASHMAP_FOREACH_KEY(u, t, m->units, i) { @@ -1979,7 +1988,25 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) { dual_timestamp_deserialize(l+20, &m->userspace_timestamp); else if (startswith(l, "finish-timestamp=")) dual_timestamp_deserialize(l+17, &m->finish_timestamp); - else + else if (startswith(l, "env=")) { + _cleanup_free_ char *uce = NULL; + char **e; + + uce = cunescape(l+4); + if (!uce) { + r = -ENOMEM; + goto finish; + } + + e = strv_env_set(m->environment, uce); + if (!e) { + r = -ENOMEM; + goto finish; + } + + strv_free(m->environment); + m->environment = e; + } else log_debug("Unknown serialization item '%s'", l); } diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 5b32474bbe..2cd0b60ba7 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -78,7 +78,7 @@ static const MountPoint mount_table[] = { { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL, MNT_NONE }, { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - is_efiboot, MNT_NONE }, + is_efi_boot, MNT_NONE }, { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, NULL, MNT_FATAL|MNT_IN_CONTAINER }, { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, |