OpenCoverage

tls_keypair.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/tls/tls_keypair.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4struct tls_keypair *-
5tls_keypair_new(void)-
6{-
7 return
executed 8 times by 4 tests: return calloc(1, sizeof(struct tls_keypair));
Executed by:
  • configtest
  • keypairtest
  • tlstest
  • verifytest
calloc(1, sizeof(struct tls_keypair));
executed 8 times by 4 tests: return calloc(1, sizeof(struct tls_keypair));
Executed by:
  • configtest
  • keypairtest
  • tlstest
  • verifytest
8
8}-
9-
10static int-
11tls_keypair_pubkey_hash(struct tls_keypair *keypair, struct tls_error *error)-
12{-
13 X509 *cert = -
14 ((void *)0)-
15 ;-
16 int rv = -1;-
17-
18 free(keypair->pubkey_hash);-
19 keypair->pubkey_hash = -
20 ((void *)0)-
21 ;-
22-
23 if (keypair->cert_mem ==
keypair->cert_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-4
24 ((void *)0)
keypair->cert_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-4
25 ) {-
26 rv = 0;-
27 goto
never executed: goto done;
done;
never executed: goto done;
0
28 }-
29-
30 if (tls_keypair_load_cert(keypair, error, &cert) == -1
tls_keypair_lo..., &cert) == -1Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
)
0-4
31 goto
never executed: goto err;
err;
never executed: goto err;
0
32 if (tls_cert_pubkey_hash(cert, &keypair->pubkey_hash) == -1
tls_cert_pubke...ey_hash) == -1Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
)
0-4
33 goto
never executed: goto err;
err;
never executed: goto err;
0
34-
35 rv = 0;-
36-
37 err:
code before this statement executed 4 times by 2 tests: err:
Executed by:
  • keypairtest
  • tlstest
4
38 X509_free(cert);-
39 done:
code before this statement executed 4 times by 2 tests: done:
Executed by:
  • keypairtest
  • tlstest
4
40 return
executed 4 times by 2 tests: return (rv);
Executed by:
  • keypairtest
  • tlstest
(rv);
executed 4 times by 2 tests: return (rv);
Executed by:
  • keypairtest
  • tlstest
4
41}-
42-
43void-
44tls_keypair_clear_key(struct tls_keypair *keypair)-
45{-
46 freezero(keypair->key_mem, keypair->key_len);-
47 keypair->key_mem = -
48 ((void *)0)-
49 ;-
50 keypair->key_len = 0;-
51}
executed 13 times by 2 tests: end of block
Executed by:
  • keypairtest
  • tlstest
13
52-
53int-
54tls_keypair_set_cert_file(struct tls_keypair *keypair, struct tls_error *error,-
55 const char *cert_file)-
56{-
57 if (tls_config_load_file(error, "certificate", cert_file,
tls_config_loa...ert_len) == -1Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-3
58 &keypair->cert_mem, &keypair->cert_len) == -1
tls_config_loa...ert_len) == -1Description
TRUEnever evaluated
FALSEevaluated 3 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
)
0-3
59 return
never executed: return -1;
-1;
never executed: return -1;
0
60 return
executed 3 times by 2 tests: return tls_keypair_pubkey_hash(keypair, error);
Executed by:
  • keypairtest
  • tlstest
tls_keypair_pubkey_hash(keypair, error);
executed 3 times by 2 tests: return tls_keypair_pubkey_hash(keypair, error);
Executed by:
  • keypairtest
  • tlstest
