Branch Coverage

inc/CryptX_PK_DSA.xs.inc
Criterion Covered Total %
branch 113 208 54.3


line true false branch
11 0 82 if (!RETVAL) croak("FATAL: Newz failed");
15 0 82 if (RETVAL->pindex == -1) {
21 0 82 if (rv != CRYPT_OK) {
36 1 4 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
39 0 5 if (rv != CRYPT_OK) croak("FATAL: dsa_make_key failed: %s", error_to_string(rv));
40 0 5 XPUSHs(ST(0)); /* return self */
51 0 2 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
55 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg_dsaparam failed: %s", error_to_string(rv));
58 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
59 0 2 XPUSHs(ST(0)); /* return self */
70 0 1 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
71 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)) {
76 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
78 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
80 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
82 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
85 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
86 0 1 XPUSHs(ST(0)); /* return self */
98 0 57 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
100 0 57 if (rv != CRYPT_OK) croak("FATAL: dsa_import failed: %s", error_to_string(rv));
101 0 57 XPUSHs(ST(0)); /* return self */
114 0 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
115 0 0 if (SvOK(passwd)) {
121 0 0 if (rv != CRYPT_OK) croak("FATAL: dsa_import_pkcs8 failed: %s", error_to_string(rv));
122 0 0 XPUSHs(ST(0)); /* return self */
136 4 16 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
137 11 9 if (SvOK(passwd)) {
143 0 20 if (rv != CRYPT_OK) croak("FATAL: pem_decode_pkcs failed: %s", error_to_string(rv));
144 0 20 if (key_from_pem.id != LTC_PKA_DSA) {
149 0 20 XPUSHs(ST(0)); /* return self */
163 3 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
164 1 2 if (SvOK(passwd)) {
170 0 3 if (rv != CRYPT_OK) croak("FATAL: pem_decode_openssh failed: %s", error_to_string(rv));
171 0 3 if (key_from_pem.id != LTC_PKA_DSA) {
176 0 3 XPUSHs(ST(0)); /* return self */
187 1 2 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
189 3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
3 0 if (p && strlen(p) > 0 && q && strlen(q) > 0 && g && strlen(g) > 0 && y && strlen(y) > 0) {
191 0 3 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
193 0 3 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
195 0 3 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
197 0 3 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
200 0 3 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(y) failed: %s", error_to_string(rv));
201 2 1 if (x && strlen(x) > 0) {
1 1 if (x && strlen(x) > 0) {
204 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(x) failed: %s", error_to_string(rv));
206 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
211 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
218 0 3 XPUSHs(ST(0)); /* return self */
224 36 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 36 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
225 15 21 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
232 3 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 3 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
240 2 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 2 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
253 51 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 51 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
258 51 0 siz = (self->key.g) ? mp_ubin_size(self->key.g) : 0;
259 0 51 if (siz>10000) {
263 51 0 if (siz>0) {
271 51 0 siz = (self->key.q) ? mp_ubin_size(self->key.q) : 0;
272 0 51 if (siz>10000) {
276 51 0 if (siz>0) {
284 51 0 siz = (self->key.p) ? mp_ubin_size(self->key.p) : 0;
285 0 51 if (siz>10000) {
289 51 0 if (siz>0) {
297 51 0 siz = (self->key.x) ? mp_ubin_size(self->key.x) : 0;
298 0 51 if (siz>10000) {
302 28 23 if (siz>0) {
310 51 0 siz = (self->key.y) ? mp_ubin_size(self->key.y) : 0;
311 0 51 if (siz>10000) {
315 51 0 if (siz>0) {
341 10 11 if (strEQ(type, "private")) {
343 0 10 if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: dsa_export(PK_PRIVATE|PK_STD) failed: %s", error_to_string(rv)); }
346 11 0 else if (strEQ(type, "public")) {
348 0 11 if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: dsa_export(PK_PUBLIC|PK_STD) failed: %s", error_to_string(rv)); }
373 0 3 if (hash_id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
377 0 3 if (rv != CRYPT_OK) { zeromem(buffer, sizeof(buffer)); croak("FATAL: dsa_encrypt_key failed: %s", error_to_string(rv)); }
397 0 2 if (rv != CRYPT_OK) { zeromem(buffer, sizeof(buffer)); croak("FATAL: dsa_decrypt_key failed: %s", error_to_string(rv)); }
417 3 2 if (ix == 1) {
419 0 3 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
421 0 3 if (rv != CRYPT_OK) { zeromem(tmp, sizeof(tmp)); croak("FATAL: hash_memory failed: %s", error_to_string(rv)); }
428 0 5 if (rv != CRYPT_OK) {
453 39 3 if (ix == 1) {
455 0 39 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
457 0 39 if (rv != CRYPT_OK) croak("FATAL: hash_memory failed: %s", error_to_string(rv));
464 40 2 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
0 40 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
472 82 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
473 82 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {
82 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {
82 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {