summaryrefslogtreecommitdiff
path: root/scripts/image-build/build-vyos-image
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-04-08 20:42:46 +0200
committerChristian Breunig <christian@breunig.cc>2024-04-08 20:43:35 +0200
commit611cfc85c531f6b6c55f89503d6d2cdf84213317 (patch)
treebc3434406189d831b619425ff9a06ff27dfb382c /scripts/image-build/build-vyos-image
parent0c12b79fd8d13db8e7b9789132a0eb7f5ba27a8d (diff)
downloadvyos-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.-+
Diffstat (limited to 'scripts/image-build/build-vyos-image')
-rwxr-xr-xscripts/image-build/build-vyos-image8
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)