Branch Coverage

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


line true false branch
11 0 75 if (!RETVAL) croak("FATAL: Newz failed");
15 0 75 if (RETVAL->pindex == -1) {
20 0 75 if (rv != CRYPT_OK) {
36 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_make_key failed: %s", error_to_string(rv));
37 0 2 XPUSHs(ST(0)); /* return self */
51 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg_dsaparam failed: %s", error_to_string(rv));
54 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
55 0 2 XPUSHs(ST(0)); /* return self */
66 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)) {
71 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
73 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
75 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
77 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
80 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_generate_key failed: %s", error_to_string(rv));
81 0 1 XPUSHs(ST(0)); /* return self */
93 0 54 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
95 0 54 if (rv != CRYPT_OK) croak("FATAL: dsa_import failed: %s", error_to_string(rv));
96 0 54 XPUSHs(ST(0)); /* return self */
109 0 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
110 0 0 if (SvOK(passwd)) {
116 0 0 if (rv != CRYPT_OK) croak("FATAL: dsa_import_pkcs8 failed: %s", error_to_string(rv));
117 0 0 XPUSHs(ST(0)); /* return self */
131 4 16 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
132 11 9 if (SvOK(passwd)) {
138 0 20 if (rv != CRYPT_OK) croak("FATAL: pem_decode_pkcs failed: %s", error_to_string(rv));
139 0 20 if (key_from_pem.id != LTC_PKA_DSA) croak("FATAL: pem_decode_pkcs decoded non-DSA key");
141 0 20 XPUSHs(ST(0)); /* return self */
155 3 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
156 1 2 if (SvOK(passwd)) {
162 0 3 if (rv != CRYPT_OK) croak("FATAL: pem_decode_openssh failed: %s", error_to_string(rv));
163 0 3 if (key_from_pem.id != LTC_PKA_DSA) croak("FATAL: pem_decode_openssh decoded non-DSA key");
165 0 3 XPUSHs(ST(0)); /* return self */
176 1 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }
178 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) {
180 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
182 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(q) failed: %s", error_to_string(rv));
184 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
186 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_pqg failed: %s", error_to_string(rv));
189 0 1 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(y) failed: %s", error_to_string(rv));
190 0 1 if (x && strlen(x) > 0) {
0 0 if (x && strlen(x) > 0) {
193 0 0 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(x) failed: %s", error_to_string(rv));
195 0 0 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
200 0 1 if (rv != CRYPT_OK) croak("FATAL: dsa_set_key failed: %s", error_to_string(rv));
204 0 1 XPUSHs(ST(0)); /* return self */
210 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;
211 15 19 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
218 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;
226 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;
239 47 0 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
0 47 if (self->key.type == -1 || self->key.qord <= 0) XSRETURN_UNDEF;
244 47 0 siz = (self->key.g) ? mp_ubin_size(self->key.g) : 0;
245 0 47 if (siz>10000) {
248 47 0 if (siz>0) {
256 47 0 siz = (self->key.q) ? mp_ubin_size(self->key.q) : 0;
257 0 47 if (siz>10000) {
260 47 0 if (siz>0) {
268 47 0 siz = (self->key.p) ? mp_ubin_size(self->key.p) : 0;
269 0 47 if (siz>10000) {
272 47 0 if (siz>0) {
280 47 0 siz = (self->key.x) ? mp_ubin_size(self->key.x) : 0;
281 0 47 if (siz>10000) {
284 26 21 if (siz>0) {
292 47 0 siz = (self->key.y) ? mp_ubin_size(self->key.y) : 0;
293 0 47 if (siz>10000) {
296 47 0 if (siz>0) {
321 10 10 if (strnEQ(type, "private", 7)) {
323 0 10 if (rv != CRYPT_OK) croak("FATAL: dsa_export(PK_PRIVATE|PK_STD) failed: %s", error_to_string(rv));
326 10 0 else if (strnEQ(type, "public", 6)) {
328 0 10 if (rv != CRYPT_OK) croak("FATAL: dsa_export(PK_PUBLIC|PK_STD) failed: %s", error_to_string(rv));
352 0 3 if (hash_id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
356 0 3 if (rv != CRYPT_OK) croak("FATAL: dsa_encrypt_key failed: %s", error_to_string(rv));
375 0 2 if (rv != CRYPT_OK) croak("FATAL: dsa_decrypt_key_ex failed: %s", error_to_string(rv));
394 3 2 if (ix == 1) {
396 0 3 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
398 0 3 if (rv != CRYPT_OK) croak("FATAL: hash_memory failed: %s", error_to_string(rv));
405 0 5 if (rv != CRYPT_OK) croak("FATAL: dsa_sign_hash_ex failed: %s", error_to_string(rv));
424 38 2 if (ix == 1) {
426 0 38 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
428 0 38 if (rv != CRYPT_OK) croak("FATAL: hash_memory failed: %s", error_to_string(rv));
435 40 0 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
0 40 if (rv != CRYPT_OK || stat != 1) RETVAL = 0;
443 75 0 if (self->key.type != -1) { dsa_free(&self->key); self->key.type = -1; }