OpenCoverage

ssl_rsa.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_rsa.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9static int ssl_set_cert(CERT *c, X509 *x509);-
10static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey);-
11static int ssl_ctx_use_certificate_chain_bio(SSL_CTX *, BIO *);-
12-
13int-
14SSL_use_certificate(SSL *ssl, X509 *x)-
15{-
16 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
17 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
18 ) {-
19 SSL_error_internal(ssl, (3|64), __FILE__, 77);-
20 return
never executed: return (0);
(0);
never executed: return (0);
0
21 }-
22 if (!ssl_cert_inst(&ssl->cert)
!ssl_cert_inst(&ssl->cert)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
23 SSL_error_internal(ssl, (1|64), __FILE__, 81);-
24 return
never executed: return (0);
(0);
never executed: return (0);
0
25 }-
26 return
never executed: return (ssl_set_cert(ssl->cert, x));
(ssl_set_cert(ssl->cert, x));
never executed: return (ssl_set_cert(ssl->cert, x));
0
27}-
28-
29int-
30SSL_use_certificate_file(SSL *ssl, const char *file, int type)-
31{-
32 int j;-
33 BIO *in;-
34 int ret = 0;-
35 X509 *x = -
36 ((void *)0)-
37 ;-
38-
39 in = BIO_new(BIO_s_file());-
40 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
41 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
42 ) {-
43 SSL_error_internal(ssl, 7, __FILE__, 97);-
44 goto
never executed: goto end;
end;
never executed: goto end;
0
45 }-
46-
47 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
48 SSL_error_internal(ssl, 2, __FILE__, 102);-
49 goto
never executed: goto end;
end;
never executed: goto end;
0
50 }-
51 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
52 j = 13;-
53 x = d2i_X509_bio(in, -
54 ((void *)0)-
55 );-
56 }
never executed: end of block
else if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
57 j = 9;-
58 x = PEM_read_bio_X509(in, -
59 ((void *)0)-
60 ,-
61 ssl->ctx->default_passwd_callback,-
62 ssl->ctx->default_passwd_callback_userdata);-
63 }
never executed: end of block
else {
0
64 SSL_error_internal(ssl, 124, __FILE__, 114);-
65 goto
never executed: goto end;
end;
never executed: goto end;
0
66 }-
67-
68 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
70 ) {-
71 SSL_error_internal(ssl, j, __FILE__, 119);-
72 goto
never executed: goto end;
end;
never executed: goto end;
0
73 }-
74-
75 ret = SSL_use_certificate(ssl, x);-
76end:
code before this statement never executed: end:
0
77 X509_free(x);-
78 BIO_free(in);-
79 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
80}-
81-
82int-
83SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len)-
84{-
85 X509 *x;-
86 int ret;-
87-
88 x = d2i_X509(-
89 ((void *)0)-
90 , &d, (long)len);-
91 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
92 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
93 ) {-
94 SSL_error_internal(ssl, 13, __FILE__, 138);-
95 return
never executed: return (0);
(0);
never executed: return (0);
0
96 }-
97-
98 ret = SSL_use_certificate(ssl, x);-
99 X509_free(x);-
100 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
101}-
102-
103int-
104SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa)-
105{-
106 EVP_PKEY *pkey;-
107 int ret;-
108-
109 if (rsa ==
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
110 ((void *)0)
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ) {-
112 SSL_error_internal(ssl, (3|64), __FILE__, 154);-
113 return
never executed: return (0);
(0);
never executed: return (0);
0
114 }-
115 if (!ssl_cert_inst(&ssl->cert)
!ssl_cert_inst(&ssl->cert)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
116 SSL_error_internal(ssl, (1|64), __FILE__, 158);-
117 return
never executed: return (0);
(0);
never executed: return (0);
0
118 }-
119 if ((
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pkey = EVP_PKEY_new()) ==
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ((void *)0)
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 ) {-
122 SSL_error_internal(ssl, 6, __FILE__, 162);-
123 return
never executed: return (0);
(0);
never executed: return (0);
0
124 }-
125-
126 RSA_up_ref(rsa);-
127 EVP_PKEY_assign((pkey),6, (char *)(rsa));-
128-
129 ret = ssl_set_pkey(ssl->cert, pkey);-
130 EVP_PKEY_free(pkey);-
131 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
132}-
133-
134static int-
135ssl_set_pkey(CERT *c, EVP_PKEY *pkey)-
136{-
137 int i;-
138-
139 i = ssl_cert_type(-
140 ((void *)0)-
141 , pkey);-
142 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-63
143 ERR_put_error(20,(0xfff),(247),__FILE__,181);-
144 return
never executed: return (0);
(0);
never executed: return (0);
0
145 }-
146-
147 if (c->pkeys[i].x509 !=
c->pkeys[i].x5...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
148 ((void *)0)
c->pkeys[i].x5...!= ((void *)0)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
149 ) {-
150 EVP_PKEY *pktmp;-
151 pktmp = X509_get_pubkey(c->pkeys[i].x509);-
152 EVP_PKEY_copy_parameters(pktmp, pkey);-
153 EVP_PKEY_free(pktmp);-
154 ERR_clear_error();-
155-
156-
157-
158-
159-
160 if ((
(pkey->type == 6)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
pkey->type == 6)
(pkey->type == 6)Description
TRUEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
&&
0-63
161 (
(RSA_flags(pke...rsa) & 0x0001)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
RSA_flags(pkey->pkey.rsa) & 0x0001)
(RSA_flags(pke...rsa) & 0x0001)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-63
162;
never executed: ;
0
163 else-
164 if (!X509_check_private_key(c->pkeys[i].x509, pkey)
!X509_check_pr...i].x509, pkey)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-63
165 X509_free(c->pkeys[i].x509);-
166 c->pkeys[i].x509 = -
167 ((void *)0)-
168 ;-
169 return
never executed: return 0;
0;
never executed: return 0;
0
170 }-
171 }
executed 63 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
63
172-
173 EVP_PKEY_free(c->pkeys[i].privatekey);-
174 CRYPTO_add_lock(&pkey->references,1,10,__FILE__,208);-
175 c->pkeys[i].privatekey = pkey;-
176 c->key = &(c->pkeys[i]);-
177-
178 c->valid = 0;-
179 return
executed 63 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
(1);
executed 63 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
63
180}-
181-
182int-
183SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type)-
184{-
185 int j, ret = 0;-
186 BIO *in;-
187 RSA *rsa = -
188 ((void *)0)-
189 ;-
190-
191 in = BIO_new(BIO_s_file());-
192 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
194 ) {-
195 SSL_error_internal(ssl, 7, __FILE__, 225);-
196 goto
never executed: goto end;
end;
never executed: goto end;
0
197 }-
198-
199 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
200 SSL_error_internal(ssl, 2, __FILE__, 230);-
201 goto
never executed: goto end;
end;
never executed: goto end;
0
202 }-
203 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
204 j = 13;-
205 rsa = d2i_RSAPrivateKey_bio(in, -
206 ((void *)0)-
207 );-
208 }
never executed: end of block
else if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
209 j = 9;-
210 rsa = PEM_read_bio_RSAPrivateKey(in, -
211 ((void *)0)-
212 ,-
213 ssl->ctx->default_passwd_callback,-
214 ssl->ctx->default_passwd_callback_userdata);-
215 }
never executed: end of block
else {
0
216 SSL_error_internal(ssl, 124, __FILE__, 242);-
217 goto
never executed: goto end;
end;
never executed: goto end;
0
218 }-
219 if (rsa ==
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
220 ((void *)0)
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
221 ) {-
222 SSL_error_internal(ssl, j, __FILE__, 246);-
223 goto
never executed: goto end;
end;
never executed: goto end;
0
224 }-
225 ret = SSL_use_RSAPrivateKey(ssl, rsa);-
226 RSA_free(rsa);-
227end:
code before this statement never executed: end:
0
228 BIO_free(in);-
229 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
230}-
231-
232int-
233SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, long len)-
234{-
235 int ret;-
236 RSA *rsa;-
237-
238 if ((
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rsa = d2i_RSAPrivateKey(
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
239 ((void *)0)
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
240 , &d, (long)len)) ==
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
241 ((void *)0)
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
242 ) {-
243 SSL_error_internal(ssl, 13, __FILE__, 263);-
244 return
never executed: return (0);
(0);
never executed: return (0);
0
245 }-
246-
247 ret = SSL_use_RSAPrivateKey(ssl, rsa);-
248 RSA_free(rsa);-
249 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
250}-
251-
252int-
253SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey)-
254{-
255 int ret;-
256-
257 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
258 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ) {-
260 SSL_error_internal(ssl, (3|64), __FILE__, 278);-
261 return
never executed: return (0);
(0);
never executed: return (0);
0
262 }-
263 if (!ssl_cert_inst(&ssl->cert)
!ssl_cert_inst(&ssl->cert)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
264 SSL_error_internal(ssl, (1|64), __FILE__, 282);-
265 return
never executed: return (0);
(0);
never executed: return (0);
0
266 }-
267 ret = ssl_set_pkey(ssl->cert, pkey);-
268 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
269}-
270-
271int-
272SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)-
273{-
274 int j, ret = 0;-
275 BIO *in;-
276 EVP_PKEY *pkey = -
277 ((void *)0)-
278 ;-
279-
280 in = BIO_new(BIO_s_file());-
281 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
282 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
283 ) {-
284 SSL_error_internal(ssl, 7, __FILE__, 298);-
285 goto
never executed: goto end;
end;
never executed: goto end;
0
286 }-
287-
288 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
289 SSL_error_internal(ssl, 2, __FILE__, 303);-
290 goto
never executed: goto end;
end;
never executed: goto end;
0
291 }-
292 if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
293 j = 9;-
294 pkey = PEM_read_bio_PrivateKey(in, -
295 ((void *)0)-
296 ,-
297 ssl->ctx->default_passwd_callback,-
298 ssl->ctx->default_passwd_callback_userdata);-
299 }
never executed: end of block
else if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
300 j = 13;-
301 pkey = d2i_PrivateKey_bio(in, -
302 ((void *)0)-
303 );-
304 }
never executed: end of block
else {
0
305 SSL_error_internal(ssl, 124, __FILE__, 315);-
306 goto
never executed: goto end;
end;
never executed: goto end;
0
307 }-
308 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
309 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 ) {-
311 SSL_error_internal(ssl, j, __FILE__, 319);-
312 goto
never executed: goto end;
end;
never executed: goto end;
0
313 }-
314 ret = SSL_use_PrivateKey(ssl, pkey);-
315 EVP_PKEY_free(pkey);-
316end:
code before this statement never executed: end:
0
317 BIO_free(in);-
318 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
319}-
320-
321int-
322SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char *d, long len)-
323{-
324 int ret;-
325 EVP_PKEY *pkey;-
326-
327 if ((
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pkey = d2i_PrivateKey(type,
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
328 ((void *)0)
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
329 , &d, (long)len)) ==
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
330 ((void *)0)
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
331 ) {-
332 SSL_error_internal(ssl, 13, __FILE__, 336);-
333 return
never executed: return (0);
(0);
never executed: return (0);
0
334 }-
335-
336 ret = SSL_use_PrivateKey(ssl, pkey);-
337 EVP_PKEY_free(pkey);-
338 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
339}-
340-
341int-
342SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x)-
343{-
344 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
345 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
346 ) {-
347 ERR_put_error(20,(0xfff),((3|64)),__FILE__,349);-
348 return
never executed: return (0);
(0);
never executed: return (0);
0
349 }-
350 if (!ssl_cert_inst(&ctx->internal->cert)
!ssl_cert_inst...nternal->cert)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-63
351 ERR_put_error(20,(0xfff),((1|64)),__FILE__,353);-
352 return
never executed: return (0);
(0);
never executed: return (0);
0
353 }-
354 return
executed 63 times by 3 tests: return (ssl_set_cert(ctx->internal->cert, x));
Executed by:
  • servertest
  • ssltest
  • tlstest
