Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SJrX/systemdUnitFilePlugin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 242.x
Choose a base ref
...
head repository: SJrX/systemdUnitFilePlugin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: issue-446
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 25 files changed
  • 3 contributors

Commits on May 23, 2026

  1. feat: add 6 validators - cpu_quota, htb_class_size, delegate, syscall…

    …_errno, address_families, pass_environ (Resolves #446)
    
    Batch 2/5 of the burn-down extension. Each grammar mirrors the systemd C parser:
    
    - config_parse_cpu_quota: parse_permyriad_unbounded, percent form unbounded (200% valid)
    - config_parse_htb_class_size (TCLASS_KIND_HTB): IEC byte size, same shape as tbf_size/fq_size
    - config_parse_delegate: boolean OR whitespace-separated cgroup controller names
    - config_parse_syscall_errno: "kill" OR errno name (E*) OR integer
    - config_parse_address_families: "none" OR optional ~ + list of AF_* names
    - config_parse_pass_environ: list of env var names (specifier-aware)
    
    Note for future validators: when an Alternative contains both a FlexibleLiteralChoiceTerminal
    (like BOOLEAN) and a more specific structured branch, put the structured branch first.
    FlexibleLiteralChoice's syntactic phase accepts any short alphanumeric token in its character
    class, so a single-token input like "cpu" would syntactically pass BOOLEAN and AlternativeCombinator
    would short-circuit before reaching the structured branch.
    
    OptionValueTest missing-function count drops 394 -> 388; found-key count rises 1780 -> 1812.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Steve Ramage and claude committed May 23, 2026
    Configuration menu
    Copy the full SHA
    3f843b6 View commit details
    Browse the repository at this point in the history
  2. feat: add 6 validators - private_users, managed_oom_rules, restrict_n…

    …etwork_interfaces, bind_network_interface, working_directory, unit_env_file (Resolves #448) (#449)
    
    Batch 3/5 of the burn-down extension. Each grammar mirrors the systemd C parser:
    
    - config_parse_private_users (.nspawn): boolean | "pick" | "identity" | uid[:range]
    - config_parse_managed_oom_rules: list of filename-safe rule names (string_is_safe STRING_FILENAME)
    - config_parse_restrict_network_interfaces: optional ~ + list of ALTERNATIVE-length ifnames
    - config_parse_bind_network_interface: single ALTERNATIVE-length ifname (specifier-aware)
    - config_parse_working_directory: optional - + (~ | absolute path)
    - config_parse_unit_env_file: optional - + absolute path
    
    Alternative-order gotcha (from #447): for private_users, BOOLEAN is placed LAST so its
    FlexibleLiteralChoice syntactic regex doesn't greedily match prefixes of "pick"/"identity"
    and short-circuit the AlternativeCombinator.
    
    OptionValueTest missing-function count drops 388 -> 382; found-key count rises 1812 -> 1846.
    
    Co-authored-by: Steve Ramage <gitcommits@sjrx.net>
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    3 people authored May 23, 2026
    Configuration menu
    Copy the full SHA
    470ba27 View commit details
    Browse the repository at this point in the history
Loading