File Coverage

blib/lib/IO/Validation/Firewallvalidation.pm
Criterion Covered Total %
statement 13 13 100.0
branch 3 4 75.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 20 22 90.9


line stmt bran cond sub pod time code
1             package IO::Validation::Firewallvalidation;
2              
3 2     2   72823 use 5.026001;
  2         19  
4 2     2   19 use strict;
  2         17  
  2         45  
5 2     2   10 use warnings;
  2         6  
  2         1176  
6              
7             sub validate {
8 2     2 0 6 my ($self, $alpha_2,$format) = @_;
9 2 100       17 if( not ( $alpha_2 =~ m/^((as|AS)(\d+)|(A(D|E|F|G|I|L|M|N|O|R|S|T|Q|U|W|X|Z)|B(A|B|D|E|F|G|H|I|J|L|M|N|O|R|S|T|V|W|Y|Z)|C(A|C|D|F|G|H|I|K|L|M|N|O|R|U|V|X|Y|Z)|D(E|J|K|M|O|Z)|E(C|E|G|H|R|S|T)|F(I|J|K|M|O|R)|G(A|B|D|E|F|G|H|I|L|M|N|P|Q|R|S|T|U|W|Y)|H(K|M|N|R|T|U)|I(D|E|Q|L|M|N|O|R|S|T)|J(E|M|O|P)|K(E|G|H|I|M|N|P|R|W|Y|Z)|L(A|B|C|I|K|R|S|T|U|V|Y)|M(A|C|D|E|F|G|H|K|L|M|N|O|Q|P|R|S|T|U|V|W|X|Y|Z)|N(A|C|E|F|G|I|L|O|P|R|U|Z)|OM|P(A|E|F|G|H|K|L|M|N|R|S|T|W|Y)|QA|R(E|O|S|U|W)|S(A|B|C|D|E|G|H|I|J|K|L|M|N|O|R|T|V|Y|Z)|T(C|D|F|G|H|J|K|L|M|N|O|R|T|V|W|Z)|U(A|G|M|S|Y|Z)|V(A|C|E|G|I|N|U)|W(F|S)|Y(E|T)|Z(A|M|W)))$/ ))
10             {
11              
12 1         10 die "Invalid Firewall string please use AS number or ISO 3166-1 alpha-2 country";
13              
14             }
15              
16 1 50       9 if( not ( $format =~ m/^(apache_allow|apache_deny|nginx_allow|nginx_deny|CIDR|linux_iptables|netmask|inverse_netmask|web_config_allow|web_config_deny|cisco_acl|peer_guardian_2|network_object|cisco_bit_bucket|juniper_junos|microtik)$/ ))
17             {
18              
19 1         10 die "Invalid Format supported format https://ipfinder.io/docs/?shell#firewall";
20              
21             }
22              
23             }
24              
25              
26             1;
27             __END__