OpenCoverage

tls_config.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/tls/tls_config.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5int-
6tls_config_load_file(struct tls_error *error, const char *filetype,-
7 const char *filename, char **buf, size_t *len)-
8{-
9 struct stat st;-
10 int fd = -1;-
11 ssize_t n;-
12-
13 free(*buf);-
14 *buf = -
15 ((void *)0)-
16 ;-
17 *len = 0;-
18-
19 if ((
(fd = open(fil...e, 00 )) == -1Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
fd = open(filename,
(fd = open(fil...e, 00 )) == -1Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-11
20 00
(fd = open(fil...e, 00 )) == -1Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-11
21 )) == -1
(fd = open(fil...e, 00 )) == -1Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
) {
0-11
22 tls_error_set(error, "failed to open %s file '%s'",-
23 filetype, filename);-
24 goto
never executed: goto err;
err;
never executed: goto err;
0
25 }-
26 if (fstat(fd, &st) != 0
fstat(fd, &st) != 0Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
) {
0-11
27 tls_error_set(error, "failed to stat %s file '%s'",-
28 filetype, filename);-
29 goto
never executed: goto err;
err;
never executed: goto err;
0
30 }-
31 if (st.st_size < 0
st.st_size < 0Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
)
0-11
32 goto
never executed: goto err;
err;
never executed: goto err;
0
33 *len = (size_t)st.st_size;-
34 if ((*
(*buf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
buf = malloc(*len)) ==
(*buf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-11
35 ((void *)0)
(*buf = malloc...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
0-11
36 ) {-
37 tls_error_set(error, "failed to allocate buffer for "-
38 "%s file", filetype);-
39 goto
never executed: goto err;
err;
never executed: goto err;
0
40 }-
41 n = read(fd, *buf, *len);-
42 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
|| (
(size_t)n != *lenDescription
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
size_t)n != *len
(size_t)n != *lenDescription
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • keypairtest
  • tlstest
) {
0-11
43 tls_error_set(error, "failed to read %s file '%s'",-
44 filetype, filename);-
45 goto
never executed: goto err;
err;
never executed: goto err;
0
46 }-
47 close(fd);-
48 return
executed 11 times by 2 tests: return 0;
Executed by:
  • keypairtest
  • tlstest
0;
executed 11 times by 2 tests: return 0;
Executed by:
  • keypairtest
  • tlstest
11
49-
50 err:-
51 if (fd != -1
fd != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
52 close(fd);
never executed: close(fd);
0
53 freezero(*buf, *len);-
54 *buf = -
55 ((void *)0)-
56 ;-
57 *len = 0;-
58-
59 return
never executed: return -1;
-1;
never executed: return -1;
0
60}-
61-
62struct tls_config *-
63tls_config_new_internal(void)-
64{-
65 struct tls_config *config;-
66 unsigned char sid[32];-
67-
68 if ((
(config = call...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
config = calloc(1, sizeof(*config))) ==
(config = call...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
69 ((void *)0)
(config = call...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
70 )-
71 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
72 ((void *)0)
never executed: return ( ((void *)0) );
0
73 );
never executed: return ( ((void *)0) );
0
74-
75 if ((
(config->keypa...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
config->keypair = tls_keypair_new()) ==
(config->keypa...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
76 ((void *)0)
(config->keypa...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
77 )-
78 goto
never executed: goto err;
err;
never executed: goto err;
0
79-
80 config->refcount = 1;-
81 config->session_fd = -1;-
82-
83-
84-
85-
86 if (tls_config_set_dheparams(config, "none") != 0
tls_config_set..., "none") != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
87 goto
never executed: goto err;
err;
never executed: goto err;
0
88 if (tls_config_set_ecdhecurves(config, "default") != 0
tls_config_set...default") != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
89 goto
never executed: goto err;
err;
never executed: goto err;
0
90 if (tls_config_set_ciphers(config, "secure") != 0
tls_config_set..."secure") != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
91 goto
never executed: goto err;
err;
never executed: goto err;
0
92-
93 if (tls_config_set_protocols(config, (1 << 3)) != 0
tls_config_set...(1 << 3)) != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
94 goto
never executed: goto err;
err;
never executed: goto err;
0
95 if (tls_config_set_verify_depth(config, 6) != 0
tls_config_set...onfig, 6) != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
96 goto
never executed: goto err;
err;
never executed: goto err;
0
97-
98-
99-
100-
101-
102-
103 arc4random_buf(sid, sizeof(sid));-
104 if (tls_config_set_session_id(config, sid, sizeof(sid)) != 0
tls_config_set...eof(sid)) != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-7
105 goto
never executed: goto err;
err;
never executed: goto err;
0
106 config->ticket_keyrev = arc4random();-
107 config->ticket_autorekey = 1;-
108-
109 tls_config_prefer_ciphers_server(config);-
110-
111 tls_config_verify(config);-
112-
113 return
executed 7 times by 3 tests: return (config);
Executed by:
  • configtest
  • tlstest
  • verifytest
(config);
executed 7 times by 3 tests: return (config);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
114-
115 err:-
116 tls_config_free(config);-
117 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
118 ((void *)0)
never executed: return ( ((void *)0) );
0
119 );
never executed: return ( ((void *)0) );
0
120}-
121-
122struct tls_config *-
123tls_config_new(void)-
124{-
125 if (tls_init() == -1
tls_init() == -1Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
)
0-4
126 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
127 ((void *)0)
never executed: return ( ((void *)0) );
0
128 );
never executed: return ( ((void *)0) );
0
129-
130 return
executed 4 times by 1 test: return tls_config_new_internal();
Executed by:
  • tlstest
tls_config_new_internal();
executed 4 times by 1 test: return tls_config_new_internal();
Executed by:
  • tlstest
4
131}-
132-
133void-
134tls_config_free(struct tls_config *config)-
135{-
136 struct tls_keypair *kp, *nkp;-
137-
138 if (config ==
config == ((void *)0)Description
TRUEevaluated 78 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
48-78
139 ((void *)0)
config == ((void *)0)Description
TRUEevaluated 78 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
48-78
140 )-
141 return;
executed 78 times by 2 tests: return;
Executed by:
  • tlstest
  • verifytest
78
142-
143 if (--
--config->refcount > 0Description
TRUEevaluated 44 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
config->refcount > 0
--config->refcount > 0Description
TRUEevaluated 44 times by 2 tests
Evaluated by:
  • tlstest
  • verifytest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
)
4-44
144 return;
executed 44 times by 2 tests: return;
Executed by:
  • tlstest
  • verifytest
44
145-
146 for (kp = config->keypair; kp !=
kp != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
4
147 ((void *)0)
kp != ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
4
148 ; kp = nkp) {-
149 nkp = kp->next;-
150 tls_keypair_free(kp);-
151 }
executed 4 times by 1 test: end of block
Executed by:
  • tlstest
4
152-
153 free(config->error.msg);-
154-
155 free(config->alpn);-
156 free((char *)config->ca_mem);-
157 free((char *)config->ca_path);-
158 free((char *)config->ciphers);-
159 free((char *)config->crl_mem);-
160 free(config->ecdhecurves);-
161-
162 free(config);-
163}
executed 4 times by 1 test: end of block
Executed by:
  • tlstest
4
164-
165static void-
166tls_config_keypair_add(struct tls_config *config, struct tls_keypair *keypair)-
167{-
168 struct tls_keypair *kp;-
169-
170 kp = config->keypair;-
171 while (kp->next !=
kp->next != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
172 ((void *)0)
kp->next != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
173 )-
174 kp = kp->next;
never executed: kp = kp->next;
0
175-
176 kp->next = keypair;-
177}
never executed: end of block
0
178-
179const char *-
180tls_config_error(struct tls_config *config)-
181{-
182 return
never executed: return config->error.msg;
config->error.msg;
never executed: return config->error.msg;
0
183}-
184-
185void-
186tls_config_clear_keys(struct tls_config *config)-
187{-
188 struct tls_keypair *kp;-
189-
190 for (kp = config->keypair; kp !=
kp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
191 ((void *)0)
kp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
192 ; kp = kp->next)-
193 tls_keypair_clear_key(kp);
never executed: tls_keypair_clear_key(kp);
0
194}
never executed: end of block
0
195-
196int-
197tls_config_parse_protocols(uint32_t *protocols, const char *protostr)-
198{-
199 uint32_t proto, protos = 0;-
200 char *s, *p, *q;-
201 int negate;-
202-
203 if (protostr ==
protostr == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • configtest
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
1-18
204 ((void *)0)
protostr == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • configtest
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
1-18
205 ) {-
206 *protocols = (1 << 3);-
207 return
executed 1 time by 1 test: return (0);
Executed by:
  • configtest
(0);
executed 1 time by 1 test: return (0);
Executed by:
  • configtest
1
208 }-
209-
210 if ((
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
s =
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
211 (__extension__ (__builtin_constant_p (
__builtin_cons...p ( protostr )Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
212 protostr
__builtin_cons...p ( protostr )Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
213 )
__builtin_cons...p ( protostr )Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
&& ((
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
214 protostr
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
215 ) + 1) - (size_t)(const void *)(
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
216 protostr
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
217 ) == 1)
((size_t)(cons...otostr ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
218 protostr
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
219 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
220 protostr
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
221 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, protostr , __len);
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
222 protostr
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
never executed: __retval = (char *) memcpy (__retval, protostr , __len);
0-18
223 , __len);
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
never executed: __retval = (char *) memcpy (__retval, protostr , __len);
__retval; })) : __strdup (
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
224 protostr
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
225 )))
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
226 ) ==
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
227 ((void *)0)
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • configtest
0-18
228 )-
229 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
230-
231 q = s;-
232 while ((
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
p =
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
233 __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
234 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
235 ) && ((size_t)(const void *)((
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
236 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
237 ) + 1) - (size_t)(const void *)(
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
238 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
239 ) == 1) && (__r0 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
240 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
241 ))[0], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
242 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
243 ))[0] != '\0') ? ((__r1 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
244 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
245 ))[1], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
246 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
247 ))[1] == '\0') ? __strsep_1c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
248 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
249 , __r0) : ((__r2 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
250 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
251 ))[2], __r2 == '\0') ? __strsep_2c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
252 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
253 , __r0, __r1) : (((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
254 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
255 ))[3] == '\0' ? __strsep_3c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
256 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
257 , __r0, __r1, __r2) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
258 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
259 ,
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
260 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
261 )))) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
262 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
263 ,
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
264 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
265 )); })
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
266 ) !=
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
267 ((void *)0)
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 33 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 14 times by 1 test
Evaluated by:
  • configtest