(ssl_set_cert(ctx->internal->cert, x));
executed 63 times by 3 tests: return (ssl_set_cert(ctx->internal->cert, x));
Executed by:
  • servertest
  • ssltest
  • tlstest
63
355}-
356-
357static int-
358ssl_set_cert(CERT *c, X509 *x)-
359{-
360 EVP_PKEY *pkey;-
361 int i;-
362-
363 pkey = X509_get_pubkey(x);-
364 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
365 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
366 ) {-
367 ERR_put_error(20,(0xfff),(268),__FILE__,367);-
368 return
never executed: return (0);
(0);
never executed: return (0);
0
369 }-
370-
371 i = ssl_cert_type(x, pkey);-
372 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-63
373 ERR_put_error(20,(0xfff),(247),__FILE__,373);-
374 EVP_PKEY_free(pkey);-
375 return
never executed: return (0);
(0);
never executed: return (0);
0
376 }-
377-
378 if (c->pkeys[i].privatekey !=
c->pkeys[i].pr...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
379 ((void *)0)
c->pkeys[i].pr...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
380 ) {-
381 EVP_PKEY_copy_parameters(pkey, c->pkeys[i].privatekey);-
382 ERR_clear_error();-
383-
384-
385-
386-
387-
388 if ((
(c->pkeys[i].p...ey->type == 6)Description
TRUEnever evaluated
FALSEnever evaluated
c->pkeys[i].privatekey->type == 6)
(c->pkeys[i].p...ey->type == 6)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
389 (
(RSA_flags(c->...rsa) & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
RSA_flags(c->pkeys[i].privatekey->pkey.rsa) &
(RSA_flags(c->...rsa) & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
0
390 0x0001)
(RSA_flags(c->...rsa) & 0x0001)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
391;
never executed: ;
0
392 else-
393 if (!X509_check_private_key(x, c->pkeys[i].privatekey)
!X509_check_pr...i].privatekey)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
394-
395-
396-
397-
398-
399-
400 EVP_PKEY_free(c->pkeys[i].privatekey);-
401 c->pkeys[i].privatekey = -
402 ((void *)0)-
403 ;-
404-
405 ERR_clear_error();-
406 }
never executed: end of block
0
407 }
never executed: end of block
0
408-
409 EVP_PKEY_free(pkey);-
410-
411 X509_free(c->pkeys[i].x509);-
412 CRYPTO_add_lock(&x->references,1,3,__FILE__,408);-
413 c->pkeys[i].x509 = x;-
414 c->key = &(c->pkeys[i]);-
415-
416 c->valid = 0;-
417 return
executed 63 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
(1);
executed 63 times by 3 tests: return (1);
Executed by:
  • servertest
  • ssltest
  • tlstest
63
418}-
419-
420int-
421SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type)-
422{-
423 int j;-
424 BIO *in;-
425 int ret = 0;-
426 X509 *x = -
427 ((void *)0)-
428 ;-
429-
430 in = BIO_new(BIO_s_file());-
431 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
432 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
433 ) {-
434 ERR_put_error(20,(0xfff),(7),__FILE__,426);-
435 goto
never executed: goto end;
end;
never executed: goto end;
0
436 }-
437-
438 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
) {
0-59
439 ERR_put_error(20,(0xfff),(2),__FILE__,431);-
440 goto
never executed: goto end;
end;
never executed: goto end;
0
441 }-
442 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
) {
0-59
443 j = 13;-
444 x = d2i_X509_bio(in, -
445 ((void *)0)-
446 );-
447 }
never executed: end of block
else if (type == 1
type == 1Description
TRUEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
FALSEnever evaluated
) {
0-59
448 j = 9;-
449 x = PEM_read_bio_X509(in, -
450 ((void *)0)-
451 , ctx->default_passwd_callback,-
452 ctx->default_passwd_callback_userdata);-
453 }
executed 59 times by 2 tests: end of block
Executed by:
  • servertest
  • ssltest
