summaryrefslogtreecommitdiff
path: root/src/validators
diff options
context:
space:
mode:
authorNataliia Solomko <natalirs1985@gmail.com>2026-03-20 18:02:50 +0200
committerNataliia Solomko <natalirs1985@gmail.com>2026-03-20 18:27:43 +0200
commit36b73f909857f3d8327af73bfd4332c639d0da2f (patch)
tree2640330ada79133b1e59dd036b6bfc4b985b322c /src/validators
parentfc06cc45148a42171baf9f4ae01da33c3f0df1aa (diff)
downloadvyos-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-xsrc/validators/ipv6-eui64-prefix13
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)