| line |
true |
false |
branch |
|
120
|
3 |
3 |
if (@{$$self{'server'};} == 0) |
|
121
|
3 |
0 |
if (-e '/etc/resolv.conf') { } |
|
138
|
0 |
11 |
unless Socket::inet_aton($_) |
|
166
|
6 |
1 |
$qname =~ tr/.// >= $$self{'ndots'} ? : |
|
|
0 |
7 |
$opt{'search'} ? : |
|
|
2 |
7 |
$qname =~ s/\.$// ? : |
|
171
|
0 |
9 |
$opt{'accept'} ? : |
|
176
|
0 |
9 |
defined $opt{'timeout'} ? : |
|
183
|
3 |
9 |
unless @search |
|
190
|
1 |
8 |
unless my $res = $self->request($name, $qtype, $class, $timeout_at) |
|
197
|
34 |
0 |
if $name eq lc $$_[0] |
|
201
|
6 |
2 |
if (@rr) |
|
206
|
0 |
0 |
if $name eq lc $$_[0] |
|
210
|
0 |
2 |
if (@rr) { } |
|
|
0 |
2 |
elsif ($cname) { } |
|
211
|
0 |
0 |
unless $depth-- |
|
238
|
9 |
0 |
unless (defined $$self{'cache'}) |
|
243
|
2 |
7 |
if ($cache) |
|
244
|
1 |
1 |
if (my $value = $cache->get($cache_key)) |
|
246
|
1 |
0 |
if time < $expires_at |
|
252
|
5 |
3 |
if not $$self{'sock_v4'} or $$self{'pid'} != $$ |
|
268
|
0 |
10 |
if $total_timeout_at < $server_timeout_at |
|
270
|
0 |
10 |
if ($server_timeout_at <= $now) |
|
279
|
0 |
10 |
unless (send $$self{'sock_v4'}, $req_pkt, 0, scalar sockaddr_in(53, $server)) |
|
288
|
3 |
10 |
if ($select_timeout <= 0) |
|
289
|
0 |
3 |
if $total_timeout_at <= $now |
|
292
|
0 |
10 |
if $select_timeout <= 0 |
|
297
|
3 |
7 |
unless $nfound > 0 |
|
298
|
0 |
7 |
unless my $from = recv($$self{'sock_v4'}, my $res_pkt, 1024, 0) |
|
301
|
0 |
7 |
unless ($from_port == 53 and grep {$from_addr eq $_;} @{$$self{'server'};}) |
|
305
|
0 |
7 |
unless $res = dns_unpack($res_pkt) |
|
307
|
7 |
0 |
if ($$res{'id'} == $$req{'id'}) |
|
308
|
0 |
7 |
if $retry != 0 |
|
310
|
1 |
6 |
if ($cache) |
|
315
|
1 |
0 |
@{$$res{'an'};} ? : |
|
326
|
1 |
0 |
if $pkt_sent |
|
336
|
5 |
0 |
if socket $$self{'sock_v4'}, 2, 2, 0 |
|
343
|
0 |
5 |
unless $got_socket |
|
357
|
0 |
8 |
if (@{$$self{'reuse_q'};} >= 30000) { } |
|
366
|
8 |
0 |
unless defined $$self{'reuse_h'}{$id} |
|
391
|
11 |
15 |
if (/^\s*nameserver\s+(\S+)\s*$/i) { } |
|
|
3 |
12 |
elsif (/^\s*domain\s+(\S*)\s*$/i) { } |
|
|
0 |
12 |
elsif (/^\s*search\s+(.*?)\s*$/i) { } |
|
|
0 |
12 |
elsif (/^\s*sortlist\s+(.*?)\s*$/i) { } |
|
|
3 |
9 |
elsif (/^\s*options\s+(.*?)\s*$/i) { } |
|
393
|
11 |
0 |
if (my $ipn = parse_address($ip)) { } |
|
406
|
2 |
5 |
if (/^timeout:(\d+)$/) { } |
|
|
2 |
3 |
elsif (/^attempts:(\d+)$/) { } |
|
|
0 |
3 |
elsif (/^ndots:(\d+)$/) { } |
|
419
|
3 |
4 |
if ($timeout or $attempts) |
|
429
|
0 |
3 |
unless open my $fh, '<', $resolv_conf |
|
441
|
0 |
8 |
$$_[1] > 0 ? : |
|
|
0 |
8 |
$$_[2] > 0 ? : |
|
454
|
0 |
8 |
unless $$req{'qd'} |
|
467
|
8 |
0 |
unless $$req{'an'} |
|
468
|
8 |
0 |
unless $$req{'ns'} |
|
469
|
8 |
0 |
unless $$req{'ar'} |
|
470
|
0 |
8 |
unless $$req{'qd'} |
|
472
|
8 |
0 |
unless $$req{'an'} |
|
473
|
8 |
0 |
unless $$req{'ns'} |
|
474
|
8 |
0 |
unless $$req{'ar'} |
|
489
|
0 |
215 |
if ++$cnt >= 256 |
|
493
|
42 |
173 |
if ($len >= 192) { } |
|
|
122 |
51 |
elsif ($len) { } |
|
495
|
38 |
4 |
if $ptr > $ofs |
|
501
|
13 |
38 |
if $ptr > $ofs |
|
581
|
0 |
15 |
if (my $addr = parse_ipv6($text)) { } |
|
590
|
4 |
14 |
unless $_[0] =~ /^ (?: 0x[0-9a-fA-F]+ | 0[0-7]* | [1-9][0-9]* )
(?:\. (?: 0x[0-9a-fA-F]+ | 0[0-7]* | [1-9][0-9]* ) ){0,3}$/x |
|
594
|
2 |
54 |
/^0/ ? : |
|
597
|
0 |
14 |
if grep(($_ >= 256), @_[0 .. @_ - 2]) |
|
600
|
0 |
14 |
if $_[-1] >= 2 ** (8 * (4 - $#_)) |
|
611
|
15 |
1 |
if $n < 2 or $n > 8 |
|
615
|
1 |
0 |
unless (defined $t) |
|
619
|
0 |
1 |
defined $h ? : |
|
623
|
0 |
1 |
if (@t and $t[-1] =~ /\./) |
|
624
|
0 |
0 |
if $n > 6 |
|
626
|
0 |
0 |
unless my $ipn = parse_ipv4(pop @t) |
|
633
|
0 |
1 |
unless @h + @t == 8 or $_[0] =~ /::/ |
|
636
|
0 |
1 |
if grep((!/^[0-9a-fA-F]{1,4}$/), @h, @t) |
|
653
|
0 |
4 |
if (my $address = parse_address($name)) |
|
656
|
0 |
4 |
@_ ? : |
|
663
|
3 |
0 |
if defined $address |
|
674
|
0 |
0 |
if ($_[0] =~ /^\x00\x00\x00\x00\x00\x00\x00\x00/) |
|
675
|
0 |
0 |
if (v0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 eq $_[0]) { } |
|
|
0 |
0 |
elsif (v0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 eq $_[0]) { } |
|
|
0 |
0 |
elsif (v0.0.0.0.0.0.0.0.0.0.0.0 eq substr($_[0], 0, 12)) { } |
|
|
0 |
0 |
elsif (v0.0.0.0.0.0.0.0.0.0.255.255 eq substr($_[0], 0, 12)) { } |
|
|
0 |
0 |
elsif (v0.0.0.0.0.0.0.0.255.255.0.0 eq substr($_[0], 0, 12)) { } |
|
694
|
0 |
0 |
unless $ip =~ s/(?:^|:) 0:0:0:0:0:0:0 (?:$|:)/::/x or $ip =~ s/(?:^|:) 0:0:0:0:0:0 (?:$|:)/::/x or $ip =~ s/(?:^|:) 0:0:0:0:0 (?:$|:)/::/x or $ip =~ s/(?:^|:) 0:0:0:0 (?:$|:)/::/x or $ip =~ s/(?:^|:) 0:0:0 (?:$|:)/::/x or $ip =~ s/(?:^|:) 0:0 (?:$|:)/::/x |