1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-28 02:50:16 +03:00

test: check if the unit file fuzzer corpora is up to date

This follows a similar pattern we already have in place for
networkd-related directives.
This commit is contained in:
Frantisek Sumsal 2021-04-02 19:51:44 +02:00 committed by Luca Boccassi
parent 080a602771
commit 34fde9f898
12 changed files with 1974 additions and 806 deletions

View File

@ -3515,7 +3515,7 @@ check_directives_sh = find_program('tools/check-directives.sh')
if want_tests != 'false'
test('check-directives',
check_directives_sh,
args : project_source_root)
args : [project_source_root, project_build_root])
endif
############################################################

View File

@ -0,0 +1,949 @@
service
Accept=
AccuracySec=
After=
Alias=
AllowedCPUs=
AllowedMemoryNodes=
AllowIsolate=
Also=
AmbientCapabilities=
AssertACPower=
AssertArchitecture=
AssertCapability=
AssertControlGroupController=
AssertDirectoryNotEmpty=
AssertFileIsExecutable=
AssertFileNotEmpty=
AssertFirstBoot=
AssertGroup=
AssertHost=
AssertKernelCommandLine=
AssertKernelVersion=
AssertNeedsUpdate=
AssertPathExists=
AssertPathExistsGlob=
AssertPathIsDirectory=
AssertPathIsMountPoint=
AssertPathIsReadWrite=
AssertPathIsSymbolicLink=
AssertSecurity=
AssertUser=
AssertVirtualization=
Backlog=
Before=
BindIPv6Only=
BindPaths=
BindReadOnlyPaths=
BindToDevice=
BindsTo=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
Broadcast=
BusName=
CoredumpFilter=
CPUAccounting=
CPUQuota=
CPUShares=
CPUWeight=
CapabilityBoundingSet=
CollectMode=
ConditionACPower=
ConditionArchitecture=
ConditionCapability=
ConditionControlGroupController=
ConditionDirectoryNotEmpty=
ConditionFileIsExecutable=
ConditionFileNotEmpty=
ConditionFirstBoot=
ConditionGroup=
ConditionHost=
ConditionKernelCommandLine=
ConditionKernelVersion=
ConditionNeedsUpdate=
ConditionPathExists=
ConditionPathExistsGlob=
ConditionPathIsDirectory=
ConditionPathIsMountPoint=
ConditionPathIsReadWrite=
ConditionPathIsSymbolicLink=
ConditionSecurity=
ConditionUser=
ConditionVirtualization=
Conflicts=
DefaultDependencies=
DefaultInstance=
DeferAcceptSec=
Delegate=
Description=
DeviceAllow=
DevicePolicy=
DirectoryMode=
DirectoryNotEmpty=
Documentation=
DynamicUser=
ExecPaths=
ExecReload=
ExecCondition=
ExecStart=
ExecStartPost=
ExecStartPre=
ExecStop=
ExecStopPost=
ExecStopPre=
ExitType=
FailureAction=
FileDescriptorName=
FileDescriptorStoreMax=
ForceUnmount=
FreeBind=
Group=
GuessMainPID=
IOAccounting=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPCNamespacePath=
IPTOS=
IPTTL=
IgnoreOnIsolate=
JobRunningTimeoutSec=
JobTimeoutAction=
JobTimeoutRebootArgument=
JobTimeoutSec=
JoinsNamespaceOf=
KeepAlive=
KeepAliveIntervalSec=
KeepAliveProbes=
KeepAliveTimeSec=
KillMode=
KillSignal=
LazyUnmount=
ListenDatagram=
ListenFIFO=
ListenMessageQueue=
#ListenNetlink=
ListenSequentialPacket=
ListenSpecial=
ListenStream=
ListenUSBFunction=
MakeDirectory=
Mark=
MaxConnections=
MaxConnectionsPerSource=
ManagedOOMSwap=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimitPercent=
ManagedOOMPreference=
MemoryAccounting=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemorySwapMax=
MessageQueueMaxMessages=
MessageQueueMessageSize=
MountAPIVFS=
NetworkNamespacePath=
NoDelay=
NoExecPaths=
NoNewPrivileges=
NonBlocking=
NotifyAccess=
OnActiveSec=
OnBootSec=
OnCalendar=
OnFailure=
OnFailureJobMode=
OnStartupSec=
OnUnitActiveSec=
OnUnitInactiveSec=
Options=
PAMName=
PIDFile=
PartOf=
PassCredentials=
PassSecurity=
PassPacketInfo=
PathChanged=
PathExists=
PathExistsGlob=
PathModified=
PermissionsStartOnly=
Persistent=
PipeSize=
Priority=
PropagatesReloadTo=
RandomizedDelaySec=
FixedRandomDelay=
RebootArgument=
ReceiveBuffer=
RefuseManualStart=
RefuseManualStop=
ReloadPropagatedFrom=
RemainAfterElapse=
RemainAfterExit=
RemoveOnStop=
RequiredBy=
Requires=
RequiresMountsFor=
Requisite=
Restart=
RestartForceExitStatus=
RestartKillSignal=
RestartPreventExitStatus=
RestartSec=
ReusePort=
RootDirectory=
RootDirectoryStartOnly=
RootImage=
RootHash=
RootHashSignature=
RootVerity=
ExtensionImages=
RuntimeMaxSec=
SELinuxContextFromNet=
SecureBits=
SendBuffer=
SendSIGHUP=
SendSIGKILL=
Service=
Slice=
SloppyOptions=
SmackLabel=
SmackLabelIPIn=
SmackLabelIPOut=
SocketGroup=
SocketMode=
SocketProtocol=
SocketUser=
Sockets=
SourcePath=
StartLimitAction=
StartLimitBurst=
StartLimitIntervalSec=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
StopWhenUnneeded=
SuccessAction=
SuccessExitStatus=
SupplementaryGroups=
Symlinks=
TCPCongestion=
TasksAccounting=
TasksMax=
TimeoutIdleSec=
TimeoutSec=
TimeoutStartSec=
TimeoutStopSec=
TimeoutAbortSec=
Transparent=
TriggerLimitBurst=
TriggerLimitIntervalSec=
Type=
USBFunctionDescriptors=
USBFunctionStrings=
Unit=
User=
WakeSystem=
WantedBy=
Wants=
WatchdogSec=
What=
Where=
WorkingDirectory=
Writable=
fsck.mode=
fsck.repair=
fstab=
locale.LANG=
locale.LANGUAGE=
locale.LC_ADDRESS=
locale.LC_COLLATE=
locale.LC_CTYPE=
locale.LC_IDENTIFICATION=
locale.LC_MEASUREMENT=
locale.LC_MESSAGES=
locale.LC_MONETARY=
locale.LC_NAME=
locale.LC_NUMERIC=
locale.LC_PAPER=
locale.LC_TELEPHONE=
locale.LC_TIME=
luks.crypttab=
luks.key=
luks.name=
luks.options=
luks.uuid=
luks=
modules_load=
mount.usr=
mount.usrflags=
mount.usrfstype=
net.ifnames=
plymouth.enable=
quotacheck.mode=
rd.fstab=
rd.luks.crypttab=
rd.luks.key=
rd.luks.name=
rd.luks.options=
rd.luks.uuid=
rd.luks=
rd.modules_load=
rd.systemd.gpt_auto=
rd.systemd.unit=
rd.systemd.verity=
rd.udev.children_max=
rd.udev.event_timeout=
rd.udev.exec_delay=
rd.udev.log_level=
resume=
resumeflags=
root=
rootflags=
rootfstype=
roothash=
systemd.default_standard_error=
systemd.default_standard_output=
systemd.default_timeout_start_sec=
systemd.firstboot=
systemd.gpt_auto=
systemd.journald.forward_to_console=
systemd.journald.forward_to_kmsg=
systemd.journald.forward_to_syslog=
systemd.journald.forward_to_wall=
systemd.log_level=
systemd.log_location=
systemd.log_target=
systemd.machine_id=
systemd.mask=
systemd.restore_state=
systemd.service_watchdogs=
systemd.setenv=
systemd.unit=
systemd.verity=
systemd.verity_root_data=
systemd.verity_root_hash=
systemd.verity_root_options=
systemd.volatile=
systemd.wants=
systemd.watchdog_device=
udev.children_max=
udev.event_timeout=
udev.exec_delay=
udev.log_level=
vconsole.font=
vconsole.font_map=
vconsole.font_unimap=
vconsole.keymap=
vconsole.keymap_toggle=
ID_MODEL=
ID_MODEL_FROM_DATABASE=
SYSTEMD_ALIAS=
SYSTEMD_MOUNT_OPTIONS=
SYSTEMD_MOUNT_WHERE=
SYSTEMD_READY=
SYSTEMD_USER_WANTS=
SYSTEMD_WANTS=
link_priority=
static_node=
string_escape=
ARP=
ARPAllTargets=
ARPIPTargets=
ARPIntervalSec=
ARPValidate=
ActiveSlave=
AdSelect=
Address=
AddressAutoconfiguration=
AgeingTimeSec=
Alias=
AllSlavesActive=
AllowLocalRemote=
AllowPortToBeRoot=
AllowedIPs=
Anonymize=
Architecture=
AutoJoin=
AutoNegotiation=
BindCarrier=
BitsPerSecond=
Bond=
Bridge=
Broadcast=
Cache=
CacheFromLocalhost=
ClientIdentifier=
ConfigureWithoutCarrier=
CopyDSCP=
Cost=
CriticalConnection=
DHCP=
DHCPServer=
DNS=
DNSLifetimeSec=
DNSSEC=
DNSSECNegativeTrustAnchors=
DNSStubListener=
DNSStubListenerExtra=
DUIDRawData=
DUIDType=
DefaultLeaseTimeSec=
DefaultPVID=
Description=
Destination=
DestinationPort=
DiscoverPathMTU=
Domains=
DownDelaySec=
Driver=
Duplex=
DuplicateAddressDetection=
EgressUntagged=
EmitDNS=
EmitDomains=
EmitLLDP=
EmitNTP=
EmitRouter=
EmitTimezone=
EncapsulationLimit=
Endpoint=
FDBAgeingSec=
FailOverMACPolicy=
FallbackDNS=
FallbackNTP=
FastLeave=
FirewallMark=
Flags=
FlowLabel=
ForwardDelaySec=
From=
FwMark=
GVRP=
Gateway=
GatewayOnLink=
GenericReceiveOffload=
GenericSegmentationOffload=
GratuitousARP=
Group=
GroupForwardMask=
GroupPolicyExtension=
HairPin=
MulticastToUnicast=
HelloTimeSec=
HomeAddress=
Host=
Hostname=
IAID=
IPForward=
IPMasquerade=
IPv4LLRoute=
IPv4ProxyARP=
IPv6AcceptRA=
IPv6DuplicateAddressDetection=
IPv6FlowLabel=
IPv6HopLimit=
IPv6Preference=
IPv6PrefixDelegation=
IPv6PrivacyExtensions=
IPv6ProxyNDP=
IPv6ProxyNDPAddress=
IPv6Token=
Id=
IncomingInterface=
Independent=
InitialAdvertisedReceiveWindow=
InitialCongestionWindow=
InputKey=
InvertRule=
KernelCommandLine=
KernelVersion=
Key=
Kind=
L2MissNotification=
L3MissNotification=
LACPTransmitRate=
LLDP=
LLMNR=
Label=
LargeReceiveOffload=
LearnPacketIntervalSec=
LinkLocalAddressing=
ListenPort=
Local=
LooseBinding=
MACAddress=
MACAddressPolicy=
MACVLAN=
MIIMonitorSec=
MTUBytes=
MVRP=
MacLearning=
ManageTemporaryAddress=
Managed=
MaxAgeSec=
MaxLeaseTimeSec=
MaximumFDBEntries=
Metric=
MinLinks=
Mode=
MultiQueue=
MulticastDNS=
MulticastQuerier=
MulticastSnooping=
NTP=
Name=
NamePolicy=
OnLink=
OneQueue=
OriginalName=
OtherInformation=
OutgoingInterface=
OutputKey=
PVID=
PacketInfo=
PacketsPerSlave=
Path=
Peer=
PersistentKeepalive=
PollIntervalMaxSec=
PollIntervalMinSec=
PoolOffset=
PoolSize=
Port=
PortRange=
PreferredLifetime=
PreferredLifetimeSec=
PreferredSource=
Prefix=
PrefixRoute=
PresharedKey=
PrimaryReselectPolicy=
PrimarySlave=
Priority=
PrivateKey=
Protocol=
PublicKey=
QuickAck=
RapidCommit=
ReduceARPProxy=
Remote=
RemoteChecksumRx=
RemoteChecksumTx=
ReorderHeader=
RequestBroadcast=
RequiredForOnline=
ResendIGMP=
RootDistanceMaxSec=
RouteMetric=
RouteShortCircuit=
RouteTable=
RouterLifetimeSec=
RouterPreference=
STP=
Scope=
SendHostname=
Source=
SuppressPrefixLength=
TCP6SegmentationOffload=
TCPSegmentationOffload=
TOS=
TTL=
Table=
Timezone=
To=
TransmitHashPolicy=
Tunnel=
TxtData=
TxtText=
Type=
TypeOfService=
UDP6ZeroChecksumRx=
UDP6ZeroChecksumTx=
UDPChecksum=
UDPSegmentationOffload=
UnicastFlood=
Unmanaged=
UpDelaySec=
UseBPDU=
UseDNS=
UseDomains=
UseHostname=
UseMTU=
UseNTP=
UseRoutes=
UseTimezone=
User=
VLAN=
VLANFiltering=
VLANId=
VNetHeader=
VRF=
VXLAN=
ValidLifetimeSec=
VendorClassIdentifier=
Virtualization=
WakeOnLan=
Weight=
CODE_FILE=
CODE_FUNC=
CODE_LINE=
COREDUMP_UNIT=
COREDUMP_USER_UNIT=
ERRNO=
MESSAGE=
MESSAGE_ID=
OBJECT_AUDIT_LOGINUID=
OBJECT_AUDIT_SESSION=
OBJECT_CMDLINE=
OBJECT_COMM=
OBJECT_EXE=
OBJECT_GID=
OBJECT_PID=
OBJECT_SYSTEMD_CGROUP=
OBJECT_SYSTEMD_OWNER_UID=
OBJECT_SYSTEMD_SESSION=
OBJECT_SYSTEMD_UNIT=
OBJECT_SYSTEMD_USER_UNIT=
OBJECT_UID=
PRIORITY=
SYSLOG_FACILITY=
SYSLOG_IDENTIFIER=
SYSLOG_PID=
_AUDIT_LOGINUID=
_AUDIT_SESSION=
_BOOT_ID=
_CAP_EFFECTIVE=
_CMDLINE=
_COMM=
_EXE=
_GID=
_HOSTNAME=
_KERNEL_DEVICE=
_KERNEL_SUBSYSTEM=
_LINE_BREAK=
_MACHINE_ID=
_PID=
_SELINUX_CONTEXT=
_SOURCE_REALTIME_TIMESTAMP=
_STREAM_ID=
_SYSTEMD_CGROUP=
_SYSTEMD_INVOCATION_ID=
_SYSTEMD_OWNER_UID=
_SYSTEMD_SESSION=
_SYSTEMD_SLICE=
_SYSTEMD_UNIT=
_SYSTEMD_USER_UNIT=
_TRANSPORT=
_UDEV_DEVLINK=
_UDEV_DEVNODE=
_UDEV_SYSNAME=
_UID=
__CURSOR=
__MONOTONIC_TIMESTAMP=
__REALTIME_TIMESTAMP=
class=
type=
cipher=
hash=
header=
key-slot=
keyfile-offset=
keyfile-size=
offset=
size=
skip=
tcrypt-keyfile=
timeout=
tries=
x-systemd.after=
x-systemd.before=
x-systemd.device-timeout=
x-systemd.idle-timeout=
x-systemd.mount-timeout=
x-systemd.requires-mounts-for=
x-systemd.requires=
CPUAffinity=
CapabilityBoundingSet=
CrashChangeVT=
CrashReboot=
CrashShell=
CtrlAltDelBurstAction=
DefaultBlockIOAccounting=
DefaultCPUAccounting=
DefaultEnvironment=
DefaultIPAccounting=
DefaultLimitAS=
DefaultLimitCORE=
DefaultLimitCPU=
DefaultLimitDATA=
DefaultLimitFSIZE=
DefaultLimitLOCKS=
DefaultLimitMEMLOCK=
DefaultLimitMSGQUEUE=
DefaultLimitNICE=
DefaultLimitNOFILE=
DefaultLimitNPROC=
DefaultLimitRSS=
DefaultLimitRTPRIO=
DefaultLimitRTTIME=
DefaultLimitSIGPENDING=
DefaultLimitSTACK=
DefaultMemoryAccounting=
DefaultRestartSec=
DefaultStandardError=
DefaultStandardOutput=
DefaultStartLimitBurst=
DefaultStartLimitIntervalSec=
DefaultTasksAccounting=
DefaultTasksMax=
DefaultTimeoutStartSec=
DefaultTimeoutStopSec=
DefaultTimeoutAbortSec=
DefaultTimerAccuracySec=
DumpCore=
HibernateMode=
HibernateState=
HybridSleepMode=
HybridSleepState=
LogColor=
LogLevel=
LogLocation=
LogTarget=
RuntimeWatchdogSec=
ShowStatus=
RebootWatchdogSec=
ShutdownWatchdogSec=
KExecWatchdogSec=
SuspendMode=
SuspendState=
SystemCallArchitectures=
TimerSlackNSec=
WatchdogDevice=
-N=
-c=
-e=
-t=
ANSI_COLOR=
AppArmorProfile=
BUG_REPORT_URL=
BUILD_ID=
Bind=
BindReadOnly=
Boot=
Bridge=
CHASSIS=
CPE_NAME=
CPUAffinity=
CPUSchedulingPolicy=
CPUSchedulingPriority=
CPUSchedulingResetOnFork=
CacheDirectory=
CacheDirectoryMode=
Capability=
Compress=
ConfigurationDirectory=
ConfigurationDirectoryMode=
DEPLOYMENT=
DropCapability=
Environment=
EnvironmentFile=
ExternalSizeMax=
FONT=
FONT_MAP=
FONT_UNIMAP=
ForwardToConsole=
ForwardToKMsg=
ForwardToSyslog=
ForwardToWall=
HOME_URL=
HandleHibernateKey=
HandleLidSwitch=
HandleLidSwitchDocked=
HandleLidSwitchExternalPower=
HandlePowerKey=
HandleSuspendKey=
HibernateKeyIgnoreInhibited=
HoldoffTimeoutSec=
ICON_NAME=
ID=
ID_LIKE=
IOSchedulingClass=
IOSchedulingPriority=
IPVLAN=
IdleAction=
IdleActionSec=
IgnoreSIGPIPE=
InaccessiblePaths=
InhibitDelayMaxSec=
InhibitorsMax=
Interface=
JournalSizeMax=
KEYMAP=
KEYMAP_TOGGLE=
KeepFree=
KeyringMode=
ProtectProc=
ProcSubset=
KillExcludeUsers=
KillOnlyUsers=
KillSignal=
WatchdogSignal=
KillUserProcesses=
LOCATION=
LidSwitchIgnoreInhibited=
LimitAS=
LimitCORE=
LimitCPU=
LimitDATA=
LimitFSIZE=
LimitLOCKS=
LimitMEMLOCK=
LimitMSGQUEUE=
LimitNICE=
LimitNOFILE=
LimitNPROC=
LimitRSS=
LimitRTPRIO=
LimitRTTIME=
LimitSIGPENDING=
LimitSTACK=
LineMax=
LockPersonality=
LogExtraFields=
LogLevelMax=
LogRateLimitIntervalSec=
LogRateLimitBurst=
LogsDirectory=
LogsDirectoryMode=
MACVLAN=
MachineID=
MaxFileSec=
MaxLevelConsole=
MaxLevelKMsg=
MaxLevelStore=
MaxLevelSyslog=
MaxLevelWall=
MaxRetentionSec=
MaxUse=
MemoryDenyWriteExecute=
MountFlags=
NAME=
NAutoVTs=
Nice=
NoNewPrivileges=
NotifyReady=
OOMScoreAdjust=
Overlay=
OverlayReadOnly=
PRETTY_HOSTNAME=
PRETTY_NAME=
PRIVACY_POLICY_URL=
Parameters=
PassEnvironment=
Personality=
PivotRoot=
Port=
PowerKeyIgnoreInhibited=
Private=
PrivateIPC=
PrivateDevices=
PrivateNetwork=
PrivateTmp=
PrivateUsers=
PrivateUsersChown=
ProcessSizeMax=
ProcessTwo=
ProtectControlGroups=
ProtectHome=
ProtectKernelModules=
ProtectKernelTunables=
ProtectSystem=
RateLimitBurst=
RateLimitIntervalSec=
ReadKMsg=
ReadOnly=
ReadOnlyPaths=
ReadWriteOnly=
ReadWritePaths=
RemoveIPC=
ReserveVT=
RestrictAddressFamilies=
RestrictNamespaces=
RestrictRealtime=
RestrictSUIDSGID=
RuntimeDirectory=
RuntimeDirectoryInodesMax=
RuntimeDirectoryMode=
RuntimeDirectoryPreserve=
RuntimeDirectorySize=
RuntimeKeepFree=
RuntimeMaxFileSize=
RuntimeMaxFiles=
RuntimeMaxUse=
SELinuxContext=
SUPPORT_URL=
Seal=
ServerCertificateFile=
ServerKeyFile=
SessionsMax=
SmackProcessLabel=
SplitMode=
StandardError=
StandardInput=
StandardInputData=
StandardInputText=
StandardOutput=
StateDirectory=
StateDirectoryMode=
Storage=
SuspendKeyIgnoreInhibited=
SyncIntervalSec=
SyslogFacility=
SyslogIdentifier=
SyslogLevel=
SyslogLevelPrefix=
SystemCallArchitectures=
SystemCallErrorNumber=
SystemCallFilter=
SystemKeepFree=
SystemMaxFileSize=
SystemMaxFiles=
SystemMaxUse=
TTYPath=
TTYReset=
TTYVHangup=
TTYVTDisallocate=
TemporaryFileSystem=
TimerSlackNSec=
TrustedCertificateFile=
UMask=
URL=
UnsetEnvironment=
User=
UserTasksMax=
UtmpIdentifier=
UtmpMode=
VARIANT=
VARIANT_ID=
VERSION=
VERSION_CODENAME=
VERSION_ID=
VirtualEthernet=
VirtualEthernetExtra=
Volatile=
WorkingDirectory=
Zone=

