OpenCoverage

ssl_tlsext.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_tlsext.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9int-
10tlsext_alpn_clienthello_needs(SSL *s)-
11{-
12-
13 return
executed 80 times by 4 tests: return s->internal->alpn_client_proto_list != ((void *)0) && (s->s3->internal)->tmp.finish_md_len == 0;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
s->internal->alpn_client_proto_list !=
s->internal->a...!= ((void *)0)Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEevaluated 70 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
executed 80 times by 4 tests: return s->internal->alpn_client_proto_list != ((void *)0) && (s->s3->internal)->tmp.finish_md_len == 0;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
10-80
14 ((void *)0)
s->internal->a...!= ((void *)0)Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEevaluated 70 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
executed 80 times by 4 tests: return s->internal->alpn_client_proto_list != ((void *)0) && (s->s3->internal)->tmp.finish_md_len == 0;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
10-80
15 &&
executed 80 times by 4 tests: return s->internal->alpn_client_proto_list != ((void *)0) && (s->s3->internal)->tmp.finish_md_len == 0;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
80
16 (
(s->s3->intern...sh_md_len == 0Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEnever evaluated
s->s3->internal)->tmp.finish_md_len == 0
(s->s3->intern...sh_md_len == 0Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEnever evaluated
;
executed 80 times by 4 tests: return s->internal->alpn_client_proto_list != ((void *)0) && (s->s3->internal)->tmp.finish_md_len == 0;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
0-80
17}-
18-
19int-
20tlsext_alpn_clienthello_build(SSL *s, CBB *cbb)-
21{-
22 CBB protolist;-
23-
24 if (!CBB_add_u16_length_prefixed(cbb, &protolist)
!CBB_add_u16_l...b, &protolist)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-10
25 return
never executed: return 0;
0;
never executed: return 0;
0
26-
27 if (!CBB_add_bytes(&protolist, s->internal->alpn_client_proto_list,
!CBB_add_bytes...roto_list_len)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
0-10
28 s->internal->alpn_client_proto_list_len)
!CBB_add_bytes...roto_list_len)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-10
29 return
never executed: return 0;
0;
never executed: return 0;
0
30-
31 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-10
32 return
never executed: return 0;
0;
never executed: return 0;
0
33-
34 return
executed 10 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
1;
executed 10 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
10
35}-
36-
37int-
38tlsext_alpn_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
39{-
40 CBS proto_name_list, alpn;-
41 const unsigned char *selected;-
42 unsigned char selected_len;-
43 int r;-
44-
45 if (!CBS_get_u16_length_prefixed(cbs, &alpn)
!CBS_get_u16_l...ed(cbs, &alpn)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 18 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
3-18
46 goto
executed 3 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 3 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
3
47 if (CBS_len(&alpn) < 2
CBS_len(&alpn) < 2Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 17 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
1-17
48 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
1
49 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 16 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
1-16
50 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
1
51-
52 CBS_dup(&alpn, &proto_name_list);-
53 while (CBS_len(&proto_name_list) > 0
CBS_len(&proto_name_list) > 0Description
TRUEevaluated 29 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
FALSEevaluated 14 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
) {
14-29
54 CBS proto_name;-
55-
56 if (!CBS_get_u8_length_prefixed(&proto_name_list, &proto_name)
!CBS_get_u8_le..., &proto_name)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 27 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
2-27
57 goto
executed 2 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 2 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
2
58 if (CBS_len(&proto_name) == 0
CBS_len(&proto_name) == 0Description
TRUEnever evaluated
FALSEevaluated 27 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
0-27
59 goto
never executed: goto err;
err;
never executed: goto err;
0
60 }
executed 27 times by 3 tests: end of block
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
27
61-
62 if (s->ctx->internal->alpn_select_cb ==
s->ctx->intern...== ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
2-12
63 ((void *)0)
s->ctx->intern...== ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
2-12
64 )-
65 return
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
2
66-
67 r = s->ctx->internal->alpn_select_cb(s, &selected, &selected_len,-
68 CBS_data(&alpn), CBS_len(&alpn),-
69 s->ctx->internal->alpn_select_cb_arg);-
70 if (r == 0
r == 0Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
) {
2-10
71 free((s->s3->internal)->alpn_selected);-
72 if (((
((s->s3->inter...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
s->s3->internal)->alpn_selected = malloc(selected_len)) ==
((s->s3->inter...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
0-10
73 ((void *)0)
((s->s3->inter...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 2 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
0-10
74 ) {-
75 *alert = 80;-
76 return
never executed: return 0;
0;
never executed: return 0;
0
77 }-
78 memcpy((s->s3->internal)->alpn_selected, selected, selected_len);-
79 (s->s3->internal)->alpn_selected_len = selected_len;-
80 }
executed 10 times by 2 tests: end of block
Executed by:
  • ssltest
  • tls_ext_alpn
10
81-
82 return
executed 12 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
1;
executed 12 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
12
83-
84 err:-
85 *alert = 50;-
86 return
executed 7 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 7 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
7
87}-
88-
89int-
90tlsext_alpn_serverhello_needs(SSL *s)-
91{-
92 return
executed 70 times by 4 tests: return (s->s3->internal)->alpn_selected != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
(s->s3->internal)->alpn_selected !=
executed 70 times by 4 tests: return (s->s3->internal)->alpn_selected != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
70
93 ((void *)0)
executed 70 times by 4 tests: return (s->s3->internal)->alpn_selected != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
70
94 ;
executed 70 times by 4 tests: return (s->s3->internal)->alpn_selected != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
70
95}-
96-
97int-
98tlsext_alpn_serverhello_build(SSL *s, CBB *cbb)-
99{-
100 CBB list, selected;-
101-
102 if (!CBB_add_u16_length_prefixed(cbb, &list)
!CBB_add_u16_l...ed(cbb, &list)Description
TRUEnever evaluated
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-7
103 return
never executed: return 0;
0;
never executed: return 0;
0
104-
105 if (!CBB_add_u8_length_prefixed(&list, &selected)
!CBB_add_u8_le...st, &selected)Description
TRUEnever evaluated
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-7
106 return
never executed: return 0;
0;
never executed: return 0;
0
107-
108 if (!CBB_add_bytes(&selected, (s->s3->internal)->alpn_selected,
!CBB_add_bytes..._selected_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
0-7
109 (s->s3->internal)->alpn_selected_len)
!CBB_add_bytes..._selected_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-7
110 return
never executed: return 0;
0;
never executed: return 0;
0
111-
112 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
)
0-7
113 return
never executed: return 0;
0;
never executed: return 0;
0
114-
115 return
executed 7 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
1;
executed 7 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
7
116}-
117-
118int-
119tlsext_alpn_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
120{-
121 CBS list, proto;-
122-
123 if (s->internal->alpn_client_proto_list ==
s->internal->a...== ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 18 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
1-18
124 ((void *)0)
s->internal->a...== ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 18 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
1-18
125 ) {-
126 *alert = 110;-
127 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
128 }-
129-
130 if (!CBS_get_u16_length_prefixed(cbs, &list)
!CBS_get_u16_l...ed(cbs, &list)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 15 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
3-15
131 goto
executed 3 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 3 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
3
132 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 14 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
1-14
133 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
1
134-
135 if (!CBS_get_u8_length_prefixed(&list, &proto)
!CBS_get_u8_le...&list, &proto)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 13 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
1-13
136 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
1
137-
138 if (CBS_len(&list) != 0
CBS_len(&list) != 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 9 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
4-9
139 goto
executed 4 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 4 times by 1 test: goto err;
Executed by:
  • tls_ext_alpn
4
140 if (CBS_len(&proto) == 0
CBS_len(&proto) == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 8 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
1-8
141 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tls_ext_alpn
1
142-
143 if (!CBS_stow(&proto, &((s->s3->internal)->alpn_selected),
!CBS_stow(&pro...selected_len))Description
TRUEnever evaluated
FALSEevaluated 8 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
0-8
144 &((s->s3->internal)->alpn_selected_len))
!CBS_stow(&pro...selected_len))Description
TRUEnever evaluated
FALSEevaluated 8 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
)
0-8
145 goto
never executed: goto err;
err;
never executed: goto err;
0
146-
147 return
executed 8 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
1;
executed 8 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlsexttest
8
148-
149 err:-
150 *alert = 50;-
151 return
executed 10 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 10 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
10
152}-
153-
154-
155-
156-
157int-
158tlsext_ec_clienthello_needs(SSL *s)-
159{-
160 return
executed 81 times by 4 tests: return ssl_has_ecc_ciphers(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
ssl_has_ecc_ciphers(s);
executed 81 times by 4 tests: return ssl_has_ecc_ciphers(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
81
161}-
162-
163int-
164tlsext_ec_clienthello_build(SSL *s, CBB *cbb)-
165{-
166 CBB curvelist;-
167 size_t curves_len;-
168 int i;-
169 const uint16_t *curves;-
170-
171 tls1_get_curvelist(s, 0, &curves, &curves_len);-
172-
173 if (curves_len == 0
curves_len == 0Description
TRUEnever evaluated
FALSEevaluated 41 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
) {
0-41
174 SSL_error_internal(s, (4|64), __FILE__, 185);-
175 return
never executed: return 0;
0;
never executed: return 0;
0
176 }-
177-
178 if (!CBB_add_u16_length_prefixed(cbb, &curvelist)
!CBB_add_u16_l...b, &curvelist)Description
TRUEnever evaluated
FALSEevaluated 41 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-41
179 return
never executed: return 0;
0;
never executed: return 0;
0
180-
181 for (i = 0; i < curves_len
i < curves_lenDescription
TRUEevaluated 122 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 41 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
; i++) {
41-122
182 if (!CBB_add_u16(&curvelist, curves[i])
!CBB_add_u16(&...st, curves[i])Description
TRUEnever evaluated
FALSEevaluated 122 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-122
183 return
never executed: return 0;
0;
never executed: return 0;
0
184 }
executed 122 times by 4 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
122
185-
186 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 41 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-41
187 return
never executed: return 0;
0;
never executed: return 0;
0
188-
189 return
executed 41 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 41 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
41
190}-
191-
192int-
193tlsext_ec_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
194{-
195 CBS curvelist;-
196 size_t curves_len;-
197-
198 if (!CBS_get_u16_length_prefixed(cbs, &curvelist)
!CBS_get_u16_l...s, &curvelist)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-30
199 goto
never executed: goto err;
err;
never executed: goto err;
0
200 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-30
201 goto
never executed: goto err;
err;
never executed: goto err;
0
202-
203 curves_len = CBS_len(&curvelist);-
204 if (curves_len == 0
curves_len == 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
|| curves_len % 2 != 0
curves_len % 2 != 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-30
205 goto
never executed: goto err;
err;
never executed: goto err;
0
206 curves_len /= 2;-
207-
208 if (!s->internal->hit
!s->internal->hitDescription
TRUEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEnever evaluated
) {
0-30
209 int i;-
210 uint16_t *curves;-
211-
212 if ((
(s->session->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
s->session->internal)->tlsext_supportedgroups !=
(s->session->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
213 ((void *)0)
(s->session->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
214 )-
215 goto
never executed: goto err;
err;
never executed: goto err;
0
216-
217 if ((
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
curves = reallocarray(
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
218 ((void *)0)
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
219 , curves_len,
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
220 sizeof(uint16_t))) ==
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
221 ((void *)0)
(curves = real...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-30
222 ) {-
223 *alert = 80;-
224 return
never executed: return 0;
0;
never executed: return 0;
0
225 }-
226-
227 for (i = 0; i < curves_len
i < curves_lenDescription
TRUEevaluated 87 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
; i++) {
30-87
228 if (!CBS_get_u16(&curvelist, &curves[i])
!CBS_get_u16(&...t, &curves[i])Description
TRUEnever evaluated
FALSEevaluated 87 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
0-87
229 free(curves);-
230 goto
never executed: goto err;
err;
never executed: goto err;
0
231 }-
232 }
executed 87 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
87
233-
234 if (CBS_len(&curvelist) != 0
CBS_len(&curvelist) != 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
0-30
235 free(curves);-
236 goto
never executed: goto err;
err;
never executed: goto err;
0
237 }-
238-
239 (s->session->internal)->tlsext_supportedgroups = curves;-
240 (s->session->internal)->tlsext_supportedgroups_length = curves_len;-
241 }
executed 30 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
30
242-
243 return
executed 30 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 30 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
30
244-
245 err:-
246 *alert = 50;-
247 return
never executed: return 0;
0;
never executed: return 0;
0
248}-
249-
250-
251int-
252tlsext_ec_serverhello_needs(SSL *s)-
253{-
254 return
executed 69 times by 4 tests: return 0;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0;
executed 69 times by 4 tests: return 0;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
255}-
256-
257int-
258tlsext_ec_serverhello_build(SSL *s, CBB *cbb)-
259{-
260 return
never executed: return 0;
0;
never executed: return 0;
0
261}-
262-
263int-
264tlsext_ec_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
265{-
266 if (!CBS_skip(cbs, CBS_len(cbs))
!CBS_skip(cbs, CBS_len(cbs))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
267 *alert = 80;-
268 return
never executed: return 0;
0;
never executed: return 0;
0
269 }-
270-
271 return
never executed: return 1;
1;
never executed: return 1;
0
272}-
273-
274-
275-
276-
277static int-
278tlsext_ecpf_build(SSL *s, CBB *cbb)-
279{-
280 CBB ecpf;-
281 size_t formats_len;-
282 const uint8_t *formats;-
283-
284 tls1_get_formatlist(s, 0, &formats, &formats_len);-
285-
286 if (formats_len == 0
formats_len == 0Description
TRUEnever evaluated
FALSEevaluated 72 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
) {
0-72
287 SSL_error_internal(s, (4|64), __FILE__, 302);-
288 return
never executed: return 0;
0;
never executed: return 0;
0
289 }-
290-
291 if (!CBB_add_u8_length_prefixed(cbb, &ecpf)
!CBB_add_u8_le...ed(cbb, &ecpf)Description
TRUEnever evaluated
FALSEevaluated 72 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-72
292 return
never executed: return 0;
0;
never executed: return 0;
0
293 if (!CBB_add_bytes(&ecpf, formats, formats_len)
!CBB_add_bytes..., formats_len)Description
TRUEnever evaluated
FALSEevaluated 72 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-72
294 return
never executed: return 0;
0;
never executed: return 0;
0
295 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 72 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-72
296 return
never executed: return 0;
0;
never executed: return 0;
0
297-
298 return
executed 72 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 72 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
72
299}-
300-
301static int-
302tlsext_ecpf_parse(SSL *s, CBS *cbs, int *alert)-
303{-
304 CBS ecpf;-
305-
306 if (!CBS_get_u8_length_prefixed(cbs, &ecpf)
!CBS_get_u8_le...ed(cbs, &ecpf)Description
TRUEnever evaluated
FALSEevaluated 60 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-60
307 goto
never executed: goto err;
err;
never executed: goto err;
0
308 if (CBS_len(&ecpf) == 0
CBS_len(&ecpf) == 0Description
TRUEnever evaluated
FALSEevaluated 60 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-60
309 goto
never executed: goto err;
err;
never executed: goto err;
0
310 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 60 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-60
311 goto
never executed: goto err;
err;
never executed: goto err;
0
312-
313-
314 if (!CBS_contains_zero_byte(&ecpf)
!CBS_contains_zero_byte(&ecpf)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 59 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
1-59
315 SSL_error_internal(s, 157, __FILE__, 330);-
316 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tlsexttest
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tlsexttest
1
317 }-
318-
319 if (!s->internal->hit
!s->internal->hitDescription
TRUEevaluated 59 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
FALSEnever evaluated
) {
0-59
320 if (!CBS_stow(&ecpf, &((s->session->internal)->tlsext_ecpointformatlist),
!CBS_stow(&ecp...tlist_length))Description
TRUEnever evaluated
FALSEevaluated 59 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-59
321 &((s->session->internal)->tlsext_ecpointformatlist_length))
!CBS_stow(&ecp...tlist_length))Description
TRUEnever evaluated
FALSEevaluated 59 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
0-59
322 *alert = 80;-
323 return
never executed: return 0;
0;
never executed: return 0;
0
324 }-
325 }
executed 59 times by 3 tests: end of block
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
59
326-
327 return
executed 59 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 59 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
59
328-
329 err:-
330 *alert = 50;-
331 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
332}-
333-
334int-
335tlsext_ecpf_clienthello_needs(SSL *s)-
336{-
337 return
executed 80 times by 4 tests: return ssl_has_ecc_ciphers(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
ssl_has_ecc_ciphers(s);
executed 80 times by 4 tests: return ssl_has_ecc_ciphers(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
80
338}-
339-
340int-
341tlsext_ecpf_clienthello_build(SSL *s, CBB *cbb)-
342{-
343 return
executed 41 times by 4 tests: return tlsext_ecpf_build(s, cbb);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
tlsext_ecpf_build(s, cbb);
executed 41 times by 4 tests: return tlsext_ecpf_build(s, cbb);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
41
344}-
345-
346int-
347tlsext_ecpf_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
348{-
349 return
executed 30 times by 3 tests: return tlsext_ecpf_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
tlsext_ecpf_parse(s, cbs, alert);
executed 30 times by 3 tests: return tlsext_ecpf_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
30
350}-
351-
352int-
353tlsext_ecpf_serverhello_needs(SSL *s)-
354{-
355 if (s->version == 0xFEFF
s->version == 0xFEFFDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 58 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
11-58
356 return
executed 11 times by 1 test: return 0;
Executed by:
  • ssltest
0;
executed 11 times by 1 test: return 0;
Executed by:
  • ssltest
11
357-
358 return
executed 58 times by 4 tests: return ssl_using_ecc_cipher(s);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
ssl_using_ecc_cipher(s);
executed 58 times by 4 tests: return ssl_using_ecc_cipher(s);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
58
359}-
360-
361int-
362tlsext_ecpf_serverhello_build(SSL *s, CBB *cbb)-
363{-
364 return
executed 31 times by 3 tests: return tlsext_ecpf_build(s, cbb);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
tlsext_ecpf_build(s, cbb);
executed 31 times by 3 tests: return tlsext_ecpf_build(s, cbb);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
31
365}-
366-
367int-
368tlsext_ecpf_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
369{-
370 return
executed 30 times by 3 tests: return tlsext_ecpf_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
tlsext_ecpf_parse(s, cbs, alert);
executed 30 times by 3 tests: return tlsext_ecpf_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
30
371}-
372-
373-
374-
375-
376int-
377tlsext_ri_clienthello_needs(SSL *s)-
378{-
379 return
executed 78 times by 4 tests: return (s->internal->renegotiate);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
(s->internal->renegotiate);
executed 78 times by 4 tests: return (s->internal->renegotiate);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
78
380}-
381-
382int-
383tlsext_ri_clienthello_build(SSL *s, CBB *cbb)-
384{-
385 CBB reneg;-
386-
387 if (!CBB_add_u8_length_prefixed(cbb, &reneg)
!CBB_add_u8_le...d(cbb, &reneg)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
388 return
never executed: return 0;
0;
never executed: return 0;
0
389 if (!CBB_add_bytes(&reneg, (s->s3->internal)->previous_client_finished,
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
390 (s->s3->internal)->previous_client_finished_len)
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
391 return
never executed: return 0;
0;
never executed: return 0;
0
392 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
393 return
never executed: return 0;
0;
never executed: return 0;
0
394-
395 return
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1
396}-
397-
398int-
399tlsext_ri_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
400{-
401 CBS reneg;-
402-
403 if (!CBS_get_u8_length_prefixed(cbs, &reneg)
!CBS_get_u8_le...d(cbs, &reneg)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)
0-2
404 goto
never executed: goto err;
err;
never executed: goto err;
0
405 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)
0-2
406 goto
never executed: goto err;
err;
never executed: goto err;
0
407-
408 if (!CBS_mem_equal(&reneg, (s->s3->internal)->previous_client_finished,
!CBS_mem_equal..._finished_len)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
1
409 (s->s3->internal)->previous_client_finished_len)
!CBS_mem_equal..._finished_len)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
) {
1
410 SSL_error_internal(s, 337, __FILE__, 425);-
411 *alert = 40;-
412 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
413 }-
414-
415 (s->s3->internal)->renegotiate_seen = 1;-
416 (s->s3->internal)->send_connection_binding = 1;-
417-
418 return
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1
419-
420 err:-
421 SSL_error_internal(s, 336, __FILE__, 436);-
422 *alert = 50;-
423 return
never executed: return 0;
0;
never executed: return 0;
0
424}-
425-
426int-
427tlsext_ri_serverhello_needs(SSL *s)-
428{-
429 return
executed 69 times by 4 tests: return ((s->s3->internal)->send_connection_binding);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
((s->s3->internal)->send_connection_binding);
executed 69 times by 4 tests: return ((s->s3->internal)->send_connection_binding);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
430}-
431-
432int-
433tlsext_ri_serverhello_build(SSL *s, CBB *cbb)-
434{-
435 CBB reneg;-
436-
437 if (!CBB_add_u8_length_prefixed(cbb, &reneg)
!CBB_add_u8_le...d(cbb, &reneg)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-66
438 return
never executed: return 0;
0;
never executed: return 0;
0
439 if (!CBB_add_bytes(&reneg, (s->s3->internal)->previous_client_finished,
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-66
440 (s->s3->internal)->previous_client_finished_len)
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-66
441 return
never executed: return 0;
0;
never executed: return 0;
0
442 if (!CBB_add_bytes(&reneg, (s->s3->internal)->previous_server_finished,
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-66
443 (s->s3->internal)->previous_server_finished_len)
!CBB_add_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-66
444 return
never executed: return 0;
0;
never executed: return 0;
0
445 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 66 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-66
446 return
never executed: return 0;
0;
never executed: return 0;
0
447-
448 return
executed 66 times by 4 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 66 times by 4 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
66
449}-
450-
451int-
452tlsext_ri_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
453{-
454 CBS reneg, prev_client, prev_server;-
455-
456-
457-
458-
459-
460 if (((
(s->s3->intern...ished_len == 0Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
s->s3->internal)->previous_client_finished_len == 0
(s->s3->intern...ished_len == 0Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
&&
2-63
461 (
(s->s3->intern...ished_len != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->previous_server_finished_len != 0
(s->s3->intern...ished_len != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) ||
0-63
462 ((
(s->s3->intern...ished_len != 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->previous_client_finished_len != 0
(s->s3->intern...ished_len != 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
2-63
463 (
(s->s3->intern...ished_len == 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
s->s3->internal)->previous_server_finished_len == 0
(s->s3->intern...ished_len == 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)) {
0-2
464 *alert = 80;-
465 return
never executed: return 0;
0;
never executed: return 0;
0
466 }-
467-
468 if (!CBS_get_u8_length_prefixed(cbs, &reneg)
!CBS_get_u8_le...d(cbs, &reneg)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-65
469 goto
never executed: goto err;
err;
never executed: goto err;
0
470 if (!CBS_get_bytes(&reneg, &prev_client,
!CBS_get_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-65
471 (s->s3->internal)->previous_client_finished_len)
!CBS_get_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-65
472 goto
never executed: goto err;
err;
never executed: goto err;
0
473 if (!CBS_get_bytes(&reneg, &prev_server,
!CBS_get_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-65
474 (s->s3->internal)->previous_server_finished_len)
!CBS_get_bytes..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-65
475 goto
never executed: goto err;
err;
never executed: goto err;
0
476 if (CBS_len(&reneg) != 0
CBS_len(&reneg) != 0Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-65
477 goto
never executed: goto err;
err;
never executed: goto err;
0
478 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 65 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-65
479 goto
never executed: goto err;
err;
never executed: goto err;
0
480-
481 if (!CBS_mem_equal(&prev_client, (s->s3->internal)->previous_client_finished,
!CBS_mem_equal..._finished_len)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 64 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
1-64
482 (s->s3->internal)->previous_client_finished_len)
!CBS_mem_equal..._finished_len)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 64 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
1-64
483 SSL_error_internal(s, 337, __FILE__, 498);-
484 *alert = 40;-
485 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
486 }-
487 if (!CBS_mem_equal(&prev_server, (s->s3->internal)->previous_server_finished,
!CBS_mem_equal..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 64 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
0-64
488 (s->s3->internal)->previous_server_finished_len)
!CBS_mem_equal..._finished_len)Description
TRUEnever evaluated
FALSEevaluated 64 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
) {
0-64
489 SSL_error_internal(s, 337, __FILE__, 504);-
490 *alert = 40;-
491 return
never executed: return 0;
0;
never executed: return 0;
0
492 }-
493-
494 (s->s3->internal)->renegotiate_seen = 1;-
495 (s->s3->internal)->send_connection_binding = 1;-
496-
497 return
executed 64 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 64 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
64
498-
499 err:-
500 SSL_error_internal(s, 336, __FILE__, 515);-
501 *alert = 50;-
502 return
never executed: return 0;
0;
never executed: return 0;
0
503}-
504-
505-
506-
507-
508int-
509tlsext_sigalgs_clienthello_needs(SSL *s)-
510{-
511 return
executed 78 times by 4 tests: return (((s->client_version >> 8) == 0x03 ? s->client_version : 0) >= 0x0303);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
(((
(s->client_ver... >> 8) == 0x03Description
TRUEevaluated 66 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->client_version >> 8) == 0x03
(s->client_ver... >> 8) == 0x03Description
TRUEevaluated 66 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
? s->client_version : 0) >= 0x0303);
executed 78 times by 4 tests: return (((s->client_version >> 8) == 0x03 ? s->client_version : 0) >= 0x0303);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
12-78
512}-
513-
514int-
515tlsext_sigalgs_clienthello_build(SSL *s, CBB *cbb)-
516{-
517 unsigned char *sigalgs_data;-
518 size_t sigalgs_len;-
519 CBB sigalgs;-
520-
521 tls12_get_req_sig_algs(s, &sigalgs_data, &sigalgs_len);-
522-
523 if (!CBB_add_u16_length_prefixed(cbb, &sigalgs)
!CBB_add_u16_l...cbb, &sigalgs)Description
TRUEnever evaluated
FALSEevaluated 40 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
524 return
never executed: return 0;
0;
never executed: return 0;
0
525 if (!CBB_add_bytes(&sigalgs, sigalgs_data, sigalgs_len)
!CBB_add_bytes..., sigalgs_len)Description
TRUEnever evaluated
FALSEevaluated 40 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
526 return
never executed: return 0;
0;
never executed: return 0;
0
527 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 40 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
0-40
528 return
never executed: return 0;
0;
never executed: return 0;
0
529-
530 return
executed 40 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 40 times by 4 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
40
531}-
532-
533int-
534tlsext_sigalgs_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
535{-
536 CBS sigalgs;-
537-
538 if (!CBS_get_u16_length_prefixed(cbs, &sigalgs)
!CBS_get_u16_l...cbs, &sigalgs)Description
TRUEnever evaluated
FALSEevaluated 35 times by 3 tests
Evaluated by:
  • ssltest
  • tlsexttest
  • tlstest
)
0-35
539 return
never executed: return 0;
0;
never executed: return 0;
0
540-
541 return
executed 35 times by 3 tests: return tls1_process_sigalgs(s, &sigalgs);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
tls1_process_sigalgs(s, &sigalgs);
executed 35 times by 3 tests: return tls1_process_sigalgs(s, &sigalgs);
Executed by:
  • ssltest
  • tlsexttest
  • tlstest
35
542}-
543-
544int-
545tlsext_sigalgs_serverhello_needs(SSL *s)-
546{-
547 return
executed 68 times by 4 tests: return 0;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0;
executed 68 times by 4 tests: return 0;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
68
548}-
549-
550int-
551tlsext_sigalgs_serverhello_build(SSL *s, CBB *cbb)-
552{-
553 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
554}-
555-
556int-
557tlsext_sigalgs_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
558{-
559-
560 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
561}-
562-
563-
564-
565-
566int-
567tlsext_sni_clienthello_needs(SSL *s)-
568{-
569 return
executed 78 times by 4 tests: return (s->tlsext_hostname != ((void *)0) );
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
(s->tlsext_hostname !=
executed 78 times by 4 tests: return (s->tlsext_hostname != ((void *)0) );
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
78
570 ((void *)0)
executed 78 times by 4 tests: return (s->tlsext_hostname != ((void *)0) );
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
78
571 );
executed 78 times by 4 tests: return (s->tlsext_hostname != ((void *)0) );
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
78
572}-
573-
574int-
575tlsext_sni_clienthello_build(SSL *s, CBB *cbb)-
576{-
577 CBB server_name_list, host_name;-
578-
579 if (!CBB_add_u16_length_prefixed(cbb, &server_name_list)
!CBB_add_u16_l...ver_name_list)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
580 return
never executed: return 0;
0;
never executed: return 0;
0
581 if (!CBB_add_u8(&server_name_list, 0)
!CBB_add_u8(&s..._name_list, 0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
582 return
never executed: return 0;
0;
never executed: return 0;
0
583 if (!CBB_add_u16_length_prefixed(&server_name_list, &host_name)
!CBB_add_u16_l...t, &host_name)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
584 return
never executed: return 0;
0;
never executed: return 0;
0
585 if (!CBB_add_bytes(&host_name, (const uint8_t *)s->tlsext_hostname,
!CBB_add_bytes...ext_hostname))Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
586 strlen(s->tlsext_hostname))
!CBB_add_bytes...ext_hostname))Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
587 return
never executed: return 0;
0;
never executed: return 0;
0
588 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
589 return
never executed: return 0;
0;
never executed: return 0;
0
590-
591 return
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
1;
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
5
592}-
593-
594int-
595tlsext_sni_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
596{-
597 CBS server_name_list, host_name;-
598 uint8_t name_type;-
599-
600 if (!CBS_get_u16_length_prefixed(cbs, &server_name_list)
!CBS_get_u16_l...ver_name_list)Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-6
601 goto
never executed: goto err;
err;
never executed: goto err;
0
602-
603-
604-
605-
606-
607 if (!CBS_get_u8(&server_name_list, &name_type)
!CBS_get_u8(&s...t, &name_type)Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-6
608 goto
never executed: goto err;
err;
never executed: goto err;
0
609 if (name_type != 0
name_type != 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-6
610 goto
never executed: goto err;
err;
never executed: goto err;
0
611-
612 if (!CBS_get_u16_length_prefixed(&server_name_list, &host_name)
!CBS_get_u16_l...t, &host_name)Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-6
613 goto
never executed: goto err;
err;
never executed: goto err;
0
614 if (CBS_len(&host_name) == 0
CBS_len(&host_name) == 0Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
||
0-6
615 CBS_len(&host_name) > 255
CBS_len(&host_name) > 255Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
||
0-6
616 CBS_contains_zero_byte(&host_name)
CBS_contains_z...te(&host_name)Description
TRUEnever evaluated
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-6
617 *alert = 112;-
618 return
never executed: return 0;
0;
never executed: return 0;
0
619 }-
620-
621 if (s->internal->hit
s->internal->hitDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
1-5
622 if (s->session->tlsext_hostname ==
s->session->tl...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
623 ((void *)0)
s->session->tl...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
624 ) {-
625 *alert = 112;-
626 return
never executed: return 0;
0;
never executed: return 0;
0
627 }-
628 if (!CBS_mem_equal(&host_name, s->session->tlsext_hostname,
!CBS_mem_equal...ext_hostname))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEnever evaluated
0-1
629 strlen(s->session->tlsext_hostname))
!CBS_mem_equal...ext_hostname))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEnever evaluated
) {
0-1
630 *alert = 112;-
631 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
632 }-
633 }
never executed: end of block
else {
0
634 if (s->session->tlsext_hostname !=
s->session->tl...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
635 ((void *)0)
s->session->tl...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
636 )-
637 goto
never executed: goto err;
err;
never executed: goto err;
0
638 if (!CBS_strdup(&host_name, &s->session->tlsext_hostname)
!CBS_strdup(&h...sext_hostname)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
639 *alert = 80;-
640 return
never executed: return 0;
0;
never executed: return 0;
0
641 }-
642 }
executed 5 times by 2 tests: end of block
Executed by:
  • tlsexttest
  • tlstest
5
643-
644 if (CBS_len(&server_name_list) != 0
CBS_len(&serve...ame_list) != 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
645 goto
never executed: goto err;
err;
never executed: goto err;
0
646 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
647 goto
never executed: goto err;
err;
never executed: goto err;
0
648-
649 return
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
1;
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
5
650-
651 err:-
652 *alert = 50;-
653 return
never executed: return 0;
0;
never executed: return 0;
0
654}-
655-
656int-
657tlsext_sni_serverhello_needs(SSL *s)-
658{-
659 return
executed 69 times by 4 tests: return (s->session->tlsext_hostname != ((void *)0) );
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
(s->session->tlsext_hostname !=
executed 69 times by 4 tests: return (s->session->tlsext_hostname != ((void *)0) );
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
660 ((void *)0)
executed 69 times by 4 tests: return (s->session->tlsext_hostname != ((void *)0) );
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
661 );
executed 69 times by 4 tests: return (s->session->tlsext_hostname != ((void *)0) );
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
662}-
663-
664int-
665tlsext_sni_serverhello_build(SSL *s, CBB *cbb)-
666{-
667 return
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
1;
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
5
668}-
669-
670int-
671tlsext_sni_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
672{-
673 if (s->tlsext_hostname ==
s->tlsext_host...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
674 ((void *)0)
s->tlsext_host...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
675 || CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
676 *alert = 112;-
677 return
never executed: return 0;
0;
never executed: return 0;
0
678 }-
679-
680 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
681 if (s->session->tlsext_hostname ==
s->session->tl...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
682 ((void *)0)
s->session->tl...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
683 ) {-
684 *alert = 112;-
685 return
never executed: return 0;
0;
never executed: return 0;
0
686 }-
687 if (-
688 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
689 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
690 ) && __builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
691 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
692 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
693 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
694 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
695 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
696 ), (!((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
697 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
698 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
699 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
700 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
701 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
702 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
703 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
704 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
705 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
706 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
707 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
708 ) : (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
709 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
710 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
711 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
712 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
713 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
714 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
715 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
716 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
717 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
718 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
719 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
720 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
721 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
722 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
723 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
724 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
725 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
726 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
727 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
728 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
729 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
730 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
731 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
732 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
733 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
734 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( s->tlsext_hostname ))[3] - __s2[3]);
0
735 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( s->tlsext_hostname ))[3] - __s2[3]);
0
736 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
737 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
738 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
739 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
740 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
741 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
742 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
743 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
744 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
745 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
746 ) && ((size_t)(const void *)((
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
747 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
748 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
749 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
750 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
751 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
752 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
753 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
754 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
755 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
756 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
757 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
758 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
759 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
760 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
761 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
762 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( s->session->tlsext_hostname ))[3] - __s2[3]);
0
763 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( s->session->tlsext_hostname ))[3] - __s2[3]);
0
764 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
765 s->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
766 ,
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
767 s->session->tlsext_hostname
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
768 )))); })
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
769
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
770 != 0
__extension__ ... )))); }) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
771 *alert = 112;-
772 return
never executed: return 0;
0;
never executed: return 0;
0
773 }-
774 }
never executed: end of block
else {
0
775 if (s->session->tlsext_hostname !=
s->session->tl...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
776 ((void *)0)
s->session->tl...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
777 ) {-
778 *alert = 50;-
779 return
never executed: return 0;
0;
never executed: return 0;
0
780 }-
781 if ((
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
s->session->tlsext_hostname =
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
782
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
783 (__extension__ (__builtin_constant_p (
__builtin_cons...ext_hostname )Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
784 s->tlsext_hostname
__builtin_cons...ext_hostname )Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
785 )
__builtin_cons...ext_hostname )Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
&& ((
((size_t)(cons...stname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...stname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
786 s->tlsext_hostname
((size_t)(cons...stname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
787 ) + 1) - (size_t)(const void *)(
((size_t)(cons...stname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
788 s->tlsext_hostname
((size_t)(cons...stname ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
789 ) == 1)
((size_t)(cons...stname ) == 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->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
790 s->tlsext_hostname
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
791 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
792 s->tlsext_hostname
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
793 ) + 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, s->tlsext_hostname , __len);
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
794 s->tlsext_hostname
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
never executed: __retval = (char *) memcpy (__retval, s->tlsext_hostname , __len);
0-5
795 , __len);
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
never executed: __retval = (char *) memcpy (__retval, s->tlsext_hostname , __len);
__retval; })) : __strdup (
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
796 s->tlsext_hostname
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
797 )))
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
798 ) ==
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
799 ((void *)0)
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
800 ) {-
801 *alert = 80;-
802 return
never executed: return 0;
0;
never executed: return 0;
0
803 }-
804 }
executed 5 times by 2 tests: end of block
Executed by:
  • tlsexttest
  • tlstest
5
805-
806 return
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
1;
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
5
807}-
808-
809-
810-
811-
812-
813-
814int-
815tlsext_ocsp_clienthello_needs(SSL *s)-
816{-
817 return
executed 78 times by 4 tests: return (s->tlsext_status_type == 1 && s->version != 0xFEFF);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
(s->tlsext_status_type == 1
s->tlsext_status_type == 1Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
&&
executed 78 times by 4 tests: return (s->tlsext_status_type == 1 && s->version != 0xFEFF);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
5-78
818 s->version != 0xFEFF
s->version != 0xFEFFDescription
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEnever evaluated
);
executed 78 times by 4 tests: return (s->tlsext_status_type == 1 && s->version != 0xFEFF);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
0-78
819}-
820-
821int-
822tlsext_ocsp_clienthello_build(SSL *s, CBB *cbb)-
823{-
824 CBB respid_list, respid, exts;-
825 unsigned char *ext_data;-
826 size_t ext_len;-
827 int i;-
828-
829 if (!CBB_add_u8(cbb, 1)
!CBB_add_u8(cbb, 1)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
830 return
never executed: return 0;
0;
never executed: return 0;
0
831 if (!CBB_add_u16_length_prefixed(cbb, &respid_list)
!CBB_add_u16_l... &respid_list)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
832 return
never executed: return 0;
0;
never executed: return 0;
0
833 for (i = 0; i < sk_num(((_STACK*) (1 ? (s->internal->tlsext_ocsp_ids) : (struct stack_st_OCSP_RESPID*)0)))
i < sk_num(((_...P_RESPID*)0)))Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
; i++) {
0-5
834 unsigned char *respid_data;-
835 OCSP_RESPID *id;-
836 size_t id_len;-
837-
838 if ((
(id = ((OCSP_R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
id = ((OCSP_RESPID *)sk_value(((_STACK*) (1 ? (s->internal->tlsext_ocsp_ids) : (struct stack_st_OCSP_RESPID*)0)), (i)))
(id = ((OCSP_R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
839 ) ==
(id = ((OCSP_R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
840 ((void *)0)
(id = ((OCSP_R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
841 )-
842 return
never executed: return 0;
0;
never executed: return 0;
0
843 if ((
(id_len = i2d_... *)0) )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
id_len = i2d_OCSP_RESPID(id,
(id_len = i2d_... *)0) )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
844 ((void *)0)
(id_len = i2d_... *)0) )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
845 )) == -1
(id_len = i2d_... *)0) )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
846 return
never executed: return 0;
0;
never executed: return 0;
0
847 if (!CBB_add_u16_length_prefixed(&respid_list, &respid)
!CBB_add_u16_l...list, &respid)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
848 return
never executed: return 0;
0;
never executed: return 0;
0
849 if (!CBB_add_space(&respid, &respid_data, id_len)
!CBB_add_space..._data, id_len)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
850 return
never executed: return 0;
0;
never executed: return 0;
0
851 if ((
(i2d_OCSP_RESP...ta)) != id_lenDescription
TRUEnever evaluated
FALSEnever evaluated
i2d_OCSP_RESPID(id, &respid_data)) != id_len
(i2d_OCSP_RESP...ta)) != id_lenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
852 return
never executed: return 0;
0;
never executed: return 0;
0
853 }
never executed: end of block
0
854 if (!CBB_add_u16_length_prefixed(cbb, &exts)
!CBB_add_u16_l...ed(cbb, &exts)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
855 return
never executed: return 0;
0;
never executed: return 0;
0
856 if ((
(ext_len = i2d... *)0) )) == -1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
ext_len = i2d_X509_EXTENSIONS(s->internal->tlsext_ocsp_exts,
(ext_len = i2d... *)0) )) == -1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
857
(ext_len = i2d... *)0) )) == -1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
858 ((void *)0)
(ext_len = i2d... *)0) )) == -1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
859 )) == -1
(ext_len = i2d... *)0) )) == -1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
860 return
never executed: return 0;
0;
never executed: return 0;
0
861 if (!CBB_add_space(&exts, &ext_data, ext_len)
!CBB_add_space...data, ext_len)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
862 return
never executed: return 0;
0;
never executed: return 0;
0
863 if ((
(i2d_X509_EXTE...a) != ext_len)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
i2d_X509_EXTENSIONS(s->internal->tlsext_ocsp_exts, &ext_data) !=
(i2d_X509_EXTE...a) != ext_len)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
0-5
864 ext_len)
(i2d_X509_EXTE...a) != ext_len)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
865 return
never executed: return 0;
0;
never executed: return 0;
0
866 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
867 return
never executed: return 0;
0;
never executed: return 0;
0
868 return
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
1;
executed 5 times by 2 tests: return 1;
Executed by:
  • tlsexttest
  • tlstest
5
869}-
870-
871int-
872tlsext_ocsp_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
873{-
874 int failure = 50;-
875 CBS respid_list, respid, exts;-
876 const unsigned char *p;-
877 uint8_t status_type;-
878 int ret = 0;-
879-
880 if (!CBS_get_u8(cbs, &status_type)
!CBS_get_u8(cbs, &status_type)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
881 goto
never executed: goto err;
err;
never executed: goto err;
0
882 if (status_type != 1
status_type != 1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
883-
884 s->tlsext_status_type = -1;-
885-
886 if (!CBS_skip(cbs, CBS_len(cbs))
!CBS_skip(cbs, CBS_len(cbs))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
887 *alert = 80;-
888 return
never executed: return 0;
0;
never executed: return 0;
0
889 }-
890 return
never executed: return 1;
1;
never executed: return 1;
0
891 }-
892 s->tlsext_status_type = status_type;-
893 if (!CBS_get_u16_length_prefixed(cbs, &respid_list)
!CBS_get_u16_l... &respid_list)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
894 goto
never executed: goto err;
err;
never executed: goto err;
0
895-
896-
897 sk_pop_free(((_STACK*) (1 ? (s->internal->tlsext_ocsp_ids) : (struct stack_st_OCSP_RESPID*)0)), ((void (*)(void *)) ((1 ? (OCSP_RESPID_free) : (void (*)(OCSP_RESPID *))0))));-
898 s->internal->tlsext_ocsp_ids = -
899 ((void *)0)-
900 ;-
901 if (CBS_len(&respid_list) > 0
CBS_len(&respid_list) > 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
902 s->internal->tlsext_ocsp_ids = ((struct stack_st_OCSP_RESPID *)sk_new_null());-
903 if (s->internal->tlsext_ocsp_ids ==
s->internal->t...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
904 ((void *)0)
s->internal->t...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
905 ) {-
906 failure = 80;-
907 goto
never executed: goto err;
err;
never executed: goto err;
0
908 }-
909 }
never executed: end of block
0
910-
911 while (CBS_len(&respid_list) > 0
CBS_len(&respid_list) > 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
912 OCSP_RESPID *id;-
913-
914 if (!CBS_get_u16_length_prefixed(&respid_list, &respid)
!CBS_get_u16_l...list, &respid)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
915 goto
never executed: goto err;
err;
never executed: goto err;
0
916 p = CBS_data(&respid);-
917 if ((
(id = d2i_OCSP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
id = d2i_OCSP_RESPID(
(id = d2i_OCSP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
918 ((void *)0)
(id = d2i_OCSP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
919 , &p, CBS_len(&respid))) ==
(id = d2i_OCSP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
920 ((void *)0)
(id = d2i_OCSP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
921 )-
922 goto
never executed: goto err;
err;
never executed: goto err;
0
923 if (!sk_push(((_STACK*) (1 ? (s->internal->tlsext_ocsp_ids) : (struct stack_st_OCSP_RESPID*)0)), ((void*) (1 ? (id) : (OCSP_RESPID*)0)))
!sk_push(((_ST...P_RESPID*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
924 failure = 80;-
925 OCSP_RESPID_free(id);-
926 goto
never executed: goto err;
err;
never executed: goto err;
0
927 }-
928 }
never executed: end of block
0
929-
930-
931 if (!CBS_get_u16_length_prefixed(cbs, &exts)
!CBS_get_u16_l...ed(cbs, &exts)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
932 goto
never executed: goto err;
err;
never executed: goto err;
0
933 if (CBS_len(&exts) > 0
CBS_len(&exts) > 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
) {
0-5
934 sk_pop_free(((_STACK*) (1 ? (s->internal->tlsext_ocsp_exts) : (struct stack_st_X509_EXTENSION*)0)), ((void (*)(void *)) ((1 ? (X509_EXTENSION_free) : (void (*)(X509_EXTENSION *))0))))-
935 ;-
936 p = CBS_data(&exts);-
937 if ((
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
s->internal->tlsext_ocsp_exts = d2i_X509_EXTENSIONS(
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
938 ((void *)0)
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
939 ,
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
940 &p, CBS_len(&exts))) ==
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
941 ((void *)0)
(s->internal->...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
942 )-
943 goto
never executed: goto err;
err;
never executed: goto err;
0
944 }
never executed: end of block
0
945-
946-
947 if (CBS_len(cbs) > 0
CBS_len(cbs) > 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
948 goto
never executed: goto err;
err;
never executed: goto err;
0
949-
950 ret = 1;-
951 err:
code before this statement executed 5 times by 2 tests: err:
Executed by:
  • tlsexttest
  • tlstest
5
952 if (ret == 0
ret == 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
)
0-5
953 *
never executed: *alert = failure;
alert = failure;
never executed: *alert = failure;
0
954 return
executed 5 times by 2 tests: return ret;
Executed by:
  • tlsexttest
  • tlstest
ret;
executed 5 times by 2 tests: return ret;
Executed by:
  • tlsexttest
  • tlstest
5
955}-
956-
957int-
958tlsext_ocsp_serverhello_needs(SSL *s)-
959{-
960 return
executed 69 times by 4 tests: return s->internal->tlsext_status_expected;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
s->internal->tlsext_status_expected;
executed 69 times by 4 tests: return s->internal->tlsext_status_expected;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
69
961}-
962-
963int-
964tlsext_ocsp_serverhello_build(SSL *s, CBB *cbb)-
965{-
966 return
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
2
967}-
968-
969int-
970tlsext_ocsp_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
971{-
972 if (s->tlsext_status_type == -1
s->tlsext_status_type == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
973 *alert = 110;-
974 return
never executed: return 0;
0;
never executed: return 0;
0
975 }-
976-
977 s->internal->tlsext_status_expected = 1;-
978 return
never executed: return 1;
1;
never executed: return 1;
0
979}-
980-
981-
982-
983-
984int-
985tlsext_sessionticket_clienthello_needs(SSL *s)-
986{-
987-
988-
989-
990-
991-
992 if ((
(SSL_ctrl((s),...0004000L) != 0Description
TRUEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEevaluated 78 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
SSL_ctrl((s),32,0,
(SSL_ctrl((s),...0004000L) != 0Description
TRUEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEevaluated 78 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
6-78
993 ((void *)0)
(SSL_ctrl((s),...0004000L) != 0Description
TRUEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEevaluated 78 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
6-78
994 ) & 0x00004000L) != 0
(SSL_ctrl((s),...0004000L) != 0Description
TRUEevaluated 6 times by 2 tests
Evaluated by:
  • tlsexttest
  • tlstest
FALSEevaluated 78 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
)
6-78
995 return
executed 6 times by 2 tests: return 0;
Executed by:
  • tlsexttest
  • tlstest
0;
executed 6 times by 2 tests: return 0;
Executed by:
  • tlsexttest
  • tlstest
6
996-
997 if (s->internal->new_session
s->internal->new_sessionDescription
TRUEnever evaluated
FALSEevaluated 78 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
)
0-78
998 return
never executed: return 1;
1;
never executed: return 1;
0
999-
1000 if (s->internal->tlsext_session_ticket !=
s->internal->t...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 76 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
2-76
1001 ((void *)0)
s->internal->t...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 76 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
2-76
1002 &&-
1003 s->internal->tlsext_session_ticket->data ==
s->internal->t...== ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
1
1004 ((void *)0)
s->internal->t...== ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
1
1005 )-
1006 return
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tlsexttest
1
1007-
1008 return
executed 77 times by 3 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
1;
executed 77 times by 3 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
77
1009}-
1010-
1011int-
1012tlsext_sessionticket_clienthello_build(SSL *s, CBB *cbb)-
1013{-
1014-
1015-
1016-
1017-
1018 if (s->internal->new_session
s->internal->new_sessionDescription
TRUEnever evaluated
FALSEevaluated 75 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
|| s->session ==
s->session == ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
0-75
1019 ((void *)0)
s->session == ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
2-73
1020 )-
1021 return
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
2
1022-
1023 if (s->session->tlsext_tick !=
s->session->tl...!= ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 72 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
1-72
1024 ((void *)0)
s->session->tl...!= ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 72 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
1-72
1025 ) {-
1026-
1027 if (!CBB_add_bytes(cbb, s->session->tlsext_tick,
!CBB_add_bytes...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1028 s->session->tlsext_ticklen)
!CBB_add_bytes...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1029 return
never executed: return 0;
0;
never executed: return 0;
0
1030-
1031 }
executed 1 time by 1 test: end of block
Executed by:
  • tlsexttest
else if (s->internal->tlsext_session_ticket !=
s->internal->t...!= ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 71 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
1-71
1032 ((void *)0)
s->internal->t...!= ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 71 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
1-71
1033 ) {-
1034-
1035-
1036-
1037-
1038 if (s->internal->tlsext_session_ticket->length > 0
s->internal->t...et->length > 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEnever evaluated
) {
0-1
1039 size_t ticklen = s->internal->tlsext_session_ticket->length;-
1040-
1041 if ((
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
s->session->tlsext_tick = malloc(ticklen)) ==
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1042 ((void *)0)
(s->session->t...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1043 )-
1044 return
never executed: return 0;
0;
never executed: return 0;
0
1045 memcpy(s->session->tlsext_tick,-
1046 s->internal->tlsext_session_ticket->data,-
1047 ticklen);-
1048 s->session->tlsext_ticklen = ticklen;-
1049-
1050 if (!CBB_add_bytes(cbb, s->session->tlsext_tick,
!CBB_add_bytes...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1051 s->session->tlsext_ticklen)
!CBB_add_bytes...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1052 return
never executed: return 0;
0;
never executed: return 0;
0
1053 }
executed 1 time by 1 test: end of block
Executed by:
  • tlsexttest
1
1054 }
executed 1 time by 1 test: end of block
Executed by:
  • tlsexttest
1
1055-
1056 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 73 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
)
0-73
1057 return
never executed: return 0;
0;
never executed: return 0;
0
1058-
1059 return
executed 73 times by 3 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
1;
executed 73 times by 3 tests: return 1;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
73
1060}-
1061-
1062int-
1063tlsext_sessionticket_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
1064{-
1065 if (s->internal->tls_session_ticket_ext_cb
s->internal->t..._ticket_ext_cbDescription
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1066 if (!s->internal->tls_session_ticket_ext_cb(s, CBS_data(cbs),
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
1067 (int)CBS_len(cbs),
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
1068 s->internal->tls_session_ticket_ext_cb_arg)
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1069 *alert = 80;-
1070 return
never executed: return 0;
0;
never executed: return 0;
0
1071 }-
1072 }
never executed: end of block
0
1073-
1074-
1075 if (!CBS_skip(cbs, CBS_len(cbs))
!CBS_skip(cbs, CBS_len(cbs))Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1076 *alert = 80;-
1077 return
never executed: return 0;
0;
never executed: return 0;
0
1078 }-
1079-
1080 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
1081}-
1082-
1083int-
1084tlsext_sessionticket_serverhello_needs(SSL *s)-
1085{-
1086 return
executed 71 times by 4 tests: return (s->internal->tlsext_ticket_expected && !(SSL_ctrl((s),32,0, ((void *)0) ) & 0x00004000L));
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
(s->internal->tlsext_ticket_expected
s->internal->t...icket_expectedDescription
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEevaluated 10 times by 3 tests
Evaluated by:
  • servertest
  • tlsexttest
  • tlstest
&&
executed 71 times by 4 tests: return (s->internal->tlsext_ticket_expected && !(SSL_ctrl((s),32,0, ((void *)0) ) & 0x00004000L));
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
10-71
1087 !(SSL_ctrl((s),32,0,
!(SSL_ctrl((s)...& 0x00004000L)Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEnever evaluated
executed 71 times by 4 tests: return (s->internal->tlsext_ticket_expected && !(SSL_ctrl((s),32,0, ((void *)0) ) & 0x00004000L));
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-71
1088 ((void *)0)
!(SSL_ctrl((s)...& 0x00004000L)Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEnever evaluated
executed 71 times by 4 tests: return (s->internal->tlsext_ticket_expected && !(SSL_ctrl((s),32,0, ((void *)0) ) & 0x00004000L));
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-71
1089 ) & 0x00004000L)
!(SSL_ctrl((s)...& 0x00004000L)Description
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEnever evaluated
);
executed 71 times by 4 tests: return (s->internal->tlsext_ticket_expected && !(SSL_ctrl((s),32,0, ((void *)0) ) & 0x00004000L));
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-71
1090}-
1091-
1092int-
1093tlsext_sessionticket_serverhello_build(SSL *s, CBB *cbb)-
1094{-
1095-
1096-
1097 return
executed 61 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
1;
executed 61 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlsexttest
61
1098}-
1099-
1100int-
1101tlsext_sessionticket_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
1102{-
1103 if (s->internal->tls_session_ticket_ext_cb
s->internal->t..._ticket_ext_cbDescription
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1104 if (!s->internal->tls_session_ticket_ext_cb(s, CBS_data(cbs),
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
1105 (int)CBS_len(cbs),
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
1106 s->internal->tls_session_ticket_ext_cb_arg)
!s->internal->...et_ext_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1107 *alert = 80;-
1108 return
never executed: return 0;
0;
never executed: return 0;
0
1109 }-
1110 }
never executed: end of block
0
1111-
1112 if ((
(SSL_ctrl((s),...0004000L) != 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
SSL_ctrl((s),32,0,
(SSL_ctrl((s),...0004000L) != 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
1113 ((void *)0)
(SSL_ctrl((s),...0004000L) != 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
1114 ) & 0x00004000L) != 0
(SSL_ctrl((s),...0004000L) != 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
|| CBS_len(cbs) > 0
CBS_len(cbs) > 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1115 *alert = 110;-
1116 return
never executed: return 0;
0;
never executed: return 0;
0
1117 }-
1118-
1119 s->internal->tlsext_ticket_expected = 1;-
1120-
1121 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
1122}-
1123-
1124-
1125-
1126-
1127-
1128-
1129-
1130int-
1131tlsext_srtp_clienthello_needs(SSL *s)-
1132{-
1133 return
executed 79 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_srtp_profiles(s) != ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
(
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 15 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
FALSEevaluated 64 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 15 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
FALSEevaluated 64 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
&& SSL_get_srtp_profiles(s) !=
SSL_get_srtp_p...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 13 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
executed 79 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_srtp_profiles(s) != ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
2-79
1134 ((void *)0)
SSL_get_srtp_p...!= ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 13 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
executed 79 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_srtp_profiles(s) != ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
2-79
1135 ;
executed 79 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_srtp_profiles(s) != ((void *)0) ;
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
79
1136}-
1137-
1138int-
1139tlsext_srtp_clienthello_build(SSL *s, CBB *cbb)-
1140{-
1141 CBB profiles, mki;-
1142 int ct, i;-
1143 struct stack_st_SRTP_PROTECTION_PROFILE *clnt = -
1144 ((void *)0)-
1145 ;-
1146 SRTP_PROTECTION_PROFILE *prof;-
1147-
1148 if ((
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
clnt = SSL_get_srtp_profiles(s)) ==
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
0-2
1149 ((void *)0)
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
0-2
1150 ) {-
1151 SSL_error_internal(s, 354, __FILE__, 1010);-
1152 return
never executed: return 0;
0;
never executed: return 0;
0
1153 }-
1154-
1155 if ((
(ct = sk_num((...ILE*)0)))) < 1Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
ct = sk_num(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)))) < 1
(ct = sk_num((...ILE*)0)))) < 1Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
) {
0-2
1156 SSL_error_internal(s, 354, __FILE__, 1015);-
1157 return
never executed: return 0;
0;
never executed: return 0;
0
1158 }-
1159-
1160 if (!CBB_add_u16_length_prefixed(cbb, &profiles)
!CBB_add_u16_l...bb, &profiles)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)
0-2
1161 return
never executed: return 0;
0;
never executed: return 0;
0
1162-
1163 for (i = 0; i < ct
i < ctDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
; i++) {
2-3
1164 if ((
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
prof = ((SRTP_PROTECTION_PROFILE *)sk_value(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)), (i)))) ==
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
0-3
1165 ((void *)0)
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
0-3
1166 )-
1167 return
never executed: return 0;
0;
never executed: return 0;
0
1168 if (!CBB_add_u16(&profiles, prof->id)
!CBB_add_u16(&...les, prof->id)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
)
0-3
1169 return
never executed: return 0;
0;
never executed: return 0;
0
1170 }
executed 3 times by 1 test: end of block
Executed by:
  • tlsexttest
3
1171-
1172 if (!CBB_add_u8_length_prefixed(cbb, &mki)
!CBB_add_u8_le...xed(cbb, &mki)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)
0-2
1173 return
never executed: return 0;
0;
never executed: return 0;
0
1174-
1175 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
)
0-2
1176 return
never executed: return 0;
0;
never executed: return 0;
0
1177-
1178 return
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 2 times by 1 test: return 1;
Executed by:
  • tlsexttest
2
1179}-
1180-
1181int-
1182tlsext_srtp_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
1183{-
1184 SRTP_PROTECTION_PROFILE *cprof, *sprof;-
1185 struct stack_st_SRTP_PROTECTION_PROFILE *clnt = -
1186 ((void *)0)-
1187 , *srvr;-
1188 int i, j;-
1189 int ret;-
1190 uint16_t id;-
1191 CBS profiles, mki;-
1192-
1193 ret = 0;-
1194-
1195 if (!CBS_get_u16_length_prefixed(cbs, &profiles)
!CBS_get_u16_l...bs, &profiles)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
)
0-4
1196 goto
never executed: goto err;
err;
never executed: goto err;
0
1197 if (CBS_len(&profiles) == 0
CBS_len(&profiles) == 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
|| CBS_len(&profiles) % 2 != 0
CBS_len(&profiles) % 2 != 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
)
0-4
1198 goto
never executed: goto err;
err;
never executed: goto err;
0
1199-
1200 if ((
(clnt = ((stru...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
clnt = ((struct stack_st_SRTP_PROTECTION_PROFILE *)sk_new_null())) ==
(clnt = ((stru...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1201 ((void *)0)
(clnt = ((stru...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1202 )-
1203 goto
never executed: goto err;
err;
never executed: goto err;
0
1204-
1205 while (CBS_len(&profiles) > 0
CBS_len(&profiles) > 0Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
) {
4-7
1206 if (!CBS_get_u16(&profiles, &id)
!CBS_get_u16(&profiles, &id)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tlsexttest
)
0-7
1207 goto
never executed: goto err;
err;
never executed: goto err;
0
1208-
1209 if (!srtp_find_profile_by_num(id, &cprof)
!srtp_find_pro...um(id, &cprof)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
) {
3-4
1210 if (!sk_push(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)), ((void*) (1 ? (cprof) : (SRTP_PROTECTION_PROFILE*)0)))
!sk_push(((_ST..._PROFILE*)0)))Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
)
0-4
1211 goto
never executed: goto err;
err;
never executed: goto err;
0
1212 }
executed 4 times by 1 test: end of block
Executed by:
  • tlsexttest
4
1213 }
executed 7 times by 1 test: end of block
Executed by:
  • tlsexttest
7
1214-
1215 if (!CBS_get_u8_length_prefixed(cbs, &mki)
!CBS_get_u8_le...xed(cbs, &mki)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
|| CBS_len(&mki) != 0
CBS_len(&mki) != 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
) {
0-4
1216 SSL_error_internal(s, 352, __FILE__, 1069);-
1217 *alert = 50;-
1218 goto
never executed: goto done;
done;
never executed: goto done;
0
1219 }-
1220 if (CBS_len(cbs) != 0
CBS_len(cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
)
0-4
1221 goto
never executed: goto err;
err;
never executed: goto err;
0
1222 if ((
(srvr = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
srvr = SSL_get_srtp_profiles(s)) ==
(srvr = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1223 ((void *)0)
(srvr = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1224 )-
1225 goto
never executed: goto err;
err;
never executed: goto err;
0
1226 for (i = 0; i < sk_num(((_STACK*) (1 ? (srvr) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)))
i < sk_num(((_..._PROFILE*)0)))Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
; i++) {
1-6
1227 if ((
(sprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tlsexttest
sprof = ((SRTP_PROTECTION_PROFILE *)sk_value(((_STACK*) (1 ? (srvr) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)), (i))))
(sprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tlsexttest
0-6
1228 ==
(sprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tlsexttest
0-6
1229 ((void *)0)
(sprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tlsexttest
0-6
1230 )-
1231 goto
never executed: goto err;
err;
never executed: goto err;
0
1232-
1233 for (j = 0; j < sk_num(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)))
j < sk_num(((_..._PROFILE*)0)))Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
; j++) {
3-4
1234 if ((
(cprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
cprof = ((SRTP_PROTECTION_PROFILE *)sk_value(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)), (j))))
(cprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1235 ==
(cprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1236 ((void *)0)
(cprof = ((SRT...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
0-4
1237 )-
1238 goto
never executed: goto err;
err;
never executed: goto err;
0
1239-
1240 if (cprof->id == sprof->id
cprof->id == sprof->idDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
) {
1-3
1241 s->internal->srtp_profile = sprof;-
1242 ret = 1;-
1243 goto
executed 3 times by 1 test: goto done;
Executed by:
  • tlsexttest
done;
executed 3 times by 1 test: goto done;
Executed by:
  • tlsexttest
3
1244 }-
1245 }
executed 1 time by 1 test: end of block
Executed by:
  • tlsexttest
1
1246 }
executed 3 times by 1 test: end of block
Executed by:
  • tlsexttest
3
1247-
1248-
1249 ret = 1;-
1250 goto
executed 1 time by 1 test: goto done;
Executed by:
  • tlsexttest
done;
executed 1 time by 1 test: goto done;
Executed by:
  • tlsexttest
1
1251-
1252 err:-
1253 SSL_error_internal(s, 353, __FILE__, 1110);-
1254 *alert = 50;-
1255-
1256 done:
code before this statement never executed: done:
0
1257 sk_free(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)));-
1258 return
executed 4 times by 1 test: return ret;
Executed by:
  • tlsexttest
ret;
executed 4 times by 1 test: return ret;
Executed by:
  • tlsexttest
4
1259}-
1260-
1261int-
1262tlsext_srtp_serverhello_needs(SSL *s)-
1263{-
1264 return
executed 73 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_selected_srtp_profile(s) != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
(
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 17 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEevaluated 56 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 17 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
FALSEevaluated 56 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
&& SSL_get_selected_srtp_profile(s) !=
SSL_get_select...!= ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
executed 73 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_selected_srtp_profile(s) != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
4-73
1265 ((void *)0)
SSL_get_select...!= ((void *)0)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 13 times by 2 tests
Evaluated by:
  • ssltest
  • tlsexttest
executed 73 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_selected_srtp_profile(s) != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
4-73
1266 ;
executed 73 times by 4 tests: return (s->method->internal->version == 0xFEFF) && SSL_get_selected_srtp_profile(s) != ((void *)0) ;
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
73
1267}-
1268-
1269int-
1270tlsext_srtp_serverhello_build(SSL *s, CBB *cbb)-
1271{-
1272 SRTP_PROTECTION_PROFILE *profile;-
1273 CBB srtp, mki;-
1274-
1275 if (!CBB_add_u16_length_prefixed(cbb, &srtp)
!CBB_add_u16_l...ed(cbb, &srtp)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1276 return
never executed: return 0;
0;
never executed: return 0;
0
1277-
1278 if ((
(profile = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
profile = SSL_get_selected_srtp_profile(s)) ==
(profile = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1279 ((void *)0)
(profile = SSL...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
0-1
1280 )-
1281 return
never executed: return 0;
0;
never executed: return 0;
0
1282-
1283 if (!CBB_add_u16(&srtp, profile->id)
!CBB_add_u16(&..., profile->id)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1284 return
never executed: return 0;
0;
never executed: return 0;
0
1285-
1286 if (!CBB_add_u8_length_prefixed(cbb, &mki)
!CBB_add_u8_le...xed(cbb, &mki)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1287 return
never executed: return 0;
0;
never executed: return 0;
0
1288-
1289 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
)
0-1
1290 return
never executed: return 0;
0;
never executed: return 0;
0
1291-
1292 return
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1
1293}-
1294-
1295int-
1296tlsext_srtp_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
1297{-
1298 struct stack_st_SRTP_PROTECTION_PROFILE *clnt;-
1299 SRTP_PROTECTION_PROFILE *prof;-
1300 int i;-
1301 uint16_t id;-
1302 CBS profile_ids, mki;-
1303-
1304 if (!CBS_get_u16_length_prefixed(cbs, &profile_ids)
!CBS_get_u16_l... &profile_ids)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
) {
0-3
1305 SSL_error_internal(s, 353, __FILE__, 1158);-
1306 goto
never executed: goto err;
err;
never executed: goto err;
0
1307 }-
1308-
1309 if (!CBS_get_u16(&profile_ids, &id)
!CBS_get_u16(&...file_ids, &id)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
|| CBS_len(&profile_ids) != 0
CBS_len(&profile_ids) != 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
) {
0-3
1310 SSL_error_internal(s, 353, __FILE__, 1163);-
1311 goto
executed 1 time by 1 test: goto err;
Executed by:
  • tlsexttest
err;
executed 1 time by 1 test: goto err;
Executed by:
  • tlsexttest
1
1312 }-
1313-
1314 if (!CBS_get_u8_length_prefixed(cbs, &mki)
!CBS_get_u8_le...xed(cbs, &mki)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
|| CBS_len(&mki) != 0
CBS_len(&mki) != 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
) {
0-2
1315 SSL_error_internal(s, 352, __FILE__, 1168);-
1316 *alert = 47;-
1317 return
never executed: return 0;
0;
never executed: return 0;
0
1318 }-
1319-
1320 if ((
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
clnt = SSL_get_srtp_profiles(s)) ==
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
0-2
1321 ((void *)0)
(clnt = SSL_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
0-2
1322 ) {-
1323 SSL_error_internal(s, 359, __FILE__, 1174);-
1324 goto
never executed: goto err;
err;
never executed: goto err;
0
1325 }-
1326-
1327 for (i = 0; i < sk_num(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)))
i < sk_num(((_..._PROFILE*)0)))Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
; i++) {
1-3
1328 if ((
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
prof = ((SRTP_PROTECTION_PROFILE *)sk_value(((_STACK*) (1 ? (clnt) : (struct stack_st_SRTP_PROTECTION_PROFILE*)0)), (i))))
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
0-3
1329 ==
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
0-3
1330 ((void *)0)
(prof = ((SRTP...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tlsexttest
0-3
1331 ) {-
1332 SSL_error_internal(s, 359, __FILE__, 1181);-
1333 goto
never executed: goto err;
err;
never executed: goto err;
0
1334 }-
1335-
1336 if (prof->id == id
prof->id == idDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tlsexttest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tlsexttest
) {
1-2
1337 s->internal->srtp_profile = prof;-
1338 return
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1;
executed 1 time by 1 test: return 1;
Executed by:
  • tlsexttest
1
1339 }-
1340 }
executed 2 times by 1 test: end of block
Executed by:
  • tlsexttest
2
1341-
1342 SSL_error_internal(s, 353, __FILE__, 1191);-
1343 err:
code before this statement executed 1 time by 1 test: err:
Executed by:
  • tlsexttest
1
1344 *alert = 50;-
1345 return
executed 2 times by 1 test: return 0;
Executed by:
  • tlsexttest
0;
executed 2 times by 1 test: return 0;
Executed by:
  • tlsexttest
2
1346}-
1347-
1348-
1349-
1350struct tls_extension {-
1351 uint16_t type;-
1352 int (*clienthello_needs)(SSL *s);-
1353 int (*clienthello_build)(SSL *s, CBB *cbb);-
1354 int (*clienthello_parse)(SSL *s, CBS *cbs, int *alert);-
1355 int (*serverhello_needs)(SSL *s);-
1356 int (*serverhello_build)(SSL *s, CBB *cbb);-
1357 int (*serverhello_parse)(SSL *s, CBS *cbs, int *alert);-
1358};-
1359-
1360static struct tls_extension tls_extensions[] = {-
1361 {-
1362 .type = 0,-
1363 .clienthello_needs = tlsext_sni_clienthello_needs,-
1364 .clienthello_build = tlsext_sni_clienthello_build,-
1365 .clienthello_parse = tlsext_sni_clienthello_parse,-
1366 .serverhello_needs = tlsext_sni_serverhello_needs,-
1367 .serverhello_build = tlsext_sni_serverhello_build,-
1368 .serverhello_parse = tlsext_sni_serverhello_parse,-
1369 },-
1370 {-
1371 .type = 0xff01,-
1372 .clienthello_needs = tlsext_ri_clienthello_needs,-
1373 .clienthello_build = tlsext_ri_clienthello_build,-
1374 .clienthello_parse = tlsext_ri_clienthello_parse,-
1375 .serverhello_needs = tlsext_ri_serverhello_needs,-
1376 .serverhello_build = tlsext_ri_serverhello_build,-
1377 .serverhello_parse = tlsext_ri_serverhello_parse,-
1378 },-
1379 {-
1380 .type = 5,-
1381 .clienthello_needs = tlsext_ocsp_clienthello_needs,-
1382 .clienthello_build = tlsext_ocsp_clienthello_build,-
1383 .clienthello_parse = tlsext_ocsp_clienthello_parse,-
1384 .serverhello_needs = tlsext_ocsp_serverhello_needs,-
1385 .serverhello_build = tlsext_ocsp_serverhello_build,-
1386 .serverhello_parse = tlsext_ocsp_serverhello_parse,-
1387 },-
1388 {-
1389 .type = 11,-
1390 .clienthello_needs = tlsext_ecpf_clienthello_needs,-
1391 .clienthello_build = tlsext_ecpf_clienthello_build,-
1392 .clienthello_parse = tlsext_ecpf_clienthello_parse,-
1393 .serverhello_needs = tlsext_ecpf_serverhello_needs,-
1394 .serverhello_build = tlsext_ecpf_serverhello_build,-
1395 .serverhello_parse = tlsext_ecpf_serverhello_parse,-
1396 },-
1397 {-
1398 .type = 10,-
1399 .clienthello_needs = tlsext_ec_clienthello_needs,-
1400 .clienthello_build = tlsext_ec_clienthello_build,-
1401 .clienthello_parse = tlsext_ec_clienthello_parse,-
1402 .serverhello_needs = tlsext_ec_serverhello_needs,-
1403 .serverhello_build = tlsext_ec_serverhello_build,-
1404 .serverhello_parse = tlsext_ec_serverhello_parse,-
1405 },-
1406 {-
1407 .type = 35,-
1408 .clienthello_needs = tlsext_sessionticket_clienthello_needs,-
1409 .clienthello_build = tlsext_sessionticket_clienthello_build,-
1410 .clienthello_parse = tlsext_sessionticket_clienthello_parse,-
1411 .serverhello_needs = tlsext_sessionticket_serverhello_needs,-
1412 .serverhello_build = tlsext_sessionticket_serverhello_build,-
1413 .serverhello_parse = tlsext_sessionticket_serverhello_parse,-
1414 },-
1415 {-
1416 .type = 13,-
1417 .clienthello_needs = tlsext_sigalgs_clienthello_needs,-
1418 .clienthello_build = tlsext_sigalgs_clienthello_build,-
1419 .clienthello_parse = tlsext_sigalgs_clienthello_parse,-
1420 .serverhello_needs = tlsext_sigalgs_serverhello_needs,-
1421 .serverhello_build = tlsext_sigalgs_serverhello_build,-
1422 .serverhello_parse = tlsext_sigalgs_serverhello_parse,-
1423 },-
1424 {-
1425 .type = 16,-
1426 .clienthello_needs = tlsext_alpn_clienthello_needs,-
1427 .clienthello_build = tlsext_alpn_clienthello_build,-
1428 .clienthello_parse = tlsext_alpn_clienthello_parse,-
1429 .serverhello_needs = tlsext_alpn_serverhello_needs,-
1430 .serverhello_build = tlsext_alpn_serverhello_build,-
1431 .serverhello_parse = tlsext_alpn_serverhello_parse,-
1432 },-
1433-
1434 {-
1435 .type = 14,-
1436 .clienthello_needs = tlsext_srtp_clienthello_needs,-
1437 .clienthello_build = tlsext_srtp_clienthello_build,-
1438 .clienthello_parse = tlsext_srtp_clienthello_parse,-
1439 .serverhello_needs = tlsext_srtp_serverhello_needs,-
1440 .serverhello_build = tlsext_srtp_serverhello_build,-
1441 .serverhello_parse = tlsext_srtp_serverhello_parse,-
1442 }-
1443-
1444};-
1445-
1446-
1447-
1448-
1449extern char _ctassert[((sizeof(tls_extensions) / sizeof(*tls_extensions)) <= (sizeof(uint32_t) * 8)) ? 1 : -1 ] __attribute__((__unused__));-
1450-
1451static struct tls_extension *-
1452tls_extension_find(uint16_t type, size_t *tls_extensions_idx)-
1453{-
1454 size_t i;-
1455-
1456 for (i = 0; i < (sizeof(tls_extensions) / sizeof(*tls_extensions))
i < (sizeof(tl...s_extensions))Description
TRUEevaluated 1744 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
FALSEnever evaluated
; i++) {
0-1744
1457 if (tls_extensions[i].type == type
tls_extensions[i].type == typeDescription
TRUEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
FALSEevaluated 1397 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
) {
347-1397
1458 *tls_extensions_idx = i;-
1459 return
executed 347 times by 3 tests: return &tls_extensions[i];
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
&tls_extensions[i];
executed 347 times by 3 tests: return &tls_extensions[i];
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
347
1460 }-
1461 }
executed 1397 times by 3 tests: end of block
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
1397
1462-
1463 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1464 ((void *)0)
never executed: return ((void *)0) ;
0
1465 ;
never executed: return ((void *)0) ;
0
1466}-
1467-
1468static int-
1469tls_extension_needs(struct tls_extension *tlsext, int is_serverhello, SSL *s)-
1470{-
1471 if (is_serverhello
is_serverhelloDescription
TRUEevaluated 603 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 684 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
603-684
1472 return
executed 603 times by 4 tests: return tlsext->serverhello_needs(s);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
tlsext->serverhello_needs(s);
executed 603 times by 4 tests: return tlsext->serverhello_needs(s);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
603
1473 return
executed 684 times by 4 tests: return tlsext->clienthello_needs(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
tlsext->clienthello_needs(s);
executed 684 times by 4 tests: return tlsext->clienthello_needs(s);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
684
1474}-
1475-
1476static int-
1477tls_extension_build(struct tls_extension *tlsext, int is_serverhello, SSL *s,-
1478 CBB *cbb)-
1479{-
1480 if (is_serverhello
is_serverhelloDescription
TRUEevaluated 165 times by 4 tests
Evaluated by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 204 times by 4 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
)
165-204
1481 return
executed 165 times by 4 tests: return tlsext->serverhello_build(s, cbb);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
tlsext->serverhello_build(s, cbb);
executed 165 times by 4 tests: return tlsext->serverhello_build(s, cbb);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
165
1482 return
executed 204 times by 4 tests: return tlsext->clienthello_build(s, cbb);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
tlsext->clienthello_build(s, cbb);
executed 204 times by 4 tests: return tlsext->clienthello_build(s, cbb);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
204
1483}-
1484-
1485static int-
1486tls_extension_parse(struct tls_extension *tlsext, int is_serverhello, SSL *s,-
1487 CBS *cbs, int *alert)-
1488{-
1489 if (is_serverhello
is_serverhelloDescription
TRUEevaluated 171 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
FALSEevaluated 176 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
171-176
1490 return
executed 171 times by 3 tests: return tlsext->serverhello_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
tlsext->serverhello_parse(s, cbs, alert);
executed 171 times by 3 tests: return tlsext->serverhello_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
171
1491 return
executed 176 times by 3 tests: return tlsext->clienthello_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
tlsext->clienthello_parse(s, cbs, alert);
executed 176 times by 3 tests: return tlsext->clienthello_parse(s, cbs, alert);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
176
1492}-
1493-
1494static int-
1495tlsext_build(SSL *s, CBB *cbb, int is_serverhello)-
1496{-
1497 CBB extensions, extension_data;-
1498 struct tls_extension *tlsext;-
1499 int extensions_present = 0;-
1500 size_t i;-
1501-
1502 if (!CBB_add_u16_length_prefixed(cbb, &extensions)
!CBB_add_u16_l..., &extensions)Description
TRUEnever evaluated
FALSEevaluated 143 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-143
1503 return
never executed: return 0;
0;
never executed: return 0;
0
1504-
1505 for (i = 0; i < (sizeof(tls_extensions) / sizeof(*tls_extensions))
i < (sizeof(tl...s_extensions))Description
TRUEevaluated 1287 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 143 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
; i++) {
143-1287
1506 tlsext = &tls_extensions[i];-
1507-
1508 if (!tls_extension_needs(tlsext, is_serverhello, s)
!tls_extension...erverhello, s)Description
TRUEevaluated 918 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
FALSEevaluated 369 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
369-918
1509 continue;
executed 918 times by 5 tests: continue;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
918
1510-
1511 if (!CBB_add_u16(&extensions, tlsext->type)
!CBB_add_u16(&... tlsext->type)Description
TRUEnever evaluated
FALSEevaluated 369 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-369
1512 return
never executed: return 0;
0;
never executed: return 0;
0
1513 if (!CBB_add_u16_length_prefixed(&extensions, &extension_data)
!CBB_add_u16_l...xtension_data)Description
TRUEnever evaluated
FALSEevaluated 369 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-369
1514 return
never executed: return 0;
0;
never executed: return 0;
0
1515-
1516 if (!tls_extension_build(tlsext, is_serverhello, s,
!tls_extension...xtension_data)Description
TRUEnever evaluated
FALSEevaluated 369 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
0-369
1517 &extension_data)
!tls_extension...xtension_data)Description
TRUEnever evaluated
FALSEevaluated 369 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-369
1518 return
never executed: return 0;
0;
never executed: return 0;
0
1519-
1520 extensions_present = 1;-
1521 }
executed 369 times by 5 tests: end of block
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
369
1522-
1523 if (!extensions_present
!extensions_presentDescription
TRUEevaluated 3 times by 2 tests
Evaluated by:
  • servertest
  • tlsexttest
FALSEevaluated 140 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
3-140
1524 CBB_discard_child(cbb);
executed 3 times by 2 tests: CBB_discard_child(cbb);
Executed by:
  • servertest
  • tlsexttest
3
1525-
1526 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 143 times by 5 tests
Evaluated by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
)
0-143
1527 return
never executed: return 0;
0;
never executed: return 0;
0
1528-
1529 return
executed 143 times by 5 tests: return 1;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
1;
executed 143 times by 5 tests: return 1;
Executed by:
  • clienttest
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
143
1530}-
1531-
1532static int-
1533tlsext_parse(SSL *s, CBS *cbs, int *alert, int is_serverhello)-
1534{-
1535 CBS extensions, extension_data;-
1536 struct tls_extension *tlsext;-
1537 uint32_t extensions_seen = 0;-
1538 uint16_t type;-
1539 size_t idx;-
1540-
1541-
1542 if (CBS_len(cbs) == 0
CBS_len(cbs) == 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • servertest
FALSEevaluated 170 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
2-170
1543 return
executed 2 times by 1 test: return 1;
Executed by:
  • servertest
1;
executed 2 times by 1 test: return 1;
Executed by:
  • servertest
2
1544-
1545 *alert = 50;-
1546-
1547 if (!CBS_get_u16_length_prefixed(cbs, &extensions)
!CBS_get_u16_l..., &extensions)Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 156 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
14-156
1548 return
executed 14 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 14 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
14
1549-
1550 while (CBS_len(&extensions) > 0
CBS_len(&extensions) > 0Description
TRUEevaluated 353 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
FALSEevaluated 133 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
) {
133-353
1551 if (!CBS_get_u16(&extensions, &type)
!CBS_get_u16(&...nsions, &type)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 351 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
2-351
1552 return
executed 2 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 2 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
2
1553 if (!CBS_get_u16_length_prefixed(&extensions, &extension_data)
!CBS_get_u16_l...xtension_data)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
4-347
1554 return
executed 4 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 4 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
4
1555-
1556 if (s->internal->tlsext_debug_cb !=
s->internal->t...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
0-347
1557 ((void *)0)
s->internal->t...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
0-347
1558 )-
1559 s->internal->tlsext_debug_cb(s, is_serverhello, type,
never executed: s->internal->tlsext_debug_cb(s, is_serverhello, type, (unsigned char *)CBS_data(&extension_data), CBS_len(&extension_data), s->internal->tlsext_debug_arg);
0
1560 (unsigned char *)CBS_data(&extension_data),
never executed: s->internal->tlsext_debug_cb(s, is_serverhello, type, (unsigned char *)CBS_data(&extension_data), CBS_len(&extension_data), s->internal->tlsext_debug_arg);
0
1561 CBS_len(&extension_data),
never executed: s->internal->tlsext_debug_cb(s, is_serverhello, type, (unsigned char *)CBS_data(&extension_data), CBS_len(&extension_data), s->internal->tlsext_debug_arg);
0
1562 s->internal->tlsext_debug_arg);
never executed: s->internal->tlsext_debug_cb(s, is_serverhello, type, (unsigned char *)CBS_data(&extension_data), CBS_len(&extension_data), s->internal->tlsext_debug_arg);
0
1563-
1564-
1565 if ((
(tlsext = tls_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
tlsext = tls_extension_find(type, &idx)) ==
(tlsext = tls_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
0-347
1566 ((void *)0)
(tlsext = tls_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
0-347
1567 )-
1568 continue;
never executed: continue;
0
1569-
1570-
1571 if ((
(extensions_se... << idx)) != 0Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
extensions_seen & (1 << idx)) != 0
(extensions_se... << idx)) != 0Description
TRUEnever evaluated
FALSEevaluated 347 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
0-347
1572 return
never executed: return 0;
0;
never executed: return 0;
0
1573 extensions_seen |= (1 << idx);-
1574-
1575 if (!tls_extension_parse(tlsext, is_serverhello, s,
!tls_extension...n_data, alert)Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 330 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
17-330
1576 &extension_data, alert)
!tls_extension...n_data, alert)Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tls_ext_alpn
FALSEevaluated 330 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
17-330
1577 return
executed 17 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
0;
executed 17 times by 1 test: return 0;
Executed by:
  • tls_ext_alpn
17
1578-
1579 if (CBS_len(&extension_data) != 0
CBS_len(&extension_data) != 0Description
TRUEnever evaluated
FALSEevaluated 330 times by 3 tests
Evaluated by:
  • ssltest
  • tls_ext_alpn
  • tlstest
)
0-330
1580 return
never executed: return 0;
0;
never executed: return 0;
0
1581 }
executed 330 times by 3 tests: end of block
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
330
1582-
1583 return
executed 133 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
1;
executed 133 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
133
1584}-
1585-
1586static void-
1587tlsext_clienthello_reset_state(SSL *s)-
1588{-
1589 s->internal->servername_done = 0;-
1590 s->tlsext_status_type = -1;-
1591 (s->s3->internal)->renegotiate_seen = 0;-
1592 free((s->s3->internal)->alpn_selected);-
1593 (s->s3->internal)->alpn_selected = -
1594 ((void *)0)-
1595 ;-
1596 s->internal->srtp_profile = -
1597 ((void *)0)-
1598 ;-
1599}
executed 87 times by 4 tests: end of block
Executed by:
  • servertest
  • ssltest
  • tls_ext_alpn
  • tlstest
87
1600-
1601int-
1602tlsext_clienthello_build(SSL *s, CBB *cbb)-
1603{-
1604 return
executed 76 times by 4 tests: return tlsext_build(s, cbb, 0);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
tlsext_build(s, cbb, 0);
executed 76 times by 4 tests: return tlsext_build(s, cbb, 0);
Executed by:
  • clienttest
  • ssltest
  • tlsexttest
  • tlstest
76
1605}-
1606-
1607int-
1608tlsext_clienthello_parse(SSL *s, CBS *cbs, int *alert)-
1609{-
1610-
1611 tlsext_clienthello_reset_state(s);-
1612-
1613 return
executed 87 times by 4 tests: return tlsext_parse(s, cbs, alert, 0);
Executed by:
  • servertest
  • ssltest
  • tls_ext_alpn
  • tlstest
tlsext_parse(s, cbs, alert, 0);
executed 87 times by 4 tests: return tlsext_parse(s, cbs, alert, 0);
Executed by:
  • servertest
  • ssltest
  • tls_ext_alpn
  • tlstest
87
1614}-
1615-
1616static void-
1617tlsext_serverhello_reset_state(SSL *s)-
1618{-
1619 (s->s3->internal)->renegotiate_seen = 0;-
1620 free((s->s3->internal)->alpn_selected);-
1621 (s->s3->internal)->alpn_selected = -
1622 ((void *)0)-
1623 ;-
1624}
executed 85 times by 3 tests: end of block
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
85
1625-
1626int-
1627tlsext_serverhello_build(SSL *s, CBB *cbb)-
1628{-
1629 return
executed 67 times by 4 tests: return tlsext_build(s, cbb, 1);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
tlsext_build(s, cbb, 1);
executed 67 times by 4 tests: return tlsext_build(s, cbb, 1);
Executed by:
  • servertest
  • ssltest
  • tlsexttest
  • tlstest
67
1630}-
1631-
1632int-
1633tlsext_serverhello_parse(SSL *s, CBS *cbs, int *alert)-
1634{-
1635-
1636 tlsext_serverhello_reset_state(s);-
1637-
1638 return
executed 85 times by 3 tests: return tlsext_parse(s, cbs, alert, 1);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
tlsext_parse(s, cbs, alert, 1);
executed 85 times by 3 tests: return tlsext_parse(s, cbs, alert, 1);
Executed by:
  • ssltest
  • tls_ext_alpn
  • tlstest
85
1639}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2