Branch Coverage

PKCS10.xs
Criterion Covered Total %
branch 95 202 47.0


line true false branch
67 1 0 if (!buf || !ne_types || !ne_values || !mval)
1 0 if (!buf || !ne_types || !ne_values || !mval)
1 0 if (!buf || !ne_types || !ne_values || !mval)
0 1 if (!buf || !ne_types || !ne_values || !mval)
73 0 1 if (*subject != '/')
83 3 1 while (*sp)
87 7 0 while (*sp)
89 0 7 if (*sp == '\\') /* is there anything to escape in the type...? */
91 0 0 if (*++sp)
99 3 4 else if (*sp == '=')
108 0 3 if (!*sp)
114 10 1 while (*sp)
116 0 10 if (*sp == '\\')
118 0 0 if (*++sp)
126 2 8 else if (*sp == '/')
133 0 8 else if (*sp == '+' && multirdn)
0 0 else if (*sp == '+' && multirdn)
147 0 1 if (!(n = X509_NAME_new()))
150 3 1 for (i = 0; i < ne_num; i++)
152 0 3 if (!*ne_values[i])
158 0 3 if (!X509_NAME_add_entry_by_txt(n, ne_types[i], chtype, (unsigned char*)ne_values[i], -1,-1,mval[i]))
170 0 0 if (ne_values)
172 0 0 if (ne_types)
174 0 0 if (buf)
176 0 0 if (mval)
191 0 5 if (!ex)
209 0 1 if (!ex)
221 0 4 CHECK_NEW(pkcs10, 1, pkcs10Data);
227 0 4 return sv_bless(
238 133 183 if (m == BIO_CB_WRITE) {
243 4 312 if (m == BIO_CB_PUTS) {
273 0 0 return BIO_new_file(SvPV(filename, l), "wb");
284 0 14 if (!sv) sv = &PL_sv_undef;
297 0 1 if (!(n = parse_name(subject, chtype, multirdn)))
300 0 1 if (!X509_REQ_set_subject_name(req, n))
339 6 1 for (i = 0; (name = Crypt__OpenSSL__PKCS10__const[i].n); i++) {
352 0 2 char *classname = SvPVutf8_nolen(class);
356 0 2 if (!RAND_status())
360 0 2 if ((x=X509_REQ_new()) == NULL)
375 0 2 if (bne == NULL)
378 0 2 if (BN_set_word(bne, RSA_F4) != 1)
381 0 2 if ((pk=EVP_PKEY_new()) == NULL)
384 0 2 if (!RSA_generate_key_ex(rsa, keylen, bne, NULL))
387 0 2 if (!EVP_PKEY_assign_RSA(pk,rsa))
392 0 2 if (!X509_REQ_sign(x,pk,EVP_sha256()))
409 3 1 if (pkcs10->pk) EVP_PKEY_free(pkcs10->pk); pkcs10->pk = 0;
410 1 3 if (pkcs10->rsa) *pkcs10->rsa = 0;
411 4 0 if (pkcs10->req) X509_REQ_free(pkcs10->req); pkcs10->req = 0;
430 0 1 char *classname = SvPVutf8_nolen(class);
435 1 0 keyString = SvPV(priv, keylen);
437 0 1 if (bio == NULL) {
443 0 1 if (pk == NULL) {
447 0 1 if ((x=X509_REQ_new()) == NULL)
450 1 0 rsa = (Crypt__OpenSSL__RSA *) SvIV(SvRV(p_rsa));
453 0 1 if (!X509_REQ_sign(x,pk,EVP_sha256()))
470 0 1 if (!RETVAL)
490 0 3 if (pkey == NULL) {
498 3 0 if (type == EVP_PKEY_RSA) {
500 0 0 } else if (type == EVP_PKEY_DSA) {
503 0 0 } else if ( type == EVP_PKEY_EC ) {
531 0 3 if(!pkey)
535 0 3 if (type == EVP_PKEY_DSA) {
538 3 0 } else if (type == EVP_PKEY_RSA) {
541 0 0 } else if ( type == EVP_PKEY_EC ) {
561 3 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
3 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
0 3 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
0 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
563 0 3 if(items > 1) {
571 0 3 if(!PEM_write_bio_X509_REQ(bio,pkcs10->req))
591 0 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
0 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
0 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
0 0 if((ix != 1 && items > 1) || (ix == 1 && items != 2))
593 0 0 if(items > 1) {
599 0 0 if(!pkcs10->pk)
604 0 0 if(!PEM_write_bio_PrivateKey(bio,pkcs10->pk,NULL,NULL,0,NULL,NULL))
623 1 0 subj = SvPV(subj_SV, subj_length);
625 0 1 RETVAL = build_subject(pkcs10->req, subj, utf8 ? MBSTRING_UTF8 : MBSTRING_ASC, 0);
626 0 1 if (!RETVAL)
643 4 0 ext = SvPV(ext_SV, ext_length);
645 1 3 if(!pkcs10->exts)
649 0 4 if (!RETVAL)
668 1 0 oid = SvPV(oid_SV, ext_length);
669 1 0 ext = SvPV(ext_SV, ext_length);
671 0 1 if(!pkcs10->exts)
674 0 1 if ((nid = OBJ_create(oid, oid, oid)) == NID_undef)
678 0 1 if (!RETVAL)
698 1 0 oid = SvPV(oid_SV, ext_length);
699 1 0 ext = SvPV(ext_SV, ext_length);
701 0 1 if(!pkcs10->exts)
704 0 1 if ((nid = OBJ_create(oid, oid, oid)) == NID_undef)
709 0 1 if (!RETVAL)
720 1 0 if(pkcs10->exts) {
723 0 1 if (!RETVAL)
726 1 0 if(pkcs10->exts)
747 2 0 filename = SvPV(filename_SV, filename_length);
749 1 1 if (fp == NULL) {
779 8 0 if (pkcs10->req != NULL) {
780 4 4 if (ix == 1) {
783 4 0 } else if (ix == 2 ) {