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