| 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) |