else {
59
454 ERR_put_error(20,(0xfff),(124),__FILE__,442);-
455 goto
never executed: goto end;
end;
never executed: goto end;
0
456 }-
457-
458 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
459 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
460 ) {-
461 ERR_put_error(20,(0xfff),(j),__FILE__,447);-
462 goto
never executed: goto end;
end;
never executed: goto end;
0
463 }-
464-
465 ret = SSL_CTX_use_certificate(ctx, x);-
466end:
code before this statement executed 59 times by 2 tests: end:
Executed by:
  • servertest
  • ssltest
59
467 X509_free(x);-
468 BIO_free(in);-
469 return
executed 59 times by 2 tests: return (ret);
Executed by:
  • servertest
  • ssltest
(ret);
executed 59 times by 2 tests: return (ret);
Executed by:
  • servertest
  • ssltest
59
470}-
471-
472int-
473SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d)-
474{-
475 X509 *x;-
476 int ret;-
477-
478 x = d2i_X509(-
479 ((void *)0)-
480 , &d, (long)len);-
481 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
482 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
483 ) {-
484 ERR_put_error(20,(0xfff),(13),__FILE__,466);-
485 return
never executed: return (0);
(0);
never executed: return (0);
0
486 }-
487-
488 ret = SSL_CTX_use_certificate(ctx, x);-
489 X509_free(x);-
490 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
491}-
492-
493int-
494SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa)-
495{-
496 int ret;-
497 EVP_PKEY *pkey;-
498-
499 if (rsa ==
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
500 ((void *)0)
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
501 ) {-
502 ERR_put_error(20,(0xfff),((3|64)),__FILE__,482);-
503 return
never executed: return (0);
(0);
never executed: return (0);
0
504 }-
505 if (!ssl_cert_inst(&ctx->internal->cert)
!ssl_cert_inst...nternal->cert)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
506 ERR_put_error(20,(0xfff),((1|64)),__FILE__,486);-
507 return
never executed: return (0);
(0);
never executed: return (0);
0
508 }-
509 if ((
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pkey = EVP_PKEY_new()) ==
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
510 ((void *)0)
(pkey = EVP_PK...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
511 ) {-
512 ERR_put_error(20,(0xfff),(6),__FILE__,490);-
513 return
never executed: return (0);
(0);
never executed: return (0);
0
514 }-
515-
516 RSA_up_ref(rsa);-
517 EVP_PKEY_assign((pkey),6, (char *)(rsa));-
518-
519 ret = ssl_set_pkey(ctx->internal->cert, pkey);-
520 EVP_PKEY_free(pkey);-
521 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
522}-
523-
524int-
525SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type)-
526{-
527 int j, ret = 0;-
528 BIO *in;-
529 RSA *rsa = -
530 ((void *)0)-
531 ;-
532-
533 in = BIO_new(BIO_s_file());-
534 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
535 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
536 ) {-
537 ERR_put_error(20,(0xfff),(7),__FILE__,511);-
538 goto
never executed: goto end;
end;
never executed: goto end;
0
539 }-
540-
541 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
542 ERR_put_error(20,(0xfff),(2),__FILE__,516);-
543 goto
never executed: goto end;
end;
never executed: goto end;
0
544 }-
545 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
546 j = 13;-
547 rsa = d2i_RSAPrivateKey_bio(in, -
548 ((void *)0)-
549 );-
550 }
never executed: end of block
else if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
551 j = 9;-
552 rsa = PEM_read_bio_RSAPrivateKey(in, -
553 ((void *)0)-
554 ,-
555 ctx->default_passwd_callback,-
556 ctx->default_passwd_callback_userdata);-
557 }
never executed: end of block
else {
0
558 ERR_put_error(20,(0xfff),(124),__FILE__,528);-
559 goto
never executed: goto end;
end;
never executed: goto end;
0
560 }-
561 if (rsa ==
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
562 ((void *)0)
rsa == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
563 ) {-
564 ERR_put_error(20,(0xfff),(j),__FILE__,532);-
565 goto
never executed: goto end;
end;
never executed: goto end;
0
566 }-
567 ret = SSL_CTX_use_RSAPrivateKey(ctx, rsa);-
568 RSA_free(rsa);-
569end:
code before this statement never executed: end:
0
570 BIO_free(in);-
571 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
572}-
573-
574int-
575SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len)-
576{-
577 int ret;-
578 RSA *rsa;-
579-
580 if ((
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
rsa = d2i_RSAPrivateKey(
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
581 ((void *)0)
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
582 , &d, (long)len)) ==
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
583 ((void *)0)
(rsa = d2i_RSA...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
584 ) {-
585 ERR_put_error(20,(0xfff),(13),__FILE__,549);-
586 return
never executed: return (0);
(0);
never executed: return (0);
0
587 }-
588-
589 ret = SSL_CTX_use_RSAPrivateKey(ctx, rsa);-
590 RSA_free(rsa);-
591 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
592}-
593-
594int-
595SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey)-
596{-
597 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
598 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-63
599 ) {-
600 ERR_put_error(20,(0xfff),((3|64)),__FILE__,562);-
601 return
never executed: return (0);
(0);
never executed: return (0);
0
602 }-
603 if (!ssl_cert_inst(&ctx->internal->cert)
!ssl_cert_inst...nternal->cert)Description
TRUEnever evaluated
FALSEevaluated 63 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
) {
0-63
604 ERR_put_error(20,(0xfff),((1|64)),__FILE__,566);-
605 return
never executed: return (0);
(0);
never executed: return (0);
0
606 }-
607 return
executed 63 times by 3 tests: return (ssl_set_pkey(ctx->internal->cert, pkey));
Executed by:
  • servertest
  • ssltest
  • tlstest
