mirror of
https://github.com/systemd/systemd.git
synced 2026-07-12 02:24:15 +00:00
Let's turn these three fields into tristates, so that we can distinguish whether they are not configured at all from explicitly turned off. Let#s then use this to ensure that we only copy the settings fields into our execution environment if they are actually configured. We already do this for some of the boolean settings, this adds it for the missing ones. The goal here is to ensure that an empty settings file used in --settings=override mode (i.e. the default mode used in the systemd-nspawn@.service unit) is truly a NOP.
83 lines
6.5 KiB
Plaintext
83 lines
6.5 KiB
Plaintext
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
%{
|
|
#if __GNUC__ >= 7
|
|
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
|
|
#endif
|
|
#include <stddef.h>
|
|
#include "conf-parser.h"
|
|
#include "nspawn-settings.h"
|
|
#include "nspawn-expose-ports.h"
|
|
%}
|
|
struct ConfigPerfItem;
|
|
%null_strings
|
|
%language=ANSI-C
|
|
%define slot-name section_and_lvalue
|
|
%define hash-function-name nspawn_gperf_hash
|
|
%define lookup-function-name nspawn_gperf_lookup
|
|
%readonly-tables
|
|
%omit-struct-type
|
|
%struct-type
|
|
%includes
|
|
%%
|
|
Exec.Boot, config_parse_boot, 0, 0
|
|
Exec.Ephemeral, config_parse_tristate, 0, offsetof(Settings, ephemeral)
|
|
Exec.ProcessTwo, config_parse_pid2, 0, 0
|
|
Exec.Parameters, config_parse_strv, 0, offsetof(Settings, parameters)
|
|
Exec.Environment, config_parse_strv, 0, offsetof(Settings, environment)
|
|
Exec.User, config_parse_string, 0, offsetof(Settings, user)
|
|
Exec.Capability, config_parse_capability, 0, offsetof(Settings, capability)
|
|
Exec.AmbientCapability, config_parse_capability, 0, offsetof(Settings, ambient_capability)
|
|
Exec.DropCapability, config_parse_capability, 0, offsetof(Settings, drop_capability)
|
|
Exec.KillSignal, config_parse_signal, 0, offsetof(Settings, kill_signal)
|
|
Exec.Personality, config_parse_personality, 0, offsetof(Settings, personality)
|
|
Exec.MachineID, config_parse_id128, 0, offsetof(Settings, machine_id)
|
|
Exec.WorkingDirectory, config_parse_path, 0, offsetof(Settings, working_directory)
|
|
Exec.PivotRoot, config_parse_pivot_root, 0, 0
|
|
Exec.PrivateUsers, config_parse_private_users, 0, 0
|
|
Exec.NotifyReady, config_parse_tristate, 0, offsetof(Settings, notify_ready)
|
|
Exec.SystemCallFilter, config_parse_syscall_filter, 0, 0,
|
|
Exec.LimitCPU, config_parse_rlimit, RLIMIT_CPU, offsetof(Settings, rlimit)
|
|
Exec.LimitFSIZE, config_parse_rlimit, RLIMIT_FSIZE, offsetof(Settings, rlimit)
|
|
Exec.LimitDATA, config_parse_rlimit, RLIMIT_DATA, offsetof(Settings, rlimit)
|
|
Exec.LimitSTACK, config_parse_rlimit, RLIMIT_STACK, offsetof(Settings, rlimit)
|
|
Exec.LimitCORE, config_parse_rlimit, RLIMIT_CORE, offsetof(Settings, rlimit)
|
|
Exec.LimitRSS, config_parse_rlimit, RLIMIT_RSS, offsetof(Settings, rlimit)
|
|
Exec.LimitNOFILE, config_parse_rlimit, RLIMIT_NOFILE, offsetof(Settings, rlimit)
|
|
Exec.LimitAS, config_parse_rlimit, RLIMIT_AS, offsetof(Settings, rlimit)
|
|
Exec.LimitNPROC, config_parse_rlimit, RLIMIT_NPROC, offsetof(Settings, rlimit)
|
|
Exec.LimitMEMLOCK, config_parse_rlimit, RLIMIT_MEMLOCK, offsetof(Settings, rlimit)
|
|
Exec.LimitLOCKS, config_parse_rlimit, RLIMIT_LOCKS, offsetof(Settings, rlimit)
|
|
Exec.LimitSIGPENDING, config_parse_rlimit, RLIMIT_SIGPENDING, offsetof(Settings, rlimit)
|
|
Exec.LimitMSGQUEUE, config_parse_rlimit, RLIMIT_MSGQUEUE, offsetof(Settings, rlimit)
|
|
Exec.LimitNICE, config_parse_rlimit, RLIMIT_NICE, offsetof(Settings, rlimit)
|
|
Exec.LimitRTPRIO, config_parse_rlimit, RLIMIT_RTPRIO, offsetof(Settings, rlimit)
|
|
Exec.LimitRTTIME, config_parse_rlimit, RLIMIT_RTTIME, offsetof(Settings, rlimit)
|
|
Exec.Hostname, config_parse_hostname, 0, offsetof(Settings, hostname)
|
|
Exec.NoNewPrivileges, config_parse_tristate, 0, offsetof(Settings, no_new_privileges)
|
|
Exec.OOMScoreAdjust, config_parse_oom_score_adjust, 0, 0
|
|
Exec.CPUAffinity, config_parse_cpu_affinity, 0, 0
|
|
Exec.ResolvConf, config_parse_resolv_conf, 0, offsetof(Settings, resolv_conf)
|
|
Exec.LinkJournal, config_parse_link_journal, 0, 0
|
|
Exec.Timezone, config_parse_timezone, 0, offsetof(Settings, timezone)
|
|
Exec.SuppressSync, config_parse_tristate, 0, offsetof(Settings, suppress_sync)
|
|
Files.ReadOnly, config_parse_tristate, 0, offsetof(Settings, read_only)
|
|
Files.Volatile, config_parse_volatile_mode, 0, offsetof(Settings, volatile_mode)
|
|
Files.Bind, config_parse_bind, 0, 0
|
|
Files.BindReadOnly, config_parse_bind, 1, 0
|
|
Files.TemporaryFileSystem, config_parse_tmpfs, 0, 0
|
|
Files.Inaccessible, config_parse_inaccessible, 0, 0
|
|
Files.Overlay, config_parse_overlay, 0, 0
|
|
Files.OverlayReadOnly, config_parse_overlay, 1, 0
|
|
Files.PrivateUsersChown, config_parse_userns_chown, 0, offsetof(Settings, userns_ownership)
|
|
Files.PrivateUsersOwnership, config_parse_userns_ownership, 0, offsetof(Settings, userns_ownership)
|
|
Files.BindUser, config_parse_bind_user, 0, offsetof(Settings, bind_user)
|
|
Network.Private, config_parse_tristate, 0, offsetof(Settings, private_network)
|
|
Network.Interface, config_parse_strv, 0, offsetof(Settings, network_interfaces)
|
|
Network.MACVLAN, config_parse_strv, 0, offsetof(Settings, network_macvlan)
|
|
Network.IPVLAN, config_parse_strv, 0, offsetof(Settings, network_ipvlan)
|
|
Network.VirtualEthernet, config_parse_tristate, 0, offsetof(Settings, network_veth)
|
|
Network.VirtualEthernetExtra, config_parse_veth_extra, 0, 0
|
|
Network.Bridge, config_parse_ifname, 0, offsetof(Settings, network_bridge)
|
|
Network.Zone, config_parse_network_zone, 0, 0
|
|
Network.Port, config_parse_expose_port, 0, 0
|