diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/Vyatta/TypeChecker.pm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Vyatta/TypeChecker.pm b/lib/Vyatta/TypeChecker.pm index 37f365d..89b8932 100755 --- a/lib/Vyatta/TypeChecker.pm +++ b/lib/Vyatta/TypeChecker.pm @@ -67,6 +67,8 @@ my %type_handler = ( 'ipv6_negate' => \&validate_ipv6_negate, 'ipv6net' => \&validate_ipv6net, 'ipv6net_negate' => \&validate_ipv6net_negate, + 'hex16' => \&validate_hex_16_bits, + 'hex32' => \&validate_hex_32_bits, ); sub validate_ipv4 { @@ -222,6 +224,20 @@ sub validate_ipv6net_negate { return validate_ipv6net($value); } +# Validate a 16-bit hex value, no leading "0x" +sub validate_hex_16_bits { + my $value = shift; + $value = lc $value; + return 1 if ($value =~ /^[0-9a-f]{4}$/) +} + +# Validate a 32-bit hex value, no leading "0x" +sub validate_hex_32_bits { + my $value = shift; + $value = lc $value; + return 1 if ($value =~ /^[0-9a-f]{8}$/) +} + sub validateType { my ($type, $value, $quiet) = @_; if (!defined($type) || !defined($value)) { |