To reproduce
set system config-management commit-archive location 'scp://test123:foo%bar12/34!k@172.18.254.201/config/tftpboot'
The password / is treated wrongly and generates:
VyOS 1.3 equuleus
cpo@LR3.wue3# commit
Archiving config...
scp://test123:foo%bar12/34!k@172.18.254.201/config/tftpboot Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/vyos/remote.py", line 312, in upload
urlc(urlstring, *args, **kwargs).upload(local_path)
File "/usr/lib/python3/dist-packages/vyos/remote.py", line 304, in urlc
return url_classes[url.scheme](url, *args, **kwargs)
File "/usr/lib/python3/dist-packages/vyos/remote.py", line 172, in __init__
self.port = url.port or 22
File "/usr/lib/python3.7/urllib/parse.py", line 169, in port
port = int(port, 10)
ValueError: invalid literal for int() with base 10: 'foo%bar12'VyOS 1.4 sagitta
cpo@LR2.wue3# set system config-management commit-archive location 'scp://test123:foo%bar12/34!k@172.18.254.201/config/tftpboot' "//test123:foo%bar12/34!k@172.18.254.201/config/tftpboot" is not a valid URI for the scp URL scheme Invalid value Value validation failed Set failed
I do not know which one is more bad, at least the 1.4 error will generate errors during image upgrades as now the validator fails