View File

@ -0,0 +1,5 @@
automount
[Automount]
DirectoryMode=
TimeoutIdleSec=
Where=

View File

@ -0,0 +1,203 @@
mount
[Mount]
AllowedCPUs=
AllowedMemoryNodes=
AmbientCapabilities=
AppArmorProfile=
BindPaths=
BindReadOnlyPaths=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
CPUAccounting=
CPUAffinity=
CPUQuota=
CPUQuotaPeriodSec=
CPUSchedulingPolicy=
CPUSchedulingPriority=
CPUSchedulingResetOnFork=
CPUShares=
CPUWeight=
CacheDirectory=
CacheDirectoryMode=
Capabilities=
CapabilityBoundingSet=
ConfigurationDirectory=
ConfigurationDirectoryMode=
CoredumpFilter=
DefaultMemoryLow=
DefaultMemoryMin=
Delegate=
DeviceAllow=
DevicePolicy=
DirectoryMode=
DisableControllers=
DynamicUser=
Environment=
EnvironmentFile=
ExecPaths=
ExtensionImages=
FinalKillSignal=
ForceUnmount=
Group=
IOAccounting=
IODeviceLatencyTargetSec=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOSchedulingClass=
IOSchedulingPriority=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPCNamespacePath=
IPEgressFilterPath=
IPIngressFilterPath=
IgnoreSIGPIPE=
InaccessibleDirectories=
InaccessiblePaths=
KeyringMode=
KillMode=
KillSignal=
LazyUnmount=
LimitAS=
LimitCORE=
LimitCPU=
LimitDATA=
LimitFSIZE=
LimitLOCKS=
LimitMEMLOCK=
LimitMSGQUEUE=
LimitNICE=
LimitNOFILE=
LimitNPROC=
LimitRSS=
LimitRTPRIO=
LimitRTTIME=
LimitSIGPENDING=
LimitSTACK=
LoadCredential=
LockPersonality=
LogExtraFields=
LogLevelMax=
LogNamespace=
LogRateLimitBurst=
LogRateLimitIntervalSec=
LogsDirectory=
LogsDirectoryMode=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimit=
ManagedOOMPreference=
ManagedOOMSwap=
MemoryAccounting=
MemoryDenyWriteExecute=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemoryMin=
MemorySwapMax=
MountAPIVFS=
MountFlags=
MountImages=
NUMAMask=
NUMAPolicy=
NetClass=
NetworkNamespacePath=
Nice=
NoExecPaths=
NoNewPrivileges=
OOMScoreAdjust=
Options=
PAMName=
PassEnvironment=
Personality=
PrivateDevices=
PrivateIPC=
PrivateMounts=
PrivateNetwork=
PrivateTmp=
PrivateUsers=
ProcSubset=
ProtectClock=
ProtectControlGroups=
ProtectHome=
ProtectHostname=
ProtectKernelLogs=
ProtectKernelModules=
ProtectKernelTunables=
ProtectProc=
ProtectSystem=
ReadOnlyDirectories=
ReadOnlyPaths=
ReadWriteDirectories=
ReadWriteOnly=
ReadWritePaths=
RemoveIPC=
RestartKillSignal=
RestrictAddressFamilies=
RestrictNamespaces=
RestrictRealtime=
RestrictSUIDSGID=
RootDirectory=
RootHash=
RootHashSignature=
RootImage=
RootImageOptions=
RootVerity=
RuntimeDirectory=
RuntimeDirectoryMode=
RuntimeDirectoryPreserve=
SELinuxContext=
SecureBits=
SendSIGHUP=
SendSIGKILL=
SetCredential=
Slice=
SloppyOptions=
SmackProcessLabel=
StandardError=
StandardInput=
StandardInputData=
StandardInputText=
StandardOutput=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
StateDirectory=
StateDirectoryMode=
SupplementaryGroups=
SyslogFacility=
SyslogIdentifier=
SyslogLevel=
SyslogLevelPrefix=
SystemCallArchitectures=
SystemCallErrorNumber=
SystemCallFilter=
SystemCallLog=
TTYPath=
TTYReset=
TTYVHangup=
TTYVTDisallocate=
TasksAccounting=
TasksMax=
TemporaryFileSystem=
TimeoutCleanSec=
TimeoutSec=
TimerSlackNSec=
Type=
UMask=
UnsetEnvironment=
User=
UtmpIdentifier=
UtmpMode=
WatchdogSignal=
What=
Where=
WorkingDirectory=