3
61}-
62-
63int-
64tls_keypair_set_cert_mem(struct tls_keypair *keypair, struct tls_error *error,-
65 const uint8_t *cert, size_t len)-
66{-
67 if (tls_set_mem(&keypair->cert_mem, &keypair->cert_len, cert, len) == -1
tls_set_mem(&k...rt, len) == -1Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • keypairtest
)
0-1
68 return
never executed: return -1;
-1;
never executed: return -1;
0
69 return
executed 1 time by 1 test: return tls_keypair_pubkey_hash(keypair, error);
Executed by:
  • keypairtest
tls_keypair_pubkey_hash(keypair, error);
executed 1 time by 1 test: return tls_keypair_pubkey_hash(keypair, error);
Executed by:
  • keypairtest
1
70}-
71-
72int-
73tls_keypair_set_key_file(struct tls_keypair *keypair, struct tls_error *error,-
74 const char *key_file)-
75{-
76 tls_keypair_clear_key(keypair);-
77 return
executed 5 times by 2 tests: return tls_config_load_file(error, "key", key_file, &keypair->key_mem, &keypair->key_len);
Executed by:
  • keypairtest
  • tlstest
tls_config_load_file(error, "key", key_file,
executed 5 times by 2 tests: return tls_config_load_file(error, "key", key_file, &keypair->key_mem, &keypair->key_len);
Executed by:
  • keypairtest
  • tlstest
5
78 &keypair->key_mem, &keypair->key_len);
executed 5 times by 2 tests: return tls_config_load_file(error, "key", key_file, &keypair->key_mem, &keypair->key_len);
Executed by:
  • keypairtest
  • tlstest
5
79}-
80-
81int-
82tls_keypair_set_key_mem(struct tls_keypair *keypair, struct tls_error *error,-
83 const uint8_t *key, size_t len)-
84{-
85 tls_keypair_clear_key(keypair);-
86 return
executed 1 time by 1 test: return tls_set_mem(&keypair->key_mem, &keypair->key_len, key, len);
Executed by:
  • keypairtest
tls_set_mem(&keypair->key_mem, &keypair->key_len, key, len);
executed 1 time by 1 test: return tls_set_mem(&keypair->key_mem, &keypair->key_len, key, len);
Executed by:
  • keypairtest
1
87}-
88-
89int-
90tls_keypair_set_ocsp_staple_file(struct tls_keypair *keypair,-
91 struct tls_error *error, const char *ocsp_file)-
92{-
93 return
executed 1 time by 1 test: return tls_config_load_file(error, "ocsp", ocsp_file, &keypair->ocsp_staple, &keypair->ocsp_staple_len);
Executed by:
  • keypairtest
tls_config_load_file(error, "ocsp", ocsp_file,
executed 1 time by 1 test: return tls_config_load_file(error, "ocsp", ocsp_file, &keypair->ocsp_staple, &keypair->ocsp_staple_len);
Executed by:
  • keypairtest
1
94 &keypair->ocsp_staple, &keypair->ocsp_staple_len);
executed 1 time by 1 test: return tls_config_load_file(error, "ocsp", ocsp_file, &keypair->ocsp_staple, &keypair->ocsp_staple_len);
Executed by:
  • keypairtest
1
95}-
96-
97int-
98tls_keypair_set_ocsp_staple_mem(struct tls_keypair *keypair,-
99 struct tls_error *error, const uint8_t *staple, size_t len)-
100{-
101 return
executed 1 time by 1 test: return tls_set_mem(&keypair->ocsp_staple, &keypair->ocsp_staple_len, staple, len);
Executed by:
  • keypairtest
tls_set_mem(&keypair->ocsp_staple, &keypair->ocsp_staple_len,
executed 1 time by 1 test: return tls_set_mem(&keypair->ocsp_staple, &keypair->ocsp_staple_len, staple, len);
Executed by:
  • keypairtest
1
102 staple, len);
executed 1 time by 1 test: return tls_set_mem(&keypair->ocsp_staple, &keypair->ocsp_staple_len, staple, len);
Executed by:
  • keypairtest
1
103}-
104-
105void-
106tls_keypair_free(struct tls_keypair *keypair)-
107{-
108 if (keypair ==
keypair == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
109 ((void *)0)
keypair == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
110 )-
111 return;
never executed: return;
0
112-
113 tls_keypair_clear_key(keypair);-
114-
115 free(keypair->cert_mem);-
116 free(keypair->ocsp_staple);-
117 free(keypair->pubkey_hash);-
118-
119 free(keypair);-
120}
executed 5 times by 2 tests: end of block
Executed by:
  • keypairtest
  • tlstest
5
121-
122int-
123tls_keypair_load_cert(struct tls_keypair *keypair, struct tls_error *error,-
124 X509 **cert)-
125{-
126 char *errstr = "unknown";-
127 BIO *cert_bio = -
128 ((void *)0)-
129 ;-
130 int ssl_err;-
131 int rv = -1;-
132-
133 X509_free(*cert);-
134 *cert = -
135 ((void *)0)-
136 ;-
137-
138 if (keypair->cert_mem ==
keypair->cert_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
139 ((void *)0)
keypair->cert_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
140 ) {-
141 tls_error_set(error, "keypair has no certificate");-
142 goto
never executed: goto err;
err;
never executed: goto err;
0
143 }-
144 if ((
(cert_bio = BI...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
cert_bio = BIO_new_mem_buf(keypair->cert_mem,
(cert_bio = BI...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
145 keypair->cert_len)) ==
(cert_bio = BI...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
146 ((void *)0)
(cert_bio = BI...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
147 ) {-
148 tls_error_set(error, "failed to create certificate bio");-
149 goto
never executed: goto err;
err;
never executed: goto err;
0
150 }-
151 if ((*
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
cert = PEM_read_bio_X509(cert_bio,
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
152 ((void *)0)
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
153 , tls_password_cb,
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
154
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
155 ((void *)0)
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
156 )) ==
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
157 ((void *)0)
(*cert = PEM_r...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-5
158 ) {-
159 if ((
(ssl_err = ERR..._error()) != 0Description
TRUEnever evaluated
FALSEnever evaluated
ssl_err = ERR_peek_error()) != 0
(ssl_err = ERR..._error()) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
160 errstr = ERR_error_string(ssl_err,
never executed: errstr = ERR_error_string(ssl_err, ((void *)0) );
0
161 ((void *)0)
never executed: errstr = ERR_error_string(ssl_err, ((void *)0) );
0
162 );
never executed: errstr = ERR_error_string(ssl_err, ((void *)0) );
0
163 tls_error_set(error, "failed to load certificate: %s", errstr);-
164 goto
never executed: goto err;
err;
never executed: goto err;
0
165 }-
166-
167 rv = 0;-
168-
169 err:
code before this statement executed 5 times by 2 tests: err:
Executed by:
  • keypairtest
  • tlstest
5
170 BIO_free(cert_bio);-
171-
172 return
executed 5 times by 2 tests: return (rv);
Executed by:
  • keypairtest
  • tlstest
(rv);
executed 5 times by 2 tests: return (rv);
Executed by:
  • keypairtest
  • tlstest
5
173}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2