From 611cfc85c531f6b6c55f89503d6d2cdf84213317 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Mon, 8 Apr 2024 20:42:46 +0200 Subject: 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.-+ --- scripts/image-build/build-vyos-image | 8 ++++++++ 1 file changed, 8 insertions(+) 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) -- cgit v1.2.3