View File

@ -0,0 +1,10 @@
path
[Path]
DirectoryMode=
DirectoryNotEmpty=
MakeDirectory=
PathChanged=
PathExists=
PathExistsGlob=
PathModified=
Unit=

View File

@ -1,2 +1,61 @@
scope
[Scope]
AllowedCPUs=
AllowedMemoryNodes=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
CPUAccounting=
CPUQuota=
CPUQuotaPeriodSec=
CPUShares=
CPUWeight=
DefaultMemoryLow=
DefaultMemoryMin=
Delegate=
DeviceAllow=
DevicePolicy=
DisableControllers=
FinalKillSignal=
IOAccounting=
IODeviceLatencyTargetSec=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPEgressFilterPath=
IPIngressFilterPath=
KillMode=
KillSignal=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimit=
ManagedOOMPreference=
ManagedOOMSwap=
MemoryAccounting=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemoryMin=
MemorySwapMax=
NetClass=
RestartKillSignal=
RuntimeMaxSec=
SendSIGHUP=
SendSIGKILL=
Slice=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
TasksAccounting=
TasksMax=
TimeoutStopSec=
WatchdogSignal=

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
slice
[Slice]
AllowedCPUs=
AllowedMemoryNodes=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
CPUAccounting=
CPUQuota=
CPUQuotaPeriodSec=
CPUShares=
CPUWeight=
DefaultMemoryLow=
DefaultMemoryMin=
Delegate=
DeviceAllow=
DevicePolicy=
DisableControllers=
IOAccounting=
IODeviceLatencyTargetSec=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPEgressFilterPath=
IPIngressFilterPath=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimit=
ManagedOOMPreference=
ManagedOOMSwap=
MemoryAccounting=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemoryMin=
MemorySwapMax=
NetClass=
Slice=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
TasksAccounting=
TasksMax=

