Branch Coverage

inc/CryptX_PK_DSA.xs.inc
Criterion Covered Total %
branch 97 196 49.4


line true false branch
11 0 72 if (!RETVAL) croak("FATAL: Newz failed");
14 0 72 if (RETVAL->pindex == -1) {
19 0 72 if (rv != CRYPT_OK) {
34 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_make_key failed: %s", error_to_string(rv));
35 0 1 XPUSHs(ST(0)); /* return self */
48 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg_dsaparam failed: %s", error_to_string(rv));
51 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
52 0 2 XPUSHs(ST(0)); /* return self */
62 1 0 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
1 0 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
1 0 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
1 0 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
1 0 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
0 1 if (!p || !strlen(p) || !q || !strlen(q) || !g || !strlen(g)) {
67 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
69 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
71 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
73 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
76 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
77 0 1 XPUSHs(ST(0)); /* return self */
89 0 52 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
91 0 52 if (rv != CRYPT_OK) croak("FATAL: dsa_import failed: %s", error_to_string(rv));
92 0 52 XPUSHs(ST(0)); /* return self */
105 0 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
106 0 0 if (SvOK(passwd)) {
112 0 0 if (rv != CRYPT_OK) croak("FATAL: dsa_import_pkcs8 failed: %s", error_to_string(rv));
113 0 0 XPUSHs(ST(0)); /* return self */
127 4 16 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
128 11 9 if (SvOK(passwd)) {
134 0 20 if (rv != CRYPT_OK) croak("FATAL: pem_decode_pkcs failed: %s", error_to_string(rv));
135 0 20 if (key_from_pem.id != LTC_PKA_DSA) croak("FATAL: pem_decode_pkcs decoded non-DSA key");
137 0 20 XPUSHs(ST(0)); /* return self */
151 3 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
152 1 2 if (SvOK(passwd)) {
158 0 3 if (rv != CRYPT_OK) croak("FATAL: pem_decode_openssh failed: %s", error_to_string(rv));
159 0 3 if (key_from_pem.id != LTC_PKA_DSA) croak("FATAL: pem_decode_openssh decoded non-DSA key");
161 0 3 XPUSHs(ST(0)); /* return self */
172 1 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
174 1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
1 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
176 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
178 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
180 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
182 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
185 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(y) failed: %s", error_to_string(rv));
186 0 1 if (x && strlen(x) > 0) {
0 0 if (x && strlen(x) > 0) {
189 0 0 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(x) failed: %s", error_to_string(rv));
191 0 0 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
196 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
200 0 1 XPUSHs(ST(0)); /* return self */
206 34 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 34 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
207 15 19 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
214 1 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 1 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
222 0 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
235 46 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 46 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
240 46 0 siz = (self->key.g) ? mp_ubin_size(self->key.g) : 0;
241 0 46 if (siz>10000) {
244 46 0 if (siz>0) {
252 46 0 siz = (self->key.q) ? mp_ubin_size(self->key.q) : 0;
253 0 46 if (siz>10000) {
256 46 0 if (siz>0) {
264 46 0 siz = (self->key.p) ? mp_ubin_size(self->key.p) : 0;
265 0 46 if (siz>10000) {
268 46 0 if (siz>0) {
276 46 0 siz = (self->key.x) ? mp_ubin_size(self->key.x) : 0;
277 0 46 if (siz>10000) {
280 25 21 if (siz>0) {
288 46 0 siz = (self->key.y) ? mp_ubin_size(self->key.y) : 0;
289 0 46 if (siz>10000) {
292 46 0 if (siz>0) {
317 10 10 if (strnEQ(type, "private", 7)) {
319 0 10 if (rv != CRYPT_OK) croak("FATAL: dsa_export(PK_PRIVATE|PK_STD) failed: %s", error_to_string(rv));
322 10 0 else if (strnEQ(type, "public", 6)) {
324 0 10 if (rv != CRYPT_OK) croak("FATAL: dsa_export(PK_PUBLIC|PK_STD) failed: %s", error_to_string(rv));
347 0 2 if (hash_id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
351 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_encrypt_key failed: %s", error_to_string(rv));
370 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_decrypt_key_ex failed: %s", error_to_string(rv));
388 2 2 if (ix == 1) {
390 0 2 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
392 0 2 if (rv != CRYPT_OK) croak("FATAL: hash_memory failed: %s", error_to_string(rv));
399 0 4 if (rv != CRYPT_OK) croak("FATAL: dsa_sign_hash_ex failed: %s", error_to_string(rv));
418 38 2 if (ix == 1) {
420 0 38 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
422 0 38 if (rv != CRYPT_OK) croak("FATAL: hash_memory failed: %s", error_to_string(rv));
429 40 0 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
0 40 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
437 72 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }