Branch Coverage

blib/lib/Authen/Radius.pm
Criterion Covered Total %
branch 110 300 36.6


line true false branch
108 0 1 unless ($h{'Host'} or $h{'NodeList'})
112 0 7 $h{'Service'} ? :
114 0 7 if (not $serv_port || exists $SERVICES{$service}) { }
0 7 elsif (not $serv_port) { }
120 0 7 $h{'TimeOut'} ? :
125 4 3 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 6 1 if ($h{'Host'})
151 0 6 if $debug
154 1 5 unless (scalar @hostinfo)
155 1 0 if ($self->{'node_list_a'})
156 0 1 if $debug
166 1 4 if ($self->{'node_list_a'} and not exists $self->{'node_list_a'}{$ip . ':' . $port})
167 0 1 if $debug
182 0 4 unless $self->{'sock'} = 'IO::Socket::INET'->new(%io_sock_args)
194 0 0 unless ($retransmit)
199 0 0 if ($type == 4 or $type == 40 or $type == 43) { }
203 0 0 unless defined $self->{'authenticator'}
206 0 0 if ($self->{'message_auth'} and $type == 1 or $type == 12) { }
220 0 0 if ($debug)
229 0 0 if ($debug)
234 0 0 if (not defined $self->{'node_list_a'}) { }
235 0 0 if ($debug)
238 0 0 if (not $retransmit and defined $self->{'sock'}) { }
239 0 0 if ($debug)
242 0 0 if ($debug)
252 0 0 if ($debug)
255 0 0 unless my $new_sock = 'IO::Socket::INET'->new(%io_sock_args)
258 0 0 if ($res)
274 0 0 if (defined $self->{'sock_list'} and scalar @{$self->{'sock_list'};}) { }
0 0 elsif (defined $self->{'sock'}) { }
275 0 0 unless $sh = 'IO::Select'->new(@{$$self{'sock_list'};})
277 0 0 unless $sh = 'IO::Select'->new($self->{'sock'})
287 0 0 unless @ready = $sh->can_read($timeout)
291 0 0 if (defined $from_addr_n)
294 0 0 if (not defined $from_addr_n || defined $self->{'sock_list'}) { }
0 0 elsif ($debug) { }
301 0 0 if ($debug)
306 0 0 if (defined $self->{'sock_list'})
313 0 0 if ($debug)
317 0 0 if ($detect_bad_id and defined $id and $id != $request_id)
321 0 0 if ($auth ne $self->calc_authenticator($type, $id, $length, $resp_attributes))
328 0 0 if ($a->{'Code'} == $RFC3579_MSG_AUTH_ATTR_ID)
333 0 0 if (defined $rfc3579_msg_auth)
340 0 0 if ($calc_hmac ne $rfc3579_msg_auth) { }
0 0 elsif ($debug) { }
341 0 0 if ($debug)
358 0 0 unless defined $nas
385 0 3 if (defined $value and defined $dict_val{$name}{$value})
395 0 1 if ($id == 2 and $vendor eq 'not defined')
399 0 1 if ($has_tag)
404 0 0 if ($tag > 31) { }
405 0 0 if $debug
422 0 3 if ($has_tag)
424 0 0 if ($tag > 31) { }
425 0 0 if $debug
446 1 0 if ($binary_val)
448 1 0 if ($ip_val)
460 1 0 if (defined $prefix_len and $prefix_len < 128)
462 1 0 if ($ip_val)
464 1 0 if (defined $value)
477 1 0 if (@shorts == 4)
538 12 0 if (defined $type) { }
539 11 1 if (exists $decoder{$type}) { }
541 0 11 wantarray ? :
544 0 1 if ($debug)
550 0 0 if ($debug)
569 0 0 if ($id == 26) { }
584 0 0 $tag ? :
603 2 3 if (defined $attr->{'Vendor'}) { }
607 1 2 unless my $vendor_name = $dict_name{$attr->{'Name'}}{'vendor'}
608 1 1 unless my $vendor_id = $dict_vendor_name{$vendor_name}{'id'}
616 1 5 if (defined $dict_val{$name}{$value})
626 0 2 if ($id == 2 and $vendor eq 'not defined')
637 0 2 if (defined $tag)
647 0 3 if (defined $tag)
663 1 0 if ($expanded_val)
665 1 0 if (defined $value)
677 1 0 if (defined $prefix_len)
679 1 0 if ($expanded_val)
681 1 0 if (defined $value)
694 1 0 if (@shorts == 4)
720 1 0 if (ref $value) { }
722 0 1 if ref $value ne 'HASH'
740 0 1 unless defined $subid
776 1 1 if ($value =~ /^\d+\.\d+\.\d+.\d+/)
788 0 1 if ref $value ne 'ARRAY'
797 2 0 if (defined $svalue)
833 22 0 if (defined $type) { }
834 21 1 if (exists $encoder{$type}) { }
838 0 1 if ($debug)
844 0 0 if ($debug)
863 0 0 if ($attr_name =~ /^([\w-]+):(\d+)$/)
869 0 0 unless exists $dict_name{$attr_name}
873 0 0 if (exists $dict_name{$attr_name}{'tlv'}) { }
879 0 0 if (exists $request_tlvs{$tlv}) { }
889 0 0 unless ref $tlv_list
903 0 0 if ($need_tag)
905 0 0 if ($a->{'Tag'} < 1 or $a->{'Tag'} > 31)
906 0 0 if $debug
911 0 0 if ($vendor eq '24757')
915 0 0 unless (defined($value = $self->_encode_value($vendor, $id, $type, $a->{'Name'}, $a->{'Value'}, $a->{'Tag'})))
916 0 0 if $debug
920 0 0 if ($debug)
924 0 0 $a->{'Tag'} ? :
927 0 0 if ($vendor eq 'not defined') { }
933 0 0 if ($vendor eq '24757') { }
956 0 0 if ($cur_id == $id)
957 0 0 if (length $value != $cur_len - 2)
958 0 0 if ($debug)
982 0 0 defined $attributes ? :
1004 0 0 if $non_16
1007 0 0 $i == 0 ? :
1020 0 42 ($opt{'format'} // '') eq 'freeradius' ? :
1021 0 42 ($opt{'format'} // '') eq 'gnuradius' ? :
1029 0 42 if exists $Authen::Radius::included_files{$file}
1031 0 42 unless my $fh = 'FileHandle'->new($file)
1032 0 0 $freeradius_dict ? :
0 42 if $debug
1036 1560 6546 if $line =~ /^\s*$/ or $line =~ /^#/
1038 654 5892 if ($freeradius_dict) { }
0 5892 elsif ($gnuradius_dict) { }
1047 0 0 if $vendor and $vendor eq '-' || $vendor =~ /^\[/
1055 1473 5073 if ($cmd eq 'attribute') { }
4203 870 elsif ($cmd eq 'value') { }
12 858 elsif ($cmd eq 'vendor') { }
3 855 elsif ($cmd eq 'begin-vendor') { }
3 852 elsif ($cmd eq 'end-vendor') { }
18 834 elsif ($cmd eq 'begin-tlv') { }
18 816 elsif ($cmd eq 'end-tlv') { }
39 777 elsif ($cmd eq '$include') { }
1060 33 1440 if ($extra and not $extra =~ /^#/)
1072 159 1314 if (defined $tlv) { }
1088 3090 1113 unless exists $dict_name{$name}
1096 3 0 unless ($freeradius_dict)
1099 0 3 if $debug
1105 18 0 if (exists $dict_name{$name} and $dict_name{$name}{'type'} eq 'tlv')
1114 0 39 $name =~ m[^/] ? :
1137 0 0 if defined $self->{'sock'}
1138 0 0 if (defined $self->{'sock_list'})
1150 1 8 defined $error ? :
1151 1 8 defined $comment ? :
1158 2 2 if (not ref $self) { }
1181 0 1 unless (ref $self)
1184 0 1 defined $error ? :
1190 0 1 if (not ref $self) { }
1206 0 1 if (length $key > $HMAC_MD5_BLCKSZ)