View File

@ -0,0 +1,253 @@
socket
[Socket]
Accept=
AllowedCPUs=
AllowedMemoryNodes=
AmbientCapabilities=
AppArmorProfile=
Backlog=
BindIPv6Only=
BindPaths=
BindReadOnlyPaths=
BindToDevice=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
Broadcast=
CPUAccounting=
CPUAffinity=
CPUQuota=
CPUQuotaPeriodSec=
CPUSchedulingPolicy=
CPUSchedulingPriority=
CPUSchedulingResetOnFork=
CPUShares=
CPUWeight=
CacheDirectory=
CacheDirectoryMode=
Capabilities=
CapabilityBoundingSet=
ConfigurationDirectory=
ConfigurationDirectoryMode=
CoredumpFilter=
DefaultMemoryLow=
DefaultMemoryMin=
DeferAcceptSec=
Delegate=
DeviceAllow=
DevicePolicy=
DirectoryMode=
DisableControllers=
DynamicUser=
Environment=
EnvironmentFile=
ExecPaths=
ExecStartPost=
ExecStartPre=
ExecStopPost=
ExecStopPre=
ExtensionImages=
FileDescriptorName=
FinalKillSignal=
FlushPending=
FreeBind=
Group=
IOAccounting=
IODeviceLatencyTargetSec=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOSchedulingClass=
IOSchedulingPriority=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPCNamespacePath=
IPEgressFilterPath=
IPIngressFilterPath=
IPTOS=
IPTTL=
IgnoreSIGPIPE=
InaccessibleDirectories=
InaccessiblePaths=
KeepAlive=
KeepAliveIntervalSec=
KeepAliveProbes=
KeepAliveTimeSec=
KeyringMode=
KillMode=
KillSignal=
LimitAS=
LimitCORE=
LimitCPU=
LimitDATA=
LimitFSIZE=
LimitLOCKS=
LimitMEMLOCK=
LimitMSGQUEUE=
LimitNICE=
LimitNOFILE=
LimitNPROC=
LimitRSS=
LimitRTPRIO=
LimitRTTIME=
LimitSIGPENDING=
LimitSTACK=
ListenDatagram=
ListenFIFO=
ListenMessageQueue=
ListenNetlink=
ListenSequentialPacket=
ListenSpecial=
ListenStream=
ListenUSBFunction=
LoadCredential=
LockPersonality=
LogExtraFields=
LogLevelMax=
LogNamespace=
LogRateLimitBurst=
LogRateLimitIntervalSec=
LogsDirectory=
LogsDirectoryMode=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimit=
ManagedOOMPreference=
ManagedOOMSwap=
Mark=
MaxConnections=
MaxConnectionsPerSource=
MemoryAccounting=
MemoryDenyWriteExecute=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemoryMin=
MemorySwapMax=
MessageQueueMaxMessages=
MessageQueueMessageSize=
MountAPIVFS=
MountFlags=
MountImages=
NUMAMask=
NUMAPolicy=
NetClass=
NetworkNamespacePath=
Nice=
NoDelay=
NoExecPaths=
NoNewPrivileges=
OOMScoreAdjust=
PAMName=
PassCredentials=
PassEnvironment=
PassPacketInfo=
PassSecurity=
Personality=
PipeSize=
Priority=
PrivateDevices=
PrivateIPC=
PrivateMounts=
PrivateNetwork=
PrivateTmp=
PrivateUsers=
ProcSubset=
ProtectClock=
ProtectControlGroups=
ProtectHome=
ProtectHostname=
ProtectKernelLogs=
ProtectKernelModules=
ProtectKernelTunables=
ProtectProc=
ProtectSystem=
ReadOnlyDirectories=
ReadOnlyPaths=
ReadWriteDirectories=
ReadWritePaths=
ReceiveBuffer=
RemoveIPC=
RemoveOnStop=
RestartKillSignal=
RestrictAddressFamilies=
RestrictNamespaces=
RestrictRealtime=
RestrictSUIDSGID=
ReusePort=
RootDirectory=
RootHash=
RootHashSignature=
RootImage=
RootImageOptions=
RootVerity=
RuntimeDirectory=
RuntimeDirectoryMode=
RuntimeDirectoryPreserve=
SELinuxContext=
SELinuxContextFromNet=
SecureBits=
SendBuffer=
SendSIGHUP=
SendSIGKILL=
Service=
SetCredential=
Slice=
SmackLabel=
SmackLabelIPIn=
SmackLabelIPOut=
SmackProcessLabel=
SocketGroup=
SocketMode=
SocketProtocol=
SocketUser=
StandardError=
StandardInput=
StandardInputData=
StandardInputText=
StandardOutput=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
StateDirectory=
StateDirectoryMode=
SupplementaryGroups=
Symlinks=
SyslogFacility=
SyslogIdentifier=
SyslogLevel=
SyslogLevelPrefix=
SystemCallArchitectures=
SystemCallErrorNumber=
SystemCallFilter=
SystemCallLog=
TCPCongestion=
TTYPath=
TTYReset=
TTYVHangup=
TTYVTDisallocate=
TasksAccounting=
TasksMax=
TemporaryFileSystem=
TimeoutCleanSec=
TimeoutSec=
TimerSlackNSec=
Timestamping=
Transparent=
TriggerLimitBurst=
TriggerLimitIntervalSec=
UMask=
UnsetEnvironment=
User=
UtmpIdentifier=
UtmpMode=
WatchdogSignal=
WorkingDirectory=
Writable=

