diff options
author | Christian Breunig <christian@breunig.cc> | 2024-04-08 20:42:46 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-04-08 20:43:35 +0200 |
commit | 611cfc85c531f6b6c55f89503d6d2cdf84213317 (patch) | |
tree | bc3434406189d831b619425ff9a06ff27dfb382c | |
parent | 0c12b79fd8d13db8e7b9789132a0eb7f5ba27a8d (diff) | |
download | vyos-build-611cfc85c531f6b6c55f89503d6d2cdf84213317.tar.gz vyos-build-611cfc85c531f6b6c55f89503d6d2cdf84213317.zip |
T6173: validate allowed characters in ISO image name
Building custom VyOS version: 1.5-asdf%-202404081841
I: Checking if packages required for VyOS image build are installed
Version contained illegal character(s), allowed: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-+
-rwxr-xr-x | scripts/image-build/build-vyos-image | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image index 250a1d2c..3b265a01 100755 --- a/scripts/image-build/build-vyos-image +++ b/scripts/image-build/build-vyos-image @@ -28,6 +28,7 @@ import platform import argparse import datetime import functools +import string import json @@ -227,6 +228,13 @@ if __name__ == "__main__": print("Use --build-type=release option if you want to set version number") sys.exit(1) + # Validate characters in version name + if 'version' in args: + allowed = string.ascii_letters + string.digits + '.' + '-' + '+' + if not set(args['version']) <= set(allowed): + print(f'Version contained illegal character(s), allowed: {allowed}') + sys.exit(1) + ## Inject some useful hardcoded options args['build_dir'] = defaults.BUILD_DIR args['pbuilder_config'] = os.path.join(defaults.BUILD_DIR, defaults.PBUILDER_CONFIG) |