| line |
true |
false |
branch |
|
11
|
0 |
35 |
if (!RETVAL) croak("FATAL: Newz failed"); |
|
14
|
0 |
35 |
if (RETVAL->pindex == -1) { |
|
19
|
0 |
35 |
if (rv != CRYPT_OK) { |
|
33
|
0 |
1 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_groupsize failed: %s", error_to_string(rv)); |
|
35
|
0 |
1 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
36
|
0 |
1 |
XPUSHs(ST(0)); /* return self */ |
|
47
|
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) { |
|
49
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv)); |
|
51
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv)); |
|
54
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv)); |
|
56
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
59
|
0 |
4 |
XPUSHs(ST(0)); /* return self */ |
|
69
|
2 |
0 |
data = (unsigned char *)SvPVbyte(dhparam, data_len); |
|
72
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_dhparam failed: %s", error_to_string(rv)); |
|
75
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv)); |
|
76
|
0 |
2 |
XPUSHs(ST(0)); /* return self */ |
|
87
|
24 |
0 |
data = (unsigned char *)SvPVbyte(key_data, data_len); |
|
88
|
0 |
24 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
90
|
0 |
24 |
if (rv != CRYPT_OK) croak("FATAL: dh_import failed: %s", error_to_string(rv)); |
|
91
|
0 |
24 |
XPUSHs(ST(0)); /* return self */ |
|
104
|
4 |
0 |
data = (unsigned char *)SvPVbyte(raw_key, data_len); |
|
105
|
0 |
4 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |
|
107
|
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) { |
|
109
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv)); |
|
111
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv)); |
|
114
|
0 |
4 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv)); |
|
116
|
2 |
2 |
if (type == 0) { |
|
119
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv)); |
|
121
|
2 |
0 |
else if (type == 1) { |
|
124
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv)); |
|
131
|
0 |
4 |
XPUSHs(ST(0)); /* return self */ |
|
137
|
0 |
21 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
145
|
0 |
2 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
158
|
0 |
2 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
161
|
2 |
0 |
siz = (self->key.x) ? mp_unsigned_bin_size(self->key.x) : 0; |
|
162
|
0 |
2 |
if (siz>10000) { |
|
165
|
2 |
0 |
if (siz>0) { |
|
173
|
2 |
0 |
siz = (self->key.y) ? mp_unsigned_bin_size(self->key.y) : 0; |
|
174
|
0 |
2 |
if (siz>10000) { |
|
177
|
2 |
0 |
if (siz>0) { |
|
185
|
2 |
0 |
siz = (self->key.prime) ? mp_unsigned_bin_size(self->key.prime) : 0; |
|
186
|
0 |
2 |
if (siz>10000) { |
|
189
|
2 |
0 |
if (siz>0) { |
|
198
|
2 |
0 |
siz = (self->key.base) ? mp_unsigned_bin_size(self->key.base) : 0; |
|
199
|
0 |
2 |
if (siz>10000) { |
|
202
|
2 |
0 |
if (siz>0) { |
|
226
|
0 |
0 |
if (self->key.type == -1) XSRETURN_UNDEF; |
|
229
|
0 |
0 |
siz = (self->key.prime) ? mp_unsigned_bin_size(self->key.prime) : 0; |
|
230
|
0 |
0 |
if (siz>10000) { |
|
233
|
0 |
0 |
if (siz>0) { |
|
242
|
0 |
0 |
siz = (self->key.base) ? mp_unsigned_bin_size(self->key.base) : 0; |
|
243
|
0 |
0 |
if (siz>10000) { |
|
246
|
0 |
0 |
if (siz>0) { |
|
253
|
0 |
0 |
if (not_used) not_used = NULL; /* just silence the warning: variable 'not_used' set but not used */ |
|
267
|
7 |
7 |
if (strnEQ(type, "private", 7)) { |
|
269
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PRIVATE) failed: %s", error_to_string(rv)); |
|
272
|
7 |
0 |
else if (strnEQ(type, "public", 6)) { |
|
274
|
0 |
7 |
if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PUBLIC) failed: %s", error_to_string(rv)); |
|
293
|
0 |
10 |
if (rv != CRYPT_OK) croak("FATAL: dh_shared_secret failed: %s", error_to_string(rv)); |
|
308
|
1 |
2 |
if (strnEQ(type, "private", 7)) { |
|
310
|
0 |
1 |
if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PRIVATE) failed: %s", error_to_string(rv)); |
|
313
|
2 |
0 |
else if (strnEQ(type, "public", 6)) { |
|
315
|
0 |
2 |
if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PUBLIC) failed: %s", error_to_string(rv)); |
|
328
|
35 |
0 |
if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; } |