View File

@ -0,0 +1,197 @@
swap
[Swap]
AllowedCPUs=
AllowedMemoryNodes=
AmbientCapabilities=
AppArmorProfile=
BindPaths=
BindReadOnlyPaths=
BlockIOAccounting=
BlockIODeviceWeight=
BlockIOReadBandwidth=
BlockIOWeight=
BlockIOWriteBandwidth=
CPUAccounting=
CPUAffinity=
CPUQuota=
CPUQuotaPeriodSec=
CPUSchedulingPolicy=
CPUSchedulingPriority=
CPUSchedulingResetOnFork=
CPUShares=
CPUWeight=
CacheDirectory=
CacheDirectoryMode=
Capabilities=
CapabilityBoundingSet=
ConfigurationDirectory=
ConfigurationDirectoryMode=
CoredumpFilter=
DefaultMemoryLow=
DefaultMemoryMin=
Delegate=
DeviceAllow=
DevicePolicy=
DisableControllers=
DynamicUser=
Environment=
EnvironmentFile=
ExecPaths=
ExtensionImages=
FinalKillSignal=
Group=
IOAccounting=
IODeviceLatencyTargetSec=
IODeviceWeight=
IOReadBandwidthMax=
IOReadIOPSMax=
IOSchedulingClass=
IOSchedulingPriority=
IOWeight=
IOWriteBandwidthMax=
IOWriteIOPSMax=
IPAccounting=
IPAddressAllow=
IPAddressDeny=
IPCNamespacePath=
IPEgressFilterPath=
IPIngressFilterPath=
IgnoreSIGPIPE=
InaccessibleDirectories=
InaccessiblePaths=
KeyringMode=
KillMode=
KillSignal=
LimitAS=
LimitCORE=
LimitCPU=
LimitDATA=
LimitFSIZE=
LimitLOCKS=
LimitMEMLOCK=
LimitMSGQUEUE=
LimitNICE=
LimitNOFILE=
LimitNPROC=
LimitRSS=
LimitRTPRIO=
LimitRTTIME=
LimitSIGPENDING=
LimitSTACK=
LoadCredential=
LockPersonality=
LogExtraFields=
LogLevelMax=
LogNamespace=
LogRateLimitBurst=
LogRateLimitIntervalSec=
LogsDirectory=
LogsDirectoryMode=
ManagedOOMMemoryPressure=
ManagedOOMMemoryPressureLimit=
ManagedOOMPreference=
ManagedOOMSwap=
MemoryAccounting=
MemoryDenyWriteExecute=
MemoryHigh=
MemoryLimit=
MemoryLow=
MemoryMax=
MemoryMin=
MemorySwapMax=
MountAPIVFS=
MountFlags=
MountImages=
NUMAMask=
NUMAPolicy=
NetClass=
NetworkNamespacePath=
Nice=
NoExecPaths=
NoNewPrivileges=
OOMScoreAdjust=
Options=
PAMName=
PassEnvironment=
Personality=
Priority=
PrivateDevices=
PrivateIPC=
PrivateMounts=
PrivateNetwork=
PrivateTmp=
PrivateUsers=
ProcSubset=
ProtectClock=
ProtectControlGroups=
ProtectHome=
ProtectHostname=
ProtectKernelLogs=
ProtectKernelModules=
ProtectKernelTunables=
ProtectProc=
ProtectSystem=
ReadOnlyDirectories=
ReadOnlyPaths=
ReadWriteDirectories=
ReadWritePaths=
RemoveIPC=
RestartKillSignal=
RestrictAddressFamilies=
RestrictNamespaces=
RestrictRealtime=
RestrictSUIDSGID=
RootDirectory=
RootHash=
RootHashSignature=
RootImage=
RootImageOptions=
RootVerity=
RuntimeDirectory=
RuntimeDirectoryMode=
RuntimeDirectoryPreserve=
SELinuxContext=
SecureBits=
SendSIGHUP=
SendSIGKILL=
SetCredential=
Slice=
SmackProcessLabel=
StandardError=
StandardInput=
StandardInputData=
StandardInputText=
StandardOutput=
StartupBlockIOWeight=
StartupCPUShares=
StartupCPUWeight=
StartupIOWeight=
StateDirectory=
StateDirectoryMode=
SupplementaryGroups=
SyslogFacility=
SyslogIdentifier=
SyslogLevel=
SyslogLevelPrefix=
SystemCallArchitectures=
SystemCallErrorNumber=
SystemCallFilter=
SystemCallLog=
TTYPath=
TTYReset=
TTYVHangup=
TTYVTDisallocate=
TasksAccounting=
TasksMax=
TemporaryFileSystem=
TimeoutCleanSec=
TimeoutSec=
TimerSlackNSec=
UMask=
UnsetEnvironment=
User=
UtmpIdentifier=
UtmpMode=
WatchdogSignal=
What=
WorkingDirectory=