14-33
268 ) {-
269 while (*
*p == ' 'Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • configtest
p == ' '
*p == ' 'Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • configtest
|| *
*p == '\t'Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • configtest
p == '\t'
*p == '\t'Description
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • configtest
)
0-33
270 p++;
never executed: p++;
0
271-
272 negate = 0;-
273 if (*
*p == '!'Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 25 times by 1 test
Evaluated by:
  • configtest
p == '!'
*p == '!'Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 25 times by 1 test
Evaluated by:
  • configtest
) {
8-25
274 negate = 1;-
275 p++;-
276 }
executed 8 times by 1 test: end of block
Executed by:
  • configtest
8
277-
278 if (negate
negateDescription
TRUEevaluated 8 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 25 times by 1 test
Evaluated by:
  • configtest
&& protos == 0
protos == 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • configtest
)
3-25
279 protos = ((1 << 1)|(1 << 2)|(1 << 3));
executed 3 times by 1 test: protos = ((1 << 1)|(1 << 2)|(1 << 3));
Executed by:
  • configtest
3
280-
281 proto = 0;-
282 if (strcasecmp(p, "all") == 0
strcasecmp(p, "all") == 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 30 times by 1 test
Evaluated by:
  • configtest
||
3-30
283 strcasecmp(p, "legacy") == 0
strcasecmp(p, "legacy") == 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 1 test
Evaluated by:
  • configtest
)
0-30
284 proto = ((1 << 1)|(1 << 2)|(1 << 3));
executed 3 times by 1 test: proto = ((1 << 1)|(1 << 2)|(1 << 3));
Executed by:
  • configtest
3
285 else if (strcasecmp(p, "default") == 0
strcasecmp(p, "default") == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • configtest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • configtest
||
1-29
286 strcasecmp(p, "secure") == 0
strcasecmp(p, "secure") == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • configtest
FALSEevaluated 28 times by 1 test
Evaluated by:
  • configtest
)
1-28
287 proto = (1 << 3);
executed 2 times by 1 test: proto = (1 << 3);
Executed by:
  • configtest
2
288 if (strcasecmp(p, "tlsv1") == 0
strcasecmp(p, "tlsv1") == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • configtest
FALSEevaluated 32 times by 1 test
Evaluated by:
  • configtest
)
1-32
289 proto = ((1 << 1)|(1 << 2)|(1 << 3));
executed 1 time by 1 test: proto = ((1 << 1)|(1 << 2)|(1 << 3));
Executed by:
  • configtest
1
290 else if (strcasecmp(p, "tlsv1.0") == 0
strcasecmp(p, "tlsv1.0") == 0Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 25 times by 1 test
Evaluated by:
  • configtest
)
7-25
291 proto = (1 << 1);
executed 7 times by 1 test: proto = (1 << 1);
Executed by:
  • configtest
7
292 else if (strcasecmp(p, "tlsv1.1") == 0
strcasecmp(p, "tlsv1.1") == 0Description
TRUEevaluated 9 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 16 times by 1 test
Evaluated by:
  • configtest
)
9-16
293 proto = (1 << 2);
executed 9 times by 1 test: proto = (1 << 2);
Executed by:
  • configtest
9
294 else if (strcasecmp(p, "tlsv1.2") == 0
strcasecmp(p, "tlsv1.2") == 0Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • configtest
)
7-9
295 proto = (1 << 3);
executed 7 times by 1 test: proto = (1 << 3);
Executed by:
  • configtest
7
296-
297 if (proto == 0
proto == 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • configtest
) {
4-29
298 free(s);-
299 return
executed 4 times by 1 test: return (-1);
Executed by:
  • configtest
(-1);
executed 4 times by 1 test: return (-1);
Executed by:
  • configtest
4
300 }-
301-
302 if (negate
negateDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • configtest
FALSEevaluated 22 times by 1 test
Evaluated by:
  • configtest
)
7-22
303 protos &= ~proto;
executed 7 times by 1 test: protos &= ~proto;
Executed by:
  • configtest
7
304 else-
305 protos |= proto;
executed 22 times by 1 test: protos |= proto;
Executed by:
  • configtest
22
306 }-
307-
308 *protocols = protos;-
309-
310 free(s);-
311-
312 return
executed 14 times by 1 test: return (0);
Executed by:
  • configtest