(ssl_set_pkey(ctx->internal->cert, pkey));
executed 63 times by 3 tests: return (ssl_set_pkey(ctx->internal->cert, pkey));
Executed by:
  • servertest
  • ssltest
  • tlstest
63
608}-
609-
610int-
611SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type)-
612{-
613 int j, ret = 0;-
614 BIO *in;-
615 EVP_PKEY *pkey = -
616 ((void *)0)-
617 ;-
618-
619 in = BIO_new(BIO_s_file());-
620 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
621 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
622 ) {-
623 ERR_put_error(20,(0xfff),(7),__FILE__,581);-
624 goto
never executed: goto end;
end;
never executed: goto end;
0
625 }-
626-
627 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
) {
0-59
628 ERR_put_error(20,(0xfff),(2),__FILE__,586);-
629 goto
never executed: goto end;
end;
never executed: goto end;
0
630 }-
631 if (type == 1
type == 1Description
TRUEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
FALSEnever evaluated
) {
0-59
632 j = 9;-
633 pkey = PEM_read_bio_PrivateKey(in, -
634 ((void *)0)-
635 ,-
636 ctx->default_passwd_callback,-
637 ctx->default_passwd_callback_userdata);-
638 }
executed 59 times by 2 tests: end of block
Executed by:
  • servertest
  • ssltest
