diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-11 18:36:36 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-11 18:36:36 -0500 |
| commit | 605b9503e5934ffb93e7de9e583bdd68ea550844 (patch) | |
| tree | 85117ab321f12cfb5df20b09f2955c92bbf4bc36 /scripts/testing/lib/validation.sh | |
| parent | dd4a0bdd5291a8375729b7046742689c60847126 (diff) | |
| download | archsetup-605b9503e5934ffb93e7de9e583bdd68ea550844.tar.gz archsetup-605b9503e5934ffb93e7de9e583bdd68ea550844.zip | |
fix(archsetup): accept local-path repo specs in config validation
The `validate_config()` repo check I just added used a scheme allowlist (`http(s)://`, `git://`, `ssh://`, `user@host:path`), which rejected `ARCHSETUP_REPO=/tmp/archsetup-test` in `scripts/testing/archsetup-vm.conf`. That broke the VM test: archsetup exited during validation before logging anything, and `run-test.sh` reported "ArchSetup process not found after launch". `git clone` accepts local paths and `file://` URLs fine, so the allowlist was wrong. I replaced it with a security-only check: reject a leading dash (which `git` would parse as an option) plus whitespace and control characters, allow everything else. Smoke-tested against the test config and a matrix of repo forms.
Diffstat (limited to 'scripts/testing/lib/validation.sh')
0 files changed, 0 insertions, 0 deletions
