| line |
true |
false |
branch |
|
30
|
9 |
91 |
if (ref $port eq 'HASH') { } |
|
31
|
0 |
9 |
unless $port->{'port'} |
|
35
|
1 |
90 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ (sock_stream|sock_dgram) \b )[]x |
|
37
|
7 |
84 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
38
|
0 |
91 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
39
|
23 |
68 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ (tcp|udp|ssl|ssleay|unix|unixdgram|\w+(?: ::\w+)+) $ )[]xi or $port =~ s[ / (\w+) $ ][]x |
|
41
|
21 |
70 |
if $port =~ s/ ^ (.*?) [,|\s:]+ (?= \w+ $) //x |
|
47
|
41 |
58 |
defined $host && length $host ? : |
|
48
|
0 |
100 |
if $info->{'host'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
49
|
0 |
100 |
if $info->{'host'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
50
|
1 |
99 |
if ($info->{'host'} =~ m(^ \[ ([\w/.\-:]+ | \*?) \] $ )x) { } |
|
|
99 |
0 |
elsif ($info->{'host'} =~ m[^ ([\w/.\-:]+ | \*?) $ ]x) { } |
|
51
|
1 |
0 |
length $1 ? : |
|
60
|
0 |
100 |
if $info->{'proto'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
61
|
0 |
100 |
if $info->{'proto'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
|
62
|
100 |
0 |
if ($info->{'proto'} =~ /^(\w+ (?:::\w+)*)$/x) { } |
|
69
|
8 |
92 |
if ($info->{'proto'} =~ /^UNIX/i) |
|
73
|
0 |
92 |
if ref $ipv eq 'ARRAY' |
|
74
|
0 |
92 |
if $ipv and not $ipv =~ /[46*]/ |
|
76
|
41 |
51 |
if (not $ipv or $ipv =~ /[*]/) { } |
|
|
0 |
51 |
elsif ($ipv =~ /6/ or $info->{'host'} =~ /:/) { } |
|
78
|
0 |
41 |
unless @rows |
|
81
|
0 |
41 |
$warn ? : |
|
82
|
0 |
41 |
if $ipv ne '4' and $proto ne 'ssl' |
|
84
|
0 |
41 |
if (@rows > 1 and $rows[0][1] == 0) |
|
92
|
40 |
1 |
if $_info->{'host'} ne $info->{'host'} or $_info->{'port'} ne $info->{'port'} |
|
93
|
0 |
41 |
if $_info->{'warn'} |
|
97
|
0 |
0 |
if $proto ne 'ssl' |
|
98
|
0 |
0 |
if $ipv =~ /4/ and not $info->{'host'} =~ /:/ |
|
108
|
0 |
80 |
unless defined $host |
|
109
|
39 |
41 |
unless defined $port |
|
110
|
39 |
41 |
unless defined $proto |
|
111
|
0 |
80 |
if $proto =~ /UNIX/i |
|
112
|
0 |
80 |
if $port =~ /\D/ |
|
115
|
1 |
79 |
if ($host =~ /^\d+(?:\.\d+){3}$/) { } |
|
|
0 |
79 |
elsif (not $ENV{'NO_IPV6'} and eval {
do {
require Socket6;
require IO::Socket::INET6
}
}) { } |
|
|
0 |
79 |
elsif ($host =~ /:/) { } |
|
116
|
0 |
1 |
unless my $addr = Socket::inet_aton($host) |
|
119
|
0 |
0 |
lc $proto eq 'udp' ? : |
|
120
|
0 |
0 |
lc $proto eq 'udp' ? : |
|
121
|
0 |
0 |
$host eq '*' ? : |
|
122
|
0 |
0 |
if @res < 5 |
|
126
|
0 |
0 |
if @res2 < 2 |
|
128
|
0 |
0 |
$afam == 2 ? : |
|
|
0 |
0 |
$afam == Socket6::AF_INET6() ? : |
|
131
|
0 |
0 |
$_->[0] =~ /^::ffff:(\d+(?:\.\d+){3})$/ ? : |
|
|
0 |
0 |
$_->[0] eq '::' ? : |
|
132
|
0 |
0 |
if (scalar keys %ipv6mapped and grep {$ipv6mapped{$_->[0]};} @info and not my $only = $class->_bindv6only) |
|
137
|
0 |
0 |
if ($host eq '*' and $i6->[0] eq '::' and not length $only and not eval {
do {
die $! unless 'IO::Socket::INET6'->new->configure({'LocalAddr', '', 'LocalPort', 0, 'Listen', 1, 'ReuseAddr', 1, 'Domain', Socket6::AF_INET6()})
}
}) { } |
|
138
|
0 |
0 |
unless 'IO::Socket::INET6'->new->configure({'LocalAddr', '', 'LocalPort', 0, 'Listen', 1, 'ReuseAddr', 1, 'Domain', Socket6::AF_INET6()}) |
|
142
|
0 |
0 |
length $only ? : |
|
152
|
40 |
39 |
if ($host eq '*') { } |
|
156
|
0 |
39 |
unless @addr |
|
167
|
0 |
0 |
unless length $val |
|
174
|
0 |
0 |
if (-e $file) { } |
|
|
0 |
0 |
elsif (-x '/sbin/sysctl') { } |
|
175
|
0 |
0 |
unless open my $fh, '<', $file |
|
181
|
0 |
0 |
defined $val ? : |
|
189
|
99 |
1 |
unless ($proto_class =~ /::/) |
|
190
|
0 |
99 |
unless $proto_class =~ /^\w+$/ |
|
194
|
0 |
100 |
unless eval {
do {
require $file
}
} |
|
200
|
90 |
0 |
unless $requires_ipv6 |
|
202
|
0 |
0 |
unless ($INC{'IO/Socket/INET6.pm'}) |
|
203
|
0 |
0 |
unless eval {
do {
require Socket6;
require IO::Socket::INET6
}
} |