diff options
| author | Nataliia Solomko <natalirs1985@gmail.com> | 2026-03-20 18:02:50 +0200 |
|---|---|---|
| committer | Nataliia Solomko <natalirs1985@gmail.com> | 2026-03-20 18:27:43 +0200 |
| commit | 36b73f909857f3d8327af73bfd4332c639d0da2f (patch) | |
| tree | 2640330ada79133b1e59dd036b6bfc4b985b322c /src/validators | |
| parent | fc06cc45148a42171baf9f4ae01da33c3f0df1aa (diff) | |
| download | vyos-1x-36b73f909857f3d8327af73bfd4332c639d0da2f.tar.gz vyos-1x-36b73f909857f3d8327af73bfd4332c639d0da2f.zip | |
validators: T8384: ipv6-eui64-prefix: unhandled exception on eui-64 address validation
Diffstat (limited to 'src/validators')
| -rwxr-xr-x | src/validators/ipv6-eui64-prefix | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/validators/ipv6-eui64-prefix b/src/validators/ipv6-eui64-prefix index d7f262633..73ef9b29e 100755 --- a/src/validators/ipv6-eui64-prefix +++ b/src/validators/ipv6-eui64-prefix @@ -2,6 +2,8 @@ # Validator used to check if given IPv6 prefix is of size /64 required by EUI64 +import ipaddress + from sys import argv from sys import exit @@ -10,7 +12,14 @@ if __name__ == '__main__': exit(1) prefix = argv[1] - if prefix.split('/')[1] == '64': - exit(0) + + try: + network = ipaddress.ip_network(prefix) + if network.prefixlen == 64: + exit(0) + except ValueError: + print( + 'EUI64 prefix must be a valid IPv6 prefix in CIDR notation (e.g., 2001:db8::/64)' + ) exit(1) |
