line |
true |
false |
branch |
31
|
9 |
91 |
if (ref $port eq 'HASH') { } |
32
|
0 |
9 |
unless $port->{'port'} |
36
|
1 |
90 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ (sock_stream|sock_dgram) \b )[]x |
38
|
7 |
84 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
39
|
0 |
91 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
40
|
23 |
68 |
if $port =~ s( (?<=[\w*\]]) [,|\s:/]+ (tcp|udp|ssl|ssleay|unix|unixdgram|\w+(?: ::\w+)+) $ )[]xi or $port =~ s[ / (\w+) $ ][]x |
42
|
21 |
70 |
if $port =~ s/ ^ (.*?) [,|\s:]+ (?= \w+ $) //x |
48
|
41 |
58 |
defined $host && length $host ? : |
49
|
0 |
100 |
if $info->{'host'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
50
|
0 |
100 |
if $info->{'host'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
51
|
1 |
99 |
if ($info->{'host'} =~ m(^ \[ ([\w/.\-:]+ | \*?) \] $ )x) { } |
|
99 |
0 |
elsif ($info->{'host'} =~ m[^ ([\w/.\-:]+ | \*?) $ ]x) { } |
52
|
1 |
0 |
length $1 ? : |
61
|
0 |
100 |
if $info->{'proto'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
62
|
0 |
100 |
if $info->{'proto'} =~ s( (?<=[\w*\]]) [,|\s:/]+ IPv([*\d]+) )[]xi |
63
|
100 |
0 |
if ($info->{'proto'} =~ /^(\w+ (?:::\w+)*)$/x) { } |
70
|
8 |
92 |
if ($info->{'proto'} =~ /^UNIX/i) |
74
|
0 |
92 |
if ref $ipv eq "ARRAY" |
75
|
0 |
92 |
if $ipv and not $ipv =~ /[46*]/ |
77
|
41 |
51 |
if (not $ipv or $ipv =~ /[*]/) { } |
|
0 |
51 |
elsif ($ipv =~ /6/ or $info->{'host'} =~ /:/) { } |
79
|
0 |
41 |
unless @rows |
82
|
0 |
41 |
$warn ? : |
83
|
0 |
41 |
if $ipv ne 4 and $proto ne "ssl" |
85
|
0 |
41 |
if (@rows > 1 and $rows[0][1] == 0) |
93
|
40 |
1 |
if $_info->{'host'} ne $info->{'host'} or $_info->{'port'} ne $info->{'port'} |
94
|
0 |
41 |
if $_info->{'warn'} |
98
|
0 |
0 |
if $proto ne "ssl" |
99
|
0 |
0 |
if $ipv =~ /4/ and not $info->{'host'} =~ /:/ |
109
|
0 |
81 |
unless defined $host |
110
|
40 |
41 |
unless defined $port |
111
|
40 |
41 |
unless defined $proto |
112
|
0 |
81 |
if $proto =~ /UNIX/i |
113
|
0 |
81 |
if $port =~ /\D/ |
116
|
1 |
80 |
if ($host =~ /^\d+(?:\.\d+){3}$/) { } |
|
0 |
80 |
elsif (not $ENV{'NO_IPV6'} and eval {
do {
require Socket6
}
} and eval {
do {
require IO::Socket::IP
}
} || eval {
do {
require IO::Socket::INET6
}
}) { } |
|
0 |
80 |
elsif ($host =~ /:/) { } |
117
|
0 |
1 |
unless my $addr = Socket::inet_aton($host) |
120
|
0 |
0 |
lc $proto eq 'udp' ? : |
121
|
0 |
0 |
lc $proto eq 'udp' ? : |
122
|
0 |
0 |
$host eq '*' ? : |
123
|
0 |
0 |
if @res < 5 |
127
|
0 |
0 |
if @res2 < 2 |
129
|
0 |
0 |
$afam == 2 ? : |
|
0 |
0 |
$afam == Socket6::AF_INET6() ? : |
132
|
0 |
0 |
$_->[0] =~ /^::ffff:(\d+(?:\.\d+){3})$/ ? : |
|
0 |
0 |
$_->[0] eq '::' ? : |
133
|
0 |
0 |
if (scalar keys %ipv6mapped and grep {$ipv6mapped{$_->[0]};} @info and not my $only = $class->_bindv6only) |
138
|
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()})
}
}) { } |
139
|
0 |
0 |
unless "IO::Socket::INET6"->new->configure({"LocalAddr", "", "LocalPort", 0, "Listen", 1, "ReuseAddr", 1, "Domain", Socket6::AF_INET6()}) |
143
|
0 |
0 |
length $only ? : |
153
|
40 |
40 |
if ($host eq '*') { } |
157
|
0 |
40 |
unless @addr |
168
|
0 |
0 |
unless length $val |
175
|
0 |
0 |
if (-e $file) { } |
|
0 |
0 |
elsif (-x '/sbin/sysctl') { } |
176
|
0 |
0 |
unless open my $fh, "<", $file |
182
|
0 |
0 |
defined $val ? : |
190
|
99 |
1 |
unless ($proto_class =~ /::/) |
191
|
0 |
99 |
unless $proto_class =~ /^\w+$/ |
195
|
0 |
100 |
unless eval {
do {
require $file
}
} |
199
|
0 |
107 |
$requires_ipv6 ? : |
203
|
0 |
0 |
if $ipv6_package |
205
|
0 |
0 |
unless eval {
do {
require Socket6
}
} |
209
|
0 |
0 |
if ($pkg) { } |
|
0 |
0 |
elsif ($INC{'IO/Socket/IP.pm'}) { } |
|
0 |
0 |
elsif ($INC{'IO/Socket/INET6.pm'}) { } |
|
0 |
0 |
elsif (eval {
do {
require IO::Socket::IP
}
}) { } |
211
|
0 |
0 |
unless eval {
do {
require $file
}
} |
220
|
0 |
0 |
if (eval {
do {
require IO::Socket::INET6
}
}) { } |