diff options
author | John Estabrook <jestabro@vyos.io> | 2024-01-29 10:19:07 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-29 10:19:07 -0600 |
commit | 310c3f3b5c81eb6ef15b0f313cd2f932d0a079e9 (patch) | |
tree | c1581f0d121cc4289e36fc869c8d89c683c408d4 | |
parent | f97225161941591033aa9216bb2335280522d10d (diff) | |
parent | 923741ec98192515a0eff16b8d7342e5310e0fa6 (diff) | |
download | vyos-1x-310c3f3b5c81eb6ef15b0f313cd2f932d0a079e9.tar.gz vyos-1x-310c3f3b5c81eb6ef15b0f313cd2f932d0a079e9.zip |
Merge pull request #2901 from vyos/mergify/bp/sagitta/pr-2898
image-tools: T5988: validate image name in add_image (backport #2898)
-rwxr-xr-x | src/op_mode/image_installer.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/op_mode/image_installer.py b/src/op_mode/image_installer.py index b78029c24..0564f41bc 100755 --- a/src/op_mode/image_installer.py +++ b/src/op_mode/image_installer.py @@ -67,8 +67,8 @@ MSG_WARN_ISO_SIGN_INVALID: str = 'Signature is not valid. Do you want to continu MSG_WARN_ISO_SIGN_UNAVAL: str = 'Signature is not available. Do you want to continue with installation?' MSG_WARN_ROOT_SIZE_TOOBIG: str = 'The size is too big. Try again.' MSG_WARN_ROOT_SIZE_TOOSMALL: str = 'The size is too small. Try again' -MSG_WARN_IMAGE_NAME_WRONG: str = 'The suggested name is unsupported!\n' -'It must be between 1 and 32 characters long and contains only the next characters: .+-_ a-z A-Z 0-9' +MSG_WARN_IMAGE_NAME_WRONG: str = 'The suggested name is unsupported!\n'\ +'It must be between 1 and 64 characters long and contains only the next characters: .+-_ a-z A-Z 0-9' CONST_MIN_DISK_SIZE: int = 2147483648 # 2 GB CONST_MIN_ROOT_SIZE: int = 1610612736 # 1.5 GB # a reserved space: 2MB for header, 1 MB for BIOS partition, 256 MB for EFI @@ -804,7 +804,11 @@ def add_image(image_path: str, vrf: str = None, username: str = '', f'Adding image would downgrade image tools to v.{cfg_ver}; disallowed') if not no_prompt: - image_name: str = ask_input(MSG_INPUT_IMAGE_NAME, version_name) + while True: + image_name: str = ask_input(MSG_INPUT_IMAGE_NAME, version_name) + if image.validate_name(image_name): + break + print(MSG_WARN_IMAGE_NAME_WRONG) set_as_default: bool = ask_yes_no(MSG_INPUT_IMAGE_DEFAULT, default=True) else: image_name: str = version_name @@ -859,7 +863,7 @@ def add_image(image_path: str, vrf: str = None, username: str = '', except Exception as err: # unmount an ISO and cleanup cleanup([str(iso_path)]) - exit(f'Whooops: {err}') + exit(f'Error: {err}') def parse_arguments() -> Namespace: |