Condition Coverage

blib/lib/IO/Socket/SSL/Utils.pm
Criterion Covered Total %
condition 20 68 29.4


and 3 conditions

line !l l&&!r l&&r condition
51 0 0 0 ($error & 4095) == 108 and @certs
348 0 0 2 $v && $v ne '-'
451 0 120 0 not delete $args{'ignore_invalid_args'} and %args

or 2 conditions

line l !l condition
132 0 16 shift() || 2048
142 0 0 shift() || 'prime256v1'
155 0 0 shift() || 'sha256'
206 0 0 $i2gen{$t} || die("unknown type $t in subjectAltName")
274 0 120 delete $args{'digest'} || 'sha256'
286 0 120 delete $args{'version'} || 2
303 117 3 delete $args{'subject'} || {'organizationName', 'IO::Socket::SSL', 'commonName', 'IO::Socket::SSL Test'}

or 3 conditions

line l !l&&r !l&&!r condition
83 0 0 0 &Net::SSLeay::PEM_get_string_X509($cert) || croak('cannot get string from cert')
119 0 0 0 &Net::SSLeay::PEM_get_string_PrivateKey($key) || croak('cannot get string from key')
221 0 0 0 $best0 ||= $last0
278 0 120 0 delete $args{'serial'} || do { &Net::SSLeay::RAND_bytes(my $buf, 4); unpack 'N', $buf }
292 0 120 0 delete $args{'not_before'} || time
297 0 120 0 delete $args{'not_after'} || time + 31536000
311 116 0 0 &Net::SSLeay::X509_NAME_add_entry_by_txt($subj_e, $k, 4096, $_, -1, 0) or &Net::SSLeay::X509_NAME_add_entry_by_txt($subj_e, $k, 20, $_, -1, 0)
116 0 0 &Net::SSLeay::X509_NAME_add_entry_by_txt($subj_e, $k, 4096, $_, -1, 0) or &Net::SSLeay::X509_NAME_add_entry_by_txt($subj_e, $k, 20, $_, -1, 0) or &Net::SSLeay::X509_NAME_add_entry_by_txt($subj_e, $k, 4, $_, -1, 0)
329 104 16 0 delete $args{'key'} || KEY_create_rsa()
333 34 8 0 delete $args{'issuer_cert'} || $is && $is->[0] || $cert
334 34 8 0 delete $args{'issuer_key'} || $is && $is->[1] || $key
339 0 0 0 !$1 || $1 eq '+'
344 0 0 0 !$1 || $1 eq '+'
433 0 0 0 $ext->{'nid'} || $ext->{'sn'} && &Net::SSLeay::OBJ_sn2nid($ext->{'sn'}) || croak('cannot determine NID of extension')
489 114 6 0 $digest{$digest_name} ||= do { &Net::SSLeay::SSLeay_add_ssl_algorithms(); die "Digest algorithm $digest_name is not available" unless &Net::SSLeay::EVP_get_digestbyname($digest_name) }