else if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-59
639 j = 13;-
640 pkey = d2i_PrivateKey_bio(in, -
641 ((void *)0)-
642 );-
643 }
never executed: end of block
else {
0
644 ERR_put_error(20,(0xfff),(124),__FILE__,598);-
645 goto
never executed: goto end;
end;
never executed: goto end;
0
646 }-
647 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
648 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
0-59
649 ) {-
650 ERR_put_error(20,(0xfff),(j),__FILE__,602);-
651 goto
never executed: goto end;
end;
never executed: goto end;
0
652 }-
653 ret = SSL_CTX_use_PrivateKey(ctx, pkey);-
654 EVP_PKEY_free(pkey);-
655end:
code before this statement executed 59 times by 2 tests: end:
Executed by:
  • servertest
  • ssltest
59
656 BIO_free(in);-
657 return
executed 59 times by 2 tests: return (ret);
Executed by:
  • servertest
  • ssltest
(ret);
executed 59 times by 2 tests: return (ret);
Executed by:
  • servertest
  • ssltest
59
658}-
659-
660int-
661SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, const unsigned char *d,-
662 long len)-
663{-
664 int ret;-
665 EVP_PKEY *pkey;-
666-
667 if ((
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pkey = d2i_PrivateKey(type,
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
668 ((void *)0)
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
669 , &d, (long)len)) ==
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
670 ((void *)0)
(pkey = d2i_Pr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
671 ) {-
672 ERR_put_error(20,(0xfff),(13),__FILE__,620);-
673 return
never executed: return (0);
(0);
never executed: return (0);
0
674 }-
675-
676 ret = SSL_CTX_use_PrivateKey(ctx, pkey);-
677 EVP_PKEY_free(pkey);-
678 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
679}-
680-
681-
682-
683-
684-
685-
686-
687static int-
688ssl_ctx_use_certificate_chain_bio(SSL_CTX *ctx, BIO *in)-
689{-
690 int ret = 0;-
691 X509 *x = -
692 ((void *)0)-
693 ;-
694-
695 ERR_clear_error();-
696-
697 x = PEM_read_bio_X509_AUX(in, -
698 ((void *)0)-
699 , ctx->default_passwd_callback,-
700 ctx->default_passwd_callback_userdata);-
701 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
702 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
703 ) {-
704 ERR_put_error(20,(0xfff),(9),__FILE__,646);-
705 goto
never executed: goto end;
end;
never executed: goto end;
0
706 }-
707-
708 ret = SSL_CTX_use_certificate(ctx, x);-
709-
710 if (ERR_peek_error() != 0
ERR_peek_error() != 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
)
0-4
711 ret = 0;
never executed: ret = 0;
0
712-
713 if (ret
retDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
) {
0-4
714-
715-
716-
717-
718 X509 *ca;-
719 int r;-
720 unsigned long err;-
721-
722 sk_pop_free(((_STACK*) (1 ? (ctx->extra_certs) : (struct stack_st_X509*)0)), ((void (*)(void *)) ((1 ? (X509_free) : (void (*)(X509 *))0))));-
723 ctx->extra_certs = -
724 ((void *)0)-
725 ;-
726-
727 while ((
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
ca = PEM_read_bio_X509(in,
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
728 ((void *)0)
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
729 ,
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
730 ctx->default_passwd_callback,
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
731 ctx->default_passwd_callback_userdata)) !=
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
732 ((void *)0)
(ca = PEM_read...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
733 ) {-
734 r = SSL_CTX_ctrl(ctx,14,0,(char *)ca);-
735 if (!r
!rDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
736 X509_free(ca);-
737 ret = 0;-
738 goto
never executed: goto end;
end;
never executed: goto end;
0
739 }-
740-
741-
742-
743-
744-
745-
746 }
never executed: end of block
0
747-
748-
749 err = ERR_peek_last_error();-
750 if ((
(int)((((unsig...L)&0xffL) == 9Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
int)((((unsigned long)err)>>24L)&0xffL) == 9
(int)((((unsig...L)&0xffL) == 9Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
&&
0-4
751 (
(int)((err)&0xfffL) == 108Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
int)((err)&0xfffL) == 108
(int)((err)&0xfffL) == 108Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
)
0-4
752 ERR_clear_error();
executed 4 times by 1 test: ERR_clear_error();
Executed by:
  • tlstest
4
753 else-
754 ret = 0;
never executed: ret = 0;
0
755 }-
756-
757end:
code before this statement executed 4 times by 1 test: end:
Executed by:
  • tlstest
4
758 X509_free(x);-
759 return
executed 4 times by 1 test: return (ret);
Executed by:
  • tlstest
(ret);
executed 4 times by 1 test: return (ret);
Executed by:
  • tlstest
4
760}-
761-
762int-
763SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file)-
764{-
765 BIO *in;-
766 int ret = 0;-
767-
768 in = BIO_new(BIO_s_file());-
769 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
770 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
771 ) {-
772 ERR_put_error(20,(0xfff),(7),__FILE__,706);-
773 goto
never executed: goto end;
end;
never executed: goto end;
0
774 }-
775-
776 if (BIO_ctrl(in,108, 0x01|0x02,(char *)file) <= 0
BIO_ctrl(in,10...r *)file) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
777 ERR_put_error(20,(0xfff),(2),__FILE__,711);-
778 goto
never executed: goto end;
end;
never executed: goto end;
0
779 }-
780-
781 ret = ssl_ctx_use_certificate_chain_bio(ctx, in);-
782-
783end:
code before this statement never executed: end:
0
784 BIO_free(in);-
785 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
786}-
787-
788int-
789SSL_CTX_use_certificate_chain_mem(SSL_CTX *ctx, void *buf, int len)-
790{-
791 BIO *in;-
792 int ret = 0;-
793-
794 in = BIO_new_mem_buf(buf, len);-
795 if (in ==
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
796 ((void *)0)
in == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
797 ) {-
798 ERR_put_error(20,(0xfff),(7),__FILE__,730);-
799 goto
never executed: goto end;
end;
never executed: goto end;
0
800 }-
801-
802 ret = ssl_ctx_use_certificate_chain_bio(ctx, in);-
803-
804end:
code before this statement executed 4 times by 1 test: end:
Executed by:
  • tlstest
4
805 BIO_free(in);-
806 return
executed 4 times by 1 test: return (ret);
Executed by:
  • tlstest
(ret);
executed 4 times by 1 test: return (ret);
Executed by:
  • tlstest
4
807}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2