Branch Coverage

blib/lib/Authen/Radius.pm
Criterion Covered Total %
branch 151 304 49.6


line true false branch
108 0 1 unless ($h{'Host'} or $h{'NodeList'})
112 0 11 $h{'Service'} ? :
114 0 11 if (not $serv_port || exists $SERVICES{$service}) { }
0 11 elsif (not $serv_port) { }
120 0 11 $h{'TimeOut'} ? :
125 4 7 if ($h{'NodeList'})
132 0 8 unless (scalar @hostinfo)
133 0 0 if $debug
138 0 8 if $debug
143 0 4 unless (scalar keys %{$$self{'node_list_a'};})
148 10 1 if ($h{'Host'})
151 0 10 if $debug
154 1 9 unless (scalar @hostinfo)
155 1 0 if ($self->{'node_list_a'})
156 0 1 if $debug
166 1 8 if ($self->{'node_list_a'} and not exists $self->{'node_list_a'}{$ip . ':' . $port})
167 0 1 if $debug
182 0 8 unless $self->{'sock'} = 'IO::Socket::INET'->new(%io_sock_args)
197 3 0 unless ($retransmit)
202 0 3 if ($type == 4 or $type == 40 or $type == 43) { }
206 2 1 unless defined $self->{'authenticator'}
209 0 3 if ($self->{'message_auth'} and $type == 1 or $type == 12) { }
223 0 0 if ($debug)
232 0 3 if ($debug)
237 3 0 if (not defined $self->{'node_list_a'}) { }
238 0 3 if ($debug)
241 0 0 if (not $retransmit and defined $self->{'sock'}) { }
242 0 0 if ($debug)
245 0 0 if ($debug)
255 0 0 if ($debug)
258 0 0 unless my $new_sock = 'IO::Socket::INET'->new(%io_sock_args)
261 0 0 if ($res)
277 0 1 if (defined $self->{'sock_list'} and scalar @{$self->{'sock_list'};}) { }
1 0 elsif (defined $self->{'sock'}) { }
278 0 0 unless $sh = 'IO::Select'->new(@{$$self{'sock_list'};})
280 0 1 unless $sh = 'IO::Select'->new($self->{'sock'})
290 0 1 unless @ready = $sh->can_read($timeout)
294 0 1 if (defined $from_addr_n)
297 1 0 if (not defined $from_addr_n || defined $self->{'sock_list'}) { }
0 0 elsif ($debug) { }
304 0 0 if ($debug)
309 0 0 if (defined $self->{'sock_list'})
316 0 0 if ($debug)
320 0 0 if ($detect_bad_id and defined $id and $id != $request_id)
324 0 0 if ($auth ne $self->calc_authenticator($type, $id, $length, $resp_attributes))
331 0 0 if ($a->{'Code'} == $RFC3579_MSG_AUTH_ATTR_ID)
336 0 0 if (defined $rfc3579_msg_auth)
343 0 0 if ($calc_hmac ne $rfc3579_msg_auth) { }
0 0 elsif ($debug) { }
344 0 0 if ($debug)
361 1 0 unless defined $nas
388 0 4 if (defined $value and defined $dict_val{$name}{$value})
398 0 1 if ($id == 2 and $vendor eq 'not defined')
402 0 1 if ($has_tag)
407 0 0 if ($tag > 31) { }
408 0 0 if $debug
425 0 4 if ($has_tag)
427 0 0 if ($tag > 31) { }
428 0 0 if $debug
449 1 0 if ($binary_val)
451 1 0 if ($ip_val)
463 1 0 if (defined $prefix_len and $prefix_len < 128)
465 1 0 if ($ip_val)
467 1 0 if (defined $value)
480 1 0 if (@shorts == 4)
541 14 0 if (defined $type) { }
542 13 1 if (exists $decoder{$type}) { }
544 2 11 wantarray ? :
547 0 1 if ($debug)
553 0 0 if ($debug)
572 2 0 if ($id == 26) { }
587 0 2 $tag ? :
606 2 12 if (defined $attr->{'Vendor'}) { }
6 6 elsif (exists $dict_name{$attr->{'Name'}}) { }
610 0 6 unless my $vendor_name = $dict_name{$attr->{'Name'}}{'vendor'}
611 1 5 unless my $vendor_id = $dict_vendor_name{$vendor_name}{'id'}
620 1 6 if (defined $dict_val{$name}{$value})
630 1 3 if ($id == 2 and $vendor eq 'not defined')
641 0 3 if (defined $tag)
651 0 4 if (defined $tag)
667 1 0 if ($expanded_val)
669 1 0 if (defined $value)
681 1 0 if (defined $prefix_len)
683 1 0 if ($expanded_val)
685 1 0 if (defined $value)
698 1 0 if (@shorts == 4)
724 1 0 if (ref $value) { }
726 0 1 if ref $value ne 'HASH'
744 0 1 unless defined $subid
780 1 1 if ($value =~ /^\d+\.\d+\.\d+.\d+/)
792 0 1 if ref $value ne 'ARRAY'
801 2 0 if (defined $svalue)
837 27 2 if (defined $type) { }
838 26 1 if (exists $encoder{$type}) { }
842 0 1 if ($debug)
848 0 2 if ($debug)
867 0 7 if ($attr_name =~ /^([\w-]+):(\d+)$/)
873 5 2 unless (exists $dict_name{$attr_name})
881 0 2 if (exists $dict_name{$attr_name}{'tlv'}) { }
887 0 0 if (exists $request_tlvs{$tlv}) { }
897 0 0 unless ref $tlv_list
907 2 5 if (exists $dict_name{$a->{'Name'}}) { }
922 0 7 if ($need_tag)
924 0 0 if ($a->{'Tag'} < 1 or $a->{'Tag'} > 31)
925 0 0 if $debug
931 1 6 if ($vendor eq '24757')
935 2 5 unless (defined($value = $self->_encode_value($vendor, $id, $type, $a->{'Name'}, $a->{'Value'}, $a->{'Tag'})))
938 0 2 if $debug
942 0 5 if ($debug)
946 0 0 $a->{'Tag'} ? :
949 3 2 if ($vendor eq 'not defined') { }
955 1 1 if ($vendor eq '24757') { }
978 0 0 if ($cur_id == $id)
979 0 0 if (length $value != $cur_len - 2)
980 0 0 if ($debug)
1004 0 0 defined $attributes ? :
1026 1 0 if $non_16
1029 1 0 $i == 0 ? :
1042 0 56 ($opt{'format'} // '') eq 'freeradius' ? :
1043 0 56 ($opt{'format'} // '') eq 'gnuradius' ? :
1051 0 56 if exists $Authen::Radius::included_files{$file}
1053 0 56 unless my $fh = 'FileHandle'->new($file)
1054 0 0 $freeradius_dict ? :
0 56 if $debug
1058 2080 8728 if $line =~ /^\s*$/ or $line =~ /^#/
1060 872 7856 if ($freeradius_dict) { }
0 7856 elsif ($gnuradius_dict) { }
1069 0 0 if $vendor and $vendor eq '-' || $vendor =~ /^\[/
1077 1964 6764 if ($cmd eq 'attribute') { }
5604 1160 elsif ($cmd eq 'value') { }
16 1144 elsif ($cmd eq 'vendor') { }
4 1140 elsif ($cmd eq 'begin-vendor') { }
4 1136 elsif ($cmd eq 'end-vendor') { }
24 1112 elsif ($cmd eq 'begin-tlv') { }
24 1088 elsif ($cmd eq 'end-tlv') { }
52 1036 elsif ($cmd eq '$include') { }
1082 44 1920 if ($extra and not $extra =~ /^#/)
1094 212 1752 if (defined $tlv) { }
1110 4120 1484 unless exists $dict_name{$name}
1118 4 0 unless ($freeradius_dict)
1121 0 4 if $debug
1127 24 0 if (exists $dict_name{$name} and $dict_name{$name}{'type'} eq 'tlv')
1136 0 52 $name =~ m[^/] ? :
1159 0 0 if defined $self->{'sock'}
1160 0 0 if (defined $self->{'sock_list'})
1172 2 29 defined $error ? :
1173 2 29 defined $comment ? :
1180 2 2 if (not ref $self) { }
1203 0 1 unless (ref $self)
1206 0 1 defined $error ? :
1212 0 1 if (not ref $self) { }
1228 0 1 if (length $key > $HMAC_MD5_BLCKSZ)