View File

@ -0,0 +1,17 @@
timer
[Timer]
AccuracySec=
FixedRandomDelay=
OnActiveSec=
OnBootSec=
OnCalendar=
OnClockChange=
OnStartupSec=
OnTimezoneChange=
OnUnitActiveSec=
OnUnitInactiveSec=
Persistent=
RandomizedDelaySec=
RemainAfterElapse=
Unit=
WakeSystem=

View File

@ -1,37 +1,71 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
set -eu
which perl &>/dev/null || exit 77
SOURCE_ROOT="${1:?Missing argument: project source root}"
BUILD_ROOT="${2:?Missing argument: project build root}"
command -v gawk &>/dev/null || exit 77
function generate_directives() {
perl -aF'/[\s,]+/' -ne '
if (my ($s, $d) = ($F[0] =~ /^([^\s\.]+)\.([^\s\.]+)$/)) { $d{$s}{"$d="} = 1; }
END { while (my ($key, $value) = each %d) {
printf "[%s]\n%s\n", $key, join("\n", keys(%$value))
}}' "$1"
gawk -v sec_rx="${2:-""}" -v unit_type="${3:-""}" '
match($0, /^([^ \t\.]+)\.([^ \t\.,]+)/, m) {
# res[section][directive] = 1
res[m[1]][m[2]] = 1;
}
END {
if (unit_type)
print unit_type
for (section in res) {
if (sec_rx && section !~ sec_rx)
continue
print "[" section "]";
for (directive in res[section]) {
print directive "=";
}
}
}
' "$1"
}
ret=0
if ! diff \
<(generate_directives "$1"/src/network/networkd-network-gperf.gperf | sort) \
<(cat "$1"/test/fuzz/fuzz-network-parser/directives.network | sort); then
<(generate_directives "$SOURCE_ROOT"/src/network/networkd-network-gperf.gperf | sort) \
<(sort "$SOURCE_ROOT"/test/fuzz/fuzz-network-parser/directives.network); then
echo "Looks like test/fuzz/fuzz-network-parser/directives.network hasn't been updated"
ret=1
fi
if ! diff \
<(generate_directives "$1"/src/network/netdev/netdev-gperf.gperf | sort) \
<(cat "$1"/test/fuzz/fuzz-netdev-parser/directives.netdev | sort); then
<(generate_directives "$SOURCE_ROOT"/src/network/netdev/netdev-gperf.gperf | sort) \
<(sort "$SOURCE_ROOT"/test/fuzz/fuzz-netdev-parser/directives.netdev); then
echo "Looks like test/fuzz/fuzz-netdev-parser/directives.netdev hasn't been updated"
ret=1
fi
if ! diff \
<(generate_directives "$1"/src/udev/net/link-config-gperf.gperf | sort) \
<(cat "$1"/test/fuzz/fuzz-link-parser/directives.link | sort) ; then
<(generate_directives "$SOURCE_ROOT"/src/udev/net/link-config-gperf.gperf | sort) \
<(sort "$SOURCE_ROOT"/test/fuzz/fuzz-link-parser/directives.link) ; then
echo "Looks like test/fuzz/fuzz-link-parser/directives.link hasn't been updated"
ret=1
fi
for section in Automount Mount Path Scope Slice Socket Swap Timer; do
if ! diff \
<(generate_directives "$BUILD_ROOT"/src/core/load-fragment-gperf.gperf "$section" "${section,,}" | sort) \
<(sort "$SOURCE_ROOT/test/fuzz/fuzz-unit-file/directives.${section,,}") ; then
echo "Looks like test/fuzz/fuzz-unit-file/directives.${section,,} hasn't been updated"
ret=1
fi
done
if ! diff \
<(generate_directives "$BUILD_ROOT"/src/core/load-fragment-gperf.gperf "(Service|Unit|Install)" "service" | sort) \
<(sort "$SOURCE_ROOT/test/fuzz/fuzz-unit-file/directives.service") ; then
echo "Looks like test/fuzz/fuzz-unit-file/directives.service hasn't been updated"
ret=1
fi
exit $ret