(0);
executed 14 times by 1 test: return (0);
Executed by:
  • configtest
14
313}-
314-
315static int-
316tls_config_parse_alpn(struct tls_config *config, const char *alpn,-
317 char **alpn_data, size_t *alpn_len)-
318{-
319 size_t buf_len, i, len;-
320 char *buf = -
321 ((void *)0)-
322 ;-
323 char *s = -
324 ((void *)0)-
325 ;-
326 char *p, *q;-
327-
328 free(*alpn_data);-
329 *alpn_data = -
330 ((void *)0)-
331 ;-
332 *alpn_len = 0;-
333-
334 if ((
(buf_len = str...) + 1) > 65535Description
TRUEnever evaluated
FALSEnever evaluated
buf_len = strlen(alpn) + 1) > 65535
(buf_len = str...) + 1) > 65535Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
335 tls_config_set_errorx(config, "alpn too large");-
336 goto
never executed: goto err;
err;
never executed: goto err;
0
337 }-
338-
339 if ((
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = malloc(buf_len)) ==
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
340 ((void *)0)
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
341 ) {-
342 tls_config_set_errorx(config, "out of memory");-
343 goto
never executed: goto err;
err;
never executed: goto err;
0
344 }-
345-
346 if ((
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
s =
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
347 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( alpn )Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
348 alpn
__builtin_constant_p ( alpn )Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
349 )
__builtin_constant_p ( alpn )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
350 alpn
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
351 ) + 1) - (size_t)(const void *)(
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
352 alpn
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
353 ) == 1)
((size_t)(cons...( alpn ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
354 alpn
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
355 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
356 alpn
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
357 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, alpn , __len);
0
358 alpn
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, alpn , __len);
0
359 , __len); __retval; })) : __strdup (
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
360 alpn
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
361 )))
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
362 ) ==
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
363 ((void *)0)
(s = (__extens...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
364 ) {-
365 tls_config_set_errorx(config, "out of memory");-
366 goto
never executed: goto err;
err;
never executed: goto err;
0
367 }-
368-
369 i = 0;-
370 q = s;-
371 while ((
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
p =
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
372 __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
373 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
374 ) && ((size_t)(const void *)((
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
375 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
376 ) + 1) - (size_t)(const void *)(
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
377 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
378 ) == 1) && (__r0 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
379 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
380 ))[0], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
381 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
382 ))[0] != '\0') ? ((__r1 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
383 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
384 ))[1], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
385 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
386 ))[1] == '\0') ? __strsep_1c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
387 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
388 , __r0) : ((__r2 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
389 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
390 ))[2], __r2 == '\0') ? __strsep_2c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
391 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
392 , __r0, __r1) : (((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
393 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
394 ))[3] == '\0' ? __strsep_3c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
395 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
396 , __r0, __r1, __r2) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
397 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
398 ,
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
399 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
400 )))) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
401 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
402 ,
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
403 ","
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
404 )); })
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
405 ) !=
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
406 ((void *)0)
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
407 ) {-
408 if ((
(len = strlen(p)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
len = strlen(p)) == 0
(len = strlen(p)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
409 tls_config_set_errorx(config,-
410 "alpn protocol with zero length");-
411 goto
never executed: goto err;
err;
never executed: goto err;
0
412 }-
413 if (len > 255
len > 255Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
414 tls_config_set_errorx(config,-
415 "alpn protocol too long");-
416 goto
never executed: goto err;
err;
never executed: goto err;
0
417 }-
418 buf[i++] = len & 0xff;-
419 memcpy(&buf[i], p, len);-
420 i += len;-
421 }
never executed: end of block
0
422-
423 free(s);-
424-
425 *alpn_data = buf;-
426 *alpn_len = buf_len;-
427-
428 return
never executed: return (0);
(0);
never executed: return (0);
0
429-
430 err:-
431 free(buf);-
432 free(s);-
433-
434 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
435}-
436-
437int-
438tls_config_set_alpn(struct tls_config *config, const char *alpn)-
439{-
440 return
never executed: return tls_config_parse_alpn(config, alpn, &config->alpn, &config->alpn_len);
tls_config_parse_alpn(config, alpn, &config->alpn,
never executed: return tls_config_parse_alpn(config, alpn, &config->alpn, &config->alpn_len);
0
441 &config->alpn_len);
never executed: return tls_config_parse_alpn(config, alpn, &config->alpn, &config->alpn_len);
0
442}-
443-
444static int-
445tls_config_add_keypair_file_internal(struct tls_config *config,-
446 const char *cert_file, const char *key_file, const char *ocsp_file)-
447{-
448 struct tls_keypair *keypair;-
449-
450 if ((
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
keypair = tls_keypair_new()) ==
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
451 ((void *)0)
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
452 )-
453 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
454 if (tls_keypair_set_cert_file(keypair, &config->error, cert_file) != 0
tls_keypair_se...ert_file) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
455 goto
never executed: goto err;
err;
never executed: goto err;
0
456 if (tls_keypair_set_key_file(keypair, &config->error, key_file) != 0
tls_keypair_se...key_file) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
457 goto
never executed: goto err;
err;
never executed: goto err;
0
458 if (ocsp_file !=
ocsp_file != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
459 ((void *)0)
ocsp_file != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
460 &&-
461 tls_keypair_set_ocsp_staple_file(keypair, &config->error,
tls_keypair_se...csp_file) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
462 ocsp_file) != 0
tls_keypair_se...csp_file) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
463 goto
never executed: goto err;
err;
never executed: goto err;
0
464-
465 tls_config_keypair_add(config, keypair);-
466-
467 return
never executed: return (0);
(0);
never executed: return (0);
0
468-
469 err:-
470 tls_keypair_free(keypair);-
471 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
472}-
473-
474static int-
475tls_config_add_keypair_mem_internal(struct tls_config *config, const uint8_t *cert,-
476 size_t cert_len, const uint8_t *key, size_t key_len,-
477 const uint8_t *staple, size_t staple_len)-
478{-
479 struct tls_keypair *keypair;-
480-
481 if ((
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
keypair = tls_keypair_new()) ==
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
482 ((void *)0)
(keypair = tls...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
483 )-
484 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
485 if (tls_keypair_set_cert_mem(keypair, &config->error, cert, cert_len) != 0
tls_keypair_se...cert_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
486 goto
never executed: goto err;
err;
never executed: goto err;
0
487 if (tls_keypair_set_key_mem(keypair, &config->error, key, key_len) != 0
tls_keypair_se... key_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
488 goto
never executed: goto err;
err;
never executed: goto err;
0
489 if (staple !=
staple != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
490 ((void *)0)
staple != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
491 &&-
492 tls_keypair_set_ocsp_staple_mem(keypair, &config->error, staple,
tls_keypair_se...aple_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
493 staple_len) != 0
tls_keypair_se...aple_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
494 goto
never executed: goto err;
err;
never executed: goto err;
0
495-
496 tls_config_keypair_add(config, keypair);-
497-
498 return
never executed: return (0);
(0);
never executed: return (0);
0
499-
500 err:-
501 tls_keypair_free(keypair);-
502 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
503}-
504-
505int-
506tls_config_add_keypair_mem(struct tls_config *config, const uint8_t *cert,-
507 size_t cert_len, const uint8_t *key, size_t key_len)-
508{-
509 return
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
tls_config_add_keypair_mem_internal(config, cert, cert_len, key,
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
510 key_len,
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
511 ((void *)0)
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
512 , 0);
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
513}-
514-
515int-
516tls_config_add_keypair_file(struct tls_config *config,-
517 const char *cert_file, const char *key_file)-
518{-
519 return
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
tls_config_add_keypair_file_internal(config, cert_file,
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
0
520 key_file,
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
0
521 ((void *)0)
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
0
522 );
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
0
523}-
524-
525int-
526tls_config_add_keypair_ocsp_mem(struct tls_config *config, const uint8_t *cert,-
527 size_t cert_len, const uint8_t *key, size_t key_len, const uint8_t *staple,-
528 size_t staple_len)-
529{-
530 return
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
tls_config_add_keypair_mem_internal(config, cert, cert_len, key,
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
0
531 key_len, staple, staple_len);
never executed: return tls_config_add_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
0
532}-
533-
534int-
535tls_config_add_keypair_ocsp_file(struct tls_config *config,-
536 const char *cert_file, const char *key_file, const char *ocsp_file)-
537{-
538 return
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ocsp_file);
tls_config_add_keypair_file_internal(config, cert_file,
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ocsp_file);
0
539 key_file, ocsp_file);
never executed: return tls_config_add_keypair_file_internal(config, cert_file, key_file, ocsp_file);
0
540}-
541-
542int-
543tls_config_set_ca_file(struct tls_config *config, const char *ca_file)-
544{-
545 return
executed 2 times by 1 test: return tls_config_load_file(&config->error, "CA", ca_file, &config->ca_mem, &config->ca_len);
Executed by:
  • tlstest
tls_config_load_file(&config->error, "CA", ca_file,
executed 2 times by 1 test: return tls_config_load_file(&config->error, "CA", ca_file, &config->ca_mem, &config->ca_len);
Executed by:
  • tlstest
2
546 &config->ca_mem, &config->ca_len);
executed 2 times by 1 test: return tls_config_load_file(&config->error, "CA", ca_file, &config->ca_mem, &config->ca_len);
Executed by:
  • tlstest
2
547}-
548-
549int-
550tls_config_set_ca_path(struct tls_config *config, const char *ca_path)-
551{-
552 return
never executed: return tls_set_string(&config->ca_path, ca_path);
tls_set_string(&config->ca_path, ca_path);
never executed: return tls_set_string(&config->ca_path, ca_path);
0
553}-
554-
555int-
556tls_config_set_ca_mem(struct tls_config *config, const uint8_t *ca, size_t len)-
557{-
558 return
never executed: return tls_set_mem(&config->ca_mem, &config->ca_len, ca, len);
tls_set_mem(&config->ca_mem, &config->ca_len, ca, len);
never executed: return tls_set_mem(&config->ca_mem, &config->ca_len, ca, len);
0
559}-
560-
561int-
562tls_config_set_cert_file(struct tls_config *config, const char *cert_file)-
563{-
564 return
executed 2 times by 1 test: return tls_keypair_set_cert_file(config->keypair, &config->error, cert_file);
Executed by:
  • tlstest
tls_keypair_set_cert_file(config->keypair, &config->error,
executed 2 times by 1 test: return tls_keypair_set_cert_file(config->keypair, &config->error, cert_file);
Executed by:
  • tlstest
2
565 cert_file);
executed 2 times by 1 test: return tls_keypair_set_cert_file(config->keypair, &config->error, cert_file);
Executed by:
  • tlstest
2
566}-
567-
568int-
569tls_config_set_cert_mem(struct tls_config *config, const uint8_t *cert,-
570 size_t len)-
571{-
572 return
never executed: return tls_keypair_set_cert_mem(config->keypair, &config->error, cert, len);
tls_keypair_set_cert_mem(config->keypair, &config->error,
never executed: return tls_keypair_set_cert_mem(config->keypair, &config->error, cert, len);
0
573 cert, len);
never executed: return tls_keypair_set_cert_mem(config->keypair, &config->error, cert, len);
0
574}-
575-
576int-
577tls_config_set_ciphers(struct tls_config *config, const char *ciphers)-
578{-
579 SSL_CTX *ssl_ctx = -
580 ((void *)0)-
581 ;-
582-
583 if (ciphers ==
ciphers == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
584 ((void *)0)
ciphers == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
585 ||-
586 strcasecmp(ciphers, "default") == 0
strcasecmp(cip...default") == 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
||
0-7
587 strcasecmp(ciphers, "secure") == 0
strcasecmp(cip..."secure") == 0Description
TRUEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEnever evaluated
)
0-7
588 ciphers = "TLSv1.2+AEAD+ECDHE:TLSv1.2+AEAD+DHE";
executed 7 times by 3 tests: ciphers = "TLSv1.2+AEAD+ECDHE:TLSv1.2+AEAD+DHE";
Executed by:
  • configtest
  • tlstest
  • verifytest
7
589 else if (strcasecmp(ciphers, "compat") == 0
strcasecmp(cip..."compat") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
590 ciphers = "HIGH:!aNULL";
never executed: ciphers = "HIGH:!aNULL";
0
591 else if (strcasecmp(ciphers, "legacy") == 0
strcasecmp(cip..."legacy") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
592 ciphers = "HIGH:MEDIUM:!aNULL";
never executed: ciphers = "HIGH:MEDIUM:!aNULL";
0
593 else if (strcasecmp(ciphers, "all") == 0
strcasecmp(cip...s, "all") == 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
594 strcasecmp(ciphers, "insecure") == 0
strcasecmp(cip...nsecure") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
595 ciphers = "ALL:!aNULL:!eNULL";
never executed: ciphers = "ALL:!aNULL:!eNULL";
0
596-
597 if ((
(ssl_ctx = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
ssl_ctx = SSL_CTX_new(SSLv23_method())) ==
(ssl_ctx = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
598 ((void *)0)
(ssl_ctx = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
599 ) {-
600 tls_config_set_errorx(config, "out of memory");-
601 goto
never executed: goto err;
err;
never executed: goto err;
0
602 }-
603 if (SSL_CTX_set_cipher_list(ssl_ctx, ciphers) != 1
SSL_CTX_set_ci... ciphers) != 1Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
) {
0-7
604 tls_config_set_errorx(config, "no ciphers for '%s'", ciphers);-
605 goto
never executed: goto err;
err;
never executed: goto err;
0
606 }-
607-
608 SSL_CTX_free(ssl_ctx);-
609 return
executed 7 times by 3 tests: return tls_set_string(&config->ciphers, ciphers);
Executed by:
  • configtest
  • tlstest
  • verifytest
tls_set_string(&config->ciphers, ciphers);
executed 7 times by 3 tests: return tls_set_string(&config->ciphers, ciphers);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
610-
611 err:-
612 SSL_CTX_free(ssl_ctx);-
613 return
never executed: return -1;
-1;
never executed: return -1;
0
614}-
615-
616int-
617tls_config_set_crl_file(struct tls_config *config, const char *crl_file)-
618{-
619 return
never executed: return tls_config_load_file(&config->error, "CRL", crl_file, &config->crl_mem, &config->crl_len);
tls_config_load_file(&config->error, "CRL", crl_file,
never executed: return tls_config_load_file(&config->error, "CRL", crl_file, &config->crl_mem, &config->crl_len);
0
620 &config->crl_mem, &config->crl_len);
never executed: return tls_config_load_file(&config->error, "CRL", crl_file, &config->crl_mem, &config->crl_len);
0
621}-
622-
623int-
624tls_config_set_crl_mem(struct tls_config *config, const uint8_t *crl,-
625 size_t len)-
626{-
627 return
never executed: return tls_set_mem(&config->crl_mem, &config->crl_len, crl, len);
tls_set_mem(&config->crl_mem, &config->crl_len, crl, len);
never executed: return tls_set_mem(&config->crl_mem, &config->crl_len, crl, len);
0
628}-
629-
630int-
631tls_config_set_dheparams(struct tls_config *config, const char *params)-
632{-
633 int keylen;-
634-
635 if (params ==
params == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
636 ((void *)0)
params == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
637 || strcasecmp(params, "none") == 0
strcasecmp(par..., "none") == 0Description
TRUEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEnever evaluated
)
0-7
638 keylen = 0;
executed 7 times by 3 tests: keylen = 0;
Executed by:
  • configtest
  • tlstest
  • verifytest
7
639 else if (strcasecmp(params, "auto") == 0
strcasecmp(par..., "auto") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
640 keylen = -1;
never executed: keylen = -1;
0
641 else if (strcasecmp(params, "legacy") == 0
strcasecmp(par..."legacy") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
642 keylen = 1024;
never executed: keylen = 1024;
0
643 else {-
644 tls_config_set_errorx(config, "invalid dhe param '%s'", params);-
645 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
646 }-
647-
648 config->dheparams = keylen;-
649-
650 return
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
(0);
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
651}-
652-
653int-
654tls_config_set_ecdhecurve(struct tls_config *config, const char *curve)-
655{-
656 if (curve ==
curve == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
657 ((void *)0)
curve == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
658 ||-
659 strcasecmp(curve, "none") == 0
strcasecmp(curve, "none") == 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
660 strcasecmp(curve, "auto") == 0
strcasecmp(curve, "auto") == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
661 curve = "X25519,P-256,P-384";-
662 }
never executed: end of block
else if (
0
663 (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_constant_p ( ',' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
664 ','
__builtin_constant_p ( ',' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
665 )
__builtin_constant_p ( ',' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
666 curve
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
667 )
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( ',' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
668 ','
( ',' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
669 ) == '\0'
( ',' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
670 curve
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
671 ,
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
672 ','
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
673 ) : __builtin_strchr (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
674 curve
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
675 ,
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
676 ','
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
677 )))
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
678 !=
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
679 ((void *)0)
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
680 || -
681 (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_constant_p ( ':' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
682 ':'
__builtin_constant_p ( ':' )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
683 )
__builtin_constant_p ( ':' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
684 curve
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
685 )
!__builtin_con...nt_p ( curve )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( ':' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
686 ':'
( ':' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
687 ) == '\0'
( ':' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
688 curve
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
689 ,
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
690 ':'
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
691 ) : __builtin_strchr (
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
692 curve
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
693 ,
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
694 ':'
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
695 )))
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
696 !=
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
697 ((void *)0)
(__extension__...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
698 ) {-
699 tls_config_set_errorx(config, "invalid ecdhe curve '%s'",-
700 curve);-
701 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
702 }-
703-
704 return
never executed: return tls_config_set_ecdhecurves(config, curve);
tls_config_set_ecdhecurves(config, curve);
never executed: return tls_config_set_ecdhecurves(config, curve);
0
705}-
706-
707int-
708tls_config_set_ecdhecurves(struct tls_config *config, const char *curves)-
709{-
710 int *curves_list = -
711 ((void *)0)-
712 , *curves_new;-
713 size_t curves_num = 0;-
714 char *cs = -
715 ((void *)0)-
716 ;-
717 char *p, *q;-
718 int rv = -1;-
719 int nid;-
720-
721 free(config->ecdhecurves);-
722 config->ecdhecurves = -
723 ((void *)0)-
724 ;-
725 config->ecdhecurves_len = 0;-
726-
727 if (curves ==
curves == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
728 ((void *)0)
curves == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
729 || strcasecmp(curves, "default") == 0
strcasecmp(cur...default") == 0Description
TRUEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEnever evaluated
)
0-7
730 curves = "X25519,P-256,P-384";
executed 7 times by 3 tests: curves = "X25519,P-256,P-384";
Executed by:
  • configtest
  • tlstest
  • verifytest
7
731-
732 if ((
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
cs =
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
733 (__extension__ (__builtin_constant_p (
__builtin_cons...t_p ( curves )Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
734 curves
__builtin_cons...t_p ( curves )Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
735 )
__builtin_cons...t_p ( curves )Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
&& ((
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
736 curves
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
737 ) + 1) - (size_t)(const void *)(
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
738 curves
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
739 ) == 1)
((size_t)(cons...curves ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
740 curves
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
741 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
742 curves
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
743 ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, curves , __len);
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
744 curves
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
never executed: __retval = (char *) memcpy (__retval, curves , __len);
0-7
745 , __len);
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
never executed: __retval = (char *) memcpy (__retval, curves , __len);
__retval; })) : __strdup (
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
746 curves
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
747 )))
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
748 ) ==
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
749 ((void *)0)
(cs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-7
750 ) {-
751 tls_config_set_errorx(config, "out of memory");-
752 goto
never executed: goto err;
err;
never executed: goto err;
0
753 }-
754-
755 q = cs;-
756 while ((
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
p =
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
757 __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
758 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
759 ) && ((size_t)(const void *)((
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
760 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
761 ) + 1) - (size_t)(const void *)(
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
762 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
763 ) == 1) && (__r0 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
764 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
765 ))[0], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
766 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
767 ))[0] != '\0') ? ((__r1 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
768 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
769 ))[1], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
770 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
771 ))[1] == '\0') ? __strsep_1c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
772 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
773 , __r0) : ((__r2 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
774 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
775 ))[2], __r2 == '\0') ? __strsep_2c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
776 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
777 , __r0, __r1) : (((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
778 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
779 ))[3] == '\0' ? __strsep_3c (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
780 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
781 , __r0, __r1, __r2) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
782 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
783 ,
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
784 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
785 )))) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
786 &q
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
787 ,
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
788 ",:"
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
789 )); })
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
790 ) !=
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
791 ((void *)0)
(p = __extensi...!= ((void *)0)Description
TRUEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
7-21
792 ) {-
793 while (*
*p == ' 'Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
p == ' '
*p == ' 'Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
|| *
*p == '\t'Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
p == '\t'
*p == '\t'Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
0-21
794 p++;
never executed: p++;
0
795-
796 nid = OBJ_sn2nid(p);-
797 if (nid == 0
nid == 0Description
TRUEevaluated 14 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
7-14
798 nid = OBJ_ln2nid(p);
executed 14 times by 3 tests: nid = OBJ_ln2nid(p);
Executed by:
  • configtest
  • tlstest
  • verifytest
14
799 if (nid == 0
nid == 0Description
TRUEevaluated 14 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
)
7-14
800 nid = EC_curve_nist2nid(p);
executed 14 times by 3 tests: nid = EC_curve_nist2nid(p);
Executed by:
  • configtest
  • tlstest
  • verifytest
14
801 if (nid == 0
nid == 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
) {
0-21
802 tls_config_set_errorx(config,-
803 "invalid ecdhe curve '%s'", p);-
804 goto
never executed: goto err;
err;
never executed: goto err;
0
805 }-
806-
807 if ((
(curves_new = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
curves_new = reallocarray(curves_list, curves_num + 1,
(curves_new = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-21
808 sizeof(int))) ==
(curves_new = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-21
809 ((void *)0)
(curves_new = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
0-21
810 ) {-
811 tls_config_set_errorx(config, "out of memory");-
812 goto
never executed: goto err;
err;
never executed: goto err;
0
813 }-
814 curves_list = curves_new;-
815 curves_list[curves_num] = nid;-
816 curves_num++;-
817 }
executed 21 times by 3 tests: end of block
Executed by:
  • configtest
  • tlstest
  • verifytest
21
818-
819 config->ecdhecurves = curves_list;-
820 config->ecdhecurves_len = curves_num;-
821 curves_list = -
822 ((void *)0)-
823 ;-
824-
825 rv = 0;-
826-
827 err:
code before this statement executed 7 times by 3 tests: err:
Executed by:
  • configtest
  • tlstest
  • verifytest
7
828 free(cs);-
829 free(curves_list);-
830-
831 return
executed 7 times by 3 tests: return (rv);
Executed by:
  • configtest
  • tlstest
  • verifytest
(rv);
executed 7 times by 3 tests: return (rv);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
832}-
833-
834int-
835tls_config_set_key_file(struct tls_config *config, const char *key_file)-
836{-
837 return
executed 4 times by 1 test: return tls_keypair_set_key_file(config->keypair, &config->error, key_file);
Executed by:
  • tlstest
tls_keypair_set_key_file(config->keypair, &config->error,
executed 4 times by 1 test: return tls_keypair_set_key_file(config->keypair, &config->error, key_file);
Executed by:
  • tlstest
4
838 key_file);
executed 4 times by 1 test: return tls_keypair_set_key_file(config->keypair, &config->error, key_file);
Executed by:
  • tlstest
4
839}-
840-
841int-
842tls_config_set_key_mem(struct tls_config *config, const uint8_t *key,-
843 size_t len)-
844{-
845 return
never executed: return tls_keypair_set_key_mem(config->keypair, &config->error, key, len);
tls_keypair_set_key_mem(config->keypair, &config->error,
never executed: return tls_keypair_set_key_mem(config->keypair, &config->error, key, len);
0
846 key, len);
never executed: return tls_keypair_set_key_mem(config->keypair, &config->error, key, len);
0
847}-
848-
849static int-
850tls_config_set_keypair_file_internal(struct tls_config *config,-
851 const char *cert_file, const char *key_file, const char *ocsp_file)-
852{-
853 if (tls_config_set_cert_file(config, cert_file) != 0
tls_config_set...ert_file) != 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlstest
)
0-2
854 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
855 if (tls_config_set_key_file(config, key_file) != 0
tls_config_set...key_file) != 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlstest
)
0-2
856 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
857 if (tls_config_set_key_file(config, key_file) != 0
tls_config_set...key_file) != 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlstest
)
0-2
858 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
859 if (ocsp_file !=
ocsp_file != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlstest
0-2
860 ((void *)0)
ocsp_file != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlstest
0-2
861 &&-
862 tls_config_set_ocsp_staple_file(config, ocsp_file) != 0
tls_config_set...csp_file) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
863 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
864-
865 return
executed 2 times by 1 test: return (0);
Executed by:
  • tlstest
(0);
executed 2 times by 1 test: return (0);
Executed by:
  • tlstest
2
866}-
867-
868static int-
869tls_config_set_keypair_mem_internal(struct tls_config *config, const uint8_t *cert,-
870 size_t cert_len, const uint8_t *key, size_t key_len,-
871 const uint8_t *staple, size_t staple_len)-
872{-
873 if (tls_config_set_cert_mem(config, cert, cert_len) != 0
tls_config_set...cert_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
874 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
875 if (tls_config_set_key_mem(config, key, key_len) != 0
tls_config_set... key_len) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
876 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
877 if ((
(staple != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
staple !=
(staple != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
878 ((void *)0)
(staple != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
879 )
(staple != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
880 (
(tls_config_se...ple_len) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
tls_config_set_ocsp_staple_mem(config, staple, staple_len) != 0)
(tls_config_se...ple_len) != 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
881 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
882-
883 return
never executed: return (0);
(0);
never executed: return (0);
0
884}-
885-
886int-
887tls_config_set_keypair_file(struct tls_config *config,-
888 const char *cert_file, const char *key_file)-
889{-
890 return
executed 2 times by 1 test: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
Executed by:
  • tlstest
tls_config_set_keypair_file_internal(config, cert_file, key_file,
executed 2 times by 1 test: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
Executed by:
  • tlstest
2
891
executed 2 times by 1 test: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
Executed by:
  • tlstest
2
892 ((void *)0)
executed 2 times by 1 test: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
Executed by:
  • tlstest
2
893 );
executed 2 times by 1 test: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ((void *)0) );
Executed by:
  • tlstest
2
894}-
895-
896int-
897tls_config_set_keypair_mem(struct tls_config *config, const uint8_t *cert,-
898 size_t cert_len, const uint8_t *key, size_t key_len)-
899{-
900 return
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
tls_config_set_keypair_mem_internal(config, cert, cert_len,
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
901 key, key_len,
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
902 ((void *)0)
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
903 , 0);
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, ((void *)0) , 0);
0
904}-
905-
906int-
907tls_config_set_keypair_ocsp_file(struct tls_config *config,-
908 const char *cert_file, const char *key_file, const char *ocsp_file)-
909{-
910 return
never executed: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ocsp_file);
tls_config_set_keypair_file_internal(config, cert_file, key_file,
never executed: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ocsp_file);
0
911 ocsp_file);
never executed: return tls_config_set_keypair_file_internal(config, cert_file, key_file, ocsp_file);
0
912}-
913-
914int-
915tls_config_set_keypair_ocsp_mem(struct tls_config *config, const uint8_t *cert,-
916 size_t cert_len, const uint8_t *key, size_t key_len,-
917 const uint8_t *staple, size_t staple_len)-
918{-
919 return
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
tls_config_set_keypair_mem_internal(config, cert, cert_len,
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
0
920 key, key_len, staple, staple_len);
never executed: return tls_config_set_keypair_mem_internal(config, cert, cert_len, key, key_len, staple, staple_len);
0
921}-
922-
923-
924int-
925tls_config_set_protocols(struct tls_config *config, uint32_t protocols)-
926{-
927 config->protocols = protocols;-
928-
929 return
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
(0);
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
930}-
931-
932int-
933tls_config_set_session_fd(struct tls_config *config, int session_fd)-
934{-
935 struct stat sb;-
936 mode_t mugo;-
937-
938 if (session_fd == -1
session_fd == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
939 config->session_fd = session_fd;-
940 return
never executed: return (0);
(0);
never executed: return (0);
0
941 }-
942-
943 if (fstat(session_fd, &sb) == -1
fstat(session_fd, &sb) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
944 tls_config_set_error(config, "failed to stat session file");-
945 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
946 }-
947 if (!
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEnever evaluated
0
948 ((((
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEnever evaluated
0
949 sb.st_mode
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEnever evaluated
0
950 )) & 0170000) == (0100000))
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEnever evaluated
0
951 ) {-
952 tls_config_set_errorx(config,-
953 "session file is not a regular file");-
954 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
955 }-
956-
957 if (sb.st_uid != getuid()
sb.st_uid != getuid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
958 tls_config_set_errorx(config, "session file has incorrect "-
959 "owner (uid %i != %i)", sb.st_uid, getuid());-
960 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
961 }-
962 mugo = sb.st_mode & (-
963 (0400|0200|0100)-
964 |-
965 ((0400|0200|0100) >> 3)-
966 |-
967 (((0400|0200|0100) >> 3) >> 3)-
968 );-
969 if (mugo != (
mugo != ( 0400 | 0200 )Description
TRUEnever evaluated
FALSEnever evaluated
0
970 0400
mugo != ( 0400 | 0200 )Description
TRUEnever evaluated
FALSEnever evaluated
0
971 |
mugo != ( 0400 | 0200 )Description
TRUEnever evaluated
FALSEnever evaluated
0
972 0200
mugo != ( 0400 | 0200 )Description
TRUEnever evaluated
FALSEnever evaluated
0
973 )
mugo != ( 0400 | 0200 )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
974 tls_config_set_errorx(config, "session file has incorrect "-
975 "permissions (%o != 600)", mugo);-
976 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
977 }-
978-
979 config->session_fd = session_fd;-
980-
981 return
never executed: return (0);
(0);
never executed: return (0);
0
982}-
983-
984int-
985tls_config_set_verify_depth(struct tls_config *config, int verify_depth)-
986{-
987 config->verify_depth = verify_depth;-
988-
989 return
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
(0);
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
990}-
991-
992void-
993tls_config_prefer_ciphers_client(struct tls_config *config)-
994{-
995 config->ciphers_server = 0;-
996}
never executed: end of block
0
997-
998void-
999tls_config_prefer_ciphers_server(struct tls_config *config)-
1000{-
1001 config->ciphers_server = 1;-
1002}
executed 7 times by 3 tests: end of block
Executed by:
  • configtest
  • tlstest
  • verifytest
7
1003-
1004void-
1005tls_config_insecure_noverifycert(struct tls_config *config)-
1006{-
1007 config->verify_cert = 0;-
1008}
never executed: end of block
0
1009-
1010void-
1011tls_config_insecure_noverifyname(struct tls_config *config)-
1012{-
1013 config->verify_name = 0;-
1014}
executed 2 times by 1 test: end of block
Executed by:
  • tlstest
2
1015-
1016void-
1017tls_config_insecure_noverifytime(struct tls_config *config)-
1018{-
1019 config->verify_time = 0;-
1020}
never executed: end of block
0
1021-
1022void-
1023tls_config_verify(struct tls_config *config)-
1024{-
1025 config->verify_cert = 1;-
1026 config->verify_name = 1;-
1027 config->verify_time = 1;-
1028}
executed 7 times by 3 tests: end of block
Executed by:
  • configtest
  • tlstest
  • verifytest
7
1029-
1030void-
1031tls_config_ocsp_require_stapling(struct tls_config *config)-
1032{-
1033 config->ocsp_require_stapling = 1;-
1034}
never executed: end of block
0
1035-
1036void-
1037tls_config_verify_client(struct tls_config *config)-
1038{-
1039 config->verify_client = 1;-
1040}
never executed: end of block
0
1041-
1042void-
1043tls_config_verify_client_optional(struct tls_config *config)-
1044{-
1045 config->verify_client = 2;-
1046}
never executed: end of block
0
1047-
1048void-
1049tls_config_skip_private_key_check(struct tls_config *config)-
1050{-
1051 config->skip_private_key_check = 1;-
1052}
never executed: end of block
0
1053-
1054int-
1055tls_config_set_ocsp_staple_file(struct tls_config *config, const char *staple_file)-
1056{-
1057 return
never executed: return tls_keypair_set_ocsp_staple_file(config->keypair, &config->error, staple_file);
tls_keypair_set_ocsp_staple_file(config->keypair, &config->error,
never executed: return tls_keypair_set_ocsp_staple_file(config->keypair, &config->error, staple_file);
0
1058 staple_file);
never executed: return tls_keypair_set_ocsp_staple_file(config->keypair, &config->error, staple_file);
0
1059}-
1060-
1061int-
1062tls_config_set_ocsp_staple_mem(struct tls_config *config, const uint8_t *staple,-
1063 size_t len)-
1064{-
1065 return
never executed: return tls_keypair_set_ocsp_staple_mem(config->keypair, &config->error, staple, len);
tls_keypair_set_ocsp_staple_mem(config->keypair, &config->error,
never executed: return tls_keypair_set_ocsp_staple_mem(config->keypair, &config->error, staple, len);
0
1066 staple, len);
never executed: return tls_keypair_set_ocsp_staple_mem(config->keypair, &config->error, staple, len);
0
1067}-
1068-
1069int-
1070tls_config_set_session_id(struct tls_config *config,-
1071 const unsigned char *session_id, size_t len)-
1072{-
1073 if (len > 32
len > 32Description
TRUEnever evaluated
FALSEevaluated 7 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
) {
0-7
1074 tls_config_set_errorx(config, "session ID too large");-
1075 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1076 }-
1077 memset(config->session_id, 0, sizeof(config->session_id));-
1078 memcpy(config->session_id, session_id, len);-
1079 return
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
(0);
executed 7 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
7
1080}-
1081-
1082int-
1083tls_config_set_session_lifetime(struct tls_config *config, int lifetime)-
1084{-
1085 if (lifetime > (24 * 60 * 60)
lifetime > (24 * 60 * 60)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1086 tls_config_set_errorx(config, "session lifetime too large");-
1087 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1088 }-
1089 if (lifetime != 0
lifetime != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& lifetime < (4)
lifetime < (4)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1090 tls_config_set_errorx(config, "session lifetime too small");-
1091 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1092 }-
1093-
1094 config->session_lifetime = lifetime;-
1095 return
never executed: return (0);
(0);
never executed: return (0);
0
1096}-
1097-
1098int-
1099tls_config_add_ticket_key(struct tls_config *config, uint32_t keyrev,-
1100 unsigned char *key, size_t keylen)-
1101{-
1102 struct tls_ticket_key newkey;-
1103 int i;-
1104-
1105 if (48 != keylen
48 != keylenDescription
TRUEnever evaluated
FALSEnever evaluated
||
0
1106 sizeof(newkey.aes_key) + sizeof(newkey.hmac_key) > keylen
sizeof(newkey...._key) > keylenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1107 tls_config_set_errorx(config,-
1108 "wrong amount of ticket key data");-
1109 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1110 }-
1111-
1112 keyrev = -
1113 __bswap_32 (-
1114 keyrev-
1115 )-
1116 ;-
1117 memset(&newkey, 0, sizeof(newkey));-
1118 memcpy(newkey.key_name, &keyrev, sizeof(keyrev));-
1119 memcpy(newkey.aes_key, key, sizeof(newkey.aes_key));-
1120 memcpy(newkey.hmac_key, key + sizeof(newkey.aes_key),-
1121 sizeof(newkey.hmac_key));-
1122 newkey.time = time(-
1123 ((void *)0)-
1124 );-
1125-
1126 for (i = 0; i < 4
i < 4Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1127 struct tls_ticket_key *tk = &config->ticket_keys[i];-
1128 if (memcmp(newkey.key_name, tk->key_name,
memcmp(newkey....ey_name)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1129 sizeof(tk->key_name)) != 0
memcmp(newkey....ey_name)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1130 continue;
never executed: continue;
0
1131-
1132-
1133 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& memcmp(newkey.aes_key, tk->aes_key,
memcmp(newkey....aes_key)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1134 sizeof(tk->aes_key)) == 0
memcmp(newkey....aes_key)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& memcmp(newkey.hmac_key,
memcmp(newkey....mac_key)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1135 tk->hmac_key, sizeof(tk->hmac_key)) == 0
memcmp(newkey....mac_key)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1136 return
never executed: return (0);
(0);
never executed: return (0);
0
1137 tls_config_set_errorx(config, "ticket key already present");-
1138 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1139 }-
1140-
1141 memmove(&config->ticket_keys[1], &config->ticket_keys[0],-
1142 sizeof(config->ticket_keys) - sizeof(config->ticket_keys[0]));-
1143 config->ticket_keys[0] = newkey;-
1144-
1145 config->ticket_autorekey = 0;-
1146-
1147 return
never executed: return (0);
(0);
never executed: return (0);
0
1148}-
1149-
1150int-
1151tls_config_ticket_autorekey(struct tls_config *config)-
1152{-
1153 unsigned char key[48];-
1154 int rv;-
1155-
1156 arc4random_buf(key, sizeof(key));-
1157 rv = tls_config_add_ticket_key(config, config->ticket_keyrev++, key,-
1158 sizeof(key));-
1159 config->ticket_autorekey = 1;-
1160 return
never executed: return (rv);
(rv);
never executed: return (rv);
0
1161}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2