OpenCoverage

t1_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/t1_lib.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static int tls_decrypt_ticket(SSL *s, const unsigned char *tick, int ticklen,-
8 const unsigned char *sess_id, int sesslen,-
9 SSL_SESSION **psess);-
10-
11SSL3_ENC_METHOD TLSv1_enc_data = {-
12 .enc = tls1_enc,-
13 .enc_flags = 0,-
14};-
15-
16SSL3_ENC_METHOD TLSv1_1_enc_data = {-
17 .enc = tls1_enc,-
18 .enc_flags = (1 << 0),-
19};-
20-
21SSL3_ENC_METHOD TLSv1_2_enc_data = {-
22 .enc = tls1_enc,-
23 .enc_flags = (1 << 0)|(1 << 1)|-
24 (1 << 2)|(1 << 4),-
25};-
26-
27long-
28tls1_default_timeout(void)-
29{-
30-
31-
32 return
executed 181 times by 13 tests: return (60 * 60 * 2);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(60 * 60 * 2);
executed 181 times by 13 tests: return (60 * 60 * 2);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
181
33}-
34-
35int-
36tls1_new(SSL *s)-
37{-
38 if (!ssl3_new(s)
!ssl3_new(s)Description
TRUEnever evaluated
FALSEevaluated 169 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
)
0-169
39 return
never executed: return (0);
(0);
never executed: return (0);
0
40 s->method->internal->ssl_clear(s);-
41 return
executed 169 times by 11 tests: return (1);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
(1);
executed 169 times by 11 tests: return (1);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
169
42}-
43-
44void-
45tls1_free(SSL *s)-
46{-
47 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 163 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
0-163
48 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 163 times by 11 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
0-163
49 )-
50 return;
never executed: return;
0
51-
52 free(s->internal->tlsext_session_ticket);-
53 ssl3_free(s);-
54}
executed 163 times by 11 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
163
55-
56void-
57tls1_clear(SSL *s)-
58{-
59 ssl3_clear(s);-
60 s->version = s->method->internal->version;-
61}
executed 623 times by 11 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
623
62-
63static int nid_list[] = {-
64 721,-
65 722,-
66 723,-
67 724,-
68 725,-
69 726,-
70 727,-
71 728,-
72 729,-
73 730,-
74 731,-
75 732,-
76 733,-
77 734,-
78 708,-
79 709,-
80 710,-
81 711,-
82 409,-
83 712,-
84 713,-
85 714,-
86 415,-
87 715,-
88 716,-
89 928,-
90 932,-
91 934,-
92 950,-
93};-
94static const uint8_t ecformats_default[] = {-
95 0,-
96};-
97static const uint16_t eccurves_default[] = {-
98 29,-
99 23,-
100 24,-
101};-
102-
103int-
104tls1_ec_curve_id2nid(const uint16_t curve_id)-
105{-
106-
107 if ((
(curve_id < 1)Description
TRUEnever evaluated
FALSEevaluated 84 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
curve_id < 1)
(curve_id < 1)Description
TRUEnever evaluated
FALSEevaluated 84 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-84
108 ((
((unsigned int...(nid_list[0]))Description
TRUEnever evaluated
FALSEevaluated 84 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
unsigned int)curve_id > sizeof(nid_list) / sizeof(nid_list[0]))
((unsigned int...(nid_list[0]))Description
TRUEnever evaluated
FALSEevaluated 84 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-84
109 return
never executed: return 0;
0;
never executed: return 0;
0
110 return
executed 84 times by 2 tests: return nid_list[curve_id - 1];
Executed by:
  • ssltest
  • tlstest
nid_list[curve_id - 1];
executed 84 times by 2 tests: return nid_list[curve_id - 1];
Executed by:
  • ssltest
  • tlstest
84
111}-
112-
113uint16_t-
114tls1_ec_nid2curve_id(const int nid)-
115{-
116-
117 switch (nid) {-
118 case
never executed: case 721:
721:
never executed: case 721:
0
119 return
never executed: return 1;
1;
never executed: return 1;
0
120 case
never executed: case 722:
722:
never executed: case 722:
0
121 return
never executed: return 2;
2;
never executed: return 2;
0
122 case
never executed: case 723:
723:
never executed: case 723:
0
123 return
never executed: return 3;
3;
never executed: return 3;
0
124 case
never executed: case 724:
724:
never executed: case 724:
0
125 return
never executed: return 4;
4;
never executed: return 4;
0
126 case
never executed: case 725:
725:
never executed: case 725:
0
127 return
never executed: return 5;
5;
never executed: return 5;
0
128 case
never executed: case 726:
726:
never executed: case 726:
0
129 return
never executed: return 6;
6;
never executed: return 6;
0
130 case
never executed: case 727:
727:
never executed: case 727:
0
131 return
never executed: return 7;
7;
never executed: return 7;
0
132 case
never executed: case 728:
728:
never executed: case 728:
0
133 return
never executed: return 8;
8;
never executed: return 8;
0
134 case
never executed: case 729:
729:
never executed: case 729:
0
135 return
never executed: return 9;
9;
never executed: return 9;
0
136 case
never executed: case 730:
730:
never executed: case 730:
0
137 return
never executed: return 10;
10;
never executed: return 10;
0
138 case
never executed: case 731:
731:
never executed: case 731:
0
139 return
never executed: return 11;
11;
never executed: return 11;
0
140 case
never executed: case 732:
732:
never executed: case 732:
0
141 return
never executed: return 12;
12;
never executed: return 12;
0
142 case
never executed: case 733:
733:
never executed: case 733:
0
143 return
never executed: return 13;
13;
never executed: return 13;
0
144 case
never executed: case 734:
734:
never executed: case 734:
0
145 return
never executed: return 14;
14;
never executed: return 14;
0
146 case
never executed: case 708:
708:
never executed: case 708:
0
147 return
never executed: return 15;
15;
never executed: return 15;
0
148 case
never executed: case 709:
709:
never executed: case 709:
0
149 return
never executed: return 16;
16;
never executed: return 16;
0
150 case
never executed: case 710:
710:
never executed: case 710:
0
151 return
never executed: return 17;
17;
never executed: return 17;
0
152 case
never executed: case 711:
711:
never executed: case 711:
0
153 return
never executed: return 18;
18;
never executed: return 18;
0
154 case
executed 1 time by 1 test: case 409:
Executed by:
  • tlsexttest
409:
executed 1 time by 1 test: case 409:
Executed by:
  • tlsexttest
1
155 return
executed 1 time by 1 test: return 19;
Executed by:
  • tlsexttest
19;
executed 1 time by 1 test: return 19;
Executed by:
  • tlsexttest
1
156 case
never executed: case 712:
712:
never executed: case 712:
0
157 return
never executed: return 20;
20;
never executed: return 20;
0
158 case
executed 1 time by 1 test: case 713:
Executed by:
  • tlsexttest
713:
executed 1 time by 1 test: case 713:
Executed by:
  • tlsexttest
1
159 return
executed 1 time by 1 test: return 21;
Executed by:
  • tlsexttest
21;
executed 1 time by 1 test: return 21;
Executed by:
  • tlsexttest
1
160 case
never executed: case 714:
714:
never executed: case 714:
0
161 return
never executed: return 22;
22;
never executed: return 22;
0
162 case
executed 80 times by 2 tests: case 415:
Executed by:
  • ssltest
  • tlstest
415:
executed 80 times by 2 tests: case 415:
Executed by:
  • ssltest
  • tlstest
80
163 return
executed 80 times by 2 tests: return 23;
Executed by:
  • ssltest
  • tlstest
23;
executed 80 times by 2 tests: return 23;
Executed by:
  • ssltest
  • tlstest
80
164 case
executed 9 times by 2 tests: case 715:
Executed by:
  • tlsexttest
  • tlstest
715:
executed 9 times by 2 tests: case 715:
Executed by:
  • tlsexttest
  • tlstest
9
165 return
executed 9 times by 2 tests: return 24;
Executed by:
  • tlsexttest
  • tlstest
24;
executed 9 times by 2 tests: return 24;
Executed by:
  • tlsexttest
  • tlstest
9
166 case
never executed: case 716:
716:
never executed: case 716:
0
167 return
never executed: return 25;
25;
never executed: return 25;
0
168 case
never executed: case 928:
928:
never executed: case 928:
0
169 return
never executed: return 26;
26;
never executed: return 26;
0
170 case
never executed: case 932:
932:
never executed: case 932:
0
171 return
never executed: return 27;
27;
never executed: return 27;
0
172 case
never executed: case 934:
934:
never executed: case 934:
0
173 return
never executed: return 28;
28;
never executed: return 28;
0
174 case
executed 13 times by 2 tests: case 950:
Executed by:
  • ssltest
  • tlstest
950:
executed 13 times by 2 tests: case 950:
Executed by:
  • ssltest
  • tlstest
13
175 return
executed 13 times by 2 tests: return 29;
Executed by:
  • ssltest
  • tlstest
29;
executed 13 times by 2 tests: return 29;
Executed by:
  • ssltest
  • tlstest
13
176 default
never executed: default:
:
never executed: default:
0
177 return
never executed: return 0;
0;
never executed: return 0;
0
178 }-
179}-
180-
181-
182-
183-
184-
185-
186void-
187tls1_get_formatlist(SSL *s, int client_formats, const uint8_t **pformats,-
188 size_t *pformatslen)-
189{-
190 if (client_formats != 0
client_formats != 0Description
TRUEnever evaluated
FALSEevaluated 72 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
) {
0-72
191 *pformats = (s->session->internal)->tlsext_ecpointformatlist;-
192 *pformatslen = (s->session->internal)->tlsext_ecpointformatlist_length;-
193 return;
never executed: return;
0
194 }-
195-
196 *pformats = s->internal->tlsext_ecpointformatlist;-
197 *pformatslen = s->internal->tlsext_ecpointformatlist_length;-
198 if (*
*pformats == ((void *)0)Description
TRUEevaluated 70 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
pformats ==
*pformats == ((void *)0)Description
TRUEevaluated 70 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
2-70
199 ((void *)0)
*pformats == ((void *)0)Description
TRUEevaluated 70 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
2-70
200 ) {-
201 *pformats = ecformats_default;-
202 *pformatslen = sizeof(ecformats_default);-
203 }
executed 70 times by 4 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
70
204}
executed 72 times by 4 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
72
205-
206-
207-
208-
209-
210-
211void-
212tls1_get_curvelist(SSL *s, int client_curves, const uint16_t **pcurves,-
213 size_t *pcurveslen)-
214{-
215 if (client_curves != 0
client_curves != 0Description
TRUEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 129 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
) {
60-129
216 *pcurves = (s->session->internal)->tlsext_supportedgroups;-
217 *pcurveslen = (s->session->internal)->tlsext_supportedgroups_length;-
218 return;
executed 60 times by 2 tests: return;
Executed by:
  • ssltest
  • tlstest
60
219 }-
220-
221 *pcurves = s->internal->tlsext_supportedgroups;-
222 *pcurveslen = s->internal->tlsext_supportedgroups_length;-
223 if (*
*pcurves == ((void *)0)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
FALSEevaluated 67 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
pcurves ==
*pcurves == ((void *)0)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
FALSEevaluated 67 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
62-67
224 ((void *)0)
*pcurves == ((void *)0)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
FALSEevaluated 67 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
62-67
225 ) {-
226 *pcurves = eccurves_default;-
227 *pcurveslen = sizeof(eccurves_default) / 2;-
228 }
executed 62 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
62
229}
executed 129 times by 4 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
129
230-
231int-
232tls1_set_groups(uint16_t **out_group_ids, size_t *out_group_ids_len,-
233 const int *groups, size_t ngroups)-
234{-
235 uint16_t *group_ids;-
236 size_t i;-
237-
238 group_ids = calloc(ngroups, sizeof(uint16_t));-
239 if (group_ids ==
group_ids == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-57
240 ((void *)0)
group_ids == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-57
241 )-
242 return
never executed: return 0;
0;
never executed: return 0;
0
243-
244 for (i = 0; i < ngroups
i < ngroupsDescription
TRUEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
; i++) {
57-73
245 group_ids[i] = tls1_ec_nid2curve_id(groups[i]);-
246 if (group_ids[i] == 0
group_ids[i] == 0Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-73
247 free(group_ids);-
248 return
never executed: return 0;
0;
never executed: return 0;
0
249 }-
250 }
executed 73 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
73
251-
252 free(*out_group_ids);-
253 *out_group_ids = group_ids;-
254 *out_group_ids_len = ngroups;-
255-
256 return
executed 57 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
1;
executed 57 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
57
257}-
258-
259int-
260tls1_set_groups_list(uint16_t **out_group_ids, size_t *out_group_ids_len,-
261 const char *groups)-
262{-
263 uint16_t *new_group_ids, *group_ids = -
264 ((void *)0)-
265 ;-
266 size_t ngroups = 0;-
267 char *gs, *p, *q;-
268 int nid;-
269-
270 if ((
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
gs =
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
271 (__extension__ (__builtin_constant_p (
__builtin_cons...t_p ( groups )Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
272 groups
__builtin_cons...t_p ( groups )Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
273 )
__builtin_cons...t_p ( groups )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...groups ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...groups ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
274 groups
((size_t)(cons...groups ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
275 ) + 1) - (size_t)(const void *)(
((size_t)(cons...groups ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
276 groups
((size_t)(cons...groups ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
277 ) == 1)
((size_t)(cons...groups ) == 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
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
278 groups
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
279 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
280 groups
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
281 ) + 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, groups , __len);
0
282 groups
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, groups , __len);
0
283 , __len); __retval; })) : __strdup (
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 groups
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
285 )))
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
286 ) ==
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
287 ((void *)0)
(gs = (__exten...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
288 )-
289 return
never executed: return 0;
0;
never executed: return 0;
0
290-
291 q = gs;-
292 while ((
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
p =
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
293 __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
294 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
295 ) && ((size_t)(const void *)((
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
296 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
297 ) + 1) - (size_t)(const void *)(
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
298 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
299 ) == 1) && (__r0 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
300 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
301 ))[0], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
302 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ))[0] != '\0') ? ((__r1 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
304 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ))[1], ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
306 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
307 ))[1] == '\0') ? __strsep_1c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
308 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
309 , __r0) : ((__r2 = ((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
311 ))[2], __r2 == '\0') ? __strsep_2c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
312 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
313 , __r0, __r1) : (((const char *) (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
314 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
315 ))[3] == '\0' ? __strsep_3c (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
316 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
317 , __r0, __r1, __r2) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
318 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
319 ,
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
320 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
321 )))) : __strsep_g (
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
322 &q
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
323 ,
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
324 ":"
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
325 )); })
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
326 ) !=
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
327 ((void *)0)
(p = __extensi...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
328 ) {-
329 nid = OBJ_sn2nid(p);-
330 if (nid == 0
nid == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
331 nid = OBJ_ln2nid(p);
never executed: nid = OBJ_ln2nid(p);
0
332 if (nid == 0
nid == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 nid = EC_curve_nist2nid(p);
never executed: nid = EC_curve_nist2nid(p);
0
334 if (nid == 0
nid == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
335 goto
never executed: goto err;
err;
never executed: goto err;
0
336-
337 if ((
(new_group_ids...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
new_group_ids = reallocarray(group_ids, ngroups + 1,
(new_group_ids...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
338 sizeof(uint16_t))) ==
(new_group_ids...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
339 ((void *)0)
(new_group_ids...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
340 )-
341 goto
never executed: goto err;
err;
never executed: goto err;
0
342 group_ids = new_group_ids;-
343-
344 group_ids[ngroups] = tls1_ec_nid2curve_id(nid);-
345 if (group_ids[ngroups] == 0
group_ids[ngroups] == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
346 goto
never executed: goto err;
err;
never executed: goto err;
0
347-
348 ngroups++;-
349 }
never executed: end of block
0
350-
351 free(gs);-
352 free(*out_group_ids);-
353 *out_group_ids = group_ids;-
354 *out_group_ids_len = ngroups;-
355-
356 return
never executed: return 1;
1;
never executed: return 1;
0
357-
358 err:-
359 free(gs);-
360 free(group_ids);-
361-
362 return
never executed: return 0;
0;
never executed: return 0;
0
363}-
364-
365-
366int-
367tls1_check_curve(SSL *s, const uint16_t curve_id)-
368{-
369 const uint16_t *curves;-
370 size_t curveslen, i;-
371-
372 tls1_get_curvelist(s, 0, &curves, &curveslen);-
373-
374 for (i = 0; i < curveslen
i < curveslenDescription
TRUEevaluated 51 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
; i++) {
0-51
375 if (curves[i] == curve_id
curves[i] == curve_idDescription
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
23-28
376 return
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
28
377 }
executed 23 times by 1 test: end of block
Executed by:
  • ssltest
23
378 return
never executed: return (0);
(0);
never executed: return (0);
0
379}-
380-
381int-
382tls1_get_shared_curve(SSL *s)-
383{-
384 size_t preflen, supplen, i, j;-
385 const uint16_t *pref, *supp;-
386 unsigned long server_pref;-
387-
388-
389 if (s->server == 0
s->server == 0Description
TRUEnever evaluated
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-60
390 return
never executed: return (0);
(0);
never executed: return (0);
0
391-
392-
393 server_pref = (s->internal->options & 0x00400000L);-
394 tls1_get_curvelist(s, (server_pref == 0), &pref, &preflen);-
395 tls1_get_curvelist(s, (server_pref != 0), &supp, &supplen);-
396-
397 for (i = 0; i < preflen
i < preflenDescription
TRUEevaluated 102 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
; i++) {
4-102
398 for (j = 0; j < supplen
j < supplenDescription
TRUEevaluated 102 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 46 times by 1 test
Evaluated by:
  • ssltest
; j++) {
46-102
399 if (pref[i] == supp[j]
pref[i] == supp[j]Description
TRUEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 46 times by 1 test
Evaluated by:
  • ssltest
)
46-56
400 return
executed 56 times by 2 tests: return (tls1_ec_curve_id2nid(pref[i]));
Executed by:
  • ssltest
  • tlstest
(tls1_ec_curve_id2nid(pref[i]));
executed 56 times by 2 tests: return (tls1_ec_curve_id2nid(pref[i]));
Executed by:
  • ssltest
  • tlstest
56
401 }
executed 46 times by 1 test: end of block
Executed by:
  • ssltest
46
402 }
executed 46 times by 1 test: end of block
Executed by:
  • ssltest
46
403 return
executed 4 times by 1 test: return (0);
Executed by:
  • ssltest
(0);
executed 4 times by 1 test: return (0);
Executed by:
  • ssltest
4
404}-
405-
406-
407static int-
408tls1_set_ec_id(uint16_t *curve_id, uint8_t *comp_id, EC_KEY *ec)-
409{-
410 const EC_GROUP *grp;-
411 const EC_METHOD *meth;-
412 int is_prime = 0;-
413 int nid, id;-
414-
415 if (ec ==
ec == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
416 ((void *)0)
ec == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
417 )-
418 return
never executed: return (0);
(0);
never executed: return (0);
0
419-
420-
421 if ((
(grp = EC_KEY_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
grp = EC_KEY_get0_group(ec)) ==
(grp = EC_KEY_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
422 ((void *)0)
(grp = EC_KEY_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
423 )-
424 return
never executed: return (0);
(0);
never executed: return (0);
0
425 if ((
(meth = EC_GRO...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
meth = EC_GROUP_method_of(grp)) ==
(meth = EC_GRO...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
426 ((void *)0)
(meth = EC_GRO...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
427 )-
428 return
never executed: return (0);
(0);
never executed: return (0);
0
429 if (EC_METHOD_get_field_type(meth) == 406
EC_METHOD_get_...e(meth) == 406Description
TRUEnever evaluated
FALSEnever evaluated
)
0
430 is_prime = 1;
never executed: is_prime = 1;
0
431-
432-
433 nid = EC_GROUP_get_curve_name(grp);-
434 id = tls1_ec_nid2curve_id(nid);-
435-
436-
437 if (id != 0
id != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
438 *
never executed: *curve_id = id;
curve_id = id;
never executed: *curve_id = id;
0
439 else-
440 *
never executed: *curve_id = is_prime ? 0xff01 : 0xff02;
curve_id = is_prime
is_primeDescription
TRUEnever evaluated
FALSEnever evaluated
? 0xff01 : 0xff02;
never executed: *curve_id = is_prime ? 0xff01 : 0xff02;
0
441-
442-
443 if (comp_id !=
comp_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
444 ((void *)0)
comp_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
445 ) {-
446 if (EC_KEY_get0_public_key(ec) ==
EC_KEY_get0_pu...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
447 ((void *)0)
EC_KEY_get0_pu...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
448 )-
449 return
never executed: return (0);
(0);
never executed: return (0);
0
450-
451 if (EC_KEY_get_conv_form(ec) == POINT_CONVERSION_COMPRESSED
EC_KEY_get_con...ION_COMPRESSEDDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
452 *comp_id = is_prime
is_primeDescription
TRUEnever evaluated
FALSEnever evaluated
?
0
453 1 :-
454 2;-
455 }
never executed: end of block
else {
0
456 *comp_id = 0;-
457 }
never executed: end of block
0
458 }-
459 return
never executed: return (1);
(1);
never executed: return (1);
0
460}-
461-
462-
463static int-
464tls1_check_ec_key(SSL *s, const uint16_t *curve_id, const uint8_t *comp_id)-
465{-
466 size_t curveslen, formatslen, i;-
467 const uint16_t *curves;-
468 const uint8_t *formats;-
469-
470-
471-
472-
473-
474 tls1_get_formatlist(s, 1, &formats, &formatslen);-
475 if (comp_id !=
comp_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
476 ((void *)0)
comp_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
477 && formats !=
formats != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
478 ((void *)0)
formats != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
479 ) {-
480 for (i = 0; i < formatslen
i < formatslenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
481 if (formats[i] == *comp_id
formats[i] == *comp_idDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
482 break;
never executed: break;
0
483 }
never executed: end of block
0
484 if (i == formatslen
i == formatslenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
485 return
never executed: return (0);
(0);
never executed: return (0);
0
486 }
never executed: end of block
0
487-
488-
489-
490-
491 tls1_get_curvelist(s, 1, &curves, &curveslen);-
492 if (curve_id !=
curve_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
493 ((void *)0)
curve_id != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
494 && curves !=
curves != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
495 ((void *)0)
curves != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
496 ) {-
497 for (i = 0; i < curveslen
i < curveslenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
498 if (curves[i] == *curve_id
curves[i] == *curve_idDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
499 break;
never executed: break;
0
500 }
never executed: end of block
0
501 if (i == curveslen
i == curveslenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
502 return
never executed: return (0);
(0);
never executed: return (0);
0
503 }
never executed: end of block
0
504-
505 return
never executed: return (1);
(1);
never executed: return (1);
0
506}-
507-
508-
509int-
510tls1_check_ec_server_key(SSL *s)-
511{-
512 CERT_PKEY *cpk = s->cert->pkeys + 3;-
513 uint16_t curve_id;-
514 uint8_t comp_id;-
515 EVP_PKEY *pkey;-
516 int rv;-
517-
518 if (cpk->x509 ==
cpk->x509 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
519 ((void *)0)
cpk->x509 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
520 || cpk->privatekey ==
cpk->privatekey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
521 ((void *)0)
cpk->privatekey == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
522 )-
523 return
never executed: return (0);
(0);
never executed: return (0);
0
524 if ((
(pkey = X509_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pkey = X509_get_pubkey(cpk->x509)) ==
(pkey = X509_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
525 ((void *)0)
(pkey = X509_g...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
526 )-
527 return
never executed: return (0);
(0);
never executed: return (0);
0
528 rv = tls1_set_ec_id(&curve_id, &comp_id, pkey->pkey.ec);-
529 EVP_PKEY_free(pkey);-
530 if (rv != 1
rv != 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
531 return
never executed: return (0);
(0);
never executed: return (0);
0
532-
533 return
never executed: return tls1_check_ec_key(s, &curve_id, &comp_id);
tls1_check_ec_key(s, &curve_id, &comp_id);
never executed: return tls1_check_ec_key(s, &curve_id, &comp_id);
0
534}-
535-
536-
537int-
538tls1_check_ec_tmp_key(SSL *s)-
539{-
540 EC_KEY *ec = s->cert->ecdh_tmp;-
541 uint16_t curve_id;-
542-
543-
544 if (tls1_get_shared_curve(s) != 0
tls1_get_shared_curve(s) != 0Description
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
)
4-28
545 return
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
28
546-
547 if (ec ==
ec == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-4
548 ((void *)0)
ec == ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-4
549 )-
550 return
executed 4 times by 1 test: return (0);
Executed by:
  • ssltest
(0);
executed 4 times by 1 test: return (0);
Executed by:
  • ssltest
4
551-
552 if (tls1_set_ec_id(&curve_id,
tls1_set_ec_id...)0) , ec) != 1Description
TRUEnever evaluated
FALSEnever evaluated
0
553 ((void *)0)
tls1_set_ec_id...)0) , ec) != 1Description
TRUEnever evaluated
FALSEnever evaluated
0
554 , ec) != 1
tls1_set_ec_id...)0) , ec) != 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
555 return
never executed: return (0);
(0);
never executed: return (0);
0
556-
557 return
never executed: return tls1_check_ec_key(s, &curve_id, ((void *)0) );
tls1_check_ec_key(s, &curve_id,
never executed: return tls1_check_ec_key(s, &curve_id, ((void *)0) );
0
558 ((void *)0)
never executed: return tls1_check_ec_key(s, &curve_id, ((void *)0) );
0
559 );
never executed: return tls1_check_ec_key(s, &curve_id, ((void *)0) );
0
560}-
561-
562-
563-
564-
565-
566-
567static unsigned char tls12_sigalgs[] = {-
568 6, 1,-
569 6, 3,-
570-
571 239, 239,-
572-
573-
574 5, 1,-
575 5, 3,-
576-
577 4, 1,-
578 4, 3,-
579-
580-
581 238, 238,-
582 237, 237,-
583-
584-
585 3, 1,-
586 3, 3,-
587-
588 2, 1,-
589 2, 3,-
590};-
591-
592void-
593tls12_get_req_sig_algs(SSL *s, unsigned char **sigalgs, size_t *sigalgs_len)-
594{-
595 *sigalgs = tls12_sigalgs;-
596 *sigalgs_len = sizeof(tls12_sigalgs);-
597}
executed 45 times by 4 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
45
598-
599int-
600ssl_check_clienthello_tlsext_early(SSL *s)-
601{-
602 int ret = 3;-
603 int al = 112;-
604 if (s->ctx !=
s->ctx != ((void *)0)Description
TRUEevaluated 65 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-65
605 ((void *)0)
s->ctx != ((void *)0)Description
TRUEevaluated 65 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-65
606 && s->ctx->internal->tlsext_servername_callback != 0
s->ctx->intern..._callback != 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
)
4-61
607 ret = s->ctx->internal->tlsext_servername_callback(s, &al,
executed 4 times by 1 test: ret = s->ctx->internal->tlsext_servername_callback(s, &al, s->ctx->internal->tlsext_servername_arg);
Executed by:
  • tlstest
4
608 s->ctx->internal->tlsext_servername_arg);
executed 4 times by 1 test: ret = s->ctx->internal->tlsext_servername_callback(s, &al, s->ctx->internal->tlsext_servername_arg);
Executed by:
  • tlstest
4
609 else if (s->initial_ctx !=
s->initial_ctx != ((void *)0)Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
FALSEnever evaluated
0-61
610 ((void *)0)
s->initial_ctx != ((void *)0)Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
FALSEnever evaluated
0-61
611 && s->initial_ctx->internal->tlsext_servername_callback != 0
s->initial_ctx..._callback != 0Description
TRUEnever evaluated
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
)
0-61
612 ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al,
never executed: ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al, s->initial_ctx->internal->tlsext_servername_arg);
0
613 s->initial_ctx->internal->tlsext_servername_arg);
never executed: ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al, s->initial_ctx->internal->tlsext_servername_arg);
0
614-
615 switch (ret) {-
616 case
never executed: case 2:
2:
never executed: case 2:
0
617 ssl3_send_alert(s, 2, al);-
618 return
never executed: return -1;
-1;
never executed: return -1;
0
619 case
never executed: case 1:
1:
never executed: case 1:
0
620 ssl3_send_alert(s, 1, al);-
621 return
never executed: return 1;
1;
never executed: return 1;
0
622 case
executed 61 times by 2 tests: case 3:
Executed by:
  • servertest
  • ssltest
3:
executed 61 times by 2 tests: case 3:
Executed by:
  • servertest
  • ssltest
61
623 s->internal->servername_done = 0;-
624 default
executed 65 times by 3 tests: default:
Executed by:
  • servertest
  • ssltest
  • tlstest
:
executed 65 times by 3 tests: default:
Executed by:
  • servertest
  • ssltest
  • tlstest
code before this statement executed 61 times by 2 tests: default:
Executed by:
  • servertest
  • ssltest
61-65
625 return
executed 65 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
1;
executed 65 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
65
626 }-
627}-
628-
629int-
630ssl_check_clienthello_tlsext_late(SSL *s)-
631{-
632 int ret = 0;-
633 int al = 0;-
634-
635-
636-
637-
638-
639-
640 if ((
(s->tlsext_status_type != -1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
s->tlsext_status_type != -1)
(s->tlsext_status_type != -1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
&&
4-61
641 s->ctx
s->ctxDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
&& s->ctx->internal->tlsext_status_cb
s->ctx->intern...sext_status_cbDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
) {
0-4
642 int r;-
643 CERT_PKEY *certpkey;-
644 certpkey = ssl_get_server_send_pkey(s);-
645-
646 if (certpkey ==
certpkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
647 ((void *)0)
certpkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
0-4
648 ) {-
649 s->internal->tlsext_status_expected = 0;-
650 return
never executed: return 1;
1;
never executed: return 1;
0
651 }-
652-
653-
654-
655 s->cert->key = certpkey;-
656 r = s->ctx->internal->tlsext_status_cb(s,-
657 s->ctx->internal->tlsext_status_arg);-
658 switch (r) {-
659-
660 case
executed 4 times by 1 test: case 3:
Executed by:
  • tlstest
3:
executed 4 times by 1 test: case 3:
Executed by:
  • tlstest
4
661 s->internal->tlsext_status_expected = 0;-
662 break;
executed 4 times by 1 test: break;
Executed by:
  • tlstest
4
663-
664 case
never executed: case 0:
0:
never executed: case 0:
0
665 if (s->internal->tlsext_ocsp_resp
s->internal->tlsext_ocsp_respDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
666 s->internal->tlsext_status_expected = 1;
never executed: s->internal->tlsext_status_expected = 1;
0
667 else-
668 s->internal->tlsext_status_expected = 0;
never executed: s->internal->tlsext_status_expected = 0;
0
669 break;
never executed: break;
0
670-
671 case
never executed: case 2:
2:
never executed: case 2:
0
672 ret = 2;-
673 al = 80;-
674 goto
never executed: goto err;
err;
never executed: goto err;
0
675 }-
676 }
executed 4 times by 1 test: end of block
Executed by:
  • tlstest
else
4
677 s->internal->tlsext_status_expected = 0;
executed 61 times by 2 tests: s->internal->tlsext_status_expected = 0;
Executed by:
  • servertest
  • ssltest
61
678-
679err:
code before this statement executed 65 times by 3 tests: err:
Executed by:
  • servertest
  • ssltest
  • tlstest
65
680 switch (ret) {-
681 case
never executed: case 2:
2:
never executed: case 2:
0
682 ssl3_send_alert(s, 2, al);-
683 return
never executed: return -1;
-1;
never executed: return -1;
0
684 case
never executed: case 1:
1:
never executed: case 1:
0
685 ssl3_send_alert(s, 1, al);-
686 return
never executed: return 1;
1;
never executed: return 1;
0
687 default
executed 65 times by 3 tests: default:
Executed by:
  • servertest
  • ssltest
  • tlstest
:
executed 65 times by 3 tests: default:
Executed by:
  • servertest
  • ssltest
  • tlstest
65
688 return
executed 65 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
1;
executed 65 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
65
689 }-
690}-
691-
692int-
693ssl_check_serverhello_tlsext(SSL *s)-
694{-
695 int ret = 3;-
696 int al = 112;-
697-
698 ret = 0;-
699-
700 if (s->ctx !=
s->ctx != ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
701 ((void *)0)
s->ctx != ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
702 && s->ctx->internal->tlsext_servername_callback != 0
s->ctx->intern..._callback != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
703 ret = s->ctx->internal->tlsext_servername_callback(s, &al,
never executed: ret = s->ctx->internal->tlsext_servername_callback(s, &al, s->ctx->internal->tlsext_servername_arg);
0
704 s->ctx->internal->tlsext_servername_arg);
never executed: ret = s->ctx->internal->tlsext_servername_callback(s, &al, s->ctx->internal->tlsext_servername_arg);
0
705 else if (s->initial_ctx !=
s->initial_ctx != ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
706 ((void *)0)
s->initial_ctx != ((void *)0)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
0-63
707 && s->initial_ctx->internal->tlsext_servername_callback != 0
s->initial_ctx..._callback != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
708 ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al,
never executed: ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al, s->initial_ctx->internal->tlsext_servername_arg);
0
709 s->initial_ctx->internal->tlsext_servername_arg);
never executed: ret = s->initial_ctx->internal->tlsext_servername_callback(s, &al, s->initial_ctx->internal->tlsext_servername_arg);
0
710-
711-
712-
713-
714 if ((
(s->tlsext_status_type != -1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
s->tlsext_status_type != -1)
(s->tlsext_status_type != -1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
&& !(s->internal->tlsext_status_expected)
!(s->internal-...atus_expected)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
&&
0-59
715 s->ctx
s->ctxDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
&& s->ctx->internal->tlsext_status_cb
s->ctx->intern...sext_status_cbDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEnever evaluated
) {
0-4
716 int r;-
717-
718-
719-
720 free(s->internal->tlsext_ocsp_resp);-
721 s->internal->tlsext_ocsp_resp = -
722 ((void *)0)-
723 ;-
724 s->internal->tlsext_ocsp_resplen = -1;-
725 r = s->ctx->internal->tlsext_status_cb(s,-
726 s->ctx->internal->tlsext_status_arg);-
727 if (r == 0
r == 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
) {
0-4
728 al = 113;-
729 ret = 2;-
730 }
never executed: end of block
0
731 if (r < 0
r < 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
) {
0-4
732 al = 80;-
733 ret = 2;-
734 }
never executed: end of block
0
735 }
executed 4 times by 1 test: end of block
Executed by:
  • tlstest
4
736-
737 switch (ret) {-
738 case
never executed: case 2:
2:
never executed: case 2:
0
739 ssl3_send_alert(s, 2, al);-
740-
741 return
never executed: return -1;
-1;
never executed: return -1;
0
742 case
never executed: case 1:
1:
never executed: case 1:
0
743 ssl3_send_alert(s, 1, al);-
744-
745 return
never executed: return 1;
1;
never executed: return 1;
0
746 case
never executed: case 3:
3:
never executed: case 3:
0
747 s->internal->servername_done = 0;-
748 default
executed 63 times by 2 tests: default:
Executed by:
  • ssltest
  • tlstest
code before this statement never executed: default:
executed 63 times by 2 tests: default:
Executed by:
  • ssltest
  • tlstest
:
code before this statement never executed: default:
executed 63 times by 2 tests: default:
Executed by:
  • ssltest
  • tlstest
0-63
749 return
executed 63 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
1;
executed 63 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
63
750 }-
751}-
752int-
753tls1_process_ticket(SSL *s, const unsigned char *session_id, int session_id_len,-
754 CBS *ext_block, SSL_SESSION **ret)-
755{-
756 CBS extensions;-
757-
758 s->internal->tlsext_ticket_expected = 0;-
759 *ret = -
760 ((void *)0)-
761 ;-
762-
763-
764-
765-
766-
767 if (SSL_ctrl((s),32,0,
SSL_ctrl((s),3... & 0x00004000LDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
4-61
768 ((void *)0)
SSL_ctrl((s),3... & 0x00004000LDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
4-61
769 ) & 0x00004000L
SSL_ctrl((s),3... & 0x00004000LDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 61 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
)
4-61
770 return
executed 4 times by 1 test: return 0;
Executed by:
  • tlstest
0;
executed 4 times by 1 test: return 0;
Executed by:
  • tlstest
4
771-
772-
773-
774-
775-
776 if (CBS_len(ext_block) == 0
CBS_len(ext_block) == 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • servertest
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
)
2-59
777 return
executed 2 times by 1 test: return 0;
Executed by:
  • servertest
0;
executed 2 times by 1 test: return 0;
Executed by:
  • servertest
2
778-
779 if (!CBS_get_u16_length_prefixed(ext_block, &extensions)
!CBS_get_u16_l..., &extensions)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
)
0-59
780 return
never executed: return -1;
-1;
never executed: return -1;
0
781-
782 while (CBS_len(&extensions) > 0
CBS_len(&extensions) > 0Description
TRUEevaluated 107 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-107
783 uint16_t ext_type;-
784 CBS ext_data;-
785-
786 if (!CBS_get_u16(&extensions, &ext_type)
!CBS_get_u16(&...ns, &ext_type)Description
TRUEnever evaluated
FALSEevaluated 107 times by 1 test
Evaluated by:
  • ssltest
||
0-107
787 !CBS_get_u16_length_prefixed(&extensions, &ext_data)
!CBS_get_u16_l...ns, &ext_data)Description
TRUEnever evaluated
FALSEevaluated 107 times by 1 test
Evaluated by:
  • ssltest
)
0-107
788 return
never executed: return -1;
-1;
never executed: return -1;
0
789-
790 if (ext_type == 35
ext_type == 35Description
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 48 times by 1 test
Evaluated by:
  • ssltest
) {
48-59
791 int r;-
792 if (CBS_len(&ext_data) == 0
CBS_len(&ext_data) == 0Description
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-59
793-
794-
795 s->internal->tlsext_ticket_expected = 1;-
796 return
executed 59 times by 1 test: return 1;
Executed by:
  • ssltest
1;
executed 59 times by 1 test: return 1;
Executed by:
  • ssltest
59
797 }-
798 if (s->internal->tls_session_secret_cb !=
s->internal->t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
799 ((void *)0)
s->internal->t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
800 ) {-
801-
802-
803-
804-
805-
806 return
never executed: return 2;
2;
never executed: return 2;
0
807 }-
808-
809 r = tls_decrypt_ticket(s, CBS_data(&ext_data),-
810 CBS_len(&ext_data), session_id, session_id_len, ret);-
811-
812 switch (r) {-
813 case
never executed: case 2:
2:
never executed: case 2:
0
814 s->internal->tlsext_ticket_expected = 1;-
815 return
never executed: return 2;
2;
never executed: return 2;
0
816 case
never executed: case 3:
3:
never executed: case 3:
0
817 return
never executed: return r;
r;
never executed: return r;
0
818 case
never executed: case 4:
4:
never executed: case 4:
0
819 s->internal->tlsext_ticket_expected = 1;-
820 return
never executed: return 3;
3;
never executed: return 3;
0
821 default
never executed: default:
:
never executed: default:
0
822 return
never executed: return -1;
-1;
never executed: return -1;
0
823 }-
824 }-
825 }
executed 48 times by 1 test: end of block
Executed by:
  • ssltest
48
826 return
never executed: return 0;
0;
never executed: return 0;
0
827}-
828static int-
829tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen,-
830 const unsigned char *sess_id, int sesslen, SSL_SESSION **psess)-
831{-
832 SSL_SESSION *sess;-
833 unsigned char *sdec;-
834 const unsigned char *p;-
835 int slen, mlen, renew_ticket = 0;-
836 unsigned char tick_hmac[64];-
837 HMAC_CTX hctx;-
838 EVP_CIPHER_CTX ctx;-
839 SSL_CTX *tctx = s->initial_ctx;-
840-
841-
842-
843-
844-
845-
846-
847 if (eticklen < 16 + 16
eticklen < 16 + 16Description
TRUEnever evaluated
FALSEnever evaluated
)
0
848 return
never executed: return 2;
2;
never executed: return 2;
0
849-
850-
851 HMAC_CTX_init(&hctx);-
852 EVP_CIPHER_CTX_init(&ctx);-
853 if (tctx->internal->tlsext_ticket_key_cb
tctx->internal..._ticket_key_cbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
854 unsigned char *nctick = (unsigned char *)etick;-
855 int rv = tctx->internal->tlsext_ticket_key_cb(s,-
856 nctick, nctick + 16, &ctx, &hctx, 0);-
857 if (rv < 0
rv < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
858 HMAC_CTX_cleanup(&hctx);-
859 EVP_CIPHER_CTX_cleanup(&ctx);-
860 return
never executed: return -1;
-1;
never executed: return -1;
0
861 }-
862 if (rv == 0
rv == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
863 HMAC_CTX_cleanup(&hctx);-
864 EVP_CIPHER_CTX_cleanup(&ctx);-
865 return
never executed: return 2;
2;
never executed: return 2;
0
866 }-
867 if (rv == 2
rv == 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
868 renew_ticket = 1;
never executed: renew_ticket = 1;
0
869 }
never executed: end of block
else {
0
870-
871 if (timingsafe_memcmp(etick,
timingsafe_mem..._key_name, 16)Description
TRUEnever evaluated
FALSEnever evaluated
0
872 tctx->internal->tlsext_tick_key_name, 16)
timingsafe_mem..._key_name, 16)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
873 return
never executed: return 2;
2;
never executed: return 2;
0
874 HMAC_Init_ex(&hctx, tctx->internal->tlsext_tick_hmac_key,-
875 16, EVP_sha256(), -
876 ((void *)0)-
877 );-
878 EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), -
879 ((void *)0)-
880 ,-
881 tctx->internal->tlsext_tick_aes_key, etick + 16);-
882 }
never executed: end of block
0
883-
884-
885-
886-
887-
888 mlen = (EVP_MD_size((&hctx)->md));-
889 if (mlen < 0
mlen < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
890 HMAC_CTX_cleanup(&hctx);-
891 EVP_CIPHER_CTX_cleanup(&ctx);-
892 return
never executed: return -1;
-1;
never executed: return -1;
0
893 }-
894-
895-
896 if (eticklen <= 16 + EVP_CIPHER_CTX_iv_length(&ctx) + mlen
eticklen <= 16...h(&ctx) + mlenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
897 HMAC_CTX_cleanup(&hctx);-
898 EVP_CIPHER_CTX_cleanup(&ctx);-
899 return
never executed: return 2;
2;
never executed: return 2;
0
900 }-
901 eticklen -= mlen;-
902-
903-
904 if (HMAC_Update(&hctx, etick, eticklen) <= 0
HMAC_Update(&h...eticklen) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
905 HMAC_Final(&hctx, tick_hmac,
HMAC_Final(&hc...id *)0) ) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
906 ((void *)0)
HMAC_Final(&hc...id *)0) ) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
907 ) <= 0
HMAC_Final(&hc...id *)0) ) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
908 HMAC_CTX_cleanup(&hctx);-
909 EVP_CIPHER_CTX_cleanup(&ctx);-
910 return
never executed: return -1;
-1;
never executed: return -1;
0
911 }-
912-
913 HMAC_CTX_cleanup(&hctx);-
914 if (timingsafe_memcmp(tick_hmac, etick + eticklen, mlen)
timingsafe_mem...ticklen, mlen)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
915 EVP_CIPHER_CTX_cleanup(&ctx);-
916 return
never executed: return 2;
2;
never executed: return 2;
0
917 }-
918-
919-
920-
921 p = etick + 16 + EVP_CIPHER_CTX_iv_length(&ctx);-
922 eticklen -= 16 + EVP_CIPHER_CTX_iv_length(&ctx);-
923 sdec = malloc(eticklen);-
924 if (sdec ==
sdec == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
925 ((void *)0)
sdec == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
926 ||-
927 EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen) <= 0
EVP_DecryptUpd...eticklen) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
928 free(sdec);-
929 EVP_CIPHER_CTX_cleanup(&ctx);-
930 return
never executed: return -1;
-1;
never executed: return -1;
0
931 }-
932 if (EVP_DecryptFinal_ex(&ctx, sdec + slen, &mlen) <= 0
EVP_DecryptFin...n, &mlen) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
933 free(sdec);-
934 EVP_CIPHER_CTX_cleanup(&ctx);-
935 return
never executed: return 2;
2;
never executed: return 2;
0
936 }-
937 slen += mlen;-
938 EVP_CIPHER_CTX_cleanup(&ctx);-
939 p = sdec;-
940-
941 sess = d2i_SSL_SESSION(-
942 ((void *)0)-
943 , &p, slen);-
944 free(sdec);-
945 if (sess
sessDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
946-
947-
948-
949-
950-
951 if (sesslen
sesslenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
952 memcpy(sess->session_id, sess_id, sesslen);
never executed: memcpy(sess->session_id, sess_id, sesslen);
0
953 sess->session_id_length = sesslen;-
954 *psess = sess;-
955 if (renew_ticket
renew_ticketDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
956 return
never executed: return 4;
4;
never executed: return 4;
0
957 else-
958 return
never executed: return 3;
3;
never executed: return 3;
0
959 }-
960 ERR_clear_error();-
961-
962-
963 return
never executed: return 2;
2;
never executed: return 2;
0
964}-
965-
966-
967-
968typedef struct {-
969 int nid;-
970 int id;-
971} tls12_lookup;-
972-
973static tls12_lookup tls12_md[] = {-
974 {4, 1},-
975 {64, 2},-
976 {675, 3},-
977 {672, 4},-
978 {673, 5},-
979 {674, 6},-
980 {809, 237},-
981 {941, 238},-
982 {942, 239}-
983};-
984-
985static tls12_lookup tls12_sig[] = {-
986 {6, 1},-
987 {408, 3},-
988 {811, 237},-
989};-
990-
991static int-
992tls12_find_id(int nid, tls12_lookup *table, size_t tlen)-
993{-
994 size_t i;-
995 for (i = 0; i < tlen
i < tlenDescription
TRUEevaluated 259 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
; i++) {
0-259
996 if (table[i].nid == nid
table[i].nid == nidDescription
TRUEevaluated 98 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 161 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
98-161
997 return
executed 98 times by 3 tests: return table[i].id;
Executed by:
  • servertest
  • ssltest
  • tlstest
table[i].id;
executed 98 times by 3 tests: return table[i].id;
Executed by:
  • servertest
  • ssltest
  • tlstest
98
998 }
executed 161 times by 3 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tlstest
161
999 return
never executed: return -1;
-1;
never executed: return -1;
0
1000}-
1001-
1002int-
1003tls12_get_hashid(const EVP_MD *md)-
1004{-
1005 if (md ==
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-33
1006 ((void *)0)
md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-33
1007 )-
1008 return
never executed: return -1;
-1;
never executed: return -1;
0
1009-
1010 return
executed 33 times by 3 tests: return tls12_find_id(EVP_MD_type(md), tls12_md, sizeof(tls12_md) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
tls12_find_id(EVP_MD_type(md), tls12_md,
executed 33 times by 3 tests: return tls12_find_id(EVP_MD_type(md), tls12_md, sizeof(tls12_md) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
33
1011 sizeof(tls12_md) / sizeof(tls12_lookup));
executed 33 times by 3 tests: return tls12_find_id(EVP_MD_type(md), tls12_md, sizeof(tls12_md) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
33
1012}-
1013-
1014int-
1015tls12_get_sigid(const EVP_PKEY *pk)-
1016{-
1017 if (pk ==
pk == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-65
1018 ((void *)0)
pk == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
0-65
1019 )-
1020 return
never executed: return -1;
-1;
never executed: return -1;
0
1021-
1022 return
executed 65 times by 3 tests: return tls12_find_id(pk->type, tls12_sig, sizeof(tls12_sig) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
tls12_find_id(pk->type, tls12_sig,
executed 65 times by 3 tests: return tls12_find_id(pk->type, tls12_sig, sizeof(tls12_sig) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
65
1023 sizeof(tls12_sig) / sizeof(tls12_lookup));
executed 65 times by 3 tests: return tls12_find_id(pk->type, tls12_sig, sizeof(tls12_sig) / sizeof(tls12_lookup));
Executed by:
  • servertest
  • ssltest
  • tlstest
65
1024}-
1025-
1026int-
1027tls12_get_hashandsig(CBB *cbb, const EVP_PKEY *pk, const EVP_MD *md)-
1028{-
1029 int hash_id, sig_id;-
1030-
1031 if ((
(hash_id = tls...hid(md)) == -1Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
hash_id = tls12_get_hashid(md)) == -1
(hash_id = tls...hid(md)) == -1Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-33
1032 return
never executed: return 0;
0;
never executed: return 0;
0
1033 if ((
(sig_id = tls1...gid(pk)) == -1Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
sig_id = tls12_get_sigid(pk)) == -1
(sig_id = tls1...gid(pk)) == -1Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-33
1034 return
never executed: return 0;
0;
never executed: return 0;
0
1035-
1036 if (!CBB_add_u8(cbb, hash_id)
!CBB_add_u8(cbb, hash_id)Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-33
1037 return
never executed: return 0;
0;
never executed: return 0;
0
1038 if (!CBB_add_u8(cbb, sig_id)
!CBB_add_u8(cbb, sig_id)Description
TRUEnever evaluated
FALSEevaluated 33 times by 3 tests
Evaluated by:
  • servertest
  • ssltest
  • tlstest
)
0-33
1039 return
never executed: return 0;
0;
never executed: return 0;
0
1040-
1041 return
executed 33 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
1;
executed 33 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlstest
33
1042}-
1043-
1044const EVP_MD *-
1045tls12_get_hash(unsigned char hash_alg)-
1046{-
1047 switch (hash_alg) {-
1048 case
never executed: case 2:
2:
never executed: case 2:
0
1049 return
never executed: return EVP_sha1();
EVP_sha1();
never executed: return EVP_sha1();
0
1050 case
never executed: case 3:
3:
never executed: case 3:
0
1051 return
never executed: return EVP_sha224();
EVP_sha224();
never executed: return EVP_sha224();
0
1052 case
never executed: case 4:
4:
never executed: case 4:
0
1053 return
never executed: return EVP_sha256();
EVP_sha256();
never executed: return EVP_sha256();
0
1054 case
never executed: case 5:
5:
never executed: case 5:
0
1055 return
never executed: return EVP_sha384();
EVP_sha384();
never executed: return EVP_sha384();
0
1056 case
executed 112 times by 3 tests: case 6:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
6:
executed 112 times by 3 tests: case 6:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
112
1057 return
executed 112 times by 3 tests: return EVP_sha512();
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
EVP_sha512();
executed 112 times by 3 tests: return EVP_sha512();
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
112
1058-
1059 case
never executed: case 237:
237:
never executed: case 237:
0
1060 return
never executed: return EVP_gostr341194();
EVP_gostr341194();
never executed: return EVP_gostr341194();
0
1061 case
never executed: case 238:
238:
never executed: case 238:
0
1062 return
never executed: return EVP_streebog256();
EVP_streebog256();
never executed: return EVP_streebog256();
0
1063 case
executed 40 times by 3 tests: case 239:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
239:
executed 40 times by 3 tests: case 239:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1064 return
executed 40 times by 3 tests: return EVP_streebog512();
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
EVP_streebog512();
executed 40 times by 3 tests: return EVP_streebog512();
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1065-
1066 default
never executed: default:
:
never executed: default:
0
1067 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1068 ((void *)0)
never executed: return ((void *)0) ;
0
1069 ;
never executed: return ((void *)0) ;
0
1070 }-
1071}-
1072-
1073-
1074-
1075int-
1076tls1_process_sigalgs(SSL *s, CBS *cbs)-
1077{-
1078 const EVP_MD *md;-
1079 CERT *c = s->cert;-
1080 int idx;-
1081-
1082-
1083 if (!(s->method->internal->ssl3_enc->enc_flags & (1 << 1))
!(s->method->i...gs & (1 << 1))Description
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
1084 return
never executed: return 1;
1;
never executed: return 1;
0
1085-
1086-
1087 if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-40
1088 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-40
1089 )-
1090 return
never executed: return 0;
0;
never executed: return 0;
0
1091-
1092 c->pkeys[1].digest = -
1093 ((void *)0)-
1094 ;-
1095 c->pkeys[0].digest = -
1096 ((void *)0)-
1097 ;-
1098 c->pkeys[3].digest = -
1099 ((void *)0)-
1100 ;-
1101 c->pkeys[4].digest = -
1102 ((void *)0)-
1103 ;-
1104-
1105 while (CBS_len(cbs) > 0
CBS_len(cbs) > 0Description
TRUEevaluated 520 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
40-520
1106 uint8_t hash_alg, sig_alg;-
1107-
1108 if (!CBS_get_u8(cbs, &hash_alg)
!CBS_get_u8(cbs, &hash_alg)Description
TRUEnever evaluated
FALSEevaluated 520 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
|| !CBS_get_u8(cbs, &sig_alg)
!CBS_get_u8(cbs, &sig_alg)Description
TRUEnever evaluated
FALSEevaluated 520 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-520
1109 return
never executed: return 0;
0;
never executed: return 0;
0
1110-
1111 switch (sig_alg) {-
1112 case
executed 200 times by 3 tests: case 1:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
1:
executed 200 times by 3 tests: case 1:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
200
1113 idx = 1;-
1114 break;
executed 200 times by 3 tests: break;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
200
1115 case
executed 200 times by 3 tests: case 3:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
3:
executed 200 times by 3 tests: case 3:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
200
1116 idx = 3;-
1117 break;
executed 200 times by 3 tests: break;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
200
1118 case
executed 40 times by 3 tests: case 237:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
237:
executed 40 times by 3 tests: case 237:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1119 case
executed 40 times by 3 tests: case 238:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
238:
executed 40 times by 3 tests: case 238:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1120 case
executed 40 times by 3 tests: case 239:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
239:
executed 40 times by 3 tests: case 239:
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1121 idx = 4;-
1122 break;
executed 120 times by 3 tests: break;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
120
1123 default
never executed: default:
:
never executed: default:
0
1124 continue;
never executed: continue;
0
1125 }-
1126-
1127 if (c->pkeys[idx].digest ==
c->pkeys[idx]....== ((void *)0)Description
TRUEevaluated 120 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 400 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
120-400
1128 ((void *)0)
c->pkeys[idx]....== ((void *)0)Description
TRUEevaluated 120 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 400 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
120-400
1129 ) {-
1130 md = tls12_get_hash(hash_alg);-
1131 if (md
mdDescription
TRUEevaluated 120 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEnever evaluated
) {
0-120
1132 c->pkeys[idx].digest = md;-
1133 if (idx == 1
idx == 1Description
TRUEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 80 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
40-80
1134 c->pkeys[0].digest = md;
executed 40 times by 3 tests: c->pkeys[0].digest = md;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1135 }
executed 120 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
120
1136 }
executed 120 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
120
1137-
1138 }
executed 520 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
520
1139-
1140-
1141-
1142-
1143-
1144 if (!c->pkeys[1].digest
!c->pkeys[1].digestDescription
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
0-40
1145 c->pkeys[1].digest = EVP_sha1();-
1146 c->pkeys[0].digest = EVP_sha1();-
1147 }
never executed: end of block
0
1148 if (!c->pkeys[3].digest
!c->pkeys[3].digestDescription
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
1149 c->pkeys[3].digest = EVP_sha1();
never executed: c->pkeys[3].digest = EVP_sha1();
0
1150-
1151 if (!c->pkeys[4].digest
!c->pkeys[4].digestDescription
TRUEnever evaluated
FALSEevaluated 40 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
1152 c->pkeys[4].digest = EVP_gostr341194();
never executed: c->pkeys[4].digest = EVP_gostr341194();
0
1153-
1154 return
executed 40 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 40 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
40
1155}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2