| line |
true |
false |
branch |
|
11
|
0 |
46 |
if (!RETVAL) croak("FATAL: Newz failed"); |
|
15
|
0 |
46 |
if (RETVAL->pindex == -1) { |
|
21
|
0 |
46 |
if (rv != CRYPT_OK) { |
|
36
|
0 |
2 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
38
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_groupsize failed: %s", error_to_string(rv)); |
|
40
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
41
|
0 |
2 |
XPUSHs(ST(0)); /* return self */ |
|
52
|
1 |
7 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
54
|
8 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
8 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
8 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
8 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
56
|
1 |
7 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv)); |
|
58
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv)); |
|
61
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv)); |
|
63
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
69
|
0 |
7 |
XPUSHs(ST(0)); /* return self */ |
|
80
|
0 |
2 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
84
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_dhparam failed: %s", error_to_string(rv)); |
|
87
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
88
|
0 |
2 |
XPUSHs(ST(0)); /* return self */ |
|
100
|
0 |
27 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
102
|
0 |
27 |
if (rv != CRYPT_OK) croak("FATAL: dh_import failed: %s", error_to_string(rv)); |
|
103
|
0 |
27 |
XPUSHs(ST(0)); /* return self */ |
|
117
|
0 |
4 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
119
|
4 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
4 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
4 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
|
4 |
0 |
if (p && strlen(p) > 0 && g && strlen(g) > 0) { |
|
121
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv)); |
|
123
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv)); |
|
126
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv)); |
|
128
|
2 |
2 |
if (type == 0) { |
|
131
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv)); |
|
133
|
2 |
0 |
else if (type == 1) { |
|
136
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv)); |
|
146
|
0 |
4 |
XPUSHs(ST(0)); /* return self */ |
|
152
|
0 |
23 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
153
|
4 |
19 |
RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0; |
|
160
|
0 |
4 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
173
|
0 |
3 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
176
|
3 |
0 |
siz = (self->key.x) ? mp_ubin_size(self->key.x) : 0; |
|
177
|
0 |
3 |
if (siz>10000) { |
|
180
|
3 |
0 |
if (siz>0) { |
|
188
|
3 |
0 |
siz = (self->key.y) ? mp_ubin_size(self->key.y) : 0; |
|
189
|
0 |
3 |
if (siz>10000) { |
|
192
|
3 |
0 |
if (siz>0) { |
|
200
|
3 |
0 |
siz = (self->key.prime) ? mp_ubin_size(self->key.prime) : 0; |
|
201
|
0 |
3 |
if (siz>10000) { |
|
204
|
3 |
0 |
if (siz>0) { |
|
213
|
3 |
0 |
siz = (self->key.base) ? mp_ubin_size(self->key.base) : 0; |
|
214
|
0 |
3 |
if (siz>10000) { |
|
217
|
3 |
0 |
if (siz>0) { |
|
241
|
0 |
0 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
244
|
0 |
0 |
siz = (self->key.prime) ? mp_ubin_size(self->key.prime) : 0; |
|
245
|
0 |
0 |
if (siz>10000) { |
|
248
|
0 |
0 |
if (siz>0) { |
|
257
|
0 |
0 |
siz = (self->key.base) ? mp_ubin_size(self->key.base) : 0; |
|
258
|
0 |
0 |
if (siz>10000) { |
|
261
|
0 |
0 |
if (siz>0) { |
|
268
|
0 |
0 |
if (not_used) not_used = NULL; /* just silence the warning: variable 'not_used' set but not used */ |
|
282
|
7 |
7 |
if (strEQ(type, "private")) { |
|
284
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PRIVATE) failed: %s", error_to_string(rv)); |
|
287
|
7 |
0 |
else if (strEQ(type, "public")) { |
|
289
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PUBLIC) failed: %s", error_to_string(rv)); |
|
309
|
0 |
10 |
if (rv != CRYPT_OK) croak("FATAL: dh_shared_secret failed: %s", error_to_string(rv)); |
|
325
|
1 |
4 |
if (strEQ(type, "private")) { |
|
327
|
0 |
1 |
if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PRIVATE) failed: %s", error_to_string(rv)); |
|
330
|
4 |
0 |
else if (strEQ(type, "public")) { |
|
332
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PUBLIC) failed: %s", error_to_string(rv)); |
|
346
|
41 |
5 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
347
|
46 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |
|
|
46 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |
|
|
46 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |