Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/ssl/statem/statem_srvr.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||||||||||||||
7 | - | |||||||||||||||||||||||||||||||||||||
8 | - | |||||||||||||||||||||||||||||||||||||
9 | - | |||||||||||||||||||||||||||||||||||||
10 | - | |||||||||||||||||||||||||||||||||||||
11 | static int tls_construct_encrypted_extensions(SSL *s, WPACKET *pkt); | - | ||||||||||||||||||||||||||||||||||||
12 | static int ossl_statem_server13_read_transition(SSL *s, int mt) | - | ||||||||||||||||||||||||||||||||||||
13 | { | - | ||||||||||||||||||||||||||||||||||||
14 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
15 | - | |||||||||||||||||||||||||||||||||||||
16 | - | |||||||||||||||||||||||||||||||||||||
17 | - | |||||||||||||||||||||||||||||||||||||
18 | - | |||||||||||||||||||||||||||||||||||||
19 | - | |||||||||||||||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||||||||||||||
21 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
22 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
23 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
24 | - | |||||||||||||||||||||||||||||||||||||
25 | case executed 656 times by 1 test: TLS_ST_EARLY_DATA:case TLS_ST_EARLY_DATA: Executed by:
executed 656 times by 1 test: case TLS_ST_EARLY_DATA: Executed by:
| 656 | ||||||||||||||||||||||||||||||||||||
26 | if (s->hello_retry_request == SSL_HRR_PENDING
| 87-569 | ||||||||||||||||||||||||||||||||||||
27 | if (mt == 1
| 1-86 | ||||||||||||||||||||||||||||||||||||
28 | st->hand_state = TLS_ST_SR_CLNT_HELLO; | - | ||||||||||||||||||||||||||||||||||||
29 | return executed 86 times by 1 test: 1;return 1; Executed by:
executed 86 times by 1 test: return 1; Executed by:
| 86 | ||||||||||||||||||||||||||||||||||||
30 | } | - | ||||||||||||||||||||||||||||||||||||
31 | break; executed 1 time by 1 test: break; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
32 | } else if (s->ext.early_data == 2
| 16-553 | ||||||||||||||||||||||||||||||||||||
33 | if (mt == 5
| 0-16 | ||||||||||||||||||||||||||||||||||||
34 | st->hand_state = TLS_ST_SR_END_OF_EARLY_DATA; | - | ||||||||||||||||||||||||||||||||||||
35 | return executed 16 times by 1 test: 1;return 1; Executed by:
executed 16 times by 1 test: return 1; Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
36 | } | - | ||||||||||||||||||||||||||||||||||||
37 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
38 | } | - | ||||||||||||||||||||||||||||||||||||
39 | - | |||||||||||||||||||||||||||||||||||||
40 | - | |||||||||||||||||||||||||||||||||||||
41 | case executed 16 times by 1 test: TLS_ST_SR_END_OF_EARLY_DATA:case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
executed 16 times by 1 test: case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
code before this statement executed 553 times by 1 test: case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
| 16-553 | ||||||||||||||||||||||||||||||||||||
42 | case never executed: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: never executed: case TLS_ST_SW_FINISHED: | 0 | ||||||||||||||||||||||||||||||||||||
43 | if (s->s3->tmp.cert_request
| 19-550 | ||||||||||||||||||||||||||||||||||||
44 | if (mt == 11
| 0-19 | ||||||||||||||||||||||||||||||||||||
45 | st->hand_state = TLS_ST_SR_CERT; | - | ||||||||||||||||||||||||||||||||||||
46 | return executed 19 times by 1 test: 1;return 1; Executed by:
executed 19 times by 1 test: return 1; Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
47 | } | - | ||||||||||||||||||||||||||||||||||||
48 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
49 | if (mt == 20
| 0-550 | ||||||||||||||||||||||||||||||||||||
50 | st->hand_state = TLS_ST_SR_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
51 | return executed 550 times by 1 test: 1;return 1; Executed by:
executed 550 times by 1 test: return 1; Executed by:
| 550 | ||||||||||||||||||||||||||||||||||||
52 | } | - | ||||||||||||||||||||||||||||||||||||
53 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
54 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
55 | - | |||||||||||||||||||||||||||||||||||||
56 | case executed 37 times by 1 test: TLS_ST_SR_CERT:case TLS_ST_SR_CERT: Executed by:
executed 37 times by 1 test: case TLS_ST_SR_CERT: Executed by:
| 37 | ||||||||||||||||||||||||||||||||||||
57 | if (s->session->peer ==
| 15-22 | ||||||||||||||||||||||||||||||||||||
58 | ((void *)0)
| 15-22 | ||||||||||||||||||||||||||||||||||||
59 | ) { | - | ||||||||||||||||||||||||||||||||||||
60 | if (mt == 20
| 0-22 | ||||||||||||||||||||||||||||||||||||
61 | st->hand_state = TLS_ST_SR_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
62 | return executed 22 times by 1 test: 1;return 1; Executed by:
executed 22 times by 1 test: return 1; Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||
63 | } | - | ||||||||||||||||||||||||||||||||||||
64 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
65 | if (mt == 15
| 0-15 | ||||||||||||||||||||||||||||||||||||
66 | st->hand_state = TLS_ST_SR_CERT_VRFY; | - | ||||||||||||||||||||||||||||||||||||
67 | return executed 15 times by 1 test: 1;return 1; Executed by:
executed 15 times by 1 test: return 1; Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
68 | } | - | ||||||||||||||||||||||||||||||||||||
69 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
70 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
71 | - | |||||||||||||||||||||||||||||||||||||
72 | case executed 15 times by 1 test: TLS_ST_SR_CERT_VRFY:case TLS_ST_SR_CERT_VRFY: Executed by:
executed 15 times by 1 test: case TLS_ST_SR_CERT_VRFY: Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
73 | if (mt == 20
| 0-15 | ||||||||||||||||||||||||||||||||||||
74 | st->hand_state = TLS_ST_SR_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
75 | return executed 15 times by 1 test: 1;return 1; Executed by:
executed 15 times by 1 test: return 1; Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
76 | } | - | ||||||||||||||||||||||||||||||||||||
77 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
78 | - | |||||||||||||||||||||||||||||||||||||
79 | case executed 26 times by 1 test: TLS_ST_OK:case TLS_ST_OK: Executed by:
executed 26 times by 1 test: case TLS_ST_OK: Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
80 | - | |||||||||||||||||||||||||||||||||||||
81 | - | |||||||||||||||||||||||||||||||||||||
82 | - | |||||||||||||||||||||||||||||||||||||
83 | - | |||||||||||||||||||||||||||||||||||||
84 | if (s->early_data_state == SSL_EARLY_DATA_READING
| 0-26 | ||||||||||||||||||||||||||||||||||||
85 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
86 | - | |||||||||||||||||||||||||||||||||||||
87 | if (mt == 11
| 3-23 | ||||||||||||||||||||||||||||||||||||
88 | && s->post_handshake_auth == SSL_PHA_REQUESTED
| 0-23 | ||||||||||||||||||||||||||||||||||||
89 | st->hand_state = TLS_ST_SR_CERT; | - | ||||||||||||||||||||||||||||||||||||
90 | return executed 23 times by 1 test: 1;return 1; Executed by:
executed 23 times by 1 test: return 1; Executed by:
| 23 | ||||||||||||||||||||||||||||||||||||
91 | } | - | ||||||||||||||||||||||||||||||||||||
92 | - | |||||||||||||||||||||||||||||||||||||
93 | if (mt == 24
| 0-3 | ||||||||||||||||||||||||||||||||||||
94 | st->hand_state = TLS_ST_SR_KEY_UPDATE; | - | ||||||||||||||||||||||||||||||||||||
95 | return executed 3 times by 1 test: 1;return 1; Executed by:
executed 3 times by 1 test: return 1; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
96 | } | - | ||||||||||||||||||||||||||||||||||||
97 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
98 | } | - | ||||||||||||||||||||||||||||||||||||
99 | - | |||||||||||||||||||||||||||||||||||||
100 | - | |||||||||||||||||||||||||||||||||||||
101 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
102 | } | - | ||||||||||||||||||||||||||||||||||||
103 | int ossl_statem_server_read_transition(SSL *s, int mt) | - | ||||||||||||||||||||||||||||||||||||
104 | { | - | ||||||||||||||||||||||||||||||||||||
105 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
106 | - | |||||||||||||||||||||||||||||||||||||
107 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 726-7287 | ||||||||||||||||||||||||||||||||||||
108 | if (!ossl_statem_server13_read_transition(s, mt)
| 1-749 | ||||||||||||||||||||||||||||||||||||
109 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
110 | return executed 749 times by 1 test: 1;return 1; Executed by:
executed 749 times by 1 test: return 1; Executed by:
| 749 | ||||||||||||||||||||||||||||||||||||
111 | } | - | ||||||||||||||||||||||||||||||||||||
112 | - | |||||||||||||||||||||||||||||||||||||
113 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
114 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
115 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
116 | - | |||||||||||||||||||||||||||||||||||||
117 | case executed 3637 times by 1 test: TLS_ST_BEFORE:case TLS_ST_BEFORE: Executed by:
executed 3637 times by 1 test: case TLS_ST_BEFORE: Executed by:
| 3637 | ||||||||||||||||||||||||||||||||||||
118 | case executed 24 times by 1 test: TLS_ST_OK:case TLS_ST_OK: Executed by:
executed 24 times by 1 test: case TLS_ST_OK: Executed by:
| 24 | ||||||||||||||||||||||||||||||||||||
119 | case never executed: DTLS_ST_SW_HELLO_VERIFY_REQUEST:case DTLS_ST_SW_HELLO_VERIFY_REQUEST: never executed: case DTLS_ST_SW_HELLO_VERIFY_REQUEST: | 0 | ||||||||||||||||||||||||||||||||||||
120 | if (mt == 1
| 2-3659 | ||||||||||||||||||||||||||||||||||||
121 | st->hand_state = TLS_ST_SR_CLNT_HELLO; | - | ||||||||||||||||||||||||||||||||||||
122 | return executed 3659 times by 1 test: 1;return 1; Executed by:
executed 3659 times by 1 test: return 1; Executed by:
| 3659 | ||||||||||||||||||||||||||||||||||||
123 | } | - | ||||||||||||||||||||||||||||||||||||
124 | break; executed 2 times by 1 test: break; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
125 | - | |||||||||||||||||||||||||||||||||||||
126 | case executed 1269 times by 1 test: TLS_ST_SW_SRVR_DONE:case TLS_ST_SW_SRVR_DONE: Executed by:
executed 1269 times by 1 test: case TLS_ST_SW_SRVR_DONE: Executed by:
| 1269 | ||||||||||||||||||||||||||||||||||||
127 | if (mt == 16
| 41-1228 | ||||||||||||||||||||||||||||||||||||
128 | if (s->s3->tmp.cert_request
| 0-1228 | ||||||||||||||||||||||||||||||||||||
129 | if (s->version == 0x0300
| 0 | ||||||||||||||||||||||||||||||||||||
130 | if ((
| 0 | ||||||||||||||||||||||||||||||||||||
131 | && (
| 0 | ||||||||||||||||||||||||||||||||||||
132 | - | |||||||||||||||||||||||||||||||||||||
133 | - | |||||||||||||||||||||||||||||||||||||
134 | - | |||||||||||||||||||||||||||||||||||||
135 | - | |||||||||||||||||||||||||||||||||||||
136 | - | |||||||||||||||||||||||||||||||||||||
137 | ossl_statem_fatal((s), (40), (418), (199), | - | ||||||||||||||||||||||||||||||||||||
138 | - | |||||||||||||||||||||||||||||||||||||
139 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
140 | , | - | ||||||||||||||||||||||||||||||||||||
141 | - | |||||||||||||||||||||||||||||||||||||
142 | 185 | - | ||||||||||||||||||||||||||||||||||||
143 | ) | - | ||||||||||||||||||||||||||||||||||||
144 | - | |||||||||||||||||||||||||||||||||||||
145 | ; | - | ||||||||||||||||||||||||||||||||||||
146 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
147 | } | - | ||||||||||||||||||||||||||||||||||||
148 | st->hand_state = TLS_ST_SR_KEY_EXCH; | - | ||||||||||||||||||||||||||||||||||||
149 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||
150 | } | - | ||||||||||||||||||||||||||||||||||||
151 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
152 | st->hand_state = TLS_ST_SR_KEY_EXCH; | - | ||||||||||||||||||||||||||||||||||||
153 | return executed 1228 times by 1 test: 1;return 1; Executed by:
executed 1228 times by 1 test: return 1; Executed by:
| 1228 | ||||||||||||||||||||||||||||||||||||
154 | } | - | ||||||||||||||||||||||||||||||||||||
155 | } else if (s->s3->tmp.cert_request
| 6-35 | ||||||||||||||||||||||||||||||||||||
156 | if (mt == 11
| 0-35 | ||||||||||||||||||||||||||||||||||||
157 | st->hand_state = TLS_ST_SR_CERT; | - | ||||||||||||||||||||||||||||||||||||
158 | return executed 35 times by 1 test: 1;return 1; Executed by:
executed 35 times by 1 test: return 1; Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
159 | } | - | ||||||||||||||||||||||||||||||||||||
160 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
161 | break; executed 6 times by 1 test: break; Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||
162 | - | |||||||||||||||||||||||||||||||||||||
163 | case executed 25 times by 1 test: TLS_ST_SR_CERT:case TLS_ST_SR_CERT: Executed by:
executed 25 times by 1 test: case TLS_ST_SR_CERT: Executed by:
| 25 | ||||||||||||||||||||||||||||||||||||
164 | if (mt == 16
| 0-25 | ||||||||||||||||||||||||||||||||||||
165 | st->hand_state = TLS_ST_SR_KEY_EXCH; | - | ||||||||||||||||||||||||||||||||||||
166 | return executed 25 times by 1 test: 1;return 1; Executed by:
executed 25 times by 1 test: return 1; Executed by:
| 25 | ||||||||||||||||||||||||||||||||||||
167 | } | - | ||||||||||||||||||||||||||||||||||||
168 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
169 | - | |||||||||||||||||||||||||||||||||||||
170 | case executed 1150 times by 1 test: TLS_ST_SR_KEY_EXCH:case TLS_ST_SR_KEY_EXCH: Executed by:
executed 1150 times by 1 test: case TLS_ST_SR_KEY_EXCH: Executed by:
| 1150 | ||||||||||||||||||||||||||||||||||||
171 | if (s->session->peer ==
| 20-1130 | ||||||||||||||||||||||||||||||||||||
172 | ((void *)0)
| 20-1130 | ||||||||||||||||||||||||||||||||||||
173 | || st->no_cert_verify
| 0-20 | ||||||||||||||||||||||||||||||||||||
174 | if (mt == 0x0101
| 2-1128 | ||||||||||||||||||||||||||||||||||||
175 | - | |||||||||||||||||||||||||||||||||||||
176 | - | |||||||||||||||||||||||||||||||||||||
177 | - | |||||||||||||||||||||||||||||||||||||
178 | - | |||||||||||||||||||||||||||||||||||||
179 | - | |||||||||||||||||||||||||||||||||||||
180 | - | |||||||||||||||||||||||||||||||||||||
181 | st->hand_state = TLS_ST_SR_CHANGE; | - | ||||||||||||||||||||||||||||||||||||
182 | return executed 1128 times by 1 test: 1;return 1; Executed by:
executed 1128 times by 1 test: return 1; Executed by:
| 1128 | ||||||||||||||||||||||||||||||||||||
183 | } | - | ||||||||||||||||||||||||||||||||||||
184 | } executed 2 times by 1 test: else {end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
185 | if (mt == 15
| 0-20 | ||||||||||||||||||||||||||||||||||||
186 | st->hand_state = TLS_ST_SR_CERT_VRFY; | - | ||||||||||||||||||||||||||||||||||||
187 | return executed 20 times by 1 test: 1;return 1; Executed by:
executed 20 times by 1 test: return 1; Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
188 | } | - | ||||||||||||||||||||||||||||||||||||
189 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
190 | break; executed 2 times by 1 test: break; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
191 | - | |||||||||||||||||||||||||||||||||||||
192 | case executed 19 times by 1 test: TLS_ST_SR_CERT_VRFY:case TLS_ST_SR_CERT_VRFY: Executed by:
executed 19 times by 1 test: case TLS_ST_SR_CERT_VRFY: Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
193 | if (mt == 0x0101
| 0-19 | ||||||||||||||||||||||||||||||||||||
194 | st->hand_state = TLS_ST_SR_CHANGE; | - | ||||||||||||||||||||||||||||||||||||
195 | return executed 19 times by 1 test: 1;return 1; Executed by:
executed 19 times by 1 test: return 1; Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
196 | } | - | ||||||||||||||||||||||||||||||||||||
197 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
198 | - | |||||||||||||||||||||||||||||||||||||
199 | case executed 1046 times by 1 test: TLS_ST_SR_CHANGE:case TLS_ST_SR_CHANGE: Executed by:
executed 1046 times by 1 test: case TLS_ST_SR_CHANGE: Executed by:
| 1046 | ||||||||||||||||||||||||||||||||||||
200 | - | |||||||||||||||||||||||||||||||||||||
201 | if (s->s3->npn_seen
| 21-1025 | ||||||||||||||||||||||||||||||||||||
202 | if (mt == 67
| 0-21 | ||||||||||||||||||||||||||||||||||||
203 | st->hand_state = TLS_ST_SR_NEXT_PROTO; | - | ||||||||||||||||||||||||||||||||||||
204 | return executed 21 times by 1 test: 1;return 1; Executed by:
executed 21 times by 1 test: return 1; Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
205 | } | - | ||||||||||||||||||||||||||||||||||||
206 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
207 | - | |||||||||||||||||||||||||||||||||||||
208 | if (mt == 20
| 0-1025 | ||||||||||||||||||||||||||||||||||||
209 | st->hand_state = TLS_ST_SR_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
210 | return executed 1025 times by 1 test: 1;return 1; Executed by:
executed 1025 times by 1 test: return 1; Executed by:
| 1025 | ||||||||||||||||||||||||||||||||||||
211 | } | - | ||||||||||||||||||||||||||||||||||||
212 | - | |||||||||||||||||||||||||||||||||||||
213 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
214 | - | |||||||||||||||||||||||||||||||||||||
215 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
216 | - | |||||||||||||||||||||||||||||||||||||
217 | - | |||||||||||||||||||||||||||||||||||||
218 | case executed 21 times by 1 test: TLS_ST_SR_NEXT_PROTO:case TLS_ST_SR_NEXT_PROTO: Executed by:
executed 21 times by 1 test: case TLS_ST_SR_NEXT_PROTO: Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
219 | if (mt == 20
| 0-21 | ||||||||||||||||||||||||||||||||||||
220 | st->hand_state = TLS_ST_SR_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
221 | return executed 21 times by 1 test: 1;return 1; Executed by:
executed 21 times by 1 test: return 1; Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
222 | } | - | ||||||||||||||||||||||||||||||||||||
223 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
224 | - | |||||||||||||||||||||||||||||||||||||
225 | - | |||||||||||||||||||||||||||||||||||||
226 | case executed 72 times by 1 test: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: Executed by:
executed 72 times by 1 test: case TLS_ST_SW_FINISHED: Executed by:
| 72 | ||||||||||||||||||||||||||||||||||||
227 | if (mt == 0x0101
| 2-70 | ||||||||||||||||||||||||||||||||||||
228 | st->hand_state = TLS_ST_SR_CHANGE; | - | ||||||||||||||||||||||||||||||||||||
229 | return executed 70 times by 1 test: 1;return 1; Executed by:
executed 70 times by 1 test: return 1; Executed by:
| 70 | ||||||||||||||||||||||||||||||||||||
230 | } | - | ||||||||||||||||||||||||||||||||||||
231 | break; executed 2 times by 1 test: break; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
232 | } | - | ||||||||||||||||||||||||||||||||||||
233 | - | |||||||||||||||||||||||||||||||||||||
234 | err: code before this statement executed 12 times by 1 test: err: Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||
235 | - | |||||||||||||||||||||||||||||||||||||
236 | if ((
| 0-12 | ||||||||||||||||||||||||||||||||||||
237 | BIO *rbio; | - | ||||||||||||||||||||||||||||||||||||
238 | - | |||||||||||||||||||||||||||||||||||||
239 | - | |||||||||||||||||||||||||||||||||||||
240 | - | |||||||||||||||||||||||||||||||||||||
241 | - | |||||||||||||||||||||||||||||||||||||
242 | - | |||||||||||||||||||||||||||||||||||||
243 | s->init_num = 0; | - | ||||||||||||||||||||||||||||||||||||
244 | s->rwstate = 3; | - | ||||||||||||||||||||||||||||||||||||
245 | rbio = SSL_get_rbio(s); | - | ||||||||||||||||||||||||||||||||||||
246 | BIO_clear_flags(rbio, ((0x01|0x02|0x04)|0x08)); | - | ||||||||||||||||||||||||||||||||||||
247 | BIO_set_flags(rbio, (0x01|0x08)); | - | ||||||||||||||||||||||||||||||||||||
248 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
249 | } | - | ||||||||||||||||||||||||||||||||||||
250 | ossl_statem_fatal((s), (10), (418), (244), | - | ||||||||||||||||||||||||||||||||||||
251 | - | |||||||||||||||||||||||||||||||||||||
252 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
253 | , | - | ||||||||||||||||||||||||||||||||||||
254 | - | |||||||||||||||||||||||||||||||||||||
255 | 298 | - | ||||||||||||||||||||||||||||||||||||
256 | ) | - | ||||||||||||||||||||||||||||||||||||
257 | - | |||||||||||||||||||||||||||||||||||||
258 | ; | - | ||||||||||||||||||||||||||||||||||||
259 | return executed 12 times by 1 test: 0;return 0; Executed by:
executed 12 times by 1 test: return 0; Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||
260 | } | - | ||||||||||||||||||||||||||||||||||||
261 | static int send_server_key_exchange(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
262 | { | - | ||||||||||||||||||||||||||||||||||||
263 | unsigned long alg_k = s->s3->tmp.new_cipher->algorithm_mkey; | - | ||||||||||||||||||||||||||||||||||||
264 | if (alg_k & (0x00000002U | 0x00000004U)
| 284-1144 | ||||||||||||||||||||||||||||||||||||
265 | - | |||||||||||||||||||||||||||||||||||||
266 | - | |||||||||||||||||||||||||||||||||||||
267 | - | |||||||||||||||||||||||||||||||||||||
268 | - | |||||||||||||||||||||||||||||||||||||
269 | - | |||||||||||||||||||||||||||||||||||||
270 | - | |||||||||||||||||||||||||||||||||||||
271 | || ((
| 27-257 | ||||||||||||||||||||||||||||||||||||
272 | && s->cert->psk_identity_hint
| 0-27 | ||||||||||||||||||||||||||||||||||||
273 | - | |||||||||||||||||||||||||||||||||||||
274 | || (
| 2-282 | ||||||||||||||||||||||||||||||||||||
275 | - | |||||||||||||||||||||||||||||||||||||
276 | - | |||||||||||||||||||||||||||||||||||||
277 | - | |||||||||||||||||||||||||||||||||||||
278 | || (
| 10-272 | ||||||||||||||||||||||||||||||||||||
279 | - | |||||||||||||||||||||||||||||||||||||
280 | ) { | - | ||||||||||||||||||||||||||||||||||||
281 | return executed 1156 times by 1 test: 1;return 1; Executed by:
executed 1156 times by 1 test: return 1; Executed by:
| 1156 | ||||||||||||||||||||||||||||||||||||
282 | } | - | ||||||||||||||||||||||||||||||||||||
283 | - | |||||||||||||||||||||||||||||||||||||
284 | return executed 272 times by 1 test: 0;return 0; Executed by:
executed 272 times by 1 test: return 0; Executed by:
| 272 | ||||||||||||||||||||||||||||||||||||
285 | } | - | ||||||||||||||||||||||||||||||||||||
286 | int send_certificate_request(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
287 | { | - | ||||||||||||||||||||||||||||||||||||
288 | if ( | - | ||||||||||||||||||||||||||||||||||||
289 | - | |||||||||||||||||||||||||||||||||||||
290 | s->verify_mode & 0x01
| 91-2104 | ||||||||||||||||||||||||||||||||||||
291 | - | |||||||||||||||||||||||||||||||||||||
292 | - | |||||||||||||||||||||||||||||||||||||
293 | - | |||||||||||||||||||||||||||||||||||||
294 | - | |||||||||||||||||||||||||||||||||||||
295 | && (!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-77 | ||||||||||||||||||||||||||||||||||||
296 | || s->post_handshake_auth == SSL_PHA_REQUEST_PENDING
| 6-8 | ||||||||||||||||||||||||||||||||||||
297 | - | |||||||||||||||||||||||||||||||||||||
298 | - | |||||||||||||||||||||||||||||||||||||
299 | - | |||||||||||||||||||||||||||||||||||||
300 | - | |||||||||||||||||||||||||||||||||||||
301 | && (s->certreqs_sent < 1
| 4-79 | ||||||||||||||||||||||||||||||||||||
302 | !(s->verify_mode & 0x04)
| 2 | ||||||||||||||||||||||||||||||||||||
303 | - | |||||||||||||||||||||||||||||||||||||
304 | - | |||||||||||||||||||||||||||||||||||||
305 | - | |||||||||||||||||||||||||||||||||||||
306 | - | |||||||||||||||||||||||||||||||||||||
307 | - | |||||||||||||||||||||||||||||||||||||
308 | && (!(s->s3->tmp.new_cipher->algorithm_auth & 0x00000004U)
| 0-81 | ||||||||||||||||||||||||||||||||||||
309 | - | |||||||||||||||||||||||||||||||||||||
310 | - | |||||||||||||||||||||||||||||||||||||
311 | - | |||||||||||||||||||||||||||||||||||||
312 | - | |||||||||||||||||||||||||||||||||||||
313 | - | |||||||||||||||||||||||||||||||||||||
314 | || (
| 0 | ||||||||||||||||||||||||||||||||||||
315 | - | |||||||||||||||||||||||||||||||||||||
316 | && !(s->s3->tmp.new_cipher->algorithm_auth & 0x00000040U)
| 0-81 | ||||||||||||||||||||||||||||||||||||
317 | - | |||||||||||||||||||||||||||||||||||||
318 | - | |||||||||||||||||||||||||||||||||||||
319 | - | |||||||||||||||||||||||||||||||||||||
320 | - | |||||||||||||||||||||||||||||||||||||
321 | && !(s->s3->tmp.new_cipher->algorithm_auth & 0x00000010U)
| 0-81 | ||||||||||||||||||||||||||||||||||||
322 | return executed 81 times by 1 test: 1;return 1; Executed by:
executed 81 times by 1 test: return 1; Executed by:
| 81 | ||||||||||||||||||||||||||||||||||||
323 | } | - | ||||||||||||||||||||||||||||||||||||
324 | - | |||||||||||||||||||||||||||||||||||||
325 | return executed 2114 times by 1 test: 0;return 0; Executed by:
executed 2114 times by 1 test: return 0; Executed by:
| 2114 | ||||||||||||||||||||||||||||||||||||
326 | } | - | ||||||||||||||||||||||||||||||||||||
327 | - | |||||||||||||||||||||||||||||||||||||
328 | - | |||||||||||||||||||||||||||||||||||||
329 | - | |||||||||||||||||||||||||||||||||||||
330 | - | |||||||||||||||||||||||||||||||||||||
331 | - | |||||||||||||||||||||||||||||||||||||
332 | - | |||||||||||||||||||||||||||||||||||||
333 | static WRITE_TRAN ossl_statem_server13_write_transition(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
334 | { | - | ||||||||||||||||||||||||||||||||||||
335 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
336 | - | |||||||||||||||||||||||||||||||||||||
337 | - | |||||||||||||||||||||||||||||||||||||
338 | - | |||||||||||||||||||||||||||||||||||||
339 | - | |||||||||||||||||||||||||||||||||||||
340 | - | |||||||||||||||||||||||||||||||||||||
341 | - | |||||||||||||||||||||||||||||||||||||
342 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
343 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
344 | - | |||||||||||||||||||||||||||||||||||||
345 | ossl_statem_fatal((s), (80), (600), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
346 | - | |||||||||||||||||||||||||||||||||||||
347 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
348 | , | - | ||||||||||||||||||||||||||||||||||||
349 | - | |||||||||||||||||||||||||||||||||||||
350 | 412 | - | ||||||||||||||||||||||||||||||||||||
351 | ) | - | ||||||||||||||||||||||||||||||||||||
352 | - | |||||||||||||||||||||||||||||||||||||
353 | ; | - | ||||||||||||||||||||||||||||||||||||
354 | return never executed: WRITE_TRAN_ERROR;return WRITE_TRAN_ERROR; never executed: return WRITE_TRAN_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
355 | - | |||||||||||||||||||||||||||||||||||||
356 | case executed 55 times by 1 test: TLS_ST_OK:case TLS_ST_OK: Executed by:
executed 55 times by 1 test: case TLS_ST_OK: Executed by:
| 55 | ||||||||||||||||||||||||||||||||||||
357 | if (s->key_update != -1
| 3-52 | ||||||||||||||||||||||||||||||||||||
358 | st->hand_state = TLS_ST_SW_KEY_UPDATE; | - | ||||||||||||||||||||||||||||||||||||
359 | return executed 3 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 3 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
360 | } | - | ||||||||||||||||||||||||||||||||||||
361 | if (s->post_handshake_auth == SSL_PHA_REQUEST_PENDING
| 26 | ||||||||||||||||||||||||||||||||||||
362 | st->hand_state = TLS_ST_SW_CERT_REQ; | - | ||||||||||||||||||||||||||||||||||||
363 | return executed 26 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 26 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
364 | } | - | ||||||||||||||||||||||||||||||||||||
365 | - | |||||||||||||||||||||||||||||||||||||
366 | return executed 26 times by 1 test: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; Executed by:
executed 26 times by 1 test: return WRITE_TRAN_FINISHED; Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
367 | - | |||||||||||||||||||||||||||||||||||||
368 | case executed 971 times by 1 test: TLS_ST_SR_CLNT_HELLO:case TLS_ST_SR_CLNT_HELLO: Executed by:
executed 971 times by 1 test: case TLS_ST_SR_CLNT_HELLO: Executed by:
| 971 | ||||||||||||||||||||||||||||||||||||
369 | st->hand_state = TLS_ST_SW_SRVR_HELLO; | - | ||||||||||||||||||||||||||||||||||||
370 | return executed 971 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 971 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 971 | ||||||||||||||||||||||||||||||||||||
371 | - | |||||||||||||||||||||||||||||||||||||
372 | case executed 968 times by 1 test: TLS_ST_SW_SRVR_HELLO:case TLS_ST_SW_SRVR_HELLO: Executed by:
executed 968 times by 1 test: case TLS_ST_SW_SRVR_HELLO: Executed by:
| 968 | ||||||||||||||||||||||||||||||||||||
373 | if ((
| 8-960 | ||||||||||||||||||||||||||||||||||||
374 | && s->hello_retry_request != SSL_HRR_COMPLETE
| 33-927 | ||||||||||||||||||||||||||||||||||||
375 | st->hand_state = TLS_ST_SW_CHANGE; executed 927 times by 1 test: st->hand_state = TLS_ST_SW_CHANGE; Executed by:
| 927 | ||||||||||||||||||||||||||||||||||||
376 | else if (s->hello_retry_request == SSL_HRR_PENDING
| 2-39 | ||||||||||||||||||||||||||||||||||||
377 | st->hand_state = TLS_ST_EARLY_DATA; executed 2 times by 1 test: st->hand_state = TLS_ST_EARLY_DATA; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
378 | else | - | ||||||||||||||||||||||||||||||||||||
379 | st->hand_state = TLS_ST_SW_ENCRYPTED_EXTENSIONS; executed 39 times by 1 test: st->hand_state = TLS_ST_SW_ENCRYPTED_EXTENSIONS; Executed by:
| 39 | ||||||||||||||||||||||||||||||||||||
380 | return executed 968 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 968 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 968 | ||||||||||||||||||||||||||||||||||||
381 | - | |||||||||||||||||||||||||||||||||||||
382 | case executed 927 times by 1 test: TLS_ST_SW_CHANGE:case TLS_ST_SW_CHANGE: Executed by:
executed 927 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
| 927 | ||||||||||||||||||||||||||||||||||||
383 | if (s->hello_retry_request == SSL_HRR_PENDING
| 112-815 | ||||||||||||||||||||||||||||||||||||
384 | st->hand_state = TLS_ST_EARLY_DATA; executed 112 times by 1 test: st->hand_state = TLS_ST_EARLY_DATA; Executed by:
| 112 | ||||||||||||||||||||||||||||||||||||
385 | else | - | ||||||||||||||||||||||||||||||||||||
386 | st->hand_state = TLS_ST_SW_ENCRYPTED_EXTENSIONS; executed 815 times by 1 test: st->hand_state = TLS_ST_SW_ENCRYPTED_EXTENSIONS; Executed by:
| 815 | ||||||||||||||||||||||||||||||||||||
387 | return executed 927 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 927 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 927 | ||||||||||||||||||||||||||||||||||||
388 | - | |||||||||||||||||||||||||||||||||||||
389 | case executed 854 times by 1 test: TLS_ST_SW_ENCRYPTED_EXTENSIONS:case TLS_ST_SW_ENCRYPTED_EXTENSIONS: Executed by:
executed 854 times by 1 test: case TLS_ST_SW_ENCRYPTED_EXTENSIONS: Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
390 | if (s->hit
| 113-741 | ||||||||||||||||||||||||||||||||||||
391 | st->hand_state = TLS_ST_SW_FINISHED; executed 113 times by 1 test: st->hand_state = TLS_ST_SW_FINISHED; Executed by:
| 113 | ||||||||||||||||||||||||||||||||||||
392 | else if (send_certificate_request(s)
| 20-721 | ||||||||||||||||||||||||||||||||||||
393 | st->hand_state = TLS_ST_SW_CERT_REQ; executed 20 times by 1 test: st->hand_state = TLS_ST_SW_CERT_REQ; Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
394 | else | - | ||||||||||||||||||||||||||||||||||||
395 | st->hand_state = TLS_ST_SW_CERT; executed 721 times by 1 test: st->hand_state = TLS_ST_SW_CERT; Executed by:
| 721 | ||||||||||||||||||||||||||||||||||||
396 | - | |||||||||||||||||||||||||||||||||||||
397 | return executed 854 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 854 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
398 | - | |||||||||||||||||||||||||||||||||||||
399 | case executed 45 times by 1 test: TLS_ST_SW_CERT_REQ:case TLS_ST_SW_CERT_REQ: Executed by:
executed 45 times by 1 test: case TLS_ST_SW_CERT_REQ: Executed by:
| 45 | ||||||||||||||||||||||||||||||||||||
400 | if (s->post_handshake_auth == SSL_PHA_REQUEST_PENDING
| 19-26 | ||||||||||||||||||||||||||||||||||||
401 | s->post_handshake_auth = SSL_PHA_REQUESTED; | - | ||||||||||||||||||||||||||||||||||||
402 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
403 | } executed 26 times by 1 test: else {end of block Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
404 | st->hand_state = TLS_ST_SW_CERT; | - | ||||||||||||||||||||||||||||||||||||
405 | } executed 19 times by 1 test: end of block Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
406 | return executed 45 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 45 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 45 | ||||||||||||||||||||||||||||||||||||
407 | - | |||||||||||||||||||||||||||||||||||||
408 | case executed 740 times by 1 test: TLS_ST_SW_CERT:case TLS_ST_SW_CERT: Executed by:
executed 740 times by 1 test: case TLS_ST_SW_CERT: Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
409 | st->hand_state = TLS_ST_SW_CERT_VRFY; | - | ||||||||||||||||||||||||||||||||||||
410 | return executed 740 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 740 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
411 | - | |||||||||||||||||||||||||||||||||||||
412 | case executed 740 times by 1 test: TLS_ST_SW_CERT_VRFY:case TLS_ST_SW_CERT_VRFY: Executed by:
executed 740 times by 1 test: case TLS_ST_SW_CERT_VRFY: Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
413 | st->hand_state = TLS_ST_SW_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
414 | return executed 740 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 740 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
415 | - | |||||||||||||||||||||||||||||||||||||
416 | case executed 853 times by 1 test: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: Executed by:
executed 853 times by 1 test: case TLS_ST_SW_FINISHED: Executed by:
| 853 | ||||||||||||||||||||||||||||||||||||
417 | st->hand_state = TLS_ST_EARLY_DATA; | - | ||||||||||||||||||||||||||||||||||||
418 | return executed 853 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 853 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 853 | ||||||||||||||||||||||||||||||||||||
419 | - | |||||||||||||||||||||||||||||||||||||
420 | case executed 957 times by 1 test: TLS_ST_EARLY_DATA:case TLS_ST_EARLY_DATA: Executed by:
executed 957 times by 1 test: case TLS_ST_EARLY_DATA: Executed by:
| 957 | ||||||||||||||||||||||||||||||||||||
421 | return executed 957 times by 1 test: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; Executed by:
executed 957 times by 1 test: return WRITE_TRAN_FINISHED; Executed by:
| 957 | ||||||||||||||||||||||||||||||||||||
422 | - | |||||||||||||||||||||||||||||||||||||
423 | case executed 587 times by 1 test: TLS_ST_SR_FINISHED:case TLS_ST_SR_FINISHED: Executed by:
executed 587 times by 1 test: case TLS_ST_SR_FINISHED: Executed by:
| 587 | ||||||||||||||||||||||||||||||||||||
424 | - | |||||||||||||||||||||||||||||||||||||
425 | - | |||||||||||||||||||||||||||||||||||||
426 | - | |||||||||||||||||||||||||||||||||||||
427 | - | |||||||||||||||||||||||||||||||||||||
428 | - | |||||||||||||||||||||||||||||||||||||
429 | if (s->post_handshake_auth == SSL_PHA_REQUESTED
| 22-565 | ||||||||||||||||||||||||||||||||||||
430 | s->post_handshake_auth = SSL_PHA_EXT_RECEIVED; | - | ||||||||||||||||||||||||||||||||||||
431 | } executed 22 times by 1 test: else if (!s->ext.ticket_expectedend of block Executed by:
| 4-561 | ||||||||||||||||||||||||||||||||||||
432 | - | |||||||||||||||||||||||||||||||||||||
433 | - | |||||||||||||||||||||||||||||||||||||
434 | - | |||||||||||||||||||||||||||||||||||||
435 | - | |||||||||||||||||||||||||||||||||||||
436 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
437 | return executed 4 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 4 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
438 | } | - | ||||||||||||||||||||||||||||||||||||
439 | if (s->num_tickets > s->sent_tickets
| 6-577 | ||||||||||||||||||||||||||||||||||||
440 | st->hand_state = TLS_ST_SW_SESSION_TICKET; executed 577 times by 1 test: st->hand_state = TLS_ST_SW_SESSION_TICKET; Executed by:
| 577 | ||||||||||||||||||||||||||||||||||||
441 | else | - | ||||||||||||||||||||||||||||||||||||
442 | st->hand_state = TLS_ST_OK; executed 6 times by 1 test: st->hand_state = TLS_ST_OK; Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||
443 | return executed 583 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 583 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 583 | ||||||||||||||||||||||||||||||||||||
444 | - | |||||||||||||||||||||||||||||||||||||
445 | case executed 3 times by 1 test: TLS_ST_SR_KEY_UPDATE:case TLS_ST_SR_KEY_UPDATE: Executed by:
executed 3 times by 1 test: case TLS_ST_SR_KEY_UPDATE: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
446 | if (s->key_update != -1
| 1-2 | ||||||||||||||||||||||||||||||||||||
447 | st->hand_state = TLS_ST_SW_KEY_UPDATE; | - | ||||||||||||||||||||||||||||||||||||
448 | return executed 1 time by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1 time by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
449 | } | - | ||||||||||||||||||||||||||||||||||||
450 | - | |||||||||||||||||||||||||||||||||||||
451 | - | |||||||||||||||||||||||||||||||||||||
452 | case executed 4 times by 1 test: TLS_ST_SW_KEY_UPDATE:case TLS_ST_SW_KEY_UPDATE: Executed by:
executed 4 times by 1 test: case TLS_ST_SW_KEY_UPDATE: Executed by:
code before this statement executed 2 times by 1 test: case TLS_ST_SW_KEY_UPDATE: Executed by:
| 2-4 | ||||||||||||||||||||||||||||||||||||
453 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
454 | return executed 6 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 6 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||
455 | - | |||||||||||||||||||||||||||||||||||||
456 | case executed 1033 times by 1 test: TLS_ST_SW_SESSION_TICKET:case TLS_ST_SW_SESSION_TICKET: Executed by:
executed 1033 times by 1 test: case TLS_ST_SW_SESSION_TICKET: Executed by:
| 1033 | ||||||||||||||||||||||||||||||||||||
457 | - | |||||||||||||||||||||||||||||||||||||
458 | - | |||||||||||||||||||||||||||||||||||||
459 | - | |||||||||||||||||||||||||||||||||||||
460 | - | |||||||||||||||||||||||||||||||||||||
461 | if (s->hit
| 111-922 | ||||||||||||||||||||||||||||||||||||
462 | - | |||||||||||||||||||||||||||||||||||||
463 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
464 | } executed 577 times by 1 test: end of block Executed by:
| 577 | ||||||||||||||||||||||||||||||||||||
465 | return executed 1033 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1033 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1033 | ||||||||||||||||||||||||||||||||||||
466 | } | - | ||||||||||||||||||||||||||||||||||||
467 | } | - | ||||||||||||||||||||||||||||||||||||
468 | - | |||||||||||||||||||||||||||||||||||||
469 | - | |||||||||||||||||||||||||||||||||||||
470 | - | |||||||||||||||||||||||||||||||||||||
471 | - | |||||||||||||||||||||||||||||||||||||
472 | - | |||||||||||||||||||||||||||||||||||||
473 | WRITE_TRAN ossl_statem_server_write_transition(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
474 | { | - | ||||||||||||||||||||||||||||||||||||
475 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
476 | - | |||||||||||||||||||||||||||||||||||||
477 | - | |||||||||||||||||||||||||||||||||||||
478 | - | |||||||||||||||||||||||||||||||||||||
479 | - | |||||||||||||||||||||||||||||||||||||
480 | - | |||||||||||||||||||||||||||||||||||||
481 | - | |||||||||||||||||||||||||||||||||||||
482 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 1704-21813 | ||||||||||||||||||||||||||||||||||||
483 | return executed 8737 times by 1 test: ossl_statem_server13_write_transition(s);return ossl_statem_server13_write_transition(s); Executed by:
executed 8737 times by 1 test: return ossl_statem_server13_write_transition(s); Executed by:
| 8737 | ||||||||||||||||||||||||||||||||||||
484 | - | |||||||||||||||||||||||||||||||||||||
485 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
486 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
487 | - | |||||||||||||||||||||||||||||||||||||
488 | ossl_statem_fatal((s), (80), (604), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
489 | - | |||||||||||||||||||||||||||||||||||||
490 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
491 | , | - | ||||||||||||||||||||||||||||||||||||
492 | - | |||||||||||||||||||||||||||||||||||||
493 | 549 | - | ||||||||||||||||||||||||||||||||||||
494 | ) | - | ||||||||||||||||||||||||||||||||||||
495 | - | |||||||||||||||||||||||||||||||||||||
496 | ; | - | ||||||||||||||||||||||||||||||||||||
497 | return never executed: WRITE_TRAN_ERROR;return WRITE_TRAN_ERROR; never executed: return WRITE_TRAN_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
498 | - | |||||||||||||||||||||||||||||||||||||
499 | case executed 32 times by 1 test: TLS_ST_OK:case TLS_ST_OK: Executed by:
executed 32 times by 1 test: case TLS_ST_OK: Executed by:
| 32 | ||||||||||||||||||||||||||||||||||||
500 | if (st->request_state == TLS_ST_SW_HELLO_REQ
| 8-24 | ||||||||||||||||||||||||||||||||||||
501 | - | |||||||||||||||||||||||||||||||||||||
502 | st->hand_state = TLS_ST_SW_HELLO_REQ; | - | ||||||||||||||||||||||||||||||||||||
503 | st->request_state = TLS_ST_BEFORE; | - | ||||||||||||||||||||||||||||||||||||
504 | return executed 8 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 8 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
505 | } | - | ||||||||||||||||||||||||||||||||||||
506 | - | |||||||||||||||||||||||||||||||||||||
507 | if (!tls_setup_handshake(s)
| 0-24 | ||||||||||||||||||||||||||||||||||||
508 | - | |||||||||||||||||||||||||||||||||||||
509 | return never executed: WRITE_TRAN_ERROR;return WRITE_TRAN_ERROR; never executed: return WRITE_TRAN_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
510 | } | - | ||||||||||||||||||||||||||||||||||||
511 | - | |||||||||||||||||||||||||||||||||||||
512 | - | |||||||||||||||||||||||||||||||||||||
513 | case executed 3663 times by 1 test: TLS_ST_BEFORE:case TLS_ST_BEFORE: Executed by:
executed 3663 times by 1 test: case TLS_ST_BEFORE: Executed by:
code before this statement executed 24 times by 1 test: case TLS_ST_BEFORE: Executed by:
| 24-3663 | ||||||||||||||||||||||||||||||||||||
514 | - | |||||||||||||||||||||||||||||||||||||
515 | return executed 3687 times by 1 test: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; Executed by:
executed 3687 times by 1 test: return WRITE_TRAN_FINISHED; Executed by:
| 3687 | ||||||||||||||||||||||||||||||||||||
516 | - | |||||||||||||||||||||||||||||||||||||
517 | case executed 8 times by 1 test: TLS_ST_SW_HELLO_REQ:case TLS_ST_SW_HELLO_REQ: Executed by:
executed 8 times by 1 test: case TLS_ST_SW_HELLO_REQ: Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
518 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
519 | return executed 8 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 8 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
520 | - | |||||||||||||||||||||||||||||||||||||
521 | case executed 1512 times by 1 test: TLS_ST_SR_CLNT_HELLO:case TLS_ST_SR_CLNT_HELLO: Executed by:
executed 1512 times by 1 test: case TLS_ST_SR_CLNT_HELLO: Executed by:
| 1512 | ||||||||||||||||||||||||||||||||||||
522 | if ((
| 0-1326 | ||||||||||||||||||||||||||||||||||||
523 | && (
| 0-186 | ||||||||||||||||||||||||||||||||||||
524 | st->hand_state = DTLS_ST_SW_HELLO_VERIFY_REQUEST; | - | ||||||||||||||||||||||||||||||||||||
525 | } never executed: else if (s->renegotiate == 0end of block
| 0-1490 | ||||||||||||||||||||||||||||||||||||
526 | - | |||||||||||||||||||||||||||||||||||||
527 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
528 | return executed 2 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 2 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
529 | } else { | - | ||||||||||||||||||||||||||||||||||||
530 | st->hand_state = TLS_ST_SW_SRVR_HELLO; | - | ||||||||||||||||||||||||||||||||||||
531 | } executed 1510 times by 1 test: end of block Executed by:
| 1510 | ||||||||||||||||||||||||||||||||||||
532 | return executed 1510 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1510 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1510 | ||||||||||||||||||||||||||||||||||||
533 | - | |||||||||||||||||||||||||||||||||||||
534 | case never executed: DTLS_ST_SW_HELLO_VERIFY_REQUEST:case DTLS_ST_SW_HELLO_VERIFY_REQUEST: never executed: case DTLS_ST_SW_HELLO_VERIFY_REQUEST: | 0 | ||||||||||||||||||||||||||||||||||||
535 | return never executed: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; never executed: return WRITE_TRAN_FINISHED; | 0 | ||||||||||||||||||||||||||||||||||||
536 | - | |||||||||||||||||||||||||||||||||||||
537 | case executed 1510 times by 1 test: TLS_ST_SW_SRVR_HELLO:case TLS_ST_SW_SRVR_HELLO: Executed by:
executed 1510 times by 1 test: case TLS_ST_SW_SRVR_HELLO: Executed by:
| 1510 | ||||||||||||||||||||||||||||||||||||
538 | if (s->hit
| 82-1428 | ||||||||||||||||||||||||||||||||||||
539 | if (s->ext.ticket_expected
| 3-79 | ||||||||||||||||||||||||||||||||||||
540 | st->hand_state = TLS_ST_SW_SESSION_TICKET; executed 3 times by 1 test: st->hand_state = TLS_ST_SW_SESSION_TICKET; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
541 | else | - | ||||||||||||||||||||||||||||||||||||
542 | st->hand_state = TLS_ST_SW_CHANGE; executed 79 times by 1 test: st->hand_state = TLS_ST_SW_CHANGE; Executed by:
| 79 | ||||||||||||||||||||||||||||||||||||
543 | } else { | - | ||||||||||||||||||||||||||||||||||||
544 | - | |||||||||||||||||||||||||||||||||||||
545 | - | |||||||||||||||||||||||||||||||||||||
546 | if (!(s->s3->tmp.new_cipher->algorithm_auth &
| 69-1359 | ||||||||||||||||||||||||||||||||||||
547 | (0x00000004U | 0x00000040U | 0x00000010U))
| 69-1359 | ||||||||||||||||||||||||||||||||||||
548 | st->hand_state = TLS_ST_SW_CERT; | - | ||||||||||||||||||||||||||||||||||||
549 | } executed 1359 times by 1 test: else if (send_server_key_exchange(s)end of block Executed by:
| 27-1359 | ||||||||||||||||||||||||||||||||||||
550 | st->hand_state = TLS_ST_SW_KEY_EXCH; | - | ||||||||||||||||||||||||||||||||||||
551 | } executed 42 times by 1 test: else if (send_certificate_request(s)end of block Executed by:
| 0-42 | ||||||||||||||||||||||||||||||||||||
552 | st->hand_state = TLS_ST_SW_CERT_REQ; | - | ||||||||||||||||||||||||||||||||||||
553 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
554 | st->hand_state = TLS_ST_SW_SRVR_DONE; | - | ||||||||||||||||||||||||||||||||||||
555 | } executed 27 times by 1 test: end of block Executed by:
| 27 | ||||||||||||||||||||||||||||||||||||
556 | } | - | ||||||||||||||||||||||||||||||||||||
557 | return executed 1510 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1510 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1510 | ||||||||||||||||||||||||||||||||||||
558 | - | |||||||||||||||||||||||||||||||||||||
559 | case executed 1359 times by 1 test: TLS_ST_SW_CERT:case TLS_ST_SW_CERT: Executed by:
executed 1359 times by 1 test: case TLS_ST_SW_CERT: Executed by:
| 1359 | ||||||||||||||||||||||||||||||||||||
560 | if (s->ext.status_expected
| 5-1354 | ||||||||||||||||||||||||||||||||||||
561 | st->hand_state = TLS_ST_SW_CERT_STATUS; | - | ||||||||||||||||||||||||||||||||||||
562 | return executed 5 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 5 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||
563 | } | - | ||||||||||||||||||||||||||||||||||||
564 | - | |||||||||||||||||||||||||||||||||||||
565 | - | |||||||||||||||||||||||||||||||||||||
566 | case executed 5 times by 1 test: TLS_ST_SW_CERT_STATUS:case TLS_ST_SW_CERT_STATUS: Executed by:
executed 5 times by 1 test: case TLS_ST_SW_CERT_STATUS: Executed by:
code before this statement executed 1354 times by 1 test: case TLS_ST_SW_CERT_STATUS: Executed by:
| 5-1354 | ||||||||||||||||||||||||||||||||||||
567 | if (send_server_key_exchange(s)
| 245-1114 | ||||||||||||||||||||||||||||||||||||
568 | st->hand_state = TLS_ST_SW_KEY_EXCH; | - | ||||||||||||||||||||||||||||||||||||
569 | return executed 1114 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1114 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1114 | ||||||||||||||||||||||||||||||||||||
570 | } | - | ||||||||||||||||||||||||||||||||||||
571 | - | |||||||||||||||||||||||||||||||||||||
572 | - | |||||||||||||||||||||||||||||||||||||
573 | case executed 1156 times by 1 test: TLS_ST_SW_KEY_EXCH:case TLS_ST_SW_KEY_EXCH: Executed by:
executed 1156 times by 1 test: case TLS_ST_SW_KEY_EXCH: Executed by:
code before this statement executed 245 times by 1 test: case TLS_ST_SW_KEY_EXCH: Executed by:
| 245-1156 | ||||||||||||||||||||||||||||||||||||
574 | if (send_certificate_request(s)
| 35-1366 | ||||||||||||||||||||||||||||||||||||
575 | st->hand_state = TLS_ST_SW_CERT_REQ; | - | ||||||||||||||||||||||||||||||||||||
576 | return executed 35 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 35 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
577 | } | - | ||||||||||||||||||||||||||||||||||||
578 | - | |||||||||||||||||||||||||||||||||||||
579 | - | |||||||||||||||||||||||||||||||||||||
580 | case executed 35 times by 1 test: TLS_ST_SW_CERT_REQ:case TLS_ST_SW_CERT_REQ: Executed by:
executed 35 times by 1 test: case TLS_ST_SW_CERT_REQ: Executed by:
code before this statement executed 1366 times by 1 test: case TLS_ST_SW_CERT_REQ: Executed by:
| 35-1366 | ||||||||||||||||||||||||||||||||||||
581 | st->hand_state = TLS_ST_SW_SRVR_DONE; | - | ||||||||||||||||||||||||||||||||||||
582 | return executed 1401 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1401 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1401 | ||||||||||||||||||||||||||||||||||||
583 | - | |||||||||||||||||||||||||||||||||||||
584 | case executed 1428 times by 1 test: TLS_ST_SW_SRVR_DONE:case TLS_ST_SW_SRVR_DONE: Executed by:
executed 1428 times by 1 test: case TLS_ST_SW_SRVR_DONE: Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
585 | return executed 1428 times by 1 test: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; Executed by:
executed 1428 times by 1 test: return WRITE_TRAN_FINISHED; Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
586 | - | |||||||||||||||||||||||||||||||||||||
587 | case executed 1046 times by 1 test: TLS_ST_SR_FINISHED:case TLS_ST_SR_FINISHED: Executed by:
executed 1046 times by 1 test: case TLS_ST_SR_FINISHED: Executed by:
| 1046 | ||||||||||||||||||||||||||||||||||||
588 | if (s->hit
| 62-984 | ||||||||||||||||||||||||||||||||||||
589 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
590 | return executed 62 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 62 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 62 | ||||||||||||||||||||||||||||||||||||
591 | } else if (s->ext.ticket_expected
| 93-891 | ||||||||||||||||||||||||||||||||||||
592 | st->hand_state = TLS_ST_SW_SESSION_TICKET; | - | ||||||||||||||||||||||||||||||||||||
593 | } executed 891 times by 1 test: else {end of block Executed by:
| 891 | ||||||||||||||||||||||||||||||||||||
594 | st->hand_state = TLS_ST_SW_CHANGE; | - | ||||||||||||||||||||||||||||||||||||
595 | } executed 93 times by 1 test: end of block Executed by:
| 93 | ||||||||||||||||||||||||||||||||||||
596 | return executed 984 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 984 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 984 | ||||||||||||||||||||||||||||||||||||
597 | - | |||||||||||||||||||||||||||||||||||||
598 | case executed 894 times by 1 test: TLS_ST_SW_SESSION_TICKET:case TLS_ST_SW_SESSION_TICKET: Executed by:
executed 894 times by 1 test: case TLS_ST_SW_SESSION_TICKET: Executed by:
| 894 | ||||||||||||||||||||||||||||||||||||
599 | st->hand_state = TLS_ST_SW_CHANGE; | - | ||||||||||||||||||||||||||||||||||||
600 | return executed 894 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 894 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 894 | ||||||||||||||||||||||||||||||||||||
601 | - | |||||||||||||||||||||||||||||||||||||
602 | case executed 1066 times by 1 test: TLS_ST_SW_CHANGE:case TLS_ST_SW_CHANGE: Executed by:
executed 1066 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
| 1066 | ||||||||||||||||||||||||||||||||||||
603 | st->hand_state = TLS_ST_SW_FINISHED; | - | ||||||||||||||||||||||||||||||||||||
604 | return executed 1066 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 1066 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 1066 | ||||||||||||||||||||||||||||||||||||
605 | - | |||||||||||||||||||||||||||||||||||||
606 | case executed 1066 times by 1 test: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: Executed by:
executed 1066 times by 1 test: case TLS_ST_SW_FINISHED: Executed by:
| 1066 | ||||||||||||||||||||||||||||||||||||
607 | if (s->hit
| 82-984 | ||||||||||||||||||||||||||||||||||||
608 | return executed 82 times by 1 test: WRITE_TRAN_FINISHED;return WRITE_TRAN_FINISHED; Executed by:
executed 82 times by 1 test: return WRITE_TRAN_FINISHED; Executed by:
| 82 | ||||||||||||||||||||||||||||||||||||
609 | } | - | ||||||||||||||||||||||||||||||||||||
610 | st->hand_state = TLS_ST_OK; | - | ||||||||||||||||||||||||||||||||||||
611 | return executed 984 times by 1 test: WRITE_TRAN_CONTINUE;return WRITE_TRAN_CONTINUE; Executed by:
executed 984 times by 1 test: return WRITE_TRAN_CONTINUE; Executed by:
| 984 | ||||||||||||||||||||||||||||||||||||
612 | } | - | ||||||||||||||||||||||||||||||||||||
613 | } | - | ||||||||||||||||||||||||||||||||||||
614 | - | |||||||||||||||||||||||||||||||||||||
615 | - | |||||||||||||||||||||||||||||||||||||
616 | - | |||||||||||||||||||||||||||||||||||||
617 | - | |||||||||||||||||||||||||||||||||||||
618 | - | |||||||||||||||||||||||||||||||||||||
619 | WORK_STATE ossl_statem_server_pre_work(SSL *s, WORK_STATE wst) | - | ||||||||||||||||||||||||||||||||||||
620 | { | - | ||||||||||||||||||||||||||||||||||||
621 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
622 | - | |||||||||||||||||||||||||||||||||||||
623 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
624 | default executed 6858 times by 1 test: :default: Executed by:
executed 6858 times by 1 test: default: Executed by:
| 6858 | ||||||||||||||||||||||||||||||||||||
625 | - | |||||||||||||||||||||||||||||||||||||
626 | break; executed 6858 times by 1 test: break; Executed by:
| 6858 | ||||||||||||||||||||||||||||||||||||
627 | - | |||||||||||||||||||||||||||||||||||||
628 | case executed 8 times by 1 test: TLS_ST_SW_HELLO_REQ:case TLS_ST_SW_HELLO_REQ: Executed by:
executed 8 times by 1 test: case TLS_ST_SW_HELLO_REQ: Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
629 | s->shutdown = 0; | - | ||||||||||||||||||||||||||||||||||||
630 | if ((
| 3-5 | ||||||||||||||||||||||||||||||||||||
631 | dtls1_clear_sent_buffer(s); executed 3 times by 1 test: dtls1_clear_sent_buffer(s); Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
632 | break; executed 8 times by 1 test: break; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
633 | - | |||||||||||||||||||||||||||||||||||||
634 | case never executed: DTLS_ST_SW_HELLO_VERIFY_REQUEST:case DTLS_ST_SW_HELLO_VERIFY_REQUEST: never executed: case DTLS_ST_SW_HELLO_VERIFY_REQUEST: | 0 | ||||||||||||||||||||||||||||||||||||
635 | s->shutdown = 0; | - | ||||||||||||||||||||||||||||||||||||
636 | if ((
| 0 | ||||||||||||||||||||||||||||||||||||
637 | dtls1_clear_sent_buffer(s); | - | ||||||||||||||||||||||||||||||||||||
638 | - | |||||||||||||||||||||||||||||||||||||
639 | st->use_timer = 0; | - | ||||||||||||||||||||||||||||||||||||
640 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
641 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
642 | - | |||||||||||||||||||||||||||||||||||||
643 | case executed 2481 times by 1 test: TLS_ST_SW_SRVR_HELLO:case TLS_ST_SW_SRVR_HELLO: Executed by:
executed 2481 times by 1 test: case TLS_ST_SW_SRVR_HELLO: Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
644 | if ((
| 186-2295 | ||||||||||||||||||||||||||||||||||||
645 | - | |||||||||||||||||||||||||||||||||||||
646 | - | |||||||||||||||||||||||||||||||||||||
647 | - | |||||||||||||||||||||||||||||||||||||
648 | - | |||||||||||||||||||||||||||||||||||||
649 | st->use_timer = 1; | - | ||||||||||||||||||||||||||||||||||||
650 | } executed 186 times by 1 test: end of block Executed by:
| 186 | ||||||||||||||||||||||||||||||||||||
651 | break; executed 2481 times by 1 test: break; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
652 | - | |||||||||||||||||||||||||||||||||||||
653 | case executed 1428 times by 1 test: TLS_ST_SW_SRVR_DONE:case TLS_ST_SW_SRVR_DONE: Executed by:
executed 1428 times by 1 test: case TLS_ST_SW_SRVR_DONE: Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
654 | - | |||||||||||||||||||||||||||||||||||||
655 | - | |||||||||||||||||||||||||||||||||||||
656 | - | |||||||||||||||||||||||||||||||||||||
657 | - | |||||||||||||||||||||||||||||||||||||
658 | - | |||||||||||||||||||||||||||||||||||||
659 | - | |||||||||||||||||||||||||||||||||||||
660 | return executed 1428 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 1428 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
661 | - | |||||||||||||||||||||||||||||||||||||
662 | case executed 1927 times by 1 test: TLS_ST_SW_SESSION_TICKET:case TLS_ST_SW_SESSION_TICKET: Executed by:
executed 1927 times by 1 test: case TLS_ST_SW_SESSION_TICKET: Executed by:
| 1927 | ||||||||||||||||||||||||||||||||||||
663 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1783 | ||||||||||||||||||||||||||||||||||||
664 | - | |||||||||||||||||||||||||||||||||||||
665 | - | |||||||||||||||||||||||||||||||||||||
666 | - | |||||||||||||||||||||||||||||||||||||
667 | - | |||||||||||||||||||||||||||||||||||||
668 | - | |||||||||||||||||||||||||||||||||||||
669 | - | |||||||||||||||||||||||||||||||||||||
670 | - | |||||||||||||||||||||||||||||||||||||
671 | return executed 577 times by 1 test: tls_finish_handshake(s, wst, 0, 0);return tls_finish_handshake(s, wst, 0, 0); Executed by:
executed 577 times by 1 test: return tls_finish_handshake(s, wst, 0, 0); Executed by:
| 577 | ||||||||||||||||||||||||||||||||||||
672 | } if ((
| 144-1206 | ||||||||||||||||||||||||||||||||||||
673 | - | |||||||||||||||||||||||||||||||||||||
674 | - | |||||||||||||||||||||||||||||||||||||
675 | - | |||||||||||||||||||||||||||||||||||||
676 | - | |||||||||||||||||||||||||||||||||||||
677 | st->use_timer = 0; | - | ||||||||||||||||||||||||||||||||||||
678 | } executed 144 times by 1 test: end of block Executed by:
| 144 | ||||||||||||||||||||||||||||||||||||
679 | break; executed 1350 times by 1 test: break; Executed by:
| 1350 | ||||||||||||||||||||||||||||||||||||
680 | - | |||||||||||||||||||||||||||||||||||||
681 | case executed 1993 times by 1 test: TLS_ST_SW_CHANGE:case TLS_ST_SW_CHANGE: Executed by:
executed 1993 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
| 1993 | ||||||||||||||||||||||||||||||||||||
682 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1816 | ||||||||||||||||||||||||||||||||||||
683 | break; executed 927 times by 1 test: break; Executed by:
| 927 | ||||||||||||||||||||||||||||||||||||
684 | s->session->cipher = s->s3->tmp.new_cipher; | - | ||||||||||||||||||||||||||||||||||||
685 | if (!s->method->ssl3_enc->setup_key_block(s)
| 0-1066 | ||||||||||||||||||||||||||||||||||||
686 | - | |||||||||||||||||||||||||||||||||||||
687 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
688 | } | - | ||||||||||||||||||||||||||||||||||||
689 | if ((
| 177-889 | ||||||||||||||||||||||||||||||||||||
690 | - | |||||||||||||||||||||||||||||||||||||
691 | - | |||||||||||||||||||||||||||||||||||||
692 | - | |||||||||||||||||||||||||||||||||||||
693 | - | |||||||||||||||||||||||||||||||||||||
694 | - | |||||||||||||||||||||||||||||||||||||
695 | - | |||||||||||||||||||||||||||||||||||||
696 | st->use_timer = 0; | - | ||||||||||||||||||||||||||||||||||||
697 | } executed 177 times by 1 test: end of block Executed by:
| 177 | ||||||||||||||||||||||||||||||||||||
698 | return executed 1066 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 1066 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 1066 | ||||||||||||||||||||||||||||||||||||
699 | - | |||||||||||||||||||||||||||||||||||||
700 | case executed 967 times by 1 test: TLS_ST_EARLY_DATA:case TLS_ST_EARLY_DATA: Executed by:
executed 967 times by 1 test: case TLS_ST_EARLY_DATA: Executed by:
| 967 | ||||||||||||||||||||||||||||||||||||
701 | if (s->early_data_state != SSL_EARLY_DATA_ACCEPTING
| 156-811 | ||||||||||||||||||||||||||||||||||||
702 | && (
| 3-808 | ||||||||||||||||||||||||||||||||||||
703 | return executed 808 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 808 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 808 | ||||||||||||||||||||||||||||||||||||
704 | - | |||||||||||||||||||||||||||||||||||||
705 | - | |||||||||||||||||||||||||||||||||||||
706 | case executed 1834 times by 1 test: TLS_ST_OK:case TLS_ST_OK: Executed by:
executed 1834 times by 1 test: case TLS_ST_OK: Executed by:
code before this statement executed 159 times by 1 test: case TLS_ST_OK: Executed by:
| 159-1834 | ||||||||||||||||||||||||||||||||||||
707 | - | |||||||||||||||||||||||||||||||||||||
708 | return executed 1834 times by 1 test: tls_finish_handshake(s, wst, 1, 1);return tls_finish_handshake(s, wst, 1, 1); Executed by:
executed 1834 times by 1 test: return tls_finish_handshake(s, wst, 1, 1); Executed by:
| 1834 | ||||||||||||||||||||||||||||||||||||
709 | } | - | ||||||||||||||||||||||||||||||||||||
710 | - | |||||||||||||||||||||||||||||||||||||
711 | return executed 11624 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 11624 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 11624 | ||||||||||||||||||||||||||||||||||||
712 | } | - | ||||||||||||||||||||||||||||||||||||
713 | - | |||||||||||||||||||||||||||||||||||||
714 | static inline int conn_is_closed(void) | - | ||||||||||||||||||||||||||||||||||||
715 | { | - | ||||||||||||||||||||||||||||||||||||
716 | switch ( | - | ||||||||||||||||||||||||||||||||||||
717 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||||||||
718 | ) { | - | ||||||||||||||||||||||||||||||||||||
719 | - | |||||||||||||||||||||||||||||||||||||
720 | case never executed: case 32 : never executed: case 32 : | 0 | ||||||||||||||||||||||||||||||||||||
721 | 32 never executed: case 32 : | 0 | ||||||||||||||||||||||||||||||||||||
722 | : never executed: case 32 : | 0 | ||||||||||||||||||||||||||||||||||||
723 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||
724 | - | |||||||||||||||||||||||||||||||||||||
725 | - | |||||||||||||||||||||||||||||||||||||
726 | case never executed: case 104 : never executed: case 104 : | 0 | ||||||||||||||||||||||||||||||||||||
727 | 104 never executed: case 104 : | 0 | ||||||||||||||||||||||||||||||||||||
728 | : never executed: case 104 : | 0 | ||||||||||||||||||||||||||||||||||||
729 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||
730 | - | |||||||||||||||||||||||||||||||||||||
731 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
732 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
733 | } | - | ||||||||||||||||||||||||||||||||||||
734 | } | - | ||||||||||||||||||||||||||||||||||||
735 | - | |||||||||||||||||||||||||||||||||||||
736 | - | |||||||||||||||||||||||||||||||||||||
737 | - | |||||||||||||||||||||||||||||||||||||
738 | - | |||||||||||||||||||||||||||||||||||||
739 | - | |||||||||||||||||||||||||||||||||||||
740 | WORK_STATE ossl_statem_server_post_work(SSL *s, WORK_STATE wst) | - | ||||||||||||||||||||||||||||||||||||
741 | { | - | ||||||||||||||||||||||||||||||||||||
742 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
743 | - | |||||||||||||||||||||||||||||||||||||
744 | s->init_num = 0; | - | ||||||||||||||||||||||||||||||||||||
745 | - | |||||||||||||||||||||||||||||||||||||
746 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
747 | default executed 5662 times by 1 test: :default: Executed by:
executed 5662 times by 1 test: default: Executed by:
| 5662 | ||||||||||||||||||||||||||||||||||||
748 | - | |||||||||||||||||||||||||||||||||||||
749 | break; executed 5662 times by 1 test: break; Executed by:
| 5662 | ||||||||||||||||||||||||||||||||||||
750 | - | |||||||||||||||||||||||||||||||||||||
751 | case executed 8 times by 1 test: TLS_ST_SW_HELLO_REQ:case TLS_ST_SW_HELLO_REQ: Executed by:
executed 8 times by 1 test: case TLS_ST_SW_HELLO_REQ: Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
752 | if (statem_flush(s) != 1
| 0-8 | ||||||||||||||||||||||||||||||||||||
753 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
754 | if (!ssl3_init_finished_mac(s)
| 0-8 | ||||||||||||||||||||||||||||||||||||
755 | - | |||||||||||||||||||||||||||||||||||||
756 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
757 | } | - | ||||||||||||||||||||||||||||||||||||
758 | break; executed 8 times by 1 test: break; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
759 | - | |||||||||||||||||||||||||||||||||||||
760 | case never executed: DTLS_ST_SW_HELLO_VERIFY_REQUEST:case DTLS_ST_SW_HELLO_VERIFY_REQUEST: never executed: case DTLS_ST_SW_HELLO_VERIFY_REQUEST: | 0 | ||||||||||||||||||||||||||||||||||||
761 | if (statem_flush(s) != 1
| 0 | ||||||||||||||||||||||||||||||||||||
762 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
763 | - | |||||||||||||||||||||||||||||||||||||
764 | if (s->version != 0x0100
| 0 | ||||||||||||||||||||||||||||||||||||
765 | - | |||||||||||||||||||||||||||||||||||||
766 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
767 | } | - | ||||||||||||||||||||||||||||||||||||
768 | - | |||||||||||||||||||||||||||||||||||||
769 | - | |||||||||||||||||||||||||||||||||||||
770 | - | |||||||||||||||||||||||||||||||||||||
771 | - | |||||||||||||||||||||||||||||||||||||
772 | s->first_packet = 1; | - | ||||||||||||||||||||||||||||||||||||
773 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
774 | - | |||||||||||||||||||||||||||||||||||||
775 | case executed 2478 times by 1 test: TLS_ST_SW_SRVR_HELLO:case TLS_ST_SW_SRVR_HELLO: Executed by:
executed 2478 times by 1 test: case TLS_ST_SW_SRVR_HELLO: Executed by:
| 2478 | ||||||||||||||||||||||||||||||||||||
776 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2292 | ||||||||||||||||||||||||||||||||||||
777 | if ((
| 2-112 | ||||||||||||||||||||||||||||||||||||
778 | && statem_flush(s) != 1
| 0-2 | ||||||||||||||||||||||||||||||||||||
779 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
780 | break; executed 114 times by 1 test: break; Executed by:
| 114 | ||||||||||||||||||||||||||||||||||||
781 | } | - | ||||||||||||||||||||||||||||||||||||
782 | if (!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2178 | ||||||||||||||||||||||||||||||||||||
783 | || ((
| 6-848 | ||||||||||||||||||||||||||||||||||||
784 | && s->hello_retry_request != SSL_HRR_COMPLETE
| 33-815 | ||||||||||||||||||||||||||||||||||||
785 | break; executed 2325 times by 1 test: break; Executed by:
| 2325 | ||||||||||||||||||||||||||||||||||||
786 | - | |||||||||||||||||||||||||||||||||||||
787 | - | |||||||||||||||||||||||||||||||||||||
788 | case executed 1993 times by 1 test: TLS_ST_SW_CHANGE:case TLS_ST_SW_CHANGE: Executed by:
executed 1993 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
code before this statement executed 39 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
| 39-1993 | ||||||||||||||||||||||||||||||||||||
789 | if (s->hello_retry_request == SSL_HRR_PENDING
| 112-1920 | ||||||||||||||||||||||||||||||||||||
790 | if (!statem_flush(s)
| 0-112 | ||||||||||||||||||||||||||||||||||||
791 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
792 | break; executed 112 times by 1 test: break; Executed by:
| 112 | ||||||||||||||||||||||||||||||||||||
793 | } | - | ||||||||||||||||||||||||||||||||||||
794 | - | |||||||||||||||||||||||||||||||||||||
795 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1743 | ||||||||||||||||||||||||||||||||||||
796 | if (!s->method->ssl3_enc->setup_key_block(s)
| 0-854 | ||||||||||||||||||||||||||||||||||||
797 | || !s->method->ssl3_enc->change_cipher_state(s,
| 0-854 | ||||||||||||||||||||||||||||||||||||
798 | 0x080 | (0x020|0x002))
| 0-854 | ||||||||||||||||||||||||||||||||||||
799 | - | |||||||||||||||||||||||||||||||||||||
800 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
801 | } | - | ||||||||||||||||||||||||||||||||||||
802 | - | |||||||||||||||||||||||||||||||||||||
803 | if (s->ext.early_data != 2
| 22-832 | ||||||||||||||||||||||||||||||||||||
804 | && !s->method->ssl3_enc->change_cipher_state(s,
| 0-832 | ||||||||||||||||||||||||||||||||||||
805 | 0x080 |(0x020|0x001))
| 0-832 | ||||||||||||||||||||||||||||||||||||
806 | - | |||||||||||||||||||||||||||||||||||||
807 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
808 | } | - | ||||||||||||||||||||||||||||||||||||
809 | - | |||||||||||||||||||||||||||||||||||||
810 | - | |||||||||||||||||||||||||||||||||||||
811 | - | |||||||||||||||||||||||||||||||||||||
812 | - | |||||||||||||||||||||||||||||||||||||
813 | - | |||||||||||||||||||||||||||||||||||||
814 | s->statem.enc_read_state = ENC_READ_STATE_ALLOW_PLAIN_ALERTS; | - | ||||||||||||||||||||||||||||||||||||
815 | break; executed 854 times by 1 test: break; Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
816 | } | - | ||||||||||||||||||||||||||||||||||||
817 | if (!s->method->ssl3_enc->change_cipher_state(s,
| 0-1066 | ||||||||||||||||||||||||||||||||||||
818 | (0x020|0x002))
| 0-1066 | ||||||||||||||||||||||||||||||||||||
819 | { | - | ||||||||||||||||||||||||||||||||||||
820 | - | |||||||||||||||||||||||||||||||||||||
821 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
822 | } | - | ||||||||||||||||||||||||||||||||||||
823 | - | |||||||||||||||||||||||||||||||||||||
824 | if ((
| 177-889 | ||||||||||||||||||||||||||||||||||||
825 | dtls1_reset_seq_numbers(s, 0x002); executed 177 times by 1 test: dtls1_reset_seq_numbers(s, 0x002); Executed by:
| 177 | ||||||||||||||||||||||||||||||||||||
826 | break; executed 1066 times by 1 test: break; Executed by:
| 1066 | ||||||||||||||||||||||||||||||||||||
827 | - | |||||||||||||||||||||||||||||||||||||
828 | case executed 1718 times by 1 test: TLS_ST_SW_SRVR_DONE:case TLS_ST_SW_SRVR_DONE: Executed by:
executed 1718 times by 1 test: case TLS_ST_SW_SRVR_DONE: Executed by:
| 1718 | ||||||||||||||||||||||||||||||||||||
829 | if (statem_flush(s) != 1
| 290-1428 | ||||||||||||||||||||||||||||||||||||
830 | return executed 290 times by 1 test: WORK_MORE_A;return WORK_MORE_A; Executed by:
executed 290 times by 1 test: return WORK_MORE_A; Executed by:
| 290 | ||||||||||||||||||||||||||||||||||||
831 | break; executed 1428 times by 1 test: break; Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
832 | - | |||||||||||||||||||||||||||||||||||||
833 | case executed 2031 times by 1 test: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: Executed by:
executed 2031 times by 1 test: case TLS_ST_SW_FINISHED: Executed by:
| 2031 | ||||||||||||||||||||||||||||||||||||
834 | if (statem_flush(s) != 1
| 112-1919 | ||||||||||||||||||||||||||||||||||||
835 | return executed 112 times by 1 test: WORK_MORE_A;return WORK_MORE_A; Executed by:
executed 112 times by 1 test: return WORK_MORE_A; Executed by:
| 112 | ||||||||||||||||||||||||||||||||||||
836 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1742 | ||||||||||||||||||||||||||||||||||||
837 | if (!s->method->ssl3_enc->generate_master_secret(s,
| 0-853 | ||||||||||||||||||||||||||||||||||||
838 | s->master_secret, s->handshake_secret, 0,
| 0-853 | ||||||||||||||||||||||||||||||||||||
839 | &s->session->master_key_length)
| 0-853 | ||||||||||||||||||||||||||||||||||||
840 | || !s->method->ssl3_enc->change_cipher_state(s,
| 0-853 | ||||||||||||||||||||||||||||||||||||
841 | 0x100 | (0x020|0x002))
| 0-853 | ||||||||||||||||||||||||||||||||||||
842 | - | |||||||||||||||||||||||||||||||||||||
843 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
844 | } executed 853 times by 1 test: end of block Executed by:
| 853 | ||||||||||||||||||||||||||||||||||||
845 | break; executed 1919 times by 1 test: break; Executed by:
| 1919 | ||||||||||||||||||||||||||||||||||||
846 | - | |||||||||||||||||||||||||||||||||||||
847 | case executed 80 times by 1 test: TLS_ST_SW_CERT_REQ:case TLS_ST_SW_CERT_REQ: Executed by:
executed 80 times by 1 test: case TLS_ST_SW_CERT_REQ: Executed by:
| 80 | ||||||||||||||||||||||||||||||||||||
848 | if (s->post_handshake_auth == SSL_PHA_REQUEST_PENDING
| 26-54 | ||||||||||||||||||||||||||||||||||||
849 | if (statem_flush(s) != 1
| 0-26 | ||||||||||||||||||||||||||||||||||||
850 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
851 | } executed 26 times by 1 test: end of block Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
852 | break; executed 80 times by 1 test: break; Executed by:
| 80 | ||||||||||||||||||||||||||||||||||||
853 | - | |||||||||||||||||||||||||||||||||||||
854 | case executed 4 times by 1 test: TLS_ST_SW_KEY_UPDATE:case TLS_ST_SW_KEY_UPDATE: Executed by:
executed 4 times by 1 test: case TLS_ST_SW_KEY_UPDATE: Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
855 | if (statem_flush(s) != 1
| 0-4 | ||||||||||||||||||||||||||||||||||||
856 | return never executed: WORK_MORE_A;return WORK_MORE_A; never executed: return WORK_MORE_A; | 0 | ||||||||||||||||||||||||||||||||||||
857 | if (!tls13_update_key(s, 1)
| 0-4 | ||||||||||||||||||||||||||||||||||||
858 | - | |||||||||||||||||||||||||||||||||||||
859 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
860 | } | - | ||||||||||||||||||||||||||||||||||||
861 | break; executed 4 times by 1 test: break; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
862 | - | |||||||||||||||||||||||||||||||||||||
863 | case executed 1993 times by 1 test: TLS_ST_SW_SESSION_TICKET:case TLS_ST_SW_SESSION_TICKET: Executed by:
executed 1993 times by 1 test: case TLS_ST_SW_SESSION_TICKET: Executed by:
| 1993 | ||||||||||||||||||||||||||||||||||||
864 | - | |||||||||||||||||||||||||||||||||||||
865 | (*__errno_location ()) | - | ||||||||||||||||||||||||||||||||||||
866 | =0; | - | ||||||||||||||||||||||||||||||||||||
867 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1849 | ||||||||||||||||||||||||||||||||||||
868 | if (SSL_get_error(s, 0) == 5
| 0-66 | ||||||||||||||||||||||||||||||||||||
869 | && conn_is_closed()
| 0 | ||||||||||||||||||||||||||||||||||||
870 | - | |||||||||||||||||||||||||||||||||||||
871 | - | |||||||||||||||||||||||||||||||||||||
872 | - | |||||||||||||||||||||||||||||||||||||
873 | - | |||||||||||||||||||||||||||||||||||||
874 | - | |||||||||||||||||||||||||||||||||||||
875 | - | |||||||||||||||||||||||||||||||||||||
876 | - | |||||||||||||||||||||||||||||||||||||
877 | s->rwstate = 1; | - | ||||||||||||||||||||||||||||||||||||
878 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
879 | } | - | ||||||||||||||||||||||||||||||||||||
880 | - | |||||||||||||||||||||||||||||||||||||
881 | return executed 66 times by 1 test: WORK_MORE_A;return WORK_MORE_A; Executed by:
executed 66 times by 1 test: return WORK_MORE_A; Executed by:
| 66 | ||||||||||||||||||||||||||||||||||||
882 | } | - | ||||||||||||||||||||||||||||||||||||
883 | break; executed 1927 times by 1 test: break; Executed by:
| 1927 | ||||||||||||||||||||||||||||||||||||
884 | } | - | ||||||||||||||||||||||||||||||||||||
885 | - | |||||||||||||||||||||||||||||||||||||
886 | return executed 15499 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 15499 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 15499 | ||||||||||||||||||||||||||||||||||||
887 | } | - | ||||||||||||||||||||||||||||||||||||
888 | int ossl_statem_server_construct_message(SSL *s, WPACKET *pkt, | - | ||||||||||||||||||||||||||||||||||||
889 | confunc_f *confunc, int *mt) | - | ||||||||||||||||||||||||||||||||||||
890 | { | - | ||||||||||||||||||||||||||||||||||||
891 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
892 | - | |||||||||||||||||||||||||||||||||||||
893 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
894 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
895 | - | |||||||||||||||||||||||||||||||||||||
896 | ossl_statem_fatal((s), (80), (431), (236), | - | ||||||||||||||||||||||||||||||||||||
897 | - | |||||||||||||||||||||||||||||||||||||
898 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
899 | , | - | ||||||||||||||||||||||||||||||||||||
900 | - | |||||||||||||||||||||||||||||||||||||
901 | 999 | - | ||||||||||||||||||||||||||||||||||||
902 | ) | - | ||||||||||||||||||||||||||||||||||||
903 | - | |||||||||||||||||||||||||||||||||||||
904 | ; | - | ||||||||||||||||||||||||||||||||||||
905 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
906 | - | |||||||||||||||||||||||||||||||||||||
907 | case executed 1993 times by 1 test: TLS_ST_SW_CHANGE:case TLS_ST_SW_CHANGE: Executed by:
executed 1993 times by 1 test: case TLS_ST_SW_CHANGE: Executed by:
| 1993 | ||||||||||||||||||||||||||||||||||||
908 | if ((
| 177-1816 | ||||||||||||||||||||||||||||||||||||
909 | * executed 177 times by 1 test: confunc = dtls_construct_change_cipher_spec;*confunc = dtls_construct_change_cipher_spec; Executed by:
executed 177 times by 1 test: *confunc = dtls_construct_change_cipher_spec; Executed by:
| 177 | ||||||||||||||||||||||||||||||||||||
910 | else | - | ||||||||||||||||||||||||||||||||||||
911 | * executed 1816 times by 1 test: confunc = tls_construct_change_cipher_spec;*confunc = tls_construct_change_cipher_spec; Executed by:
executed 1816 times by 1 test: *confunc = tls_construct_change_cipher_spec; Executed by:
| 1816 | ||||||||||||||||||||||||||||||||||||
912 | *mt = 0x0101; | - | ||||||||||||||||||||||||||||||||||||
913 | break; executed 1993 times by 1 test: break; Executed by:
| 1993 | ||||||||||||||||||||||||||||||||||||
914 | - | |||||||||||||||||||||||||||||||||||||
915 | case never executed: DTLS_ST_SW_HELLO_VERIFY_REQUEST:case DTLS_ST_SW_HELLO_VERIFY_REQUEST: never executed: case DTLS_ST_SW_HELLO_VERIFY_REQUEST: | 0 | ||||||||||||||||||||||||||||||||||||
916 | *confunc = dtls_construct_hello_verify_request; | - | ||||||||||||||||||||||||||||||||||||
917 | *mt = 3; | - | ||||||||||||||||||||||||||||||||||||
918 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
919 | - | |||||||||||||||||||||||||||||||||||||
920 | case executed 8 times by 1 test: TLS_ST_SW_HELLO_REQ:case TLS_ST_SW_HELLO_REQ: Executed by:
executed 8 times by 1 test: case TLS_ST_SW_HELLO_REQ: Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
921 | - | |||||||||||||||||||||||||||||||||||||
922 | *confunc = | - | ||||||||||||||||||||||||||||||||||||
923 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
924 | ; | - | ||||||||||||||||||||||||||||||||||||
925 | *mt = 0; | - | ||||||||||||||||||||||||||||||||||||
926 | break; executed 8 times by 1 test: break; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
927 | - | |||||||||||||||||||||||||||||||||||||
928 | case executed 2481 times by 1 test: TLS_ST_SW_SRVR_HELLO:case TLS_ST_SW_SRVR_HELLO: Executed by:
executed 2481 times by 1 test: case TLS_ST_SW_SRVR_HELLO: Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
929 | *confunc = tls_construct_server_hello; | - | ||||||||||||||||||||||||||||||||||||
930 | *mt = 2; | - | ||||||||||||||||||||||||||||||||||||
931 | break; executed 2481 times by 1 test: break; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
932 | - | |||||||||||||||||||||||||||||||||||||
933 | case executed 2099 times by 1 test: TLS_ST_SW_CERT:case TLS_ST_SW_CERT: Executed by:
executed 2099 times by 1 test: case TLS_ST_SW_CERT: Executed by:
| 2099 | ||||||||||||||||||||||||||||||||||||
934 | *confunc = tls_construct_server_certificate; | - | ||||||||||||||||||||||||||||||||||||
935 | *mt = 11; | - | ||||||||||||||||||||||||||||||||||||
936 | break; executed 2099 times by 1 test: break; Executed by:
| 2099 | ||||||||||||||||||||||||||||||||||||
937 | - | |||||||||||||||||||||||||||||||||||||
938 | case executed 740 times by 1 test: TLS_ST_SW_CERT_VRFY:case TLS_ST_SW_CERT_VRFY: Executed by:
executed 740 times by 1 test: case TLS_ST_SW_CERT_VRFY: Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
939 | *confunc = tls_construct_cert_verify; | - | ||||||||||||||||||||||||||||||||||||
940 | *mt = 15; | - | ||||||||||||||||||||||||||||||||||||
941 | break; executed 740 times by 1 test: break; Executed by:
| 740 | ||||||||||||||||||||||||||||||||||||
942 | - | |||||||||||||||||||||||||||||||||||||
943 | - | |||||||||||||||||||||||||||||||||||||
944 | case executed 1156 times by 1 test: TLS_ST_SW_KEY_EXCH:case TLS_ST_SW_KEY_EXCH: Executed by:
executed 1156 times by 1 test: case TLS_ST_SW_KEY_EXCH: Executed by:
| 1156 | ||||||||||||||||||||||||||||||||||||
945 | *confunc = tls_construct_server_key_exchange; | - | ||||||||||||||||||||||||||||||||||||
946 | *mt = 12; | - | ||||||||||||||||||||||||||||||||||||
947 | break; executed 1156 times by 1 test: break; Executed by:
| 1156 | ||||||||||||||||||||||||||||||||||||
948 | - | |||||||||||||||||||||||||||||||||||||
949 | case executed 81 times by 1 test: TLS_ST_SW_CERT_REQ:case TLS_ST_SW_CERT_REQ: Executed by:
executed 81 times by 1 test: case TLS_ST_SW_CERT_REQ: Executed by:
| 81 | ||||||||||||||||||||||||||||||||||||
950 | *confunc = tls_construct_certificate_request; | - | ||||||||||||||||||||||||||||||||||||
951 | *mt = 13; | - | ||||||||||||||||||||||||||||||||||||
952 | break; executed 81 times by 1 test: break; Executed by:
| 81 | ||||||||||||||||||||||||||||||||||||
953 | - | |||||||||||||||||||||||||||||||||||||
954 | case executed 1428 times by 1 test: TLS_ST_SW_SRVR_DONE:case TLS_ST_SW_SRVR_DONE: Executed by:
executed 1428 times by 1 test: case TLS_ST_SW_SRVR_DONE: Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
955 | *confunc = tls_construct_server_done; | - | ||||||||||||||||||||||||||||||||||||
956 | *mt = 14; | - | ||||||||||||||||||||||||||||||||||||
957 | break; executed 1428 times by 1 test: break; Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
958 | - | |||||||||||||||||||||||||||||||||||||
959 | case executed 1927 times by 1 test: TLS_ST_SW_SESSION_TICKET:case TLS_ST_SW_SESSION_TICKET: Executed by:
executed 1927 times by 1 test: case TLS_ST_SW_SESSION_TICKET: Executed by:
| 1927 | ||||||||||||||||||||||||||||||||||||
960 | *confunc = tls_construct_new_session_ticket; | - | ||||||||||||||||||||||||||||||||||||
961 | *mt = 4; | - | ||||||||||||||||||||||||||||||||||||
962 | break; executed 1927 times by 1 test: break; Executed by:
| 1927 | ||||||||||||||||||||||||||||||||||||
963 | - | |||||||||||||||||||||||||||||||||||||
964 | case executed 5 times by 1 test: TLS_ST_SW_CERT_STATUS:case TLS_ST_SW_CERT_STATUS: Executed by:
executed 5 times by 1 test: case TLS_ST_SW_CERT_STATUS: Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||
965 | *confunc = tls_construct_cert_status; | - | ||||||||||||||||||||||||||||||||||||
966 | *mt = 22; | - | ||||||||||||||||||||||||||||||||||||
967 | break; executed 5 times by 1 test: break; Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||
968 | - | |||||||||||||||||||||||||||||||||||||
969 | case executed 1919 times by 1 test: TLS_ST_SW_FINISHED:case TLS_ST_SW_FINISHED: Executed by:
executed 1919 times by 1 test: case TLS_ST_SW_FINISHED: Executed by:
| 1919 | ||||||||||||||||||||||||||||||||||||
970 | *confunc = tls_construct_finished; | - | ||||||||||||||||||||||||||||||||||||
971 | *mt = 20; | - | ||||||||||||||||||||||||||||||||||||
972 | break; executed 1919 times by 1 test: break; Executed by:
| 1919 | ||||||||||||||||||||||||||||||||||||
973 | - | |||||||||||||||||||||||||||||||||||||
974 | case executed 808 times by 1 test: TLS_ST_EARLY_DATA:case TLS_ST_EARLY_DATA: Executed by:
executed 808 times by 1 test: case TLS_ST_EARLY_DATA: Executed by:
| 808 | ||||||||||||||||||||||||||||||||||||
975 | *confunc = | - | ||||||||||||||||||||||||||||||||||||
976 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
977 | ; | - | ||||||||||||||||||||||||||||||||||||
978 | *mt = -1; | - | ||||||||||||||||||||||||||||||||||||
979 | break; executed 808 times by 1 test: break; Executed by:
| 808 | ||||||||||||||||||||||||||||||||||||
980 | - | |||||||||||||||||||||||||||||||||||||
981 | case executed 854 times by 1 test: TLS_ST_SW_ENCRYPTED_EXTENSIONS:case TLS_ST_SW_ENCRYPTED_EXTENSIONS: Executed by:
executed 854 times by 1 test: case TLS_ST_SW_ENCRYPTED_EXTENSIONS: Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
982 | *confunc = tls_construct_encrypted_extensions; | - | ||||||||||||||||||||||||||||||||||||
983 | *mt = 8; | - | ||||||||||||||||||||||||||||||||||||
984 | break; executed 854 times by 1 test: break; Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
985 | - | |||||||||||||||||||||||||||||||||||||
986 | case executed 4 times by 1 test: TLS_ST_SW_KEY_UPDATE:case TLS_ST_SW_KEY_UPDATE: Executed by:
executed 4 times by 1 test: case TLS_ST_SW_KEY_UPDATE: Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
987 | *confunc = tls_construct_key_update; | - | ||||||||||||||||||||||||||||||||||||
988 | *mt = 24; | - | ||||||||||||||||||||||||||||||||||||
989 | break; executed 4 times by 1 test: break; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
990 | } | - | ||||||||||||||||||||||||||||||||||||
991 | - | |||||||||||||||||||||||||||||||||||||
992 | return executed 15503 times by 1 test: 1;return 1; Executed by:
executed 15503 times by 1 test: return 1; Executed by:
| 15503 | ||||||||||||||||||||||||||||||||||||
993 | } | - | ||||||||||||||||||||||||||||||||||||
994 | size_t ossl_statem_server_max_message_size(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
995 | { | - | ||||||||||||||||||||||||||||||||||||
996 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
997 | - | |||||||||||||||||||||||||||||||||||||
998 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
999 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
1000 | - | |||||||||||||||||||||||||||||||||||||
1001 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
1002 | - | |||||||||||||||||||||||||||||||||||||
1003 | case executed 3745 times by 1 test: TLS_ST_SR_CLNT_HELLO:case TLS_ST_SR_CLNT_HELLO: Executed by:
executed 3745 times by 1 test: case TLS_ST_SR_CLNT_HELLO: Executed by:
| 3745 | ||||||||||||||||||||||||||||||||||||
1004 | return executed 3745 times by 1 test: 131396;return 131396; Executed by:
executed 3745 times by 1 test: return 131396; Executed by:
| 3745 | ||||||||||||||||||||||||||||||||||||
1005 | - | |||||||||||||||||||||||||||||||||||||
1006 | case executed 16 times by 1 test: TLS_ST_SR_END_OF_EARLY_DATA:case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
executed 16 times by 1 test: case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
1007 | return executed 16 times by 1 test: 0;return 0; Executed by:
executed 16 times by 1 test: return 0; Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
1008 | - | |||||||||||||||||||||||||||||||||||||
1009 | case executed 77 times by 1 test: TLS_ST_SR_CERT:case TLS_ST_SR_CERT: Executed by:
executed 77 times by 1 test: case TLS_ST_SR_CERT: Executed by:
| 77 | ||||||||||||||||||||||||||||||||||||
1010 | return executed 77 times by 1 test: s->max_cert_list;return s->max_cert_list; Executed by:
executed 77 times by 1 test: return s->max_cert_list; Executed by:
| 77 | ||||||||||||||||||||||||||||||||||||
1011 | - | |||||||||||||||||||||||||||||||||||||
1012 | case executed 1253 times by 1 test: TLS_ST_SR_KEY_EXCH:case TLS_ST_SR_KEY_EXCH: Executed by:
executed 1253 times by 1 test: case TLS_ST_SR_KEY_EXCH: Executed by:
| 1253 | ||||||||||||||||||||||||||||||||||||
1013 | return executed 1253 times by 1 test: 2048;return 2048; Executed by:
executed 1253 times by 1 test: return 2048; Executed by:
| 1253 | ||||||||||||||||||||||||||||||||||||
1014 | - | |||||||||||||||||||||||||||||||||||||
1015 | case executed 35 times by 1 test: TLS_ST_SR_CERT_VRFY:case TLS_ST_SR_CERT_VRFY: Executed by:
executed 35 times by 1 test: case TLS_ST_SR_CERT_VRFY: Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
1016 | return executed 35 times by 1 test: 16384;return 16384; Executed by:
executed 35 times by 1 test: return 16384; Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
1017 | - | |||||||||||||||||||||||||||||||||||||
1018 | - | |||||||||||||||||||||||||||||||||||||
1019 | case executed 21 times by 1 test: TLS_ST_SR_NEXT_PROTO:case TLS_ST_SR_NEXT_PROTO: Executed by:
executed 21 times by 1 test: case TLS_ST_SR_NEXT_PROTO: Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
1020 | return executed 21 times by 1 test: 514;return 514; Executed by:
executed 21 times by 1 test: return 514; Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
1021 | - | |||||||||||||||||||||||||||||||||||||
1022 | - | |||||||||||||||||||||||||||||||||||||
1023 | case executed 1217 times by 1 test: TLS_ST_SR_CHANGE:case TLS_ST_SR_CHANGE: Executed by:
executed 1217 times by 1 test: case TLS_ST_SR_CHANGE: Executed by:
| 1217 | ||||||||||||||||||||||||||||||||||||
1024 | return executed 1217 times by 1 test: 1;return 1; Executed by:
executed 1217 times by 1 test: return 1; Executed by:
| 1217 | ||||||||||||||||||||||||||||||||||||
1025 | - | |||||||||||||||||||||||||||||||||||||
1026 | case executed 1633 times by 1 test: TLS_ST_SR_FINISHED:case TLS_ST_SR_FINISHED: Executed by:
executed 1633 times by 1 test: case TLS_ST_SR_FINISHED: Executed by:
| 1633 | ||||||||||||||||||||||||||||||||||||
1027 | return executed 1633 times by 1 test: 64;return 64; Executed by:
executed 1633 times by 1 test: return 64; Executed by:
| 1633 | ||||||||||||||||||||||||||||||||||||
1028 | - | |||||||||||||||||||||||||||||||||||||
1029 | case executed 3 times by 1 test: TLS_ST_SR_KEY_UPDATE:case TLS_ST_SR_KEY_UPDATE: Executed by:
executed 3 times by 1 test: case TLS_ST_SR_KEY_UPDATE: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1030 | return executed 3 times by 1 test: 1;return 1; Executed by:
executed 3 times by 1 test: return 1; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1031 | } | - | ||||||||||||||||||||||||||||||||||||
1032 | } | - | ||||||||||||||||||||||||||||||||||||
1033 | - | |||||||||||||||||||||||||||||||||||||
1034 | - | |||||||||||||||||||||||||||||||||||||
1035 | - | |||||||||||||||||||||||||||||||||||||
1036 | - | |||||||||||||||||||||||||||||||||||||
1037 | MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
1038 | { | - | ||||||||||||||||||||||||||||||||||||
1039 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
1040 | - | |||||||||||||||||||||||||||||||||||||
1041 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
1042 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
1043 | - | |||||||||||||||||||||||||||||||||||||
1044 | ossl_statem_fatal((s), (80), (603), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1045 | - | |||||||||||||||||||||||||||||||||||||
1046 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1047 | , | - | ||||||||||||||||||||||||||||||||||||
1048 | - | |||||||||||||||||||||||||||||||||||||
1049 | 1162 | - | ||||||||||||||||||||||||||||||||||||
1050 | ) | - | ||||||||||||||||||||||||||||||||||||
1051 | - | |||||||||||||||||||||||||||||||||||||
1052 | ; | - | ||||||||||||||||||||||||||||||||||||
1053 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
1054 | - | |||||||||||||||||||||||||||||||||||||
1055 | case executed 3714 times by 1 test: TLS_ST_SR_CLNT_HELLO:case TLS_ST_SR_CLNT_HELLO: Executed by:
executed 3714 times by 1 test: case TLS_ST_SR_CLNT_HELLO: Executed by:
| 3714 | ||||||||||||||||||||||||||||||||||||
1056 | return executed 3714 times by 1 test: tls_process_client_hello(s, pkt);return tls_process_client_hello(s, pkt); Executed by:
executed 3714 times by 1 test: return tls_process_client_hello(s, pkt); Executed by:
| 3714 | ||||||||||||||||||||||||||||||||||||
1057 | - | |||||||||||||||||||||||||||||||||||||
1058 | case executed 16 times by 1 test: TLS_ST_SR_END_OF_EARLY_DATA:case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
executed 16 times by 1 test: case TLS_ST_SR_END_OF_EARLY_DATA: Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
1059 | return executed 16 times by 1 test: tls_process_end_of_early_data(s, pkt);return tls_process_end_of_early_data(s, pkt); Executed by:
executed 16 times by 1 test: return tls_process_end_of_early_data(s, pkt); Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
1060 | - | |||||||||||||||||||||||||||||||||||||
1061 | case executed 77 times by 1 test: TLS_ST_SR_CERT:case TLS_ST_SR_CERT: Executed by:
executed 77 times by 1 test: case TLS_ST_SR_CERT: Executed by:
| 77 | ||||||||||||||||||||||||||||||||||||
1062 | return executed 77 times by 1 test: tls_process_client_certificate(s, pkt);return tls_process_client_certificate(s, pkt); Executed by:
executed 77 times by 1 test: return tls_process_client_certificate(s, pkt); Executed by:
| 77 | ||||||||||||||||||||||||||||||||||||
1063 | - | |||||||||||||||||||||||||||||||||||||
1064 | case executed 1250 times by 1 test: TLS_ST_SR_KEY_EXCH:case TLS_ST_SR_KEY_EXCH: Executed by:
executed 1250 times by 1 test: case TLS_ST_SR_KEY_EXCH: Executed by:
| 1250 | ||||||||||||||||||||||||||||||||||||
1065 | return executed 1250 times by 1 test: tls_process_client_key_exchange(s, pkt);return tls_process_client_key_exchange(s, pkt); Executed by:
executed 1250 times by 1 test: return tls_process_client_key_exchange(s, pkt); Executed by:
| 1250 | ||||||||||||||||||||||||||||||||||||
1066 | - | |||||||||||||||||||||||||||||||||||||
1067 | case executed 35 times by 1 test: TLS_ST_SR_CERT_VRFY:case TLS_ST_SR_CERT_VRFY: Executed by:
executed 35 times by 1 test: case TLS_ST_SR_CERT_VRFY: Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
1068 | return executed 35 times by 1 test: tls_process_cert_verify(s, pkt);return tls_process_cert_verify(s, pkt); Executed by:
executed 35 times by 1 test: return tls_process_cert_verify(s, pkt); Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
1069 | - | |||||||||||||||||||||||||||||||||||||
1070 | - | |||||||||||||||||||||||||||||||||||||
1071 | case executed 21 times by 1 test: TLS_ST_SR_NEXT_PROTO:case TLS_ST_SR_NEXT_PROTO: Executed by:
executed 21 times by 1 test: case TLS_ST_SR_NEXT_PROTO: Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
1072 | return executed 21 times by 1 test: tls_process_next_proto(s, pkt);return tls_process_next_proto(s, pkt); Executed by:
executed 21 times by 1 test: return tls_process_next_proto(s, pkt); Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
1073 | - | |||||||||||||||||||||||||||||||||||||
1074 | - | |||||||||||||||||||||||||||||||||||||
1075 | case executed 1217 times by 1 test: TLS_ST_SR_CHANGE:case TLS_ST_SR_CHANGE: Executed by:
executed 1217 times by 1 test: case TLS_ST_SR_CHANGE: Executed by:
| 1217 | ||||||||||||||||||||||||||||||||||||
1076 | return executed 1217 times by 1 test: tls_process_change_cipher_spec(s, pkt);return tls_process_change_cipher_spec(s, pkt); Executed by:
executed 1217 times by 1 test: return tls_process_change_cipher_spec(s, pkt); Executed by:
| 1217 | ||||||||||||||||||||||||||||||||||||
1077 | - | |||||||||||||||||||||||||||||||||||||
1078 | case executed 1633 times by 1 test: TLS_ST_SR_FINISHED:case TLS_ST_SR_FINISHED: Executed by:
executed 1633 times by 1 test: case TLS_ST_SR_FINISHED: Executed by:
| 1633 | ||||||||||||||||||||||||||||||||||||
1079 | return executed 1633 times by 1 test: tls_process_finished(s, pkt);return tls_process_finished(s, pkt); Executed by:
executed 1633 times by 1 test: return tls_process_finished(s, pkt); Executed by:
| 1633 | ||||||||||||||||||||||||||||||||||||
1080 | - | |||||||||||||||||||||||||||||||||||||
1081 | case executed 3 times by 1 test: TLS_ST_SR_KEY_UPDATE:case TLS_ST_SR_KEY_UPDATE: Executed by:
executed 3 times by 1 test: case TLS_ST_SR_KEY_UPDATE: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1082 | return executed 3 times by 1 test: tls_process_key_update(s, pkt);return tls_process_key_update(s, pkt); Executed by:
executed 3 times by 1 test: return tls_process_key_update(s, pkt); Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1083 | - | |||||||||||||||||||||||||||||||||||||
1084 | } | - | ||||||||||||||||||||||||||||||||||||
1085 | } | - | ||||||||||||||||||||||||||||||||||||
1086 | - | |||||||||||||||||||||||||||||||||||||
1087 | - | |||||||||||||||||||||||||||||||||||||
1088 | - | |||||||||||||||||||||||||||||||||||||
1089 | - | |||||||||||||||||||||||||||||||||||||
1090 | - | |||||||||||||||||||||||||||||||||||||
1091 | WORK_STATE ossl_statem_server_post_process_message(SSL *s, WORK_STATE wst) | - | ||||||||||||||||||||||||||||||||||||
1092 | { | - | ||||||||||||||||||||||||||||||||||||
1093 | OSSL_STATEM *st = &s->statem; | - | ||||||||||||||||||||||||||||||||||||
1094 | - | |||||||||||||||||||||||||||||||||||||
1095 | switch (st->hand_state) { | - | ||||||||||||||||||||||||||||||||||||
1096 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
1097 | - | |||||||||||||||||||||||||||||||||||||
1098 | ossl_statem_fatal((s), (80), (601), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1099 | - | |||||||||||||||||||||||||||||||||||||
1100 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1101 | , | - | ||||||||||||||||||||||||||||||||||||
1102 | - | |||||||||||||||||||||||||||||||||||||
1103 | 1210 | - | ||||||||||||||||||||||||||||||||||||
1104 | ) | - | ||||||||||||||||||||||||||||||||||||
1105 | - | |||||||||||||||||||||||||||||||||||||
1106 | ; | - | ||||||||||||||||||||||||||||||||||||
1107 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
1108 | - | |||||||||||||||||||||||||||||||||||||
1109 | case executed 3660 times by 1 test: TLS_ST_SR_CLNT_HELLO:case TLS_ST_SR_CLNT_HELLO: Executed by:
executed 3660 times by 1 test: case TLS_ST_SR_CLNT_HELLO: Executed by:
| 3660 | ||||||||||||||||||||||||||||||||||||
1110 | return executed 3660 times by 1 test: tls_post_process_client_hello(s, wst);return tls_post_process_client_hello(s, wst); Executed by:
executed 3660 times by 1 test: return tls_post_process_client_hello(s, wst); Executed by:
| 3660 | ||||||||||||||||||||||||||||||||||||
1111 | - | |||||||||||||||||||||||||||||||||||||
1112 | case executed 1189 times by 1 test: TLS_ST_SR_KEY_EXCH:case TLS_ST_SR_KEY_EXCH: Executed by:
executed 1189 times by 1 test: case TLS_ST_SR_KEY_EXCH: Executed by:
| 1189 | ||||||||||||||||||||||||||||||||||||
1113 | return executed 1189 times by 1 test: tls_post_process_client_key_exchange(s, wst);return tls_post_process_client_key_exchange(s, wst); Executed by:
executed 1189 times by 1 test: return tls_post_process_client_key_exchange(s, wst); Executed by:
| 1189 | ||||||||||||||||||||||||||||||||||||
1114 | } | - | ||||||||||||||||||||||||||||||||||||
1115 | } | - | ||||||||||||||||||||||||||||||||||||
1116 | - | |||||||||||||||||||||||||||||||||||||
1117 | - | |||||||||||||||||||||||||||||||||||||
1118 | - | |||||||||||||||||||||||||||||||||||||
1119 | static int ssl_check_srp_ext_ClientHello(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
1120 | { | - | ||||||||||||||||||||||||||||||||||||
1121 | int ret; | - | ||||||||||||||||||||||||||||||||||||
1122 | int al = 112; | - | ||||||||||||||||||||||||||||||||||||
1123 | - | |||||||||||||||||||||||||||||||||||||
1124 | if ((
| 10-2471 | ||||||||||||||||||||||||||||||||||||
1125 | (
| 0-10 | ||||||||||||||||||||||||||||||||||||
1126 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
1127 | )
| 0-10 | ||||||||||||||||||||||||||||||||||||
1128 | if (s->srp_ctx.login ==
| 0-10 | ||||||||||||||||||||||||||||||||||||
1129 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
1130 | ) { | - | ||||||||||||||||||||||||||||||||||||
1131 | - | |||||||||||||||||||||||||||||||||||||
1132 | - | |||||||||||||||||||||||||||||||||||||
1133 | - | |||||||||||||||||||||||||||||||||||||
1134 | - | |||||||||||||||||||||||||||||||||||||
1135 | ossl_statem_fatal((s), (115), (606), (223), | - | ||||||||||||||||||||||||||||||||||||
1136 | - | |||||||||||||||||||||||||||||||||||||
1137 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1138 | , | - | ||||||||||||||||||||||||||||||||||||
1139 | - | |||||||||||||||||||||||||||||||||||||
1140 | 1237 | - | ||||||||||||||||||||||||||||||||||||
1141 | ) | - | ||||||||||||||||||||||||||||||||||||
1142 | - | |||||||||||||||||||||||||||||||||||||
1143 | ; | - | ||||||||||||||||||||||||||||||||||||
1144 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||||||||||||||
1145 | } else { | - | ||||||||||||||||||||||||||||||||||||
1146 | ret = SSL_srp_server_param_with_username(s, &al); | - | ||||||||||||||||||||||||||||||||||||
1147 | if (ret < 0
| 0-10 | ||||||||||||||||||||||||||||||||||||
1148 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
1149 | if (ret == 2
| 0-10 | ||||||||||||||||||||||||||||||||||||
1150 | ossl_statem_fatal((s), (al), (606), (al == 115 ? 223 : 226), | - | ||||||||||||||||||||||||||||||||||||
1151 | - | |||||||||||||||||||||||||||||||||||||
1152 | - | |||||||||||||||||||||||||||||||||||||
1153 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1154 | , | - | ||||||||||||||||||||||||||||||||||||
1155 | - | |||||||||||||||||||||||||||||||||||||
1156 | - | |||||||||||||||||||||||||||||||||||||
1157 | 1247 | - | ||||||||||||||||||||||||||||||||||||
1158 | ) | - | ||||||||||||||||||||||||||||||||||||
1159 | - | |||||||||||||||||||||||||||||||||||||
1160 | - | |||||||||||||||||||||||||||||||||||||
1161 | ; | - | ||||||||||||||||||||||||||||||||||||
1162 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||||||||||||||
1163 | } | - | ||||||||||||||||||||||||||||||||||||
1164 | } executed 10 times by 1 test: end of block Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||
1165 | } | - | ||||||||||||||||||||||||||||||||||||
1166 | return executed 2481 times by 1 test: 1;return 1; Executed by:
executed 2481 times by 1 test: return 1; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
1167 | } | - | ||||||||||||||||||||||||||||||||||||
1168 | - | |||||||||||||||||||||||||||||||||||||
1169 | - | |||||||||||||||||||||||||||||||||||||
1170 | int dtls_raw_hello_verify_request(WPACKET *pkt, unsigned char *cookie, | - | ||||||||||||||||||||||||||||||||||||
1171 | size_t cookie_len) | - | ||||||||||||||||||||||||||||||||||||
1172 | { | - | ||||||||||||||||||||||||||||||||||||
1173 | - | |||||||||||||||||||||||||||||||||||||
1174 | if (!WPACKET_put_bytes__((pkt), (0xFEFF), 2)
| 0-3 | ||||||||||||||||||||||||||||||||||||
1175 | || !WPACKET_sub_memcpy__((pkt), (cookie), (cookie_len), 1)
| 0-3 | ||||||||||||||||||||||||||||||||||||
1176 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
1177 | - | |||||||||||||||||||||||||||||||||||||
1178 | return executed 3 times by 1 test: 1;return 1; Executed by:
executed 3 times by 1 test: return 1; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1179 | } | - | ||||||||||||||||||||||||||||||||||||
1180 | - | |||||||||||||||||||||||||||||||||||||
1181 | int dtls_construct_hello_verify_request(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
1182 | { | - | ||||||||||||||||||||||||||||||||||||
1183 | unsigned int cookie_leni; | - | ||||||||||||||||||||||||||||||||||||
1184 | if (s->ctx->app_gen_cookie_cb ==
| 0 | ||||||||||||||||||||||||||||||||||||
1185 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
1186 | || | - | ||||||||||||||||||||||||||||||||||||
1187 | s->ctx->app_gen_cookie_cb(s, s->d1->cookie,
| 0 | ||||||||||||||||||||||||||||||||||||
1188 | &cookie_leni) == 0
| 0 | ||||||||||||||||||||||||||||||||||||
1189 | cookie_leni > 255
| 0 | ||||||||||||||||||||||||||||||||||||
1190 | ossl_statem_fatal((s), (-1), (385), (400), | - | ||||||||||||||||||||||||||||||||||||
1191 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1192 | , | - | ||||||||||||||||||||||||||||||||||||
1193 | 1275 | - | ||||||||||||||||||||||||||||||||||||
1194 | ) | - | ||||||||||||||||||||||||||||||||||||
1195 | ; | - | ||||||||||||||||||||||||||||||||||||
1196 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
1197 | } | - | ||||||||||||||||||||||||||||||||||||
1198 | s->d1->cookie_len = cookie_leni; | - | ||||||||||||||||||||||||||||||||||||
1199 | - | |||||||||||||||||||||||||||||||||||||
1200 | if (!dtls_raw_hello_verify_request(pkt, s->d1->cookie,
| 0 | ||||||||||||||||||||||||||||||||||||
1201 | s->d1->cookie_len)
| 0 | ||||||||||||||||||||||||||||||||||||
1202 | ossl_statem_fatal((s), (-1), (385), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1203 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1204 | , | - | ||||||||||||||||||||||||||||||||||||
1205 | 1283 | - | ||||||||||||||||||||||||||||||||||||
1206 | ) | - | ||||||||||||||||||||||||||||||||||||
1207 | ; | - | ||||||||||||||||||||||||||||||||||||
1208 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
1209 | } | - | ||||||||||||||||||||||||||||||||||||
1210 | - | |||||||||||||||||||||||||||||||||||||
1211 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||
1212 | } | - | ||||||||||||||||||||||||||||||||||||
1213 | static void ssl_check_for_safari(SSL *s, const CLIENTHELLO_MSG *hello) | - | ||||||||||||||||||||||||||||||||||||
1214 | { | - | ||||||||||||||||||||||||||||||||||||
1215 | static const unsigned char kSafariExtensionsBlock[] = { | - | ||||||||||||||||||||||||||||||||||||
1216 | 0x00, 0x0a, | - | ||||||||||||||||||||||||||||||||||||
1217 | 0x00, 0x08, | - | ||||||||||||||||||||||||||||||||||||
1218 | 0x00, 0x06, | - | ||||||||||||||||||||||||||||||||||||
1219 | 0x00, 0x17, | - | ||||||||||||||||||||||||||||||||||||
1220 | 0x00, 0x18, | - | ||||||||||||||||||||||||||||||||||||
1221 | 0x00, 0x19, | - | ||||||||||||||||||||||||||||||||||||
1222 | - | |||||||||||||||||||||||||||||||||||||
1223 | 0x00, 0x0b, | - | ||||||||||||||||||||||||||||||||||||
1224 | 0x00, 0x02, | - | ||||||||||||||||||||||||||||||||||||
1225 | 0x01, | - | ||||||||||||||||||||||||||||||||||||
1226 | 0x00, | - | ||||||||||||||||||||||||||||||||||||
1227 | - | |||||||||||||||||||||||||||||||||||||
1228 | 0x00, 0x0d, | - | ||||||||||||||||||||||||||||||||||||
1229 | 0x00, 0x0c, | - | ||||||||||||||||||||||||||||||||||||
1230 | 0x00, 0x0a, | - | ||||||||||||||||||||||||||||||||||||
1231 | 0x05, 0x01, | - | ||||||||||||||||||||||||||||||||||||
1232 | 0x04, 0x01, | - | ||||||||||||||||||||||||||||||||||||
1233 | 0x02, 0x01, | - | ||||||||||||||||||||||||||||||||||||
1234 | 0x04, 0x03, | - | ||||||||||||||||||||||||||||||||||||
1235 | 0x02, 0x03, | - | ||||||||||||||||||||||||||||||||||||
1236 | }; | - | ||||||||||||||||||||||||||||||||||||
1237 | - | |||||||||||||||||||||||||||||||||||||
1238 | static const size_t kSafariCommonExtensionsLength = 18; | - | ||||||||||||||||||||||||||||||||||||
1239 | unsigned int type; | - | ||||||||||||||||||||||||||||||||||||
1240 | PACKET sni, tmppkt; | - | ||||||||||||||||||||||||||||||||||||
1241 | size_t ext_len; | - | ||||||||||||||||||||||||||||||||||||
1242 | - | |||||||||||||||||||||||||||||||||||||
1243 | tmppkt = hello->extensions; | - | ||||||||||||||||||||||||||||||||||||
1244 | - | |||||||||||||||||||||||||||||||||||||
1245 | if (!PACKET_forward(&tmppkt, 2)
| 0 | ||||||||||||||||||||||||||||||||||||
1246 | || !PACKET_get_net_2(&tmppkt, &type)
| 0 | ||||||||||||||||||||||||||||||||||||
1247 | || !PACKET_get_length_prefixed_2(&tmppkt, &sni)
| 0 | ||||||||||||||||||||||||||||||||||||
1248 | return; never executed: return; | 0 | ||||||||||||||||||||||||||||||||||||
1249 | } | - | ||||||||||||||||||||||||||||||||||||
1250 | - | |||||||||||||||||||||||||||||||||||||
1251 | if (type != 0
| 0 | ||||||||||||||||||||||||||||||||||||
1252 | return; never executed: return; | 0 | ||||||||||||||||||||||||||||||||||||
1253 | - | |||||||||||||||||||||||||||||||||||||
1254 | ext_len = ((
| 0 | ||||||||||||||||||||||||||||||||||||
1255 | sizeof(kSafariExtensionsBlock) : kSafariCommonExtensionsLength; | - | ||||||||||||||||||||||||||||||||||||
1256 | - | |||||||||||||||||||||||||||||||||||||
1257 | s->s3->is_probably_safari = PACKET_equal(&tmppkt, kSafariExtensionsBlock, | - | ||||||||||||||||||||||||||||||||||||
1258 | ext_len); | - | ||||||||||||||||||||||||||||||||||||
1259 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
1260 | - | |||||||||||||||||||||||||||||||||||||
1261 | - | |||||||||||||||||||||||||||||||||||||
1262 | MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
1263 | { | - | ||||||||||||||||||||||||||||||||||||
1264 | - | |||||||||||||||||||||||||||||||||||||
1265 | PACKET session_id, compression, extensions, cookie; | - | ||||||||||||||||||||||||||||||||||||
1266 | static const unsigned char null_compression = 0; | - | ||||||||||||||||||||||||||||||||||||
1267 | CLIENTHELLO_MSG *clienthello = | - | ||||||||||||||||||||||||||||||||||||
1268 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1269 | ; | - | ||||||||||||||||||||||||||||||||||||
1270 | - | |||||||||||||||||||||||||||||||||||||
1271 | - | |||||||||||||||||||||||||||||||||||||
1272 | if (s->renegotiate == 0
| 0-3707 | ||||||||||||||||||||||||||||||||||||
1273 | if (!((!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-17 | ||||||||||||||||||||||||||||||||||||
1274 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1275 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1276 | , | - | ||||||||||||||||||||||||||||||||||||
1277 | 1365 | - | ||||||||||||||||||||||||||||||||||||
1278 | ) | - | ||||||||||||||||||||||||||||||||||||
1279 | ; | - | ||||||||||||||||||||||||||||||||||||
1280 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1281 | } | - | ||||||||||||||||||||||||||||||||||||
1282 | if ((
| 1-16 | ||||||||||||||||||||||||||||||||||||
1283 | || (!s->s3->send_connection_binding
| 1-15 | ||||||||||||||||||||||||||||||||||||
1284 | && (
| 0-1 | ||||||||||||||||||||||||||||||||||||
1285 | & 0x00040000U) == 0
| 0-1 | ||||||||||||||||||||||||||||||||||||
1286 | ssl3_send_alert(s, 1, 100); | - | ||||||||||||||||||||||||||||||||||||
1287 | return executed 2 times by 1 test: MSG_PROCESS_FINISHED_READING;return MSG_PROCESS_FINISHED_READING; Executed by:
executed 2 times by 1 test: return MSG_PROCESS_FINISHED_READING; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
1288 | } | - | ||||||||||||||||||||||||||||||||||||
1289 | s->renegotiate = 1; | - | ||||||||||||||||||||||||||||||||||||
1290 | s->new_session = 1; | - | ||||||||||||||||||||||||||||||||||||
1291 | } executed 15 times by 1 test: end of block Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
1292 | - | |||||||||||||||||||||||||||||||||||||
1293 | clienthello = CRYPTO_zalloc(sizeof(*clienthello), __FILE__, 1379); | - | ||||||||||||||||||||||||||||||||||||
1294 | if (clienthello ==
| 0-3712 | ||||||||||||||||||||||||||||||||||||
1295 | ((void *)0)
| 0-3712 | ||||||||||||||||||||||||||||||||||||
1296 | ) { | - | ||||||||||||||||||||||||||||||||||||
1297 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1298 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1299 | , | - | ||||||||||||||||||||||||||||||||||||
1300 | 1382 | - | ||||||||||||||||||||||||||||||||||||
1301 | ) | - | ||||||||||||||||||||||||||||||||||||
1302 | ; | - | ||||||||||||||||||||||||||||||||||||
1303 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1304 | } | - | ||||||||||||||||||||||||||||||||||||
1305 | - | |||||||||||||||||||||||||||||||||||||
1306 | - | |||||||||||||||||||||||||||||||||||||
1307 | - | |||||||||||||||||||||||||||||||||||||
1308 | - | |||||||||||||||||||||||||||||||||||||
1309 | clienthello->isv2 = RECORD_LAYER_is_sslv2_record(&s->rlayer); | - | ||||||||||||||||||||||||||||||||||||
1310 | PACKET_null_init(&cookie); | - | ||||||||||||||||||||||||||||||||||||
1311 | - | |||||||||||||||||||||||||||||||||||||
1312 | if (clienthello->isv2
| 185-3527 | ||||||||||||||||||||||||||||||||||||
1313 | unsigned int mt; | - | ||||||||||||||||||||||||||||||||||||
1314 | - | |||||||||||||||||||||||||||||||||||||
1315 | if (!((
| 0-185 | ||||||||||||||||||||||||||||||||||||
1316 | || s->hello_retry_request != SSL_HRR_NONE
| 0-185 | ||||||||||||||||||||||||||||||||||||
1317 | ossl_statem_fatal((s), (10), (381), (244), | - | ||||||||||||||||||||||||||||||||||||
1318 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1319 | , | - | ||||||||||||||||||||||||||||||||||||
1320 | 1398 | - | ||||||||||||||||||||||||||||||||||||
1321 | ) | - | ||||||||||||||||||||||||||||||||||||
1322 | ; | - | ||||||||||||||||||||||||||||||||||||
1323 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1324 | } | - | ||||||||||||||||||||||||||||||||||||
1325 | if (!PACKET_get_1(pkt, &mt)
| 0-185 | ||||||||||||||||||||||||||||||||||||
1326 | || mt != 1
| 0-185 | ||||||||||||||||||||||||||||||||||||
1327 | - | |||||||||||||||||||||||||||||||||||||
1328 | - | |||||||||||||||||||||||||||||||||||||
1329 | - | |||||||||||||||||||||||||||||||||||||
1330 | - | |||||||||||||||||||||||||||||||||||||
1331 | - | |||||||||||||||||||||||||||||||||||||
1332 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1333 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1334 | , | - | ||||||||||||||||||||||||||||||||||||
1335 | 1425 | - | ||||||||||||||||||||||||||||||||||||
1336 | ) | - | ||||||||||||||||||||||||||||||||||||
1337 | ; | - | ||||||||||||||||||||||||||||||||||||
1338 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1339 | } | - | ||||||||||||||||||||||||||||||||||||
1340 | } executed 185 times by 1 test: end of block Executed by:
| 185 | ||||||||||||||||||||||||||||||||||||
1341 | - | |||||||||||||||||||||||||||||||||||||
1342 | if (!PACKET_get_net_2(pkt, &clienthello->legacy_version)
| 1-3711 | ||||||||||||||||||||||||||||||||||||
1343 | ossl_statem_fatal((s), (50), (381), (160), | - | ||||||||||||||||||||||||||||||||||||
1344 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1345 | , | - | ||||||||||||||||||||||||||||||||||||
1346 | 1432 | - | ||||||||||||||||||||||||||||||||||||
1347 | ) | - | ||||||||||||||||||||||||||||||||||||
1348 | ; | - | ||||||||||||||||||||||||||||||||||||
1349 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1350 | } | - | ||||||||||||||||||||||||||||||||||||
1351 | - | |||||||||||||||||||||||||||||||||||||
1352 | - | |||||||||||||||||||||||||||||||||||||
1353 | if (clienthello->isv2
| 185-3526 | ||||||||||||||||||||||||||||||||||||
1354 | - | |||||||||||||||||||||||||||||||||||||
1355 | - | |||||||||||||||||||||||||||||||||||||
1356 | - | |||||||||||||||||||||||||||||||||||||
1357 | - | |||||||||||||||||||||||||||||||||||||
1358 | - | |||||||||||||||||||||||||||||||||||||
1359 | unsigned int ciphersuite_len, session_id_len, challenge_len; | - | ||||||||||||||||||||||||||||||||||||
1360 | PACKET challenge; | - | ||||||||||||||||||||||||||||||||||||
1361 | - | |||||||||||||||||||||||||||||||||||||
1362 | if (!PACKET_get_net_2(pkt, &ciphersuite_len)
| 0-185 | ||||||||||||||||||||||||||||||||||||
1363 | || !PACKET_get_net_2(pkt, &session_id_len)
| 0-185 | ||||||||||||||||||||||||||||||||||||
1364 | || !PACKET_get_net_2(pkt, &challenge_len)
| 0-185 | ||||||||||||||||||||||||||||||||||||
1365 | ossl_statem_fatal((s), (50), (381), (213), | - | ||||||||||||||||||||||||||||||||||||
1366 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1367 | , | - | ||||||||||||||||||||||||||||||||||||
1368 | 1450 | - | ||||||||||||||||||||||||||||||||||||
1369 | ) | - | ||||||||||||||||||||||||||||||||||||
1370 | ; | - | ||||||||||||||||||||||||||||||||||||
1371 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1372 | } | - | ||||||||||||||||||||||||||||||||||||
1373 | - | |||||||||||||||||||||||||||||||||||||
1374 | if (session_id_len > 32
| 1-184 | ||||||||||||||||||||||||||||||||||||
1375 | ossl_statem_fatal((s), (47), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1376 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1377 | , | - | ||||||||||||||||||||||||||||||||||||
1378 | 1456 | - | ||||||||||||||||||||||||||||||||||||
1379 | ) | - | ||||||||||||||||||||||||||||||||||||
1380 | ; | - | ||||||||||||||||||||||||||||||||||||
1381 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1382 | } | - | ||||||||||||||||||||||||||||||||||||
1383 | - | |||||||||||||||||||||||||||||||||||||
1384 | if (!PACKET_get_sub_packet(pkt, &clienthello->ciphersuites,
| 1-183 | ||||||||||||||||||||||||||||||||||||
1385 | ciphersuite_len)
| 1-183 | ||||||||||||||||||||||||||||||||||||
1386 | || !PACKET_copy_bytes(pkt, clienthello->session_id, session_id_len)
| 1-182 | ||||||||||||||||||||||||||||||||||||
1387 | || !PACKET_get_sub_packet(pkt, &challenge, challenge_len)
| 1-181 | ||||||||||||||||||||||||||||||||||||
1388 | - | |||||||||||||||||||||||||||||||||||||
1389 | || PACKET_remaining(pkt) != 0
| 1-180 | ||||||||||||||||||||||||||||||||||||
1390 | ossl_statem_fatal((s), (50), (381), (213), | - | ||||||||||||||||||||||||||||||||||||
1391 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1392 | , | - | ||||||||||||||||||||||||||||||||||||
1393 | 1467 | - | ||||||||||||||||||||||||||||||||||||
1394 | ) | - | ||||||||||||||||||||||||||||||||||||
1395 | ; | - | ||||||||||||||||||||||||||||||||||||
1396 | goto executed 4 times by 1 test: err;goto err; Executed by:
executed 4 times by 1 test: goto err; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
1397 | } | - | ||||||||||||||||||||||||||||||||||||
1398 | clienthello->session_id_len = session_id_len; | - | ||||||||||||||||||||||||||||||||||||
1399 | - | |||||||||||||||||||||||||||||||||||||
1400 | - | |||||||||||||||||||||||||||||||||||||
1401 | - | |||||||||||||||||||||||||||||||||||||
1402 | - | |||||||||||||||||||||||||||||||||||||
1403 | - | |||||||||||||||||||||||||||||||||||||
1404 | - | |||||||||||||||||||||||||||||||||||||
1405 | challenge_len = challenge_len > 32
| 1-179 | ||||||||||||||||||||||||||||||||||||
1406 | ? 32 : challenge_len; | - | ||||||||||||||||||||||||||||||||||||
1407 | memset(clienthello->random, 0, 32); | - | ||||||||||||||||||||||||||||||||||||
1408 | if (!PACKET_copy_bytes(&challenge,
| 0-180 | ||||||||||||||||||||||||||||||||||||
1409 | clienthello->random + 32 -
| 0-180 | ||||||||||||||||||||||||||||||||||||
1410 | challenge_len, challenge_len)
| 0-180 | ||||||||||||||||||||||||||||||||||||
1411 | - | |||||||||||||||||||||||||||||||||||||
1412 | || !PACKET_buf_init(&compression, &null_compression, 1)
| 0-180 | ||||||||||||||||||||||||||||||||||||
1413 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1414 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1415 | , | - | ||||||||||||||||||||||||||||||||||||
1416 | 1486 | - | ||||||||||||||||||||||||||||||||||||
1417 | ) | - | ||||||||||||||||||||||||||||||||||||
1418 | ; | - | ||||||||||||||||||||||||||||||||||||
1419 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1420 | } | - | ||||||||||||||||||||||||||||||||||||
1421 | - | |||||||||||||||||||||||||||||||||||||
1422 | PACKET_null_init(&clienthello->extensions); | - | ||||||||||||||||||||||||||||||||||||
1423 | } executed 180 times by 1 test: else {end of block Executed by:
| 180 | ||||||||||||||||||||||||||||||||||||
1424 | - | |||||||||||||||||||||||||||||||||||||
1425 | if (!PACKET_copy_bytes(pkt, clienthello->random, 32)
| 1-3525 | ||||||||||||||||||||||||||||||||||||
1426 | || !PACKET_get_length_prefixed_1(pkt, &session_id)
| 2-3523 | ||||||||||||||||||||||||||||||||||||
1427 | || !PACKET_copy_all(&session_id, clienthello->session_id,
| 1-3522 | ||||||||||||||||||||||||||||||||||||
1428 | 32,
| 1-3522 | ||||||||||||||||||||||||||||||||||||
1429 | &clienthello->session_id_len)
| 1-3522 | ||||||||||||||||||||||||||||||||||||
1430 | ossl_statem_fatal((s), (50), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1431 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1432 | , | - | ||||||||||||||||||||||||||||||||||||
1433 | 1499 | - | ||||||||||||||||||||||||||||||||||||
1434 | ) | - | ||||||||||||||||||||||||||||||||||||
1435 | ; | - | ||||||||||||||||||||||||||||||||||||
1436 | goto executed 4 times by 1 test: err;goto err; Executed by:
executed 4 times by 1 test: goto err; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
1437 | } | - | ||||||||||||||||||||||||||||||||||||
1438 | - | |||||||||||||||||||||||||||||||||||||
1439 | if ((
| 190-3332 | ||||||||||||||||||||||||||||||||||||
1440 | if (!PACKET_get_length_prefixed_1(pkt, &cookie)
| 0-190 | ||||||||||||||||||||||||||||||||||||
1441 | ossl_statem_fatal((s), (50), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1442 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1443 | , | - | ||||||||||||||||||||||||||||||||||||
1444 | 1506 | - | ||||||||||||||||||||||||||||||||||||
1445 | ) | - | ||||||||||||||||||||||||||||||||||||
1446 | ; | - | ||||||||||||||||||||||||||||||||||||
1447 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1448 | } | - | ||||||||||||||||||||||||||||||||||||
1449 | if (!PACKET_copy_all(&cookie, clienthello->dtls_cookie,
| 0-190 | ||||||||||||||||||||||||||||||||||||
1450 | 256,
| 0-190 | ||||||||||||||||||||||||||||||||||||
1451 | &clienthello->dtls_cookie_len)
| 0-190 | ||||||||||||||||||||||||||||||||||||
1452 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1453 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1454 | , | - | ||||||||||||||||||||||||||||||||||||
1455 | 1513 | - | ||||||||||||||||||||||||||||||||||||
1456 | ) | - | ||||||||||||||||||||||||||||||||||||
1457 | ; | - | ||||||||||||||||||||||||||||||||||||
1458 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1459 | } | - | ||||||||||||||||||||||||||||||||||||
1460 | - | |||||||||||||||||||||||||||||||||||||
1461 | - | |||||||||||||||||||||||||||||||||||||
1462 | - | |||||||||||||||||||||||||||||||||||||
1463 | - | |||||||||||||||||||||||||||||||||||||
1464 | - | |||||||||||||||||||||||||||||||||||||
1465 | if (SSL_get_options(s) & 0x00002000U
| 0-190 | ||||||||||||||||||||||||||||||||||||
1466 | if (clienthello->dtls_cookie_len == 0
| 0 | ||||||||||||||||||||||||||||||||||||
1467 | return never executed: MSG_PROCESS_FINISHED_READING;return MSG_PROCESS_FINISHED_READING; never executed: return MSG_PROCESS_FINISHED_READING; | 0 | ||||||||||||||||||||||||||||||||||||
1468 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
1469 | } executed 190 times by 1 test: end of block Executed by:
| 190 | ||||||||||||||||||||||||||||||||||||
1470 | - | |||||||||||||||||||||||||||||||||||||
1471 | if (!PACKET_get_length_prefixed_2(pkt, &clienthello->ciphersuites)
| 3-3519 | ||||||||||||||||||||||||||||||||||||
1472 | ossl_statem_fatal((s), (50), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1473 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1474 | , | - | ||||||||||||||||||||||||||||||||||||
1475 | 1529 | - | ||||||||||||||||||||||||||||||||||||
1476 | ) | - | ||||||||||||||||||||||||||||||||||||
1477 | ; | - | ||||||||||||||||||||||||||||||||||||
1478 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1479 | } | - | ||||||||||||||||||||||||||||||||||||
1480 | - | |||||||||||||||||||||||||||||||||||||
1481 | if (!PACKET_get_length_prefixed_1(pkt, &compression)
| 3-3516 | ||||||||||||||||||||||||||||||||||||
1482 | ossl_statem_fatal((s), (50), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1483 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1484 | , | - | ||||||||||||||||||||||||||||||||||||
1485 | 1535 | - | ||||||||||||||||||||||||||||||||||||
1486 | ) | - | ||||||||||||||||||||||||||||||||||||
1487 | ; | - | ||||||||||||||||||||||||||||||||||||
1488 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1489 | } | - | ||||||||||||||||||||||||||||||||||||
1490 | - | |||||||||||||||||||||||||||||||||||||
1491 | - | |||||||||||||||||||||||||||||||||||||
1492 | if (PACKET_remaining(pkt) == 0
| 249-3267 | ||||||||||||||||||||||||||||||||||||
1493 | PACKET_null_init(&clienthello->extensions); | - | ||||||||||||||||||||||||||||||||||||
1494 | } executed 249 times by 1 test: else {end of block Executed by:
| 249 | ||||||||||||||||||||||||||||||||||||
1495 | if (!PACKET_get_length_prefixed_2(pkt, &clienthello->extensions)
| 2-3265 | ||||||||||||||||||||||||||||||||||||
1496 | || PACKET_remaining(pkt) != 0
| 1-3264 | ||||||||||||||||||||||||||||||||||||
1497 | ossl_statem_fatal((s), (50), (381), (159), | - | ||||||||||||||||||||||||||||||||||||
1498 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1499 | , | - | ||||||||||||||||||||||||||||||||||||
1500 | 1546 | - | ||||||||||||||||||||||||||||||||||||
1501 | ) | - | ||||||||||||||||||||||||||||||||||||
1502 | ; | - | ||||||||||||||||||||||||||||||||||||
1503 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1504 | } | - | ||||||||||||||||||||||||||||||||||||
1505 | } executed 3264 times by 1 test: end of block Executed by:
| 3264 | ||||||||||||||||||||||||||||||||||||
1506 | } | - | ||||||||||||||||||||||||||||||||||||
1507 | - | |||||||||||||||||||||||||||||||||||||
1508 | if (!PACKET_copy_all(&compression, clienthello->compressions,
| 0-3693 | ||||||||||||||||||||||||||||||||||||
1509 | 255,
| 0-3693 | ||||||||||||||||||||||||||||||||||||
1510 | &clienthello->compressions_len)
| 0-3693 | ||||||||||||||||||||||||||||||||||||
1511 | ossl_statem_fatal((s), (80), (381), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1512 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1513 | , | - | ||||||||||||||||||||||||||||||||||||
1514 | 1556 | - | ||||||||||||||||||||||||||||||||||||
1515 | ) | - | ||||||||||||||||||||||||||||||||||||
1516 | ; | - | ||||||||||||||||||||||||||||||||||||
1517 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1518 | } | - | ||||||||||||||||||||||||||||||||||||
1519 | - | |||||||||||||||||||||||||||||||||||||
1520 | - | |||||||||||||||||||||||||||||||||||||
1521 | extensions = clienthello->extensions; | - | ||||||||||||||||||||||||||||||||||||
1522 | if (!tls_collect_extensions(s, &extensions, 0x0080,
| 36-3657 | ||||||||||||||||||||||||||||||||||||
1523 | &clienthello->pre_proc_exts,
| 36-3657 | ||||||||||||||||||||||||||||||||||||
1524 | &clienthello->pre_proc_exts_len, 1)
| 36-3657 | ||||||||||||||||||||||||||||||||||||
1525 | - | |||||||||||||||||||||||||||||||||||||
1526 | goto executed 36 times by 1 test: err;goto err; Executed by:
executed 36 times by 1 test: goto err; Executed by:
| 36 | ||||||||||||||||||||||||||||||||||||
1527 | } | - | ||||||||||||||||||||||||||||||||||||
1528 | s->clienthello = clienthello; | - | ||||||||||||||||||||||||||||||||||||
1529 | - | |||||||||||||||||||||||||||||||||||||
1530 | return executed 3657 times by 1 test: MSG_PROCESS_CONTINUE_PROCESSING;return MSG_PROCESS_CONTINUE_PROCESSING; Executed by:
executed 3657 times by 1 test: return MSG_PROCESS_CONTINUE_PROCESSING; Executed by:
| 3657 | ||||||||||||||||||||||||||||||||||||
1531 | - | |||||||||||||||||||||||||||||||||||||
1532 | err: | - | ||||||||||||||||||||||||||||||||||||
1533 | if (clienthello !=
| 0-55 | ||||||||||||||||||||||||||||||||||||
1534 | ((void *)0)
| 0-55 | ||||||||||||||||||||||||||||||||||||
1535 | ) | - | ||||||||||||||||||||||||||||||||||||
1536 | CRYPTO_free(clienthello->pre_proc_exts, __FILE__, 1574); executed 55 times by 1 test: CRYPTO_free(clienthello->pre_proc_exts, __FILE__, 1574); Executed by:
| 55 | ||||||||||||||||||||||||||||||||||||
1537 | CRYPTO_free(clienthello, __FILE__, 1575); | - | ||||||||||||||||||||||||||||||||||||
1538 | - | |||||||||||||||||||||||||||||||||||||
1539 | return executed 55 times by 1 test: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; Executed by:
executed 55 times by 1 test: return MSG_PROCESS_ERROR; Executed by:
| 55 | ||||||||||||||||||||||||||||||||||||
1540 | } | - | ||||||||||||||||||||||||||||||||||||
1541 | - | |||||||||||||||||||||||||||||||||||||
1542 | static int tls_early_post_process_client_hello(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
1543 | { | - | ||||||||||||||||||||||||||||||||||||
1544 | unsigned int j; | - | ||||||||||||||||||||||||||||||||||||
1545 | int i, al = 80; | - | ||||||||||||||||||||||||||||||||||||
1546 | int protverr; | - | ||||||||||||||||||||||||||||||||||||
1547 | size_t loop; | - | ||||||||||||||||||||||||||||||||||||
1548 | unsigned long id; | - | ||||||||||||||||||||||||||||||||||||
1549 | - | |||||||||||||||||||||||||||||||||||||
1550 | SSL_COMP *comp = | - | ||||||||||||||||||||||||||||||||||||
1551 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1552 | ; | - | ||||||||||||||||||||||||||||||||||||
1553 | - | |||||||||||||||||||||||||||||||||||||
1554 | const SSL_CIPHER *c; | - | ||||||||||||||||||||||||||||||||||||
1555 | struct stack_st_SSL_CIPHER *ciphers = | - | ||||||||||||||||||||||||||||||||||||
1556 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1557 | ; | - | ||||||||||||||||||||||||||||||||||||
1558 | struct stack_st_SSL_CIPHER *scsvs = | - | ||||||||||||||||||||||||||||||||||||
1559 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1560 | ; | - | ||||||||||||||||||||||||||||||||||||
1561 | CLIENTHELLO_MSG *clienthello = s->clienthello; | - | ||||||||||||||||||||||||||||||||||||
1562 | DOWNGRADE dgrd = DOWNGRADE_NONE; | - | ||||||||||||||||||||||||||||||||||||
1563 | - | |||||||||||||||||||||||||||||||||||||
1564 | - | |||||||||||||||||||||||||||||||||||||
1565 | - | |||||||||||||||||||||||||||||||||||||
1566 | if (s->ctx->client_hello_cb !=
| 5-3653 | ||||||||||||||||||||||||||||||||||||
1567 | ((void *)0)
| 5-3653 | ||||||||||||||||||||||||||||||||||||
1568 | ) { | - | ||||||||||||||||||||||||||||||||||||
1569 | - | |||||||||||||||||||||||||||||||||||||
1570 | switch (s->ctx->client_hello_cb(s, &al, s->ctx->client_hello_cb_arg)) { | - | ||||||||||||||||||||||||||||||||||||
1571 | case executed 3 times by 1 test: 1:case 1: Executed by:
executed 3 times by 1 test: case 1: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1572 | break; executed 3 times by 1 test: break; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1573 | case executed 1 time by 1 test: (-1):case (-1): Executed by:
executed 1 time by 1 test: case (-1): Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1574 | s->rwstate = 7; | - | ||||||||||||||||||||||||||||||||||||
1575 | return executed 1 time by 1 test: -1;return -1; Executed by:
executed 1 time by 1 test: return -1; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1576 | case executed 1 time by 1 test: 0:case 0: Executed by:
executed 1 time by 1 test: case 0: Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1577 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
1578 | ossl_statem_fatal((s), (al), (521), (234), | - | ||||||||||||||||||||||||||||||||||||
1579 | - | |||||||||||||||||||||||||||||||||||||
1580 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1581 | , | - | ||||||||||||||||||||||||||||||||||||
1582 | - | |||||||||||||||||||||||||||||||||||||
1583 | 1610 | - | ||||||||||||||||||||||||||||||||||||
1584 | ) | - | ||||||||||||||||||||||||||||||||||||
1585 | - | |||||||||||||||||||||||||||||||||||||
1586 | ; | - | ||||||||||||||||||||||||||||||||||||
1587 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1588 | } | - | ||||||||||||||||||||||||||||||||||||
1589 | } | - | ||||||||||||||||||||||||||||||||||||
1590 | - | |||||||||||||||||||||||||||||||||||||
1591 | - | |||||||||||||||||||||||||||||||||||||
1592 | memcpy(s->s3->client_random, clienthello->random, 32); | - | ||||||||||||||||||||||||||||||||||||
1593 | - | |||||||||||||||||||||||||||||||||||||
1594 | - | |||||||||||||||||||||||||||||||||||||
1595 | - | |||||||||||||||||||||||||||||||||||||
1596 | if (clienthello->isv2
| 180-3476 | ||||||||||||||||||||||||||||||||||||
1597 | if (clienthello->legacy_version == 0x0002
| 2-178 | ||||||||||||||||||||||||||||||||||||
1598 | || (
| 1-177 | ||||||||||||||||||||||||||||||||||||
1599 | != (0x03 << 8)
| 1-177 | ||||||||||||||||||||||||||||||||||||
1600 | - | |||||||||||||||||||||||||||||||||||||
1601 | - | |||||||||||||||||||||||||||||||||||||
1602 | - | |||||||||||||||||||||||||||||||||||||
1603 | - | |||||||||||||||||||||||||||||||||||||
1604 | ossl_statem_fatal((s), (70), (521), (252), | - | ||||||||||||||||||||||||||||||||||||
1605 | - | |||||||||||||||||||||||||||||||||||||
1606 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1607 | , | - | ||||||||||||||||||||||||||||||||||||
1608 | - | |||||||||||||||||||||||||||||||||||||
1609 | 1630 | - | ||||||||||||||||||||||||||||||||||||
1610 | ) | - | ||||||||||||||||||||||||||||||||||||
1611 | - | |||||||||||||||||||||||||||||||||||||
1612 | ; | - | ||||||||||||||||||||||||||||||||||||
1613 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1614 | } | - | ||||||||||||||||||||||||||||||||||||
1615 | - | |||||||||||||||||||||||||||||||||||||
1616 | s->client_version = clienthello->legacy_version; | - | ||||||||||||||||||||||||||||||||||||
1617 | } executed 177 times by 1 test: end of block Executed by:
| 177 | ||||||||||||||||||||||||||||||||||||
1618 | - | |||||||||||||||||||||||||||||||||||||
1619 | - | |||||||||||||||||||||||||||||||||||||
1620 | - | |||||||||||||||||||||||||||||||||||||
1621 | - | |||||||||||||||||||||||||||||||||||||
1622 | if (!(s->method->ssl3_enc->enc_flags & 0x8)
| 190-3463 | ||||||||||||||||||||||||||||||||||||
1623 | protverr = ssl_choose_server_version(s, clienthello, &dgrd); | - | ||||||||||||||||||||||||||||||||||||
1624 | } executed 3463 times by 1 test: else if (s->method->version != 0x1FFFFend of block Executed by:
| 9-3463 | ||||||||||||||||||||||||||||||||||||
1625 | (((((
| 0-9 | ||||||||||||||||||||||||||||||||||||
1626 | protverr = 396; | - | ||||||||||||||||||||||||||||||||||||
1627 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
1628 | protverr = 0; | - | ||||||||||||||||||||||||||||||||||||
1629 | } executed 190 times by 1 test: end of block Executed by:
| 190 | ||||||||||||||||||||||||||||||||||||
1630 | - | |||||||||||||||||||||||||||||||||||||
1631 | if (protverr
| 518-3135 | ||||||||||||||||||||||||||||||||||||
1632 | if (((
| 0-518 | ||||||||||||||||||||||||||||||||||||
1633 | - | |||||||||||||||||||||||||||||||||||||
1634 | s->version = s->client_version = clienthello->legacy_version; | - | ||||||||||||||||||||||||||||||||||||
1635 | } executed 518 times by 1 test: end of block Executed by:
| 518 | ||||||||||||||||||||||||||||||||||||
1636 | ossl_statem_fatal((s), (70), (521), (protverr), | - | ||||||||||||||||||||||||||||||||||||
1637 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1638 | , | - | ||||||||||||||||||||||||||||||||||||
1639 | 1655 | - | ||||||||||||||||||||||||||||||||||||
1640 | ) | - | ||||||||||||||||||||||||||||||||||||
1641 | ; | - | ||||||||||||||||||||||||||||||||||||
1642 | goto executed 518 times by 1 test: err;goto err; Executed by:
executed 518 times by 1 test: goto err; Executed by:
| 518 | ||||||||||||||||||||||||||||||||||||
1643 | } | - | ||||||||||||||||||||||||||||||||||||
1644 | - | |||||||||||||||||||||||||||||||||||||
1645 | - | |||||||||||||||||||||||||||||||||||||
1646 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2945 | ||||||||||||||||||||||||||||||||||||
1647 | ossl_statem_fatal((s), (10), (521), (182), | - | ||||||||||||||||||||||||||||||||||||
1648 | - | |||||||||||||||||||||||||||||||||||||
1649 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1650 | , | - | ||||||||||||||||||||||||||||||||||||
1651 | - | |||||||||||||||||||||||||||||||||||||
1652 | 1663 | - | ||||||||||||||||||||||||||||||||||||
1653 | ) | - | ||||||||||||||||||||||||||||||||||||
1654 | - | |||||||||||||||||||||||||||||||||||||
1655 | ; | - | ||||||||||||||||||||||||||||||||||||
1656 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1657 | } | - | ||||||||||||||||||||||||||||||||||||
1658 | - | |||||||||||||||||||||||||||||||||||||
1659 | if ((
| 190-2944 | ||||||||||||||||||||||||||||||||||||
1660 | - | |||||||||||||||||||||||||||||||||||||
1661 | if (SSL_get_options(s) & 0x00002000U
| 0-190 | ||||||||||||||||||||||||||||||||||||
1662 | if (s->ctx->app_verify_cookie_cb !=
| 0 | ||||||||||||||||||||||||||||||||||||
1663 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
1664 | ) { | - | ||||||||||||||||||||||||||||||||||||
1665 | if (s->ctx->app_verify_cookie_cb(s, clienthello->dtls_cookie,
| 0 | ||||||||||||||||||||||||||||||||||||
1666 | clienthello->dtls_cookie_len) == 0
| 0 | ||||||||||||||||||||||||||||||||||||
1667 | ossl_statem_fatal((s), (40), (521), (308), | - | ||||||||||||||||||||||||||||||||||||
1668 | - | |||||||||||||||||||||||||||||||||||||
1669 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1670 | , | - | ||||||||||||||||||||||||||||||||||||
1671 | - | |||||||||||||||||||||||||||||||||||||
1672 | 1675 | - | ||||||||||||||||||||||||||||||||||||
1673 | ) | - | ||||||||||||||||||||||||||||||||||||
1674 | - | |||||||||||||||||||||||||||||||||||||
1675 | ; | - | ||||||||||||||||||||||||||||||||||||
1676 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1677 | - | |||||||||||||||||||||||||||||||||||||
1678 | } | - | ||||||||||||||||||||||||||||||||||||
1679 | - | |||||||||||||||||||||||||||||||||||||
1680 | } never executed: else if (s->d1->cookie_len != clienthello->dtls_cookie_lenend of block
| 0 | ||||||||||||||||||||||||||||||||||||
1681 | || memcmp(clienthello->dtls_cookie, s->d1->cookie,
| 0 | ||||||||||||||||||||||||||||||||||||
1682 | s->d1->cookie_len) != 0
| 0 | ||||||||||||||||||||||||||||||||||||
1683 | ossl_statem_fatal((s), (40), (521), (308), | - | ||||||||||||||||||||||||||||||||||||
1684 | - | |||||||||||||||||||||||||||||||||||||
1685 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1686 | , | - | ||||||||||||||||||||||||||||||||||||
1687 | - | |||||||||||||||||||||||||||||||||||||
1688 | 1685 | - | ||||||||||||||||||||||||||||||||||||
1689 | ) | - | ||||||||||||||||||||||||||||||||||||
1690 | - | |||||||||||||||||||||||||||||||||||||
1691 | ; | - | ||||||||||||||||||||||||||||||||||||
1692 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1693 | } | - | ||||||||||||||||||||||||||||||||||||
1694 | s->d1->cookie_verified = 1; | - | ||||||||||||||||||||||||||||||||||||
1695 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
1696 | if (s->method->version == 0x1FFFF
| 9-181 | ||||||||||||||||||||||||||||||||||||
1697 | protverr = ssl_choose_server_version(s, clienthello, &dgrd); | - | ||||||||||||||||||||||||||||||||||||
1698 | if (protverr != 0
| 4-177 | ||||||||||||||||||||||||||||||||||||
1699 | s->version = s->client_version; | - | ||||||||||||||||||||||||||||||||||||
1700 | ossl_statem_fatal((s), (70), (521), (protverr), | - | ||||||||||||||||||||||||||||||||||||
1701 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1702 | , | - | ||||||||||||||||||||||||||||||||||||
1703 | 1695 | - | ||||||||||||||||||||||||||||||||||||
1704 | ) | - | ||||||||||||||||||||||||||||||||||||
1705 | ; | - | ||||||||||||||||||||||||||||||||||||
1706 | goto executed 4 times by 1 test: err;goto err; Executed by:
executed 4 times by 1 test: goto err; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
1707 | } | - | ||||||||||||||||||||||||||||||||||||
1708 | } executed 177 times by 1 test: end of block Executed by:
| 177 | ||||||||||||||||||||||||||||||||||||
1709 | } executed 186 times by 1 test: end of block Executed by:
| 186 | ||||||||||||||||||||||||||||||||||||
1710 | - | |||||||||||||||||||||||||||||||||||||
1711 | s->hit = 0; | - | ||||||||||||||||||||||||||||||||||||
1712 | - | |||||||||||||||||||||||||||||||||||||
1713 | if (!ssl_cache_cipherlist(s, &clienthello->ciphersuites,
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1714 | clienthello->isv2)
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1715 | !bytes_to_cipher_list(s, &clienthello->ciphersuites, &ciphers, &scsvs,
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1716 | clienthello->isv2, 1)
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1717 | - | |||||||||||||||||||||||||||||||||||||
1718 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1719 | } | - | ||||||||||||||||||||||||||||||||||||
1720 | - | |||||||||||||||||||||||||||||||||||||
1721 | s->s3->send_connection_binding = 0; | - | ||||||||||||||||||||||||||||||||||||
1722 | - | |||||||||||||||||||||||||||||||||||||
1723 | if (scsvs !=
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1724 | ((void *)0)
| 0-3130 | ||||||||||||||||||||||||||||||||||||
1725 | ) { | - | ||||||||||||||||||||||||||||||||||||
1726 | for(i = 0; i < sk_SSL_CIPHER_num(scsvs)
| 2395-3129 | ||||||||||||||||||||||||||||||||||||
1727 | c = sk_SSL_CIPHER_value(scsvs, i); | - | ||||||||||||||||||||||||||||||||||||
1728 | if (SSL_CIPHER_get_id(c) == 0x030000FF
| 57-2338 | ||||||||||||||||||||||||||||||||||||
1729 | if (s->renegotiate
| 0-2338 | ||||||||||||||||||||||||||||||||||||
1730 | - | |||||||||||||||||||||||||||||||||||||
1731 | ossl_statem_fatal((s), (40), (521), (345), | - | ||||||||||||||||||||||||||||||||||||
1732 | - | |||||||||||||||||||||||||||||||||||||
1733 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1734 | , | - | ||||||||||||||||||||||||||||||||||||
1735 | - | |||||||||||||||||||||||||||||||||||||
1736 | 1721 | - | ||||||||||||||||||||||||||||||||||||
1737 | ) | - | ||||||||||||||||||||||||||||||||||||
1738 | - | |||||||||||||||||||||||||||||||||||||
1739 | ; | - | ||||||||||||||||||||||||||||||||||||
1740 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1741 | } | - | ||||||||||||||||||||||||||||||||||||
1742 | s->s3->send_connection_binding = 1; | - | ||||||||||||||||||||||||||||||||||||
1743 | } executed 2338 times by 1 test: else if (SSL_CIPHER_get_id(c) == 0x03005600end of block Executed by:
| 0-2338 | ||||||||||||||||||||||||||||||||||||
1744 | !ssl_check_version_downgrade(s)
| 1-56 | ||||||||||||||||||||||||||||||||||||
1745 | - | |||||||||||||||||||||||||||||||||||||
1746 | - | |||||||||||||||||||||||||||||||||||||
1747 | - | |||||||||||||||||||||||||||||||||||||
1748 | - | |||||||||||||||||||||||||||||||||||||
1749 | - | |||||||||||||||||||||||||||||||||||||
1750 | - | |||||||||||||||||||||||||||||||||||||
1751 | - | |||||||||||||||||||||||||||||||||||||
1752 | ossl_statem_fatal((s), (86), (521), (373), | - | ||||||||||||||||||||||||||||||||||||
1753 | - | |||||||||||||||||||||||||||||||||||||
1754 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1755 | , | - | ||||||||||||||||||||||||||||||||||||
1756 | - | |||||||||||||||||||||||||||||||||||||
1757 | 1736 | - | ||||||||||||||||||||||||||||||||||||
1758 | ) | - | ||||||||||||||||||||||||||||||||||||
1759 | - | |||||||||||||||||||||||||||||||||||||
1760 | ; | - | ||||||||||||||||||||||||||||||||||||
1761 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1762 | } | - | ||||||||||||||||||||||||||||||||||||
1763 | } executed 2394 times by 1 test: end of block Executed by:
| 2394 | ||||||||||||||||||||||||||||||||||||
1764 | } executed 3129 times by 1 test: end of block Executed by:
| 3129 | ||||||||||||||||||||||||||||||||||||
1765 | - | |||||||||||||||||||||||||||||||||||||
1766 | - | |||||||||||||||||||||||||||||||||||||
1767 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2943 | ||||||||||||||||||||||||||||||||||||
1768 | const SSL_CIPHER *cipher = | - | ||||||||||||||||||||||||||||||||||||
1769 | ssl3_choose_cipher(s, ciphers, SSL_get_ciphers(s)); | - | ||||||||||||||||||||||||||||||||||||
1770 | - | |||||||||||||||||||||||||||||||||||||
1771 | if (cipher ==
| 5-1135 | ||||||||||||||||||||||||||||||||||||
1772 | ((void *)0)
| 5-1135 | ||||||||||||||||||||||||||||||||||||
1773 | ) { | - | ||||||||||||||||||||||||||||||||||||
1774 | ossl_statem_fatal((s), (40), (521), (193), | - | ||||||||||||||||||||||||||||||||||||
1775 | - | |||||||||||||||||||||||||||||||||||||
1776 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1777 | , | - | ||||||||||||||||||||||||||||||||||||
1778 | - | |||||||||||||||||||||||||||||||||||||
1779 | 1750 | - | ||||||||||||||||||||||||||||||||||||
1780 | ) | - | ||||||||||||||||||||||||||||||||||||
1781 | - | |||||||||||||||||||||||||||||||||||||
1782 | ; | - | ||||||||||||||||||||||||||||||||||||
1783 | goto executed 5 times by 1 test: err;goto err; Executed by:
executed 5 times by 1 test: goto err; Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||
1784 | } | - | ||||||||||||||||||||||||||||||||||||
1785 | if (s->hello_retry_request == SSL_HRR_PENDING
| 54-1081 | ||||||||||||||||||||||||||||||||||||
1786 | && (s->s3->tmp.new_cipher ==
| 0-54 | ||||||||||||||||||||||||||||||||||||
1787 | ((void *)0)
| 0-54 | ||||||||||||||||||||||||||||||||||||
1788 | - | |||||||||||||||||||||||||||||||||||||
1789 | || s->s3->tmp.new_cipher->id != cipher->id
| 2-52 | ||||||||||||||||||||||||||||||||||||
1790 | - | |||||||||||||||||||||||||||||||||||||
1791 | - | |||||||||||||||||||||||||||||||||||||
1792 | - | |||||||||||||||||||||||||||||||||||||
1793 | - | |||||||||||||||||||||||||||||||||||||
1794 | ossl_statem_fatal((s), (47), (521), (186), | - | ||||||||||||||||||||||||||||||||||||
1795 | - | |||||||||||||||||||||||||||||||||||||
1796 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1797 | , | - | ||||||||||||||||||||||||||||||||||||
1798 | - | |||||||||||||||||||||||||||||||||||||
1799 | 1762 | - | ||||||||||||||||||||||||||||||||||||
1800 | ) | - | ||||||||||||||||||||||||||||||||||||
1801 | - | |||||||||||||||||||||||||||||||||||||
1802 | ; | - | ||||||||||||||||||||||||||||||||||||
1803 | goto executed 2 times by 1 test: err;goto err; Executed by:
executed 2 times by 1 test: goto err; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
1804 | } | - | ||||||||||||||||||||||||||||||||||||
1805 | s->s3->tmp.new_cipher = cipher; | - | ||||||||||||||||||||||||||||||||||||
1806 | } executed 1133 times by 1 test: end of block Executed by:
| 1133 | ||||||||||||||||||||||||||||||||||||
1807 | - | |||||||||||||||||||||||||||||||||||||
1808 | - | |||||||||||||||||||||||||||||||||||||
1809 | if (!tls_parse_extension(s, TLSEXT_IDX_extended_master_secret,
| 1-3121 | ||||||||||||||||||||||||||||||||||||
1810 | 0x0080,
| 1-3121 | ||||||||||||||||||||||||||||||||||||
1811 | clienthello->pre_proc_exts,
| 1-3121 | ||||||||||||||||||||||||||||||||||||
1812 | ((void *)0)
| 1-3121 | ||||||||||||||||||||||||||||||||||||
1813 | , 0)
| 1-3121 | ||||||||||||||||||||||||||||||||||||
1814 | - | |||||||||||||||||||||||||||||||||||||
1815 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
1816 | } | - | ||||||||||||||||||||||||||||||||||||
1817 | if (clienthello->isv2
| 53-3068 | ||||||||||||||||||||||||||||||||||||
1818 | (s->new_session
| 22-3046 | ||||||||||||||||||||||||||||||||||||
1819 | (
| 9-13 | ||||||||||||||||||||||||||||||||||||
1820 | if (!ssl_get_new_session(s, 1)
| 0-66 | ||||||||||||||||||||||||||||||||||||
1821 | - | |||||||||||||||||||||||||||||||||||||
1822 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1823 | } | - | ||||||||||||||||||||||||||||||||||||
1824 | } executed 66 times by 1 test: else {end of block Executed by:
| 66 | ||||||||||||||||||||||||||||||||||||
1825 | i = ssl_get_prev_session(s, clienthello); | - | ||||||||||||||||||||||||||||||||||||
1826 | if (i == 1
| 223-2832 | ||||||||||||||||||||||||||||||||||||
1827 | - | |||||||||||||||||||||||||||||||||||||
1828 | s->hit = 1; | - | ||||||||||||||||||||||||||||||||||||
1829 | } executed 223 times by 1 test: else if (i == -1end of block Executed by:
| 19-2813 | ||||||||||||||||||||||||||||||||||||
1830 | - | |||||||||||||||||||||||||||||||||||||
1831 | goto executed 19 times by 1 test: err;goto err; Executed by:
executed 19 times by 1 test: goto err; Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
1832 | } else { | - | ||||||||||||||||||||||||||||||||||||
1833 | - | |||||||||||||||||||||||||||||||||||||
1834 | if (!ssl_get_new_session(s, 1)
| 0-2813 | ||||||||||||||||||||||||||||||||||||
1835 | - | |||||||||||||||||||||||||||||||||||||
1836 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1837 | } | - | ||||||||||||||||||||||||||||||||||||
1838 | } executed 2813 times by 1 test: end of block Executed by:
| 2813 | ||||||||||||||||||||||||||||||||||||
1839 | } | - | ||||||||||||||||||||||||||||||||||||
1840 | - | |||||||||||||||||||||||||||||||||||||
1841 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2916 | ||||||||||||||||||||||||||||||||||||
1842 | memcpy(s->tmp_session_id, s->clienthello->session_id, | - | ||||||||||||||||||||||||||||||||||||
1843 | s->clienthello->session_id_len); | - | ||||||||||||||||||||||||||||||||||||
1844 | s->tmp_session_id_len = s->clienthello->session_id_len; | - | ||||||||||||||||||||||||||||||||||||
1845 | } executed 1116 times by 1 test: end of block Executed by:
| 1116 | ||||||||||||||||||||||||||||||||||||
1846 | - | |||||||||||||||||||||||||||||||||||||
1847 | - | |||||||||||||||||||||||||||||||||||||
1848 | - | |||||||||||||||||||||||||||||||||||||
1849 | - | |||||||||||||||||||||||||||||||||||||
1850 | - | |||||||||||||||||||||||||||||||||||||
1851 | if (!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2916 | ||||||||||||||||||||||||||||||||||||
1852 | j = 0; | - | ||||||||||||||||||||||||||||||||||||
1853 | id = s->session->cipher->id; | - | ||||||||||||||||||||||||||||||||||||
1854 | - | |||||||||||||||||||||||||||||||||||||
1855 | - | |||||||||||||||||||||||||||||||||||||
1856 | - | |||||||||||||||||||||||||||||||||||||
1857 | - | |||||||||||||||||||||||||||||||||||||
1858 | for (i = 0; i < sk_SSL_CIPHER_num(ciphers)
| 3-602 | ||||||||||||||||||||||||||||||||||||
1859 | c = sk_SSL_CIPHER_value(ciphers, i); | - | ||||||||||||||||||||||||||||||||||||
1860 | - | |||||||||||||||||||||||||||||||||||||
1861 | - | |||||||||||||||||||||||||||||||||||||
1862 | - | |||||||||||||||||||||||||||||||||||||
1863 | - | |||||||||||||||||||||||||||||||||||||
1864 | if (c->id == id
| 86-516 | ||||||||||||||||||||||||||||||||||||
1865 | j = 1; | - | ||||||||||||||||||||||||||||||||||||
1866 | break; executed 86 times by 1 test: break; Executed by:
| 86 | ||||||||||||||||||||||||||||||||||||
1867 | } | - | ||||||||||||||||||||||||||||||||||||
1868 | } executed 516 times by 1 test: end of block Executed by:
| 516 | ||||||||||||||||||||||||||||||||||||
1869 | if (j == 0
| 3-86 | ||||||||||||||||||||||||||||||||||||
1870 | - | |||||||||||||||||||||||||||||||||||||
1871 | - | |||||||||||||||||||||||||||||||||||||
1872 | - | |||||||||||||||||||||||||||||||||||||
1873 | - | |||||||||||||||||||||||||||||||||||||
1874 | ossl_statem_fatal((s), (47), (521), (215), | - | ||||||||||||||||||||||||||||||||||||
1875 | - | |||||||||||||||||||||||||||||||||||||
1876 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1877 | , | - | ||||||||||||||||||||||||||||||||||||
1878 | - | |||||||||||||||||||||||||||||||||||||
1879 | 1851 | - | ||||||||||||||||||||||||||||||||||||
1880 | ) | - | ||||||||||||||||||||||||||||||||||||
1881 | - | |||||||||||||||||||||||||||||||||||||
1882 | ; | - | ||||||||||||||||||||||||||||||||||||
1883 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
1884 | } | - | ||||||||||||||||||||||||||||||||||||
1885 | } executed 86 times by 1 test: end of block Executed by:
| 86 | ||||||||||||||||||||||||||||||||||||
1886 | - | |||||||||||||||||||||||||||||||||||||
1887 | for (loop = 0; loop < clienthello->compressions_len
| 6-4081 | ||||||||||||||||||||||||||||||||||||
1888 | if (clienthello->compressions[loop] == 0
| 988-3093 | ||||||||||||||||||||||||||||||||||||
1889 | break; executed 3093 times by 1 test: break; Executed by:
| 3093 | ||||||||||||||||||||||||||||||||||||
1890 | } executed 988 times by 1 test: end of block Executed by:
| 988 | ||||||||||||||||||||||||||||||||||||
1891 | - | |||||||||||||||||||||||||||||||||||||
1892 | if (loop >= clienthello->compressions_len
| 6-3093 | ||||||||||||||||||||||||||||||||||||
1893 | - | |||||||||||||||||||||||||||||||||||||
1894 | ossl_statem_fatal((s), (50), (521), (187), | - | ||||||||||||||||||||||||||||||||||||
1895 | - | |||||||||||||||||||||||||||||||||||||
1896 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1897 | , | - | ||||||||||||||||||||||||||||||||||||
1898 | - | |||||||||||||||||||||||||||||||||||||
1899 | 1865 | - | ||||||||||||||||||||||||||||||||||||
1900 | ) | - | ||||||||||||||||||||||||||||||||||||
1901 | - | |||||||||||||||||||||||||||||||||||||
1902 | ; | - | ||||||||||||||||||||||||||||||||||||
1903 | goto executed 6 times by 1 test: err;goto err; Executed by:
executed 6 times by 1 test: goto err; Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||
1904 | } | - | ||||||||||||||||||||||||||||||||||||
1905 | - | |||||||||||||||||||||||||||||||||||||
1906 | - | |||||||||||||||||||||||||||||||||||||
1907 | if (s->options & 0x00000040U
| 0-3093 | ||||||||||||||||||||||||||||||||||||
1908 | ssl_check_for_safari(s, clienthello); never executed: ssl_check_for_safari(s, clienthello); | 0 | ||||||||||||||||||||||||||||||||||||
1909 | - | |||||||||||||||||||||||||||||||||||||
1910 | - | |||||||||||||||||||||||||||||||||||||
1911 | - | |||||||||||||||||||||||||||||||||||||
1912 | if (!tls_parse_all_extensions(s, 0x0080,
| 373-2720 | ||||||||||||||||||||||||||||||||||||
1913 | clienthello->pre_proc_exts,
| 373-2720 | ||||||||||||||||||||||||||||||||||||
1914 | ((void *)0)
| 373-2720 | ||||||||||||||||||||||||||||||||||||
1915 | , 0, 1)
| 373-2720 | ||||||||||||||||||||||||||||||||||||
1916 | - | |||||||||||||||||||||||||||||||||||||
1917 | goto executed 373 times by 1 test: err;goto err; Executed by:
executed 373 times by 1 test: goto err; Executed by:
| 373 | ||||||||||||||||||||||||||||||||||||
1918 | } | - | ||||||||||||||||||||||||||||||||||||
1919 | - | |||||||||||||||||||||||||||||||||||||
1920 | - | |||||||||||||||||||||||||||||||||||||
1921 | - | |||||||||||||||||||||||||||||||||||||
1922 | - | |||||||||||||||||||||||||||||||||||||
1923 | - | |||||||||||||||||||||||||||||||||||||
1924 | - | |||||||||||||||||||||||||||||||||||||
1925 | - | |||||||||||||||||||||||||||||||||||||
1926 | { | - | ||||||||||||||||||||||||||||||||||||
1927 | unsigned char *pos; | - | ||||||||||||||||||||||||||||||||||||
1928 | pos = s->s3->server_random; | - | ||||||||||||||||||||||||||||||||||||
1929 | if (ssl_fill_hello_random(s, 1, pos, 32, dgrd) <= 0
| 0-2720 | ||||||||||||||||||||||||||||||||||||
1930 | ossl_statem_fatal((s), (80), (521), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
1931 | - | |||||||||||||||||||||||||||||||||||||
1932 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1933 | , | - | ||||||||||||||||||||||||||||||||||||
1934 | - | |||||||||||||||||||||||||||||||||||||
1935 | 1893 | - | ||||||||||||||||||||||||||||||||||||
1936 | ) | - | ||||||||||||||||||||||||||||||||||||
1937 | - | |||||||||||||||||||||||||||||||||||||
1938 | ; | - | ||||||||||||||||||||||||||||||||||||
1939 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1940 | } | - | ||||||||||||||||||||||||||||||||||||
1941 | } | - | ||||||||||||||||||||||||||||||||||||
1942 | - | |||||||||||||||||||||||||||||||||||||
1943 | if (!s->hit
| 214-2506 | ||||||||||||||||||||||||||||||||||||
1944 | && s->version >= 0x0301
| 0-2506 | ||||||||||||||||||||||||||||||||||||
1945 | && !(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2336 | ||||||||||||||||||||||||||||||||||||
1946 | && !(s->method->ssl3_enc->enc_flags & 0x8)
| 170-1467 | ||||||||||||||||||||||||||||||||||||
1947 | && s->ext.session_secret_cb
| 0-1467 | ||||||||||||||||||||||||||||||||||||
1948 | const SSL_CIPHER *pref_cipher = | - | ||||||||||||||||||||||||||||||||||||
1949 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1950 | ; | - | ||||||||||||||||||||||||||||||||||||
1951 | - | |||||||||||||||||||||||||||||||||||||
1952 | - | |||||||||||||||||||||||||||||||||||||
1953 | - | |||||||||||||||||||||||||||||||||||||
1954 | - | |||||||||||||||||||||||||||||||||||||
1955 | int master_key_length; | - | ||||||||||||||||||||||||||||||||||||
1956 | - | |||||||||||||||||||||||||||||||||||||
1957 | master_key_length = sizeof(s->session->master_key); | - | ||||||||||||||||||||||||||||||||||||
1958 | if (s->ext.session_secret_cb(s, s->session->master_key,
| 0 | ||||||||||||||||||||||||||||||||||||
1959 | &master_key_length, ciphers,
| 0 | ||||||||||||||||||||||||||||||||||||
1960 | &pref_cipher,
| 0 | ||||||||||||||||||||||||||||||||||||
1961 | s->ext.session_secret_cb_arg)
| 0 | ||||||||||||||||||||||||||||||||||||
1962 | && master_key_length > 0
| 0 | ||||||||||||||||||||||||||||||||||||
1963 | s->session->master_key_length = master_key_length; | - | ||||||||||||||||||||||||||||||||||||
1964 | s->hit = 1; | - | ||||||||||||||||||||||||||||||||||||
1965 | s->session->ciphers = ciphers; | - | ||||||||||||||||||||||||||||||||||||
1966 | s->session->verify_result = 0; | - | ||||||||||||||||||||||||||||||||||||
1967 | - | |||||||||||||||||||||||||||||||||||||
1968 | ciphers = | - | ||||||||||||||||||||||||||||||||||||
1969 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
1970 | ; | - | ||||||||||||||||||||||||||||||||||||
1971 | - | |||||||||||||||||||||||||||||||||||||
1972 | - | |||||||||||||||||||||||||||||||||||||
1973 | if (pref_cipher ==
| 0 | ||||||||||||||||||||||||||||||||||||
1974 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
1975 | ) | - | ||||||||||||||||||||||||||||||||||||
1976 | pref_cipher = ssl3_choose_cipher(s, s->session->ciphers, never executed: pref_cipher = ssl3_choose_cipher(s, s->session->ciphers, SSL_get_ciphers(s)); | 0 | ||||||||||||||||||||||||||||||||||||
1977 | SSL_get_ciphers(s)); never executed: pref_cipher = ssl3_choose_cipher(s, s->session->ciphers, SSL_get_ciphers(s)); | 0 | ||||||||||||||||||||||||||||||||||||
1978 | if (pref_cipher ==
| 0 | ||||||||||||||||||||||||||||||||||||
1979 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
1980 | ) { | - | ||||||||||||||||||||||||||||||||||||
1981 | ossl_statem_fatal((s), (40), (521), (193), | - | ||||||||||||||||||||||||||||||||||||
1982 | - | |||||||||||||||||||||||||||||||||||||
1983 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
1984 | , | - | ||||||||||||||||||||||||||||||||||||
1985 | - | |||||||||||||||||||||||||||||||||||||
1986 | 1930 | - | ||||||||||||||||||||||||||||||||||||
1987 | ) | - | ||||||||||||||||||||||||||||||||||||
1988 | - | |||||||||||||||||||||||||||||||||||||
1989 | ; | - | ||||||||||||||||||||||||||||||||||||
1990 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
1991 | } | - | ||||||||||||||||||||||||||||||||||||
1992 | - | |||||||||||||||||||||||||||||||||||||
1993 | s->session->cipher = pref_cipher; | - | ||||||||||||||||||||||||||||||||||||
1994 | sk_SSL_CIPHER_free(s->cipher_list); | - | ||||||||||||||||||||||||||||||||||||
1995 | s->cipher_list = sk_SSL_CIPHER_dup(s->session->ciphers); | - | ||||||||||||||||||||||||||||||||||||
1996 | sk_SSL_CIPHER_free(s->cipher_list_by_id); | - | ||||||||||||||||||||||||||||||||||||
1997 | s->cipher_list_by_id = sk_SSL_CIPHER_dup(s->session->ciphers); | - | ||||||||||||||||||||||||||||||||||||
1998 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
1999 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2000 | - | |||||||||||||||||||||||||||||||||||||
2001 | - | |||||||||||||||||||||||||||||||||||||
2002 | - | |||||||||||||||||||||||||||||||||||||
2003 | - | |||||||||||||||||||||||||||||||||||||
2004 | - | |||||||||||||||||||||||||||||||||||||
2005 | - | |||||||||||||||||||||||||||||||||||||
2006 | s->s3->tmp.new_compression = | - | ||||||||||||||||||||||||||||||||||||
2007 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2008 | ; | - | ||||||||||||||||||||||||||||||||||||
2009 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2534 | ||||||||||||||||||||||||||||||||||||
2010 | - | |||||||||||||||||||||||||||||||||||||
2011 | - | |||||||||||||||||||||||||||||||||||||
2012 | - | |||||||||||||||||||||||||||||||||||||
2013 | - | |||||||||||||||||||||||||||||||||||||
2014 | - | |||||||||||||||||||||||||||||||||||||
2015 | if (clienthello->compressions_len != 1
| 2-999 | ||||||||||||||||||||||||||||||||||||
2016 | ossl_statem_fatal((s), (47), (521), (341), | - | ||||||||||||||||||||||||||||||||||||
2017 | - | |||||||||||||||||||||||||||||||||||||
2018 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2019 | , | - | ||||||||||||||||||||||||||||||||||||
2020 | - | |||||||||||||||||||||||||||||||||||||
2021 | 1957 | - | ||||||||||||||||||||||||||||||||||||
2022 | ) | - | ||||||||||||||||||||||||||||||||||||
2023 | - | |||||||||||||||||||||||||||||||||||||
2024 | ; | - | ||||||||||||||||||||||||||||||||||||
2025 | goto executed 2 times by 1 test: err;goto err; Executed by:
executed 2 times by 1 test: goto err; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
2026 | } | - | ||||||||||||||||||||||||||||||||||||
2027 | } executed 999 times by 1 test: end of block Executed by:
| 999 | ||||||||||||||||||||||||||||||||||||
2028 | - | |||||||||||||||||||||||||||||||||||||
2029 | - | |||||||||||||||||||||||||||||||||||||
2030 | else if (s->session->compress_meth != 0
| 0-1719 | ||||||||||||||||||||||||||||||||||||
2031 | int m, comp_id = s->session->compress_meth; | - | ||||||||||||||||||||||||||||||||||||
2032 | unsigned int k; | - | ||||||||||||||||||||||||||||||||||||
2033 | - | |||||||||||||||||||||||||||||||||||||
2034 | - | |||||||||||||||||||||||||||||||||||||
2035 | if (!ssl_allow_compression(s)
| 0 | ||||||||||||||||||||||||||||||||||||
2036 | ossl_statem_fatal((s), (40), (521), (340), | - | ||||||||||||||||||||||||||||||||||||
2037 | - | |||||||||||||||||||||||||||||||||||||
2038 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2039 | , | - | ||||||||||||||||||||||||||||||||||||
2040 | - | |||||||||||||||||||||||||||||||||||||
2041 | 1971 | - | ||||||||||||||||||||||||||||||||||||
2042 | ) | - | ||||||||||||||||||||||||||||||||||||
2043 | - | |||||||||||||||||||||||||||||||||||||
2044 | ; | - | ||||||||||||||||||||||||||||||||||||
2045 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2046 | } | - | ||||||||||||||||||||||||||||||||||||
2047 | - | |||||||||||||||||||||||||||||||||||||
2048 | for (m = 0; m < sk_SSL_COMP_num(s->ctx->comp_methods)
| 0 | ||||||||||||||||||||||||||||||||||||
2049 | comp = sk_SSL_COMP_value(s->ctx->comp_methods, m); | - | ||||||||||||||||||||||||||||||||||||
2050 | if (comp_id == comp->id
| 0 | ||||||||||||||||||||||||||||||||||||
2051 | s->s3->tmp.new_compression = comp; | - | ||||||||||||||||||||||||||||||||||||
2052 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
2053 | } | - | ||||||||||||||||||||||||||||||||||||
2054 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2055 | if (s->s3->tmp.new_compression ==
| 0 | ||||||||||||||||||||||||||||||||||||
2056 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
2057 | ) { | - | ||||||||||||||||||||||||||||||||||||
2058 | ossl_statem_fatal((s), (40), (521), (341), | - | ||||||||||||||||||||||||||||||||||||
2059 | - | |||||||||||||||||||||||||||||||||||||
2060 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2061 | , | - | ||||||||||||||||||||||||||||||||||||
2062 | - | |||||||||||||||||||||||||||||||||||||
2063 | 1985 | - | ||||||||||||||||||||||||||||||||||||
2064 | ) | - | ||||||||||||||||||||||||||||||||||||
2065 | - | |||||||||||||||||||||||||||||||||||||
2066 | ; | - | ||||||||||||||||||||||||||||||||||||
2067 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2068 | } | - | ||||||||||||||||||||||||||||||||||||
2069 | - | |||||||||||||||||||||||||||||||||||||
2070 | for (k = 0; k < clienthello->compressions_len
| 0 | ||||||||||||||||||||||||||||||||||||
2071 | if (clienthello->compressions[k] == comp_id
| 0 | ||||||||||||||||||||||||||||||||||||
2072 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
2073 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2074 | if (k >= clienthello->compressions_len
| 0 | ||||||||||||||||||||||||||||||||||||
2075 | ossl_statem_fatal((s), (47), (521), (342), | - | ||||||||||||||||||||||||||||||||||||
2076 | - | |||||||||||||||||||||||||||||||||||||
2077 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2078 | , | - | ||||||||||||||||||||||||||||||||||||
2079 | - | |||||||||||||||||||||||||||||||||||||
2080 | 1996 | - | ||||||||||||||||||||||||||||||||||||
2081 | ) | - | ||||||||||||||||||||||||||||||||||||
2082 | - | |||||||||||||||||||||||||||||||||||||
2083 | ; | - | ||||||||||||||||||||||||||||||||||||
2084 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2085 | } | - | ||||||||||||||||||||||||||||||||||||
2086 | } never executed: else if (s->hitend of block
| 0-1637 | ||||||||||||||||||||||||||||||||||||
2087 | comp = | - | ||||||||||||||||||||||||||||||||||||
2088 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2089 | ; | - | ||||||||||||||||||||||||||||||||||||
2090 | } executed 82 times by 1 test: else if (ssl_allow_compression(s)end of block Executed by:
| 0-1637 | ||||||||||||||||||||||||||||||||||||
2091 | - | |||||||||||||||||||||||||||||||||||||
2092 | int m, nn, v, done = 0; | - | ||||||||||||||||||||||||||||||||||||
2093 | unsigned int o; | - | ||||||||||||||||||||||||||||||||||||
2094 | - | |||||||||||||||||||||||||||||||||||||
2095 | nn = sk_SSL_COMP_num(s->ctx->comp_methods); | - | ||||||||||||||||||||||||||||||||||||
2096 | for (m = 0; m < nn
| 0 | ||||||||||||||||||||||||||||||||||||
2097 | comp = sk_SSL_COMP_value(s->ctx->comp_methods, m); | - | ||||||||||||||||||||||||||||||||||||
2098 | v = comp->id; | - | ||||||||||||||||||||||||||||||||||||
2099 | for (o = 0; o < clienthello->compressions_len
| 0 | ||||||||||||||||||||||||||||||||||||
2100 | if (v == clienthello->compressions[o]
| 0 | ||||||||||||||||||||||||||||||||||||
2101 | done = 1; | - | ||||||||||||||||||||||||||||||||||||
2102 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
2103 | } | - | ||||||||||||||||||||||||||||||||||||
2104 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2105 | if (done
| 0 | ||||||||||||||||||||||||||||||||||||
2106 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
2107 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2108 | if (done
| 0 | ||||||||||||||||||||||||||||||||||||
2109 | s->s3->tmp.new_compression = comp; never executed: s->s3->tmp.new_compression = comp; | 0 | ||||||||||||||||||||||||||||||||||||
2110 | else | - | ||||||||||||||||||||||||||||||||||||
2111 | comp = never executed: comp = ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||
2112 | ((void *)0) never executed: comp = ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||
2113 | ; never executed: comp = ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||
2114 | } | - | ||||||||||||||||||||||||||||||||||||
2115 | if (!s->hit
| 0-2504 | ||||||||||||||||||||||||||||||||||||
2116 | sk_SSL_CIPHER_free(s->session->ciphers); | - | ||||||||||||||||||||||||||||||||||||
2117 | s->session->ciphers = ciphers; | - | ||||||||||||||||||||||||||||||||||||
2118 | if (ciphers ==
| 0-2636 | ||||||||||||||||||||||||||||||||||||
2119 | ((void *)0)
| 0-2636 | ||||||||||||||||||||||||||||||||||||
2120 | ) { | - | ||||||||||||||||||||||||||||||||||||
2121 | ossl_statem_fatal((s), (80), (521), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2122 | - | |||||||||||||||||||||||||||||||||||||
2123 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2124 | , | - | ||||||||||||||||||||||||||||||||||||
2125 | - | |||||||||||||||||||||||||||||||||||||
2126 | 2047 | - | ||||||||||||||||||||||||||||||||||||
2127 | ) | - | ||||||||||||||||||||||||||||||||||||
2128 | - | |||||||||||||||||||||||||||||||||||||
2129 | ; | - | ||||||||||||||||||||||||||||||||||||
2130 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2131 | } | - | ||||||||||||||||||||||||||||||||||||
2132 | ciphers = | - | ||||||||||||||||||||||||||||||||||||
2133 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2134 | ; | - | ||||||||||||||||||||||||||||||||||||
2135 | } executed 2636 times by 1 test: end of block Executed by:
| 2636 | ||||||||||||||||||||||||||||||||||||
2136 | - | |||||||||||||||||||||||||||||||||||||
2137 | if (!s->hit
| 214-2504 | ||||||||||||||||||||||||||||||||||||
2138 | - | |||||||||||||||||||||||||||||||||||||
2139 | - | |||||||||||||||||||||||||||||||||||||
2140 | - | |||||||||||||||||||||||||||||||||||||
2141 | s->session->compress_meth = (
| 0-2504 | ||||||||||||||||||||||||||||||||||||
2142 | ((void *)0)
| 0-2504 | ||||||||||||||||||||||||||||||||||||
2143 | )
| 0-2504 | ||||||||||||||||||||||||||||||||||||
2144 | - | |||||||||||||||||||||||||||||||||||||
2145 | } executed 2504 times by 1 test: end of block Executed by:
| 2504 | ||||||||||||||||||||||||||||||||||||
2146 | - | |||||||||||||||||||||||||||||||||||||
2147 | sk_SSL_CIPHER_free(ciphers); | - | ||||||||||||||||||||||||||||||||||||
2148 | sk_SSL_CIPHER_free(scsvs); | - | ||||||||||||||||||||||||||||||||||||
2149 | CRYPTO_free(clienthello->pre_proc_exts, __FILE__, 2063); | - | ||||||||||||||||||||||||||||||||||||
2150 | CRYPTO_free(s->clienthello, __FILE__, 2064); | - | ||||||||||||||||||||||||||||||||||||
2151 | s->clienthello = | - | ||||||||||||||||||||||||||||||||||||
2152 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2153 | ; | - | ||||||||||||||||||||||||||||||||||||
2154 | return executed 2718 times by 1 test: 1;return 1; Executed by:
executed 2718 times by 1 test: return 1; Executed by:
| 2718 | ||||||||||||||||||||||||||||||||||||
2155 | err: | - | ||||||||||||||||||||||||||||||||||||
2156 | sk_SSL_CIPHER_free(ciphers); | - | ||||||||||||||||||||||||||||||||||||
2157 | sk_SSL_CIPHER_free(scsvs); | - | ||||||||||||||||||||||||||||||||||||
2158 | CRYPTO_free(clienthello->pre_proc_exts, __FILE__, 2070); | - | ||||||||||||||||||||||||||||||||||||
2159 | CRYPTO_free(s->clienthello, __FILE__, 2071); | - | ||||||||||||||||||||||||||||||||||||
2160 | s->clienthello = | - | ||||||||||||||||||||||||||||||||||||
2161 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2162 | ; | - | ||||||||||||||||||||||||||||||||||||
2163 | - | |||||||||||||||||||||||||||||||||||||
2164 | return executed 939 times by 1 test: 0;return 0; Executed by:
executed 939 times by 1 test: return 0; Executed by:
| 939 | ||||||||||||||||||||||||||||||||||||
2165 | } | - | ||||||||||||||||||||||||||||||||||||
2166 | - | |||||||||||||||||||||||||||||||||||||
2167 | - | |||||||||||||||||||||||||||||||||||||
2168 | - | |||||||||||||||||||||||||||||||||||||
2169 | - | |||||||||||||||||||||||||||||||||||||
2170 | - | |||||||||||||||||||||||||||||||||||||
2171 | static int tls_handle_status_request(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
2172 | { | - | ||||||||||||||||||||||||||||||||||||
2173 | s->ext.status_expected = 0; | - | ||||||||||||||||||||||||||||||||||||
2174 | - | |||||||||||||||||||||||||||||||||||||
2175 | - | |||||||||||||||||||||||||||||||||||||
2176 | - | |||||||||||||||||||||||||||||||||||||
2177 | - | |||||||||||||||||||||||||||||||||||||
2178 | - | |||||||||||||||||||||||||||||||||||||
2179 | - | |||||||||||||||||||||||||||||||||||||
2180 | - | |||||||||||||||||||||||||||||||||||||
2181 | if (s->ext.status_type != -1
| 0-2318 | ||||||||||||||||||||||||||||||||||||
2182 | ((void *)0)
| 0-164 | ||||||||||||||||||||||||||||||||||||
2183 | - | |||||||||||||||||||||||||||||||||||||
2184 | && s->ctx->ext.status_cb !=
| 12-152 | ||||||||||||||||||||||||||||||||||||
2185 | ((void *)0)
| 12-152 | ||||||||||||||||||||||||||||||||||||
2186 | ) { | - | ||||||||||||||||||||||||||||||||||||
2187 | int ret; | - | ||||||||||||||||||||||||||||||||||||
2188 | - | |||||||||||||||||||||||||||||||||||||
2189 | - | |||||||||||||||||||||||||||||||||||||
2190 | if (s->s3->tmp.cert !=
| 0-12 | ||||||||||||||||||||||||||||||||||||
2191 | ((void *)0)
| 0-12 | ||||||||||||||||||||||||||||||||||||
2192 | ) { | - | ||||||||||||||||||||||||||||||||||||
2193 | - | |||||||||||||||||||||||||||||||||||||
2194 | - | |||||||||||||||||||||||||||||||||||||
2195 | - | |||||||||||||||||||||||||||||||||||||
2196 | - | |||||||||||||||||||||||||||||||||||||
2197 | s->cert->key = s->s3->tmp.cert; | - | ||||||||||||||||||||||||||||||||||||
2198 | ret = s->ctx->ext.status_cb(s, s->ctx->ext.status_arg); | - | ||||||||||||||||||||||||||||||||||||
2199 | switch (ret) { | - | ||||||||||||||||||||||||||||||||||||
2200 | - | |||||||||||||||||||||||||||||||||||||
2201 | case never executed: 3:case 3: never executed: case 3: | 0 | ||||||||||||||||||||||||||||||||||||
2202 | s->ext.status_expected = 0; | - | ||||||||||||||||||||||||||||||||||||
2203 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||
2204 | - | |||||||||||||||||||||||||||||||||||||
2205 | case executed 11 times by 1 test: 0:case 0: Executed by:
executed 11 times by 1 test: case 0: Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
2206 | if (s->ext.ocsp.resp
| 0-11 | ||||||||||||||||||||||||||||||||||||
2207 | s->ext.status_expected = 1; executed 11 times by 1 test: s->ext.status_expected = 1; Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
2208 | break; executed 11 times by 1 test: break; Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
2209 | - | |||||||||||||||||||||||||||||||||||||
2210 | case executed 1 time by 1 test: 2:case 2: Executed by:
executed 1 time by 1 test: case 2: Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2211 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||
2212 | ossl_statem_fatal((s), (80), (563), (226), | - | ||||||||||||||||||||||||||||||||||||
2213 | - | |||||||||||||||||||||||||||||||||||||
2214 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2215 | , | - | ||||||||||||||||||||||||||||||||||||
2216 | - | |||||||||||||||||||||||||||||||||||||
2217 | 2118 | - | ||||||||||||||||||||||||||||||||||||
2218 | ) | - | ||||||||||||||||||||||||||||||||||||
2219 | - | |||||||||||||||||||||||||||||||||||||
2220 | ; | - | ||||||||||||||||||||||||||||||||||||
2221 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2222 | } | - | ||||||||||||||||||||||||||||||||||||
2223 | } | - | ||||||||||||||||||||||||||||||||||||
2224 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
2225 | - | |||||||||||||||||||||||||||||||||||||
2226 | return executed 2481 times by 1 test: 1;return 1; Executed by:
executed 2481 times by 1 test: return 1; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
2227 | } | - | ||||||||||||||||||||||||||||||||||||
2228 | - | |||||||||||||||||||||||||||||||||||||
2229 | - | |||||||||||||||||||||||||||||||||||||
2230 | - | |||||||||||||||||||||||||||||||||||||
2231 | - | |||||||||||||||||||||||||||||||||||||
2232 | - | |||||||||||||||||||||||||||||||||||||
2233 | int tls_handle_alpn(SSL *s) | - | ||||||||||||||||||||||||||||||||||||
2234 | { | - | ||||||||||||||||||||||||||||||||||||
2235 | const unsigned char *selected = | - | ||||||||||||||||||||||||||||||||||||
2236 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2237 | ; | - | ||||||||||||||||||||||||||||||||||||
2238 | unsigned char selected_len = 0; | - | ||||||||||||||||||||||||||||||||||||
2239 | - | |||||||||||||||||||||||||||||||||||||
2240 | if (s->ctx->ext.alpn_select_cb !=
| 29-2506 | ||||||||||||||||||||||||||||||||||||
2241 | ((void *)0)
| 29-2506 | ||||||||||||||||||||||||||||||||||||
2242 | && s->s3->alpn_proposed !=
| 4-25 | ||||||||||||||||||||||||||||||||||||
2243 | ((void *)0)
| 4-25 | ||||||||||||||||||||||||||||||||||||
2244 | ) { | - | ||||||||||||||||||||||||||||||||||||
2245 | int r = s->ctx->ext.alpn_select_cb(s, &selected, &selected_len, | - | ||||||||||||||||||||||||||||||||||||
2246 | s->s3->alpn_proposed, | - | ||||||||||||||||||||||||||||||||||||
2247 | (unsigned int)s->s3->alpn_proposed_len, | - | ||||||||||||||||||||||||||||||||||||
2248 | s->ctx->ext.alpn_select_cb_arg); | - | ||||||||||||||||||||||||||||||||||||
2249 | - | |||||||||||||||||||||||||||||||||||||
2250 | if (r == 0
| 3-22 | ||||||||||||||||||||||||||||||||||||
2251 | CRYPTO_free(s->s3->alpn_selected, __FILE__, 2143); | - | ||||||||||||||||||||||||||||||||||||
2252 | s->s3->alpn_selected = CRYPTO_memdup((selected), selected_len, __FILE__, 2144); | - | ||||||||||||||||||||||||||||||||||||
2253 | if (s->s3->alpn_selected ==
| 0-22 | ||||||||||||||||||||||||||||||||||||
2254 | ((void *)0)
| 0-22 | ||||||||||||||||||||||||||||||||||||
2255 | ) { | - | ||||||||||||||||||||||||||||||||||||
2256 | ossl_statem_fatal((s), (80), (562), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2257 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2258 | , | - | ||||||||||||||||||||||||||||||||||||
2259 | 2147 | - | ||||||||||||||||||||||||||||||||||||
2260 | ) | - | ||||||||||||||||||||||||||||||||||||
2261 | ; | - | ||||||||||||||||||||||||||||||||||||
2262 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2263 | } | - | ||||||||||||||||||||||||||||||||||||
2264 | s->s3->alpn_selected_len = selected_len; | - | ||||||||||||||||||||||||||||||||||||
2265 | - | |||||||||||||||||||||||||||||||||||||
2266 | - | |||||||||||||||||||||||||||||||||||||
2267 | s->s3->npn_seen = 0; | - | ||||||||||||||||||||||||||||||||||||
2268 | - | |||||||||||||||||||||||||||||||||||||
2269 | - | |||||||||||||||||||||||||||||||||||||
2270 | - | |||||||||||||||||||||||||||||||||||||
2271 | if (s->session->ext.alpn_selected ==
| 5-17 | ||||||||||||||||||||||||||||||||||||
2272 | ((void *)0)
| 5-17 | ||||||||||||||||||||||||||||||||||||
2273 | - | |||||||||||||||||||||||||||||||||||||
2274 | || selected_len != s->session->ext.alpn_selected_len
| 0-5 | ||||||||||||||||||||||||||||||||||||
2275 | || memcmp(selected, s->session->ext.alpn_selected,
| 2-3 | ||||||||||||||||||||||||||||||||||||
2276 | selected_len) != 0
| 2-3 | ||||||||||||||||||||||||||||||||||||
2277 | - | |||||||||||||||||||||||||||||||||||||
2278 | s->ext.early_data_ok = 0; | - | ||||||||||||||||||||||||||||||||||||
2279 | - | |||||||||||||||||||||||||||||||||||||
2280 | if (!s->hit
| 3-16 | ||||||||||||||||||||||||||||||||||||
2281 | - | |||||||||||||||||||||||||||||||||||||
2282 | - | |||||||||||||||||||||||||||||||||||||
2283 | - | |||||||||||||||||||||||||||||||||||||
2284 | - | |||||||||||||||||||||||||||||||||||||
2285 | - | |||||||||||||||||||||||||||||||||||||
2286 | if (!((s->session->ext.alpn_selected ==
| 0-16 | ||||||||||||||||||||||||||||||||||||
2287 | ((void *)0)
| 0-16 | ||||||||||||||||||||||||||||||||||||
2288 | ) != 0)
| 0-16 | ||||||||||||||||||||||||||||||||||||
2289 | ossl_statem_fatal((s), (80), (562), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2290 | - | |||||||||||||||||||||||||||||||||||||
2291 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2292 | , | - | ||||||||||||||||||||||||||||||||||||
2293 | - | |||||||||||||||||||||||||||||||||||||
2294 | 2173 | - | ||||||||||||||||||||||||||||||||||||
2295 | ) | - | ||||||||||||||||||||||||||||||||||||
2296 | - | |||||||||||||||||||||||||||||||||||||
2297 | ; | - | ||||||||||||||||||||||||||||||||||||
2298 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2299 | } | - | ||||||||||||||||||||||||||||||||||||
2300 | s->session->ext.alpn_selected = CRYPTO_memdup((selected), selected_len, | - | ||||||||||||||||||||||||||||||||||||
2301 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2302 | , | - | ||||||||||||||||||||||||||||||||||||
2303 | 2177 | - | ||||||||||||||||||||||||||||||||||||
2304 | ) | - | ||||||||||||||||||||||||||||||||||||
2305 | ; | - | ||||||||||||||||||||||||||||||||||||
2306 | if (s->session->ext.alpn_selected ==
| 0-16 | ||||||||||||||||||||||||||||||||||||
2307 | ((void *)0)
| 0-16 | ||||||||||||||||||||||||||||||||||||
2308 | ) { | - | ||||||||||||||||||||||||||||||||||||
2309 | ossl_statem_fatal((s), (80), (562), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2310 | - | |||||||||||||||||||||||||||||||||||||
2311 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2312 | , | - | ||||||||||||||||||||||||||||||||||||
2313 | - | |||||||||||||||||||||||||||||||||||||
2314 | 2181 | - | ||||||||||||||||||||||||||||||||||||
2315 | ) | - | ||||||||||||||||||||||||||||||||||||
2316 | - | |||||||||||||||||||||||||||||||||||||
2317 | ; | - | ||||||||||||||||||||||||||||||||||||
2318 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2319 | } | - | ||||||||||||||||||||||||||||||||||||
2320 | s->session->ext.alpn_selected_len = selected_len; | - | ||||||||||||||||||||||||||||||||||||
2321 | } executed 16 times by 1 test: end of block Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
2322 | } executed 19 times by 1 test: end of block Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
2323 | - | |||||||||||||||||||||||||||||||||||||
2324 | return executed 22 times by 1 test: 1;return 1; Executed by:
executed 22 times by 1 test: return 1; Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||
2325 | } else if (r != 3
| 1-2 | ||||||||||||||||||||||||||||||||||||
2326 | ossl_statem_fatal((s), (120), (562), (235), | - | ||||||||||||||||||||||||||||||||||||
2327 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2328 | , | - | ||||||||||||||||||||||||||||||||||||
2329 | 2191 | - | ||||||||||||||||||||||||||||||||||||
2330 | ) | - | ||||||||||||||||||||||||||||||||||||
2331 | ; | - | ||||||||||||||||||||||||||||||||||||
2332 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
2333 | } | - | ||||||||||||||||||||||||||||||||||||
2334 | - | |||||||||||||||||||||||||||||||||||||
2335 | - | |||||||||||||||||||||||||||||||||||||
2336 | - | |||||||||||||||||||||||||||||||||||||
2337 | - | |||||||||||||||||||||||||||||||||||||
2338 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2339 | - | |||||||||||||||||||||||||||||||||||||
2340 | - | |||||||||||||||||||||||||||||||||||||
2341 | if (s->session->ext.alpn_selected !=
| 4-2507 | ||||||||||||||||||||||||||||||||||||
2342 | ((void *)0)
| 4-2507 | ||||||||||||||||||||||||||||||||||||
2343 | ) { | - | ||||||||||||||||||||||||||||||||||||
2344 | - | |||||||||||||||||||||||||||||||||||||
2345 | s->ext.early_data_ok = 0; | - | ||||||||||||||||||||||||||||||||||||
2346 | } executed 4 times by 1 test: end of block Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
2347 | - | |||||||||||||||||||||||||||||||||||||
2348 | return executed 2511 times by 1 test: 1;return 1; Executed by:
executed 2511 times by 1 test: return 1; Executed by:
| 2511 | ||||||||||||||||||||||||||||||||||||
2349 | } | - | ||||||||||||||||||||||||||||||||||||
2350 | - | |||||||||||||||||||||||||||||||||||||
2351 | WORK_STATE tls_post_process_client_hello(SSL *s, WORK_STATE wst) | - | ||||||||||||||||||||||||||||||||||||
2352 | { | - | ||||||||||||||||||||||||||||||||||||
2353 | const SSL_CIPHER *cipher; | - | ||||||||||||||||||||||||||||||||||||
2354 | - | |||||||||||||||||||||||||||||||||||||
2355 | if (wst == WORK_MORE_A
| 2-3658 | ||||||||||||||||||||||||||||||||||||
2356 | int rv = tls_early_post_process_client_hello(s); | - | ||||||||||||||||||||||||||||||||||||
2357 | if (rv == 0
| 939-2719 | ||||||||||||||||||||||||||||||||||||
2358 | - | |||||||||||||||||||||||||||||||||||||
2359 | goto executed 939 times by 1 test: err;goto err; Executed by:
executed 939 times by 1 test: goto err; Executed by:
| 939 | ||||||||||||||||||||||||||||||||||||
2360 | } | - | ||||||||||||||||||||||||||||||||||||
2361 | if (rv < 0
| 1-2718 | ||||||||||||||||||||||||||||||||||||
2362 | return executed 1 time by 1 test: WORK_MORE_A;return WORK_MORE_A; Executed by:
executed 1 time by 1 test: return WORK_MORE_A; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2363 | wst = WORK_MORE_B; | - | ||||||||||||||||||||||||||||||||||||
2364 | } executed 2718 times by 1 test: end of block Executed by:
| 2718 | ||||||||||||||||||||||||||||||||||||
2365 | if (wst == WORK_MORE_B
| 0-2720 | ||||||||||||||||||||||||||||||||||||
2366 | if (!s->hit
| 0-2506 | ||||||||||||||||||||||||||||||||||||
2367 | - | |||||||||||||||||||||||||||||||||||||
2368 | if (!s->hit
| 132-2506 | ||||||||||||||||||||||||||||||||||||
2369 | if (s->cert->cert_cb !=
| 5-2501 | ||||||||||||||||||||||||||||||||||||
2370 | ((void *)0)
| 5-2501 | ||||||||||||||||||||||||||||||||||||
2371 | ) { | - | ||||||||||||||||||||||||||||||||||||
2372 | int rv = s->cert->cert_cb(s, s->cert->cert_cb_arg); | - | ||||||||||||||||||||||||||||||||||||
2373 | if (rv == 0
| 1-4 | ||||||||||||||||||||||||||||||||||||
2374 | ossl_statem_fatal((s), (80), (378), (377), | - | ||||||||||||||||||||||||||||||||||||
2375 | - | |||||||||||||||||||||||||||||||||||||
2376 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2377 | , | - | ||||||||||||||||||||||||||||||||||||
2378 | - | |||||||||||||||||||||||||||||||||||||
2379 | 2232 | - | ||||||||||||||||||||||||||||||||||||
2380 | ) | - | ||||||||||||||||||||||||||||||||||||
2381 | - | |||||||||||||||||||||||||||||||||||||
2382 | ; | - | ||||||||||||||||||||||||||||||||||||
2383 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2384 | } | - | ||||||||||||||||||||||||||||||||||||
2385 | if (rv < 0
| 2 | ||||||||||||||||||||||||||||||||||||
2386 | s->rwstate = 4; | - | ||||||||||||||||||||||||||||||||||||
2387 | return executed 2 times by 1 test: WORK_MORE_B;return WORK_MORE_B; Executed by:
executed 2 times by 1 test: return WORK_MORE_B; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
2388 | } | - | ||||||||||||||||||||||||||||||||||||
2389 | s->rwstate = 1; | - | ||||||||||||||||||||||||||||||||||||
2390 | } executed 2 times by 1 test: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
2391 | if (!tls1_set_server_sigalgs(s)
| 19-2484 | ||||||||||||||||||||||||||||||||||||
2392 | - | |||||||||||||||||||||||||||||||||||||
2393 | goto executed 19 times by 1 test: err;goto err; Executed by:
executed 19 times by 1 test: goto err; Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||
2394 | } | - | ||||||||||||||||||||||||||||||||||||
2395 | } executed 2484 times by 1 test: end of block Executed by:
| 2484 | ||||||||||||||||||||||||||||||||||||
2396 | - | |||||||||||||||||||||||||||||||||||||
2397 | - | |||||||||||||||||||||||||||||||||||||
2398 | if (!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2446 | ||||||||||||||||||||||||||||||||||||
2399 | cipher = | - | ||||||||||||||||||||||||||||||||||||
2400 | ssl3_choose_cipher(s, s->session->ciphers, SSL_get_ciphers(s)); | - | ||||||||||||||||||||||||||||||||||||
2401 | - | |||||||||||||||||||||||||||||||||||||
2402 | if (cipher ==
| 126-1496 | ||||||||||||||||||||||||||||||||||||
2403 | ((void *)0)
| 126-1496 | ||||||||||||||||||||||||||||||||||||
2404 | ) { | - | ||||||||||||||||||||||||||||||||||||
2405 | ossl_statem_fatal((s), (40), (378), (193), | - | ||||||||||||||||||||||||||||||||||||
2406 | - | |||||||||||||||||||||||||||||||||||||
2407 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2408 | , | - | ||||||||||||||||||||||||||||||||||||
2409 | - | |||||||||||||||||||||||||||||||||||||
2410 | 2255 | - | ||||||||||||||||||||||||||||||||||||
2411 | ) | - | ||||||||||||||||||||||||||||||||||||
2412 | - | |||||||||||||||||||||||||||||||||||||
2413 | ; | - | ||||||||||||||||||||||||||||||||||||
2414 | goto executed 126 times by 1 test: err;goto err; Executed by:
executed 126 times by 1 test: goto err; Executed by:
| 126 | ||||||||||||||||||||||||||||||||||||
2415 | } | - | ||||||||||||||||||||||||||||||||||||
2416 | s->s3->tmp.new_cipher = cipher; | - | ||||||||||||||||||||||||||||||||||||
2417 | } executed 1496 times by 1 test: end of block Executed by:
| 1496 | ||||||||||||||||||||||||||||||||||||
2418 | if (!s->hit
| 132-2358 | ||||||||||||||||||||||||||||||||||||
2419 | if (!tls_choose_sigalg(s, 1)
| 90-2268 | ||||||||||||||||||||||||||||||||||||
2420 | - | |||||||||||||||||||||||||||||||||||||
2421 | goto executed 90 times by 1 test: err;goto err; Executed by:
executed 90 times by 1 test: goto err; Executed by:
| 90 | ||||||||||||||||||||||||||||||||||||
2422 | } | - | ||||||||||||||||||||||||||||||||||||
2423 | - | |||||||||||||||||||||||||||||||||||||
2424 | if (s->not_resumable_session_cb !=
| 0-2268 | ||||||||||||||||||||||||||||||||||||
2425 | ((void *)0)
| 0-2268 | ||||||||||||||||||||||||||||||||||||
2426 | ) | - | ||||||||||||||||||||||||||||||||||||
2427 | s->session->not_resumable = never executed: s->session->not_resumable = s->not_resumable_session_cb(s, ((s->s3->tmp.new_cipher->algorithm_mkey & (0x00000002U | 0x00000004U)) != 0)); | 0 | ||||||||||||||||||||||||||||||||||||
2428 | s->not_resumable_session_cb(s, never executed: s->session->not_resumable = s->not_resumable_session_cb(s, ((s->s3->tmp.new_cipher->algorithm_mkey & (0x00000002U | 0x00000004U)) != 0)); | 0 | ||||||||||||||||||||||||||||||||||||
2429 | ((s->s3->tmp.new_cipher->algorithm_mkey never executed: s->session->not_resumable = s->not_resumable_session_cb(s, ((s->s3->tmp.new_cipher->algorithm_mkey & (0x00000002U | 0x00000004U)) != 0)); | 0 | ||||||||||||||||||||||||||||||||||||
2430 | & (0x00000002U | 0x00000004U)) != 0)); never executed: s->session->not_resumable = s->not_resumable_session_cb(s, ((s->s3->tmp.new_cipher->algorithm_mkey & (0x00000002U | 0x00000004U)) != 0)); | 0 | ||||||||||||||||||||||||||||||||||||
2431 | if (s->session->not_resumable
| 0-2268 | ||||||||||||||||||||||||||||||||||||
2432 | - | |||||||||||||||||||||||||||||||||||||
2433 | s->ext.ticket_expected = 0; never executed: s->ext.ticket_expected = 0; | 0 | ||||||||||||||||||||||||||||||||||||
2434 | } executed 2268 times by 1 test: end of block Executed by:
| 2268 | ||||||||||||||||||||||||||||||||||||
2435 | } executed 2400 times by 1 test: else {end of block Executed by:
| 2400 | ||||||||||||||||||||||||||||||||||||
2436 | - | |||||||||||||||||||||||||||||||||||||
2437 | s->s3->tmp.new_cipher = s->session->cipher; | - | ||||||||||||||||||||||||||||||||||||
2438 | } executed 82 times by 1 test: end of block Executed by:
| 82 | ||||||||||||||||||||||||||||||||||||
2439 | if (!tls_handle_status_request(s)
| 1-2481 | ||||||||||||||||||||||||||||||||||||
2440 | - | |||||||||||||||||||||||||||||||||||||
2441 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
2442 | } | - | ||||||||||||||||||||||||||||||||||||
2443 | - | |||||||||||||||||||||||||||||||||||||
2444 | - | |||||||||||||||||||||||||||||||||||||
2445 | - | |||||||||||||||||||||||||||||||||||||
2446 | - | |||||||||||||||||||||||||||||||||||||
2447 | - | |||||||||||||||||||||||||||||||||||||
2448 | - | |||||||||||||||||||||||||||||||||||||
2449 | if (!(!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2295 | ||||||||||||||||||||||||||||||||||||
2450 | - | |||||||||||||||||||||||||||||||||||||
2451 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2452 | } | - | ||||||||||||||||||||||||||||||||||||
2453 | - | |||||||||||||||||||||||||||||||||||||
2454 | wst = WORK_MORE_C; | - | ||||||||||||||||||||||||||||||||||||
2455 | } executed 2481 times by 1 test: end of block Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
2456 | - | |||||||||||||||||||||||||||||||||||||
2457 | if (wst == WORK_MORE_C
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2458 | int ret; | - | ||||||||||||||||||||||||||||||||||||
2459 | if ((
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2460 | - | |||||||||||||||||||||||||||||||||||||
2461 | - | |||||||||||||||||||||||||||||||||||||
2462 | - | |||||||||||||||||||||||||||||||||||||
2463 | s->rwstate = 4; | - | ||||||||||||||||||||||||||||||||||||
2464 | return never executed: WORK_MORE_C;return WORK_MORE_C; never executed: return WORK_MORE_C; | 0 | ||||||||||||||||||||||||||||||||||||
2465 | } | - | ||||||||||||||||||||||||||||||||||||
2466 | if (ret < 0
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2467 | - | |||||||||||||||||||||||||||||||||||||
2468 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2469 | } | - | ||||||||||||||||||||||||||||||||||||
2470 | } executed 2481 times by 1 test: end of block Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
2471 | - | |||||||||||||||||||||||||||||||||||||
2472 | - | |||||||||||||||||||||||||||||||||||||
2473 | return executed 2481 times by 1 test: WORK_FINISHED_STOP;return WORK_FINISHED_STOP; Executed by:
executed 2481 times by 1 test: return WORK_FINISHED_STOP; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
2474 | err: | - | ||||||||||||||||||||||||||||||||||||
2475 | return executed 1176 times by 1 test: WORK_ERROR;return WORK_ERROR; Executed by:
executed 1176 times by 1 test: return WORK_ERROR; Executed by:
| 1176 | ||||||||||||||||||||||||||||||||||||
2476 | } | - | ||||||||||||||||||||||||||||||||||||
2477 | - | |||||||||||||||||||||||||||||||||||||
2478 | int tls_construct_server_hello(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
2479 | { | - | ||||||||||||||||||||||||||||||||||||
2480 | int compm; | - | ||||||||||||||||||||||||||||||||||||
2481 | size_t sl, len; | - | ||||||||||||||||||||||||||||||||||||
2482 | int version; | - | ||||||||||||||||||||||||||||||||||||
2483 | unsigned char *session_id; | - | ||||||||||||||||||||||||||||||||||||
2484 | int usetls13 = (!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-2295 | ||||||||||||||||||||||||||||||||||||
2485 | - | |||||||||||||||||||||||||||||||||||||
2486 | version = usetls13
| 971-1510 | ||||||||||||||||||||||||||||||||||||
2487 | if (!WPACKET_put_bytes__((pkt), (version), 2)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2488 | - | |||||||||||||||||||||||||||||||||||||
2489 | - | |||||||||||||||||||||||||||||||||||||
2490 | - | |||||||||||||||||||||||||||||||||||||
2491 | - | |||||||||||||||||||||||||||||||||||||
2492 | || !WPACKET_memcpy(pkt,
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2493 | s->hello_retry_request == SSL_HRR_PENDING
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2494 | ? hrrrandom : s->s3->server_random,
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2495 | 32)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2496 | ossl_statem_fatal((s), (80), (491), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2497 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2498 | , | - | ||||||||||||||||||||||||||||||||||||
2499 | 2354 | - | ||||||||||||||||||||||||||||||||||||
2500 | ) | - | ||||||||||||||||||||||||||||||||||||
2501 | ; | - | ||||||||||||||||||||||||||||||||||||
2502 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2503 | } | - | ||||||||||||||||||||||||||||||||||||
2504 | if (s->session->not_resumable
| 32-2449 | ||||||||||||||||||||||||||||||||||||
2505 | (!(s->ctx->session_cache_mode & 0x0002)
| 24-2425 | ||||||||||||||||||||||||||||||||||||
2506 | && !s->hit
| 8-16 | ||||||||||||||||||||||||||||||||||||
2507 | s->session->session_id_length = 0; executed 48 times by 1 test: s->session->session_id_length = 0; Executed by:
| 48 | ||||||||||||||||||||||||||||||||||||
2508 | - | |||||||||||||||||||||||||||||||||||||
2509 | if (usetls13
| 971-1510 | ||||||||||||||||||||||||||||||||||||
2510 | sl = s->tmp_session_id_len; | - | ||||||||||||||||||||||||||||||||||||
2511 | session_id = s->tmp_session_id; | - | ||||||||||||||||||||||||||||||||||||
2512 | } executed 971 times by 1 test: else {end of block Executed by:
| 971 | ||||||||||||||||||||||||||||||||||||
2513 | sl = s->session->session_id_length; | - | ||||||||||||||||||||||||||||||||||||
2514 | session_id = s->session->session_id; | - | ||||||||||||||||||||||||||||||||||||
2515 | } executed 1510 times by 1 test: end of block Executed by:
| 1510 | ||||||||||||||||||||||||||||||||||||
2516 | - | |||||||||||||||||||||||||||||||||||||
2517 | if (sl > sizeof(s->session->session_id)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2518 | ossl_statem_fatal((s), (80), (491), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2519 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2520 | , | - | ||||||||||||||||||||||||||||||||||||
2521 | 2391 | - | ||||||||||||||||||||||||||||||||||||
2522 | ) | - | ||||||||||||||||||||||||||||||||||||
2523 | ; | - | ||||||||||||||||||||||||||||||||||||
2524 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2525 | } | - | ||||||||||||||||||||||||||||||||||||
2526 | - | |||||||||||||||||||||||||||||||||||||
2527 | - | |||||||||||||||||||||||||||||||||||||
2528 | - | |||||||||||||||||||||||||||||||||||||
2529 | - | |||||||||||||||||||||||||||||||||||||
2530 | - | |||||||||||||||||||||||||||||||||||||
2531 | if (usetls13
| 0-1510 | ||||||||||||||||||||||||||||||||||||
2532 | ((void *)0)
| 0-1510 | ||||||||||||||||||||||||||||||||||||
2533 | ) | - | ||||||||||||||||||||||||||||||||||||
2534 | compm = 0; executed 2481 times by 1 test: compm = 0; Executed by:
| 2481 | ||||||||||||||||||||||||||||||||||||
2535 | else | - | ||||||||||||||||||||||||||||||||||||
2536 | compm = s->s3->tmp.new_compression->id; never executed: compm = s->s3->tmp.new_compression->id; | 0 | ||||||||||||||||||||||||||||||||||||
2537 | - | |||||||||||||||||||||||||||||||||||||
2538 | - | |||||||||||||||||||||||||||||||||||||
2539 | if (!WPACKET_sub_memcpy__((pkt), (session_id), (sl), 1)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2540 | || !s->method->put_cipher_by_char(s->s3->tmp.new_cipher, pkt, &len)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2541 | || !WPACKET_put_bytes__((pkt), (compm), 1)
| 0-2481 | ||||||||||||||||||||||||||||||||||||
2542 | ossl_statem_fatal((s), (80), (491), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2543 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2544 | , | - | ||||||||||||||||||||||||||||||||||||
2545 | 2409 | - | ||||||||||||||||||||||||||||||||||||
2546 | ) | - | ||||||||||||||||||||||||||||||||||||
2547 | ; | - | ||||||||||||||||||||||||||||||||||||
2548 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2549 | } | - | ||||||||||||||||||||||||||||||||||||
2550 | - | |||||||||||||||||||||||||||||||||||||
2551 | if (!tls_construct_extensions(s, pkt,
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2552 | s->hello_retry_request == SSL_HRR_PENDING
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2553 | ? 0x0800
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2554 | : ((!(s->method->ssl3_enc->enc_flags & 0x8) && (s)->method->version >= 0x0304 && (s)->method->version != 0x10000)
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2555 | ? 0x0200
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2556 | : 0x0100),
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2557 |
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2558 | ((void *)0)
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2559 | , 0)
| 3-2478 | ||||||||||||||||||||||||||||||||||||
2560 | - | |||||||||||||||||||||||||||||||||||||
2561 | return executed 3 times by 1 test: 0;return 0; Executed by:
executed 3 times by 1 test: return 0; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
2562 | } | - | ||||||||||||||||||||||||||||||||||||
2563 | - | |||||||||||||||||||||||||||||||||||||
2564 | if (s->hello_retry_request == SSL_HRR_PENDING
| 114-2364 | ||||||||||||||||||||||||||||||||||||
2565 | - | |||||||||||||||||||||||||||||||||||||
2566 | SSL_SESSION_free(s->session); | - | ||||||||||||||||||||||||||||||||||||
2567 | s->session = | - | ||||||||||||||||||||||||||||||||||||
2568 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2569 | ; | - | ||||||||||||||||||||||||||||||||||||
2570 | s->hit = 0; | - | ||||||||||||||||||||||||||||||||||||
2571 | - | |||||||||||||||||||||||||||||||||||||
2572 | - | |||||||||||||||||||||||||||||||||||||
2573 | - | |||||||||||||||||||||||||||||||||||||
2574 | - | |||||||||||||||||||||||||||||||||||||
2575 | - | |||||||||||||||||||||||||||||||||||||
2576 | if (!create_synthetic_message_hash(s,
| 0-114 | ||||||||||||||||||||||||||||||||||||
2577 | ((void *)0)
| 0-114 | ||||||||||||||||||||||||||||||||||||
2578 | , 0,
| 0-114 | ||||||||||||||||||||||||||||||||||||
2579 | ((void *)0)
| 0-114 | ||||||||||||||||||||||||||||||||||||
2580 | , 0)
| 0-114 | ||||||||||||||||||||||||||||||||||||
2581 | - | |||||||||||||||||||||||||||||||||||||
2582 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2583 | } | - | ||||||||||||||||||||||||||||||||||||
2584 | } executed 114 times by 1 test: else if (!(s->verify_mode & 0x01)end of block Executed by:
| 65-2299 | ||||||||||||||||||||||||||||||||||||
2585 | && !ssl3_digest_cached_records(s, 0)
| 0-2299 | ||||||||||||||||||||||||||||||||||||
2586 | ; | - | ||||||||||||||||||||||||||||||||||||
2587 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2588 | } | - | ||||||||||||||||||||||||||||||||||||
2589 | - | |||||||||||||||||||||||||||||||||||||
2590 | return executed 2478 times by 1 test: 1;return 1; Executed by:
executed 2478 times by 1 test: return 1; Executed by:
| 2478 | ||||||||||||||||||||||||||||||||||||
2591 | } | - | ||||||||||||||||||||||||||||||||||||
2592 | - | |||||||||||||||||||||||||||||||||||||
2593 | int tls_construct_server_done(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
2594 | { | - | ||||||||||||||||||||||||||||||||||||
2595 | if (!s->s3->tmp.cert_request
| 35-1393 | ||||||||||||||||||||||||||||||||||||
2596 | if (!ssl3_digest_cached_records(s, 0)
| 0-1393 | ||||||||||||||||||||||||||||||||||||
2597 | - | |||||||||||||||||||||||||||||||||||||
2598 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
2599 | } | - | ||||||||||||||||||||||||||||||||||||
2600 | } executed 1393 times by 1 test: end of block Executed by:
| 1393 | ||||||||||||||||||||||||||||||||||||
2601 | return executed 1428 times by 1 test: 1;return 1; Executed by:
executed 1428 times by 1 test: return 1; Executed by:
| 1428 | ||||||||||||||||||||||||||||||||||||
2602 | } | - | ||||||||||||||||||||||||||||||||||||
2603 | - | |||||||||||||||||||||||||||||||||||||
2604 | int tls_construct_server_key_exchange(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
2605 | { | - | ||||||||||||||||||||||||||||||||||||
2606 | - | |||||||||||||||||||||||||||||||||||||
2607 | EVP_PKEY *pkdh = | - | ||||||||||||||||||||||||||||||||||||
2608 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2609 | ; | - | ||||||||||||||||||||||||||||||||||||
2610 | - | |||||||||||||||||||||||||||||||||||||
2611 | - | |||||||||||||||||||||||||||||||||||||
2612 | unsigned char *encodedPoint = | - | ||||||||||||||||||||||||||||||||||||
2613 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2614 | ; | - | ||||||||||||||||||||||||||||||||||||
2615 | size_t encodedlen = 0; | - | ||||||||||||||||||||||||||||||||||||
2616 | int curve_id = 0; | - | ||||||||||||||||||||||||||||||||||||
2617 | - | |||||||||||||||||||||||||||||||||||||
2618 | const SIGALG_LOOKUP *lu = s->s3->tmp.sigalg; | - | ||||||||||||||||||||||||||||||||||||
2619 | int i; | - | ||||||||||||||||||||||||||||||||||||
2620 | unsigned long type; | - | ||||||||||||||||||||||||||||||||||||
2621 | const BIGNUM *r[4]; | - | ||||||||||||||||||||||||||||||||||||
2622 | EVP_MD_CTX *md_ctx = EVP_MD_CTX_new(); | - | ||||||||||||||||||||||||||||||||||||
2623 | EVP_PKEY_CTX *pctx = | - | ||||||||||||||||||||||||||||||||||||
2624 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2625 | ; | - | ||||||||||||||||||||||||||||||||||||
2626 | size_t paramlen, paramoffset; | - | ||||||||||||||||||||||||||||||||||||
2627 | - | |||||||||||||||||||||||||||||||||||||
2628 | if (!WPACKET_get_total_written(pkt, ¶moffset)
| 0-1156 | ||||||||||||||||||||||||||||||||||||
2629 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2630 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2631 | , | - | ||||||||||||||||||||||||||||||||||||
2632 | 2478 | - | ||||||||||||||||||||||||||||||||||||
2633 | ) | - | ||||||||||||||||||||||||||||||||||||
2634 | ; | - | ||||||||||||||||||||||||||||||||||||
2635 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2636 | } | - | ||||||||||||||||||||||||||||||||||||
2637 | - | |||||||||||||||||||||||||||||||||||||
2638 | if (md_ctx ==
| 0-1156 | ||||||||||||||||||||||||||||||||||||
2639 | ((void *)0)
| 0-1156 | ||||||||||||||||||||||||||||||||||||
2640 | ) { | - | ||||||||||||||||||||||||||||||||||||
2641 | ossl_statem_fatal((s), (80), (492), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
2642 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2643 | , | - | ||||||||||||||||||||||||||||||||||||
2644 | 2484 | - | ||||||||||||||||||||||||||||||||||||
2645 | ) | - | ||||||||||||||||||||||||||||||||||||
2646 | ; | - | ||||||||||||||||||||||||||||||||||||
2647 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2648 | } | - | ||||||||||||||||||||||||||||||||||||
2649 | - | |||||||||||||||||||||||||||||||||||||
2650 | type = s->s3->tmp.new_cipher->algorithm_mkey; | - | ||||||||||||||||||||||||||||||||||||
2651 | - | |||||||||||||||||||||||||||||||||||||
2652 | r[0] = r[1] = r[2] = r[3] = | - | ||||||||||||||||||||||||||||||||||||
2653 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2654 | ; | - | ||||||||||||||||||||||||||||||||||||
2655 | - | |||||||||||||||||||||||||||||||||||||
2656 | - | |||||||||||||||||||||||||||||||||||||
2657 | if (type & (0x00000008U | 0x00000040U)
| 0-1156 | ||||||||||||||||||||||||||||||||||||
2658 | } never executed: elseend of block | 0 | ||||||||||||||||||||||||||||||||||||
2659 | - | |||||||||||||||||||||||||||||||||||||
2660 | - | |||||||||||||||||||||||||||||||||||||
2661 | if (type & (0x00000002U | 0x00000100U)
| 61-1095 | ||||||||||||||||||||||||||||||||||||
2662 | CERT *cert = s->cert; | - | ||||||||||||||||||||||||||||||||||||
2663 | - | |||||||||||||||||||||||||||||||||||||
2664 | EVP_PKEY *pkdhp = | - | ||||||||||||||||||||||||||||||||||||
2665 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2666 | ; | - | ||||||||||||||||||||||||||||||||||||
2667 | DH *dh; | - | ||||||||||||||||||||||||||||||||||||
2668 | - | |||||||||||||||||||||||||||||||||||||
2669 | if (s->cert->dh_tmp_auto
| 9-52 | ||||||||||||||||||||||||||||||||||||
2670 | DH *dhp = ssl_get_auto_dh(s); | - | ||||||||||||||||||||||||||||||||||||
2671 | pkdh = EVP_PKEY_new(); | - | ||||||||||||||||||||||||||||||||||||
2672 | if (pkdh ==
| 0-9 | ||||||||||||||||||||||||||||||||||||
2673 | ((void *)0)
| 0-9 | ||||||||||||||||||||||||||||||||||||
2674 | || dhp ==
| 0-9 | ||||||||||||||||||||||||||||||||||||
2675 | ((void *)0)
| 0-9 | ||||||||||||||||||||||||||||||||||||
2676 | ) { | - | ||||||||||||||||||||||||||||||||||||
2677 | DH_free(dhp); | - | ||||||||||||||||||||||||||||||||||||
2678 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2679 | - | |||||||||||||||||||||||||||||||||||||
2680 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2681 | , | - | ||||||||||||||||||||||||||||||||||||
2682 | - | |||||||||||||||||||||||||||||||||||||
2683 | 2510 | - | ||||||||||||||||||||||||||||||||||||
2684 | ) | - | ||||||||||||||||||||||||||||||||||||
2685 | - | |||||||||||||||||||||||||||||||||||||
2686 | ; | - | ||||||||||||||||||||||||||||||||||||
2687 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2688 | } | - | ||||||||||||||||||||||||||||||||||||
2689 | EVP_PKEY_assign((pkdh),28, (char *)(dhp)); | - | ||||||||||||||||||||||||||||||||||||
2690 | pkdhp = pkdh; | - | ||||||||||||||||||||||||||||||||||||
2691 | } executed 9 times by 1 test: else {end of block Executed by:
| 9 | ||||||||||||||||||||||||||||||||||||
2692 | pkdhp = cert->dh_tmp; | - | ||||||||||||||||||||||||||||||||||||
2693 | } executed 52 times by 1 test: end of block Executed by:
| 52 | ||||||||||||||||||||||||||||||||||||
2694 | if ((
| 0-61 | ||||||||||||||||||||||||||||||||||||
2695 | ((void *)0)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2696 | )
| 0-61 | ||||||||||||||||||||||||||||||||||||
2697 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
2698 | )
| 0 | ||||||||||||||||||||||||||||||||||||
2699 | DH *dhp = s->cert->dh_tmp_cb(s, 0, 1024); | - | ||||||||||||||||||||||||||||||||||||
2700 | pkdh = ssl_dh_to_pkey(dhp); | - | ||||||||||||||||||||||||||||||||||||
2701 | if (pkdh ==
| 0 | ||||||||||||||||||||||||||||||||||||
2702 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
2703 | ) { | - | ||||||||||||||||||||||||||||||||||||
2704 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2705 | - | |||||||||||||||||||||||||||||||||||||
2706 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2707 | , | - | ||||||||||||||||||||||||||||||||||||
2708 | - | |||||||||||||||||||||||||||||||||||||
2709 | 2524 | - | ||||||||||||||||||||||||||||||||||||
2710 | ) | - | ||||||||||||||||||||||||||||||||||||
2711 | - | |||||||||||||||||||||||||||||||||||||
2712 | ; | - | ||||||||||||||||||||||||||||||||||||
2713 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2714 | } | - | ||||||||||||||||||||||||||||||||||||
2715 | pkdhp = pkdh; | - | ||||||||||||||||||||||||||||||||||||
2716 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
2717 | if (pkdhp ==
| 0-61 | ||||||||||||||||||||||||||||||||||||
2718 | ((void *)0)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2719 | ) { | - | ||||||||||||||||||||||||||||||||||||
2720 | ossl_statem_fatal((s), (80), (492), (171), | - | ||||||||||||||||||||||||||||||||||||
2721 | - | |||||||||||||||||||||||||||||||||||||
2722 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2723 | , | - | ||||||||||||||||||||||||||||||||||||
2724 | - | |||||||||||||||||||||||||||||||||||||
2725 | 2532 | - | ||||||||||||||||||||||||||||||||||||
2726 | ) | - | ||||||||||||||||||||||||||||||||||||
2727 | - | |||||||||||||||||||||||||||||||||||||
2728 | ; | - | ||||||||||||||||||||||||||||||||||||
2729 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2730 | } | - | ||||||||||||||||||||||||||||||||||||
2731 | if (!ssl_security(s, (7 | (4 << 16)),
| 0-61 | ||||||||||||||||||||||||||||||||||||
2732 | EVP_PKEY_security_bits(pkdhp), 0, pkdhp)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2733 | ossl_statem_fatal((s), (40), (492), (394), | - | ||||||||||||||||||||||||||||||||||||
2734 | - | |||||||||||||||||||||||||||||||||||||
2735 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2736 | , | - | ||||||||||||||||||||||||||||||||||||
2737 | - | |||||||||||||||||||||||||||||||||||||
2738 | 2539 | - | ||||||||||||||||||||||||||||||||||||
2739 | ) | - | ||||||||||||||||||||||||||||||||||||
2740 | - | |||||||||||||||||||||||||||||||||||||
2741 | ; | - | ||||||||||||||||||||||||||||||||||||
2742 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2743 | } | - | ||||||||||||||||||||||||||||||||||||
2744 | if (s->s3->tmp.pkey !=
| 0-61 | ||||||||||||||||||||||||||||||||||||
2745 | ((void *)0)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2746 | ) { | - | ||||||||||||||||||||||||||||||||||||
2747 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2748 | - | |||||||||||||||||||||||||||||||||||||
2749 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2750 | , | - | ||||||||||||||||||||||||||||||||||||
2751 | - | |||||||||||||||||||||||||||||||||||||
2752 | 2545 | - | ||||||||||||||||||||||||||||||||||||
2753 | ) | - | ||||||||||||||||||||||||||||||||||||
2754 | - | |||||||||||||||||||||||||||||||||||||
2755 | ; | - | ||||||||||||||||||||||||||||||||||||
2756 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2757 | } | - | ||||||||||||||||||||||||||||||||||||
2758 | - | |||||||||||||||||||||||||||||||||||||
2759 | s->s3->tmp.pkey = ssl_generate_pkey(pkdhp); | - | ||||||||||||||||||||||||||||||||||||
2760 | if (s->s3->tmp.pkey ==
| 0-61 | ||||||||||||||||||||||||||||||||||||
2761 | ((void *)0)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2762 | ) { | - | ||||||||||||||||||||||||||||||||||||
2763 | - | |||||||||||||||||||||||||||||||||||||
2764 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2765 | } | - | ||||||||||||||||||||||||||||||||||||
2766 | - | |||||||||||||||||||||||||||||||||||||
2767 | dh = EVP_PKEY_get0_DH(s->s3->tmp.pkey); | - | ||||||||||||||||||||||||||||||||||||
2768 | if (dh ==
| 0-61 | ||||||||||||||||||||||||||||||||||||
2769 | ((void *)0)
| 0-61 | ||||||||||||||||||||||||||||||||||||
2770 | ) { | - | ||||||||||||||||||||||||||||||||||||
2771 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2772 | - | |||||||||||||||||||||||||||||||||||||
2773 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2774 | , | - | ||||||||||||||||||||||||||||||||||||
2775 | - | |||||||||||||||||||||||||||||||||||||
2776 | 2559 | - | ||||||||||||||||||||||||||||||||||||
2777 | ) | - | ||||||||||||||||||||||||||||||||||||
2778 | - | |||||||||||||||||||||||||||||||||||||
2779 | ; | - | ||||||||||||||||||||||||||||||||||||
2780 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2781 | } | - | ||||||||||||||||||||||||||||||||||||
2782 | - | |||||||||||||||||||||||||||||||||||||
2783 | EVP_PKEY_free(pkdh); | - | ||||||||||||||||||||||||||||||||||||
2784 | pkdh = | - | ||||||||||||||||||||||||||||||||||||
2785 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2786 | ; | - | ||||||||||||||||||||||||||||||||||||
2787 | - | |||||||||||||||||||||||||||||||||||||
2788 | DH_get0_pqg(dh, &r[0], | - | ||||||||||||||||||||||||||||||||||||
2789 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2790 | , &r[1]); | - | ||||||||||||||||||||||||||||||||||||
2791 | DH_get0_key(dh, &r[2], | - | ||||||||||||||||||||||||||||||||||||
2792 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2793 | ); | - | ||||||||||||||||||||||||||||||||||||
2794 | } executed 61 times by 1 test: elseend of block Executed by:
| 61 | ||||||||||||||||||||||||||||||||||||
2795 | - | |||||||||||||||||||||||||||||||||||||
2796 | - | |||||||||||||||||||||||||||||||||||||
2797 | if (type & (0x00000004U | 0x00000080U)
| 10-1085 | ||||||||||||||||||||||||||||||||||||
2798 | - | |||||||||||||||||||||||||||||||||||||
2799 | if (s->s3->tmp.pkey !=
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2800 | ((void *)0)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2801 | ) { | - | ||||||||||||||||||||||||||||||||||||
2802 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2803 | - | |||||||||||||||||||||||||||||||||||||
2804 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2805 | , | - | ||||||||||||||||||||||||||||||||||||
2806 | - | |||||||||||||||||||||||||||||||||||||
2807 | 2576 | - | ||||||||||||||||||||||||||||||||||||
2808 | ) | - | ||||||||||||||||||||||||||||||||||||
2809 | - | |||||||||||||||||||||||||||||||||||||
2810 | ; | - | ||||||||||||||||||||||||||||||||||||
2811 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2812 | } | - | ||||||||||||||||||||||||||||||||||||
2813 | - | |||||||||||||||||||||||||||||||||||||
2814 | - | |||||||||||||||||||||||||||||||||||||
2815 | curve_id = tls1_shared_group(s, -2); | - | ||||||||||||||||||||||||||||||||||||
2816 | if (curve_id == 0
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2817 | ossl_statem_fatal((s), (40), (492), (315), | - | ||||||||||||||||||||||||||||||||||||
2818 | - | |||||||||||||||||||||||||||||||||||||
2819 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2820 | , | - | ||||||||||||||||||||||||||||||||||||
2821 | - | |||||||||||||||||||||||||||||||||||||
2822 | 2585 | - | ||||||||||||||||||||||||||||||||||||
2823 | ) | - | ||||||||||||||||||||||||||||||||||||
2824 | - | |||||||||||||||||||||||||||||||||||||
2825 | ; | - | ||||||||||||||||||||||||||||||||||||
2826 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2827 | } | - | ||||||||||||||||||||||||||||||||||||
2828 | s->s3->tmp.pkey = ssl_generate_pkey_group(s, curve_id); | - | ||||||||||||||||||||||||||||||||||||
2829 | - | |||||||||||||||||||||||||||||||||||||
2830 | if (s->s3->tmp.pkey ==
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2831 | ((void *)0)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2832 | ) { | - | ||||||||||||||||||||||||||||||||||||
2833 | - | |||||||||||||||||||||||||||||||||||||
2834 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2835 | } | - | ||||||||||||||||||||||||||||||||||||
2836 | - | |||||||||||||||||||||||||||||||||||||
2837 | - | |||||||||||||||||||||||||||||||||||||
2838 | encodedlen = EVP_PKEY_get1_tls_encodedpoint(s->s3->tmp.pkey, | - | ||||||||||||||||||||||||||||||||||||
2839 | &encodedPoint); | - | ||||||||||||||||||||||||||||||||||||
2840 | if (encodedlen == 0
| 0-1085 | ||||||||||||||||||||||||||||||||||||
2841 | ossl_statem_fatal((s), (80), (492), (16), | - | ||||||||||||||||||||||||||||||||||||
2842 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2843 | , | - | ||||||||||||||||||||||||||||||||||||
2844 | 2600 | - | ||||||||||||||||||||||||||||||||||||
2845 | ) | - | ||||||||||||||||||||||||||||||||||||
2846 | ; | - | ||||||||||||||||||||||||||||||||||||
2847 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2848 | } | - | ||||||||||||||||||||||||||||||||||||
2849 | - | |||||||||||||||||||||||||||||||||||||
2850 | - | |||||||||||||||||||||||||||||||||||||
2851 | - | |||||||||||||||||||||||||||||||||||||
2852 | - | |||||||||||||||||||||||||||||||||||||
2853 | - | |||||||||||||||||||||||||||||||||||||
2854 | r[0] = | - | ||||||||||||||||||||||||||||||||||||
2855 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2856 | ; | - | ||||||||||||||||||||||||||||||||||||
2857 | r[1] = | - | ||||||||||||||||||||||||||||||||||||
2858 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2859 | ; | - | ||||||||||||||||||||||||||||||||||||
2860 | r[2] = | - | ||||||||||||||||||||||||||||||||||||
2861 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2862 | ; | - | ||||||||||||||||||||||||||||||||||||
2863 | r[3] = | - | ||||||||||||||||||||||||||||||||||||
2864 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2865 | ; | - | ||||||||||||||||||||||||||||||||||||
2866 | } executed 1085 times by 1 test: elseend of block Executed by:
| 1085 | ||||||||||||||||||||||||||||||||||||
2867 | - | |||||||||||||||||||||||||||||||||||||
2868 | - | |||||||||||||||||||||||||||||||||||||
2869 | if (type & 0x00000020U
| 0-10 | ||||||||||||||||||||||||||||||||||||
2870 | if ((
| 0-10 | ||||||||||||||||||||||||||||||||||||
2871 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
2872 | )
| 0-10 | ||||||||||||||||||||||||||||||||||||
2873 | (
| 0-10 | ||||||||||||||||||||||||||||||||||||
2874 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
2875 | )
| 0-10 | ||||||||||||||||||||||||||||||||||||
2876 | (
| 0-10 | ||||||||||||||||||||||||||||||||||||
2877 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
2878 | )
| 0-10 | ||||||||||||||||||||||||||||||||||||
2879 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
2880 | )
| 0-10 | ||||||||||||||||||||||||||||||||||||
2881 | ossl_statem_fatal((s), (80), (492), (358), | - | ||||||||||||||||||||||||||||||||||||
2882 | - | |||||||||||||||||||||||||||||||||||||
2883 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2884 | , | - | ||||||||||||||||||||||||||||||||||||
2885 | - | |||||||||||||||||||||||||||||||||||||
2886 | 2621 | - | ||||||||||||||||||||||||||||||||||||
2887 | ) | - | ||||||||||||||||||||||||||||||||||||
2888 | - | |||||||||||||||||||||||||||||||||||||
2889 | ; | - | ||||||||||||||||||||||||||||||||||||
2890 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2891 | } | - | ||||||||||||||||||||||||||||||||||||
2892 | r[0] = s->srp_ctx.N; | - | ||||||||||||||||||||||||||||||||||||
2893 | r[1] = s->srp_ctx.g; | - | ||||||||||||||||||||||||||||||||||||
2894 | r[2] = s->srp_ctx.s; | - | ||||||||||||||||||||||||||||||||||||
2895 | r[3] = s->srp_ctx.B; | - | ||||||||||||||||||||||||||||||||||||
2896 | } executed 10 times by 1 test: elseend of block Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||
2897 | - | |||||||||||||||||||||||||||||||||||||
2898 | { | - | ||||||||||||||||||||||||||||||||||||
2899 | ossl_statem_fatal((s), (80), (492), (250), | - | ||||||||||||||||||||||||||||||||||||
2900 | - | |||||||||||||||||||||||||||||||||||||
2901 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2902 | , | - | ||||||||||||||||||||||||||||||||||||
2903 | - | |||||||||||||||||||||||||||||||||||||
2904 | 2633 | - | ||||||||||||||||||||||||||||||||||||
2905 | ) | - | ||||||||||||||||||||||||||||||||||||
2906 | - | |||||||||||||||||||||||||||||||||||||
2907 | ; | - | ||||||||||||||||||||||||||||||||||||
2908 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2909 | } | - | ||||||||||||||||||||||||||||||||||||
2910 | - | |||||||||||||||||||||||||||||||||||||
2911 | if (((
| 40-1116 | ||||||||||||||||||||||||||||||||||||
2912 | || ((
| 2-1114 | ||||||||||||||||||||||||||||||||||||
2913 | lu = | - | ||||||||||||||||||||||||||||||||||||
2914 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
2915 | ; | - | ||||||||||||||||||||||||||||||||||||
2916 | } executed 42 times by 1 test: else if (lu == end of block Executed by:
| 0-1114 | ||||||||||||||||||||||||||||||||||||
2917 | ((void *)0)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
2918 | ) { | - | ||||||||||||||||||||||||||||||||||||
2919 | ossl_statem_fatal((s), (50), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2920 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2921 | , | - | ||||||||||||||||||||||||||||||||||||
2922 | 2642 | - | ||||||||||||||||||||||||||||||||||||
2923 | ) | - | ||||||||||||||||||||||||||||||||||||
2924 | ; | - | ||||||||||||||||||||||||||||||||||||
2925 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2926 | } | - | ||||||||||||||||||||||||||||||||||||
2927 | - | |||||||||||||||||||||||||||||||||||||
2928 | - | |||||||||||||||||||||||||||||||||||||
2929 | if (type & (0x00000008U | 0x00000040U | 0x00000080U | 0x00000100U)
| 2-1154 | ||||||||||||||||||||||||||||||||||||
2930 | size_t len = (
| 0-2 | ||||||||||||||||||||||||||||||||||||
2931 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||
2932 | )
| 0-2 | ||||||||||||||||||||||||||||||||||||
2933 | ? 0 : strlen(s->cert->psk_identity_hint); | - | ||||||||||||||||||||||||||||||||||||
2934 | - | |||||||||||||||||||||||||||||||||||||
2935 | - | |||||||||||||||||||||||||||||||||||||
2936 | - | |||||||||||||||||||||||||||||||||||||
2937 | - | |||||||||||||||||||||||||||||||||||||
2938 | - | |||||||||||||||||||||||||||||||||||||
2939 | if (len > 128
| 0-2 | ||||||||||||||||||||||||||||||||||||
2940 | || !WPACKET_sub_memcpy__((pkt), (s->cert->psk_identity_hint), (len), 2)
| 0-2 | ||||||||||||||||||||||||||||||||||||
2941 | ) { | - | ||||||||||||||||||||||||||||||||||||
2942 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2943 | - | |||||||||||||||||||||||||||||||||||||
2944 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2945 | , | - | ||||||||||||||||||||||||||||||||||||
2946 | - | |||||||||||||||||||||||||||||||||||||
2947 | 2660 | - | ||||||||||||||||||||||||||||||||||||
2948 | ) | - | ||||||||||||||||||||||||||||||||||||
2949 | - | |||||||||||||||||||||||||||||||||||||
2950 | ; | - | ||||||||||||||||||||||||||||||||||||
2951 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2952 | } | - | ||||||||||||||||||||||||||||||||||||
2953 | } executed 2 times by 1 test: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
2954 | - | |||||||||||||||||||||||||||||||||||||
2955 | - | |||||||||||||||||||||||||||||||||||||
2956 | for (i = 0; i < 4
| 10-1369 | ||||||||||||||||||||||||||||||||||||
2957 | ((void *)0)
| 223-1146 | ||||||||||||||||||||||||||||||||||||
2958 | ; i++) { | - | ||||||||||||||||||||||||||||||||||||
2959 | unsigned char *binval; | - | ||||||||||||||||||||||||||||||||||||
2960 | int res; | - | ||||||||||||||||||||||||||||||||||||
2961 | - | |||||||||||||||||||||||||||||||||||||
2962 | - | |||||||||||||||||||||||||||||||||||||
2963 | if ((
| 10-152 | ||||||||||||||||||||||||||||||||||||
2964 | res = WPACKET_start_sub_packet_len__((pkt), 1); | - | ||||||||||||||||||||||||||||||||||||
2965 | } executed 10 times by 1 test: elseend of block Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||
2966 | - | |||||||||||||||||||||||||||||||||||||
2967 | res = WPACKET_start_sub_packet_len__((pkt), 2); executed 213 times by 1 test: res = WPACKET_start_sub_packet_len__((pkt), 2); Executed by:
| 213 | ||||||||||||||||||||||||||||||||||||
2968 | - | |||||||||||||||||||||||||||||||||||||
2969 | if (!res
| 0-223 | ||||||||||||||||||||||||||||||||||||
2970 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2971 | - | |||||||||||||||||||||||||||||||||||||
2972 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2973 | , | - | ||||||||||||||||||||||||||||||||||||
2974 | - | |||||||||||||||||||||||||||||||||||||
2975 | 2680 | - | ||||||||||||||||||||||||||||||||||||
2976 | ) | - | ||||||||||||||||||||||||||||||||||||
2977 | - | |||||||||||||||||||||||||||||||||||||
2978 | ; | - | ||||||||||||||||||||||||||||||||||||
2979 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
2980 | } | - | ||||||||||||||||||||||||||||||||||||
2981 | - | |||||||||||||||||||||||||||||||||||||
2982 | - | |||||||||||||||||||||||||||||||||||||
2983 | - | |||||||||||||||||||||||||||||||||||||
2984 | - | |||||||||||||||||||||||||||||||||||||
2985 | - | |||||||||||||||||||||||||||||||||||||
2986 | - | |||||||||||||||||||||||||||||||||||||
2987 | - | |||||||||||||||||||||||||||||||||||||
2988 | if ((
| 10-152 | ||||||||||||||||||||||||||||||||||||
2989 | size_t len = ((BN_num_bits(r[0])+7)/8) - ((BN_num_bits(r[2])+7)/8); | - | ||||||||||||||||||||||||||||||||||||
2990 | - | |||||||||||||||||||||||||||||||||||||
2991 | if (len > 0
| 0-61 | ||||||||||||||||||||||||||||||||||||
2992 | if (!WPACKET_allocate_bytes(pkt, len, &binval)
| 0 | ||||||||||||||||||||||||||||||||||||
2993 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
2994 | - | |||||||||||||||||||||||||||||||||||||
2995 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
2996 | , | - | ||||||||||||||||||||||||||||||||||||
2997 | - | |||||||||||||||||||||||||||||||||||||
2998 | 2697 | - | ||||||||||||||||||||||||||||||||||||
2999 | ) | - | ||||||||||||||||||||||||||||||||||||
3000 | - | |||||||||||||||||||||||||||||||||||||
3001 | ; | - | ||||||||||||||||||||||||||||||||||||
3002 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3003 | } | - | ||||||||||||||||||||||||||||||||||||
3004 | memset(binval, 0, len); | - | ||||||||||||||||||||||||||||||||||||
3005 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3006 | } executed 61 times by 1 test: end of block Executed by:
| 61 | ||||||||||||||||||||||||||||||||||||
3007 | - | |||||||||||||||||||||||||||||||||||||
3008 | if (!WPACKET_allocate_bytes(pkt, ((BN_num_bits(r[i])+7)/8), &binval)
| 0-223 | ||||||||||||||||||||||||||||||||||||
3009 | || !WPACKET_close(pkt)
| 0-223 | ||||||||||||||||||||||||||||||||||||
3010 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3011 | - | |||||||||||||||||||||||||||||||||||||
3012 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3013 | , | - | ||||||||||||||||||||||||||||||||||||
3014 | - | |||||||||||||||||||||||||||||||||||||
3015 | 2708 | - | ||||||||||||||||||||||||||||||||||||
3016 | ) | - | ||||||||||||||||||||||||||||||||||||
3017 | - | |||||||||||||||||||||||||||||||||||||
3018 | ; | - | ||||||||||||||||||||||||||||||||||||
3019 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3020 | } | - | ||||||||||||||||||||||||||||||||||||
3021 | - | |||||||||||||||||||||||||||||||||||||
3022 | BN_bn2bin(r[i], binval); | - | ||||||||||||||||||||||||||||||||||||
3023 | } executed 223 times by 1 test: end of block Executed by:
| 223 | ||||||||||||||||||||||||||||||||||||
3024 | - | |||||||||||||||||||||||||||||||||||||
3025 | - | |||||||||||||||||||||||||||||||||||||
3026 | if (type & (0x00000004U | 0x00000080U)
| 71-1085 | ||||||||||||||||||||||||||||||||||||
3027 | - | |||||||||||||||||||||||||||||||||||||
3028 | - | |||||||||||||||||||||||||||||||||||||
3029 | - | |||||||||||||||||||||||||||||||||||||
3030 | - | |||||||||||||||||||||||||||||||||||||
3031 | - | |||||||||||||||||||||||||||||||||||||
3032 | - | |||||||||||||||||||||||||||||||||||||
3033 | if (!WPACKET_put_bytes__((pkt), (3), 1)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
3034 | || !WPACKET_put_bytes__((pkt), (0), 1)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
3035 | || !WPACKET_put_bytes__((pkt), (curve_id), 1)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
3036 | || !WPACKET_sub_memcpy__((pkt), (encodedPoint), (encodedlen), 1)
| 0-1085 | ||||||||||||||||||||||||||||||||||||
3037 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3038 | - | |||||||||||||||||||||||||||||||||||||
3039 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3040 | , | - | ||||||||||||||||||||||||||||||||||||
3041 | - | |||||||||||||||||||||||||||||||||||||
3042 | 2729 | - | ||||||||||||||||||||||||||||||||||||
3043 | ) | - | ||||||||||||||||||||||||||||||||||||
3044 | - | |||||||||||||||||||||||||||||||||||||
3045 | ; | - | ||||||||||||||||||||||||||||||||||||
3046 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3047 | } | - | ||||||||||||||||||||||||||||||||||||
3048 | CRYPTO_free(encodedPoint, __FILE__, 2732); | - | ||||||||||||||||||||||||||||||||||||
3049 | encodedPoint = | - | ||||||||||||||||||||||||||||||||||||
3050 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3051 | ; | - | ||||||||||||||||||||||||||||||||||||
3052 | } executed 1085 times by 1 test: end of block Executed by:
| 1085 | ||||||||||||||||||||||||||||||||||||
3053 | - | |||||||||||||||||||||||||||||||||||||
3054 | - | |||||||||||||||||||||||||||||||||||||
3055 | - | |||||||||||||||||||||||||||||||||||||
3056 | if (lu !=
| 42-1114 | ||||||||||||||||||||||||||||||||||||
3057 | ((void *)0)
| 42-1114 | ||||||||||||||||||||||||||||||||||||
3058 | ) { | - | ||||||||||||||||||||||||||||||||||||
3059 | EVP_PKEY *pkey = s->s3->tmp.cert->privatekey; | - | ||||||||||||||||||||||||||||||||||||
3060 | const EVP_MD *md; | - | ||||||||||||||||||||||||||||||||||||
3061 | unsigned char *sigbytes1, *sigbytes2, *tbs; | - | ||||||||||||||||||||||||||||||||||||
3062 | size_t siglen, tbslen; | - | ||||||||||||||||||||||||||||||||||||
3063 | int rv; | - | ||||||||||||||||||||||||||||||||||||
3064 | - | |||||||||||||||||||||||||||||||||||||
3065 | if (pkey ==
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3066 | ((void *)0)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3067 | || !tls1_lookup_md(lu, &md)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3068 | - | |||||||||||||||||||||||||||||||||||||
3069 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3070 | - | |||||||||||||||||||||||||||||||||||||
3071 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3072 | , | - | ||||||||||||||||||||||||||||||||||||
3073 | - | |||||||||||||||||||||||||||||||||||||
3074 | 2749 | - | ||||||||||||||||||||||||||||||||||||
3075 | ) | - | ||||||||||||||||||||||||||||||||||||
3076 | - | |||||||||||||||||||||||||||||||||||||
3077 | ; | - | ||||||||||||||||||||||||||||||||||||
3078 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3079 | } | - | ||||||||||||||||||||||||||||||||||||
3080 | - | |||||||||||||||||||||||||||||||||||||
3081 | if (!WPACKET_get_length(pkt, ¶mlen)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3082 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3083 | - | |||||||||||||||||||||||||||||||||||||
3084 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3085 | , | - | ||||||||||||||||||||||||||||||||||||
3086 | - | |||||||||||||||||||||||||||||||||||||
3087 | 2756 | - | ||||||||||||||||||||||||||||||||||||
3088 | ) | - | ||||||||||||||||||||||||||||||||||||
3089 | - | |||||||||||||||||||||||||||||||||||||
3090 | ; | - | ||||||||||||||||||||||||||||||||||||
3091 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3092 | } | - | ||||||||||||||||||||||||||||||||||||
3093 | - | |||||||||||||||||||||||||||||||||||||
3094 | if ((
| 0-725 | ||||||||||||||||||||||||||||||||||||
3095 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3096 | - | |||||||||||||||||||||||||||||||||||||
3097 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3098 | , | - | ||||||||||||||||||||||||||||||||||||
3099 | - | |||||||||||||||||||||||||||||||||||||
3100 | 2763 | - | ||||||||||||||||||||||||||||||||||||
3101 | ) | - | ||||||||||||||||||||||||||||||||||||
3102 | - | |||||||||||||||||||||||||||||||||||||
3103 | ; | - | ||||||||||||||||||||||||||||||||||||
3104 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3105 | } | - | ||||||||||||||||||||||||||||||||||||
3106 | - | |||||||||||||||||||||||||||||||||||||
3107 | - | |||||||||||||||||||||||||||||||||||||
3108 | - | |||||||||||||||||||||||||||||||||||||
3109 | - | |||||||||||||||||||||||||||||||||||||
3110 | - | |||||||||||||||||||||||||||||||||||||
3111 | - | |||||||||||||||||||||||||||||||||||||
3112 | siglen = EVP_PKEY_size(pkey); | - | ||||||||||||||||||||||||||||||||||||
3113 | if (!WPACKET_sub_reserve_bytes__((pkt), (siglen), (&sigbytes1), 2)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3114 | || EVP_DigestSignInit(md_ctx, &pctx, md,
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3115 | ((void *)0)
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3116 | , pkey) <= 0
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3117 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3118 | - | |||||||||||||||||||||||||||||||||||||
3119 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3120 | , | - | ||||||||||||||||||||||||||||||||||||
3121 | - | |||||||||||||||||||||||||||||||||||||
3122 | 2777 | - | ||||||||||||||||||||||||||||||||||||
3123 | ) | - | ||||||||||||||||||||||||||||||||||||
3124 | - | |||||||||||||||||||||||||||||||||||||
3125 | ; | - | ||||||||||||||||||||||||||||||||||||
3126 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3127 | } | - | ||||||||||||||||||||||||||||||||||||
3128 | if (lu->sig == 912
| 493-621 | ||||||||||||||||||||||||||||||||||||
3129 | if (RSA_pkey_ctx_ctrl(pctx, -1, (0x1000 + 1), 6,
| 0-493 | ||||||||||||||||||||||||||||||||||||
3130 | ((void *)0)
| 0-493 | ||||||||||||||||||||||||||||||||||||
3131 | ) <= 0
| 0-493 | ||||||||||||||||||||||||||||||||||||
3132 | || RSA_pkey_ctx_ctrl(pctx, ((1<<3)|(1<<4)), (0x1000 + 2), -1,
| 0-493 | ||||||||||||||||||||||||||||||||||||
3133 | ((void *)0)
| 0-493 | ||||||||||||||||||||||||||||||||||||
3134 | ) <= 0
| 0-493 | ||||||||||||||||||||||||||||||||||||
3135 | ossl_statem_fatal((s), (80), (492), (6), | - | ||||||||||||||||||||||||||||||||||||
3136 | - | |||||||||||||||||||||||||||||||||||||
3137 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3138 | , | - | ||||||||||||||||||||||||||||||||||||
3139 | - | |||||||||||||||||||||||||||||||||||||
3140 | 2785 | - | ||||||||||||||||||||||||||||||||||||
3141 | ) | - | ||||||||||||||||||||||||||||||||||||
3142 | - | |||||||||||||||||||||||||||||||||||||
3143 | ; | - | ||||||||||||||||||||||||||||||||||||
3144 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3145 | } | - | ||||||||||||||||||||||||||||||||||||
3146 | } executed 493 times by 1 test: end of block Executed by:
| 493 | ||||||||||||||||||||||||||||||||||||
3147 | tbslen = construct_key_exchange_tbs(s, &tbs, | - | ||||||||||||||||||||||||||||||||||||
3148 | s->init_buf->data + paramoffset, | - | ||||||||||||||||||||||||||||||||||||
3149 | paramlen); | - | ||||||||||||||||||||||||||||||||||||
3150 | if (tbslen == 0
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3151 | - | |||||||||||||||||||||||||||||||||||||
3152 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3153 | } | - | ||||||||||||||||||||||||||||||||||||
3154 | rv = EVP_DigestSign(md_ctx, sigbytes1, &siglen, tbs, tbslen); | - | ||||||||||||||||||||||||||||||||||||
3155 | CRYPTO_free(tbs, __FILE__, 2797); | - | ||||||||||||||||||||||||||||||||||||
3156 | if (rv <= 0
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3157 | || sigbytes1 != sigbytes2
| 0-1114 | ||||||||||||||||||||||||||||||||||||
3158 | ossl_statem_fatal((s), (80), (492), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3159 | - | |||||||||||||||||||||||||||||||||||||
3160 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3161 | , | - | ||||||||||||||||||||||||||||||||||||
3162 | - | |||||||||||||||||||||||||||||||||||||
3163 | 2802 | - | ||||||||||||||||||||||||||||||||||||
3164 | ) | - | ||||||||||||||||||||||||||||||||||||
3165 | - | |||||||||||||||||||||||||||||||||||||
3166 | ; | - | ||||||||||||||||||||||||||||||||||||
3167 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3168 | } | - | ||||||||||||||||||||||||||||||||||||
3169 | } executed 1114 times by 1 test: end of block Executed by:
| 1114 | ||||||||||||||||||||||||||||||||||||
3170 | - | |||||||||||||||||||||||||||||||||||||
3171 | EVP_MD_CTX_free(md_ctx); | - | ||||||||||||||||||||||||||||||||||||
3172 | return executed 1156 times by 1 test: 1;return 1; Executed by:
executed 1156 times by 1 test: return 1; Executed by:
| 1156 | ||||||||||||||||||||||||||||||||||||
3173 | err: | - | ||||||||||||||||||||||||||||||||||||
3174 | - | |||||||||||||||||||||||||||||||||||||
3175 | EVP_PKEY_free(pkdh); | - | ||||||||||||||||||||||||||||||||||||
3176 | - | |||||||||||||||||||||||||||||||||||||
3177 | - | |||||||||||||||||||||||||||||||||||||
3178 | CRYPTO_free(encodedPoint, __FILE__, 2814); | - | ||||||||||||||||||||||||||||||||||||
3179 | - | |||||||||||||||||||||||||||||||||||||
3180 | EVP_MD_CTX_free(md_ctx); | - | ||||||||||||||||||||||||||||||||||||
3181 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3182 | } | - | ||||||||||||||||||||||||||||||||||||
3183 | - | |||||||||||||||||||||||||||||||||||||
3184 | int tls_construct_certificate_request(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3185 | { | - | ||||||||||||||||||||||||||||||||||||
3186 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-68 | ||||||||||||||||||||||||||||||||||||
3187 | - | |||||||||||||||||||||||||||||||||||||
3188 | if (s->post_handshake_auth == SSL_PHA_REQUEST_PENDING
| 20-26 | ||||||||||||||||||||||||||||||||||||
3189 | CRYPTO_free(s->pha_context, __FILE__, 2825); | - | ||||||||||||||||||||||||||||||||||||
3190 | s->pha_context_len = 32; | - | ||||||||||||||||||||||||||||||||||||
3191 | if ((
| 0-26 | ||||||||||||||||||||||||||||||||||||
3192 | ((void *)0)
| 0-26 | ||||||||||||||||||||||||||||||||||||
3193 | - | |||||||||||||||||||||||||||||||||||||
3194 | || RAND_bytes(s->pha_context, s->pha_context_len) <= 0
| 0-26 | ||||||||||||||||||||||||||||||||||||
3195 | || !WPACKET_sub_memcpy__((pkt), (s->pha_context), (s->pha_context_len), 1)
| 0-26 | ||||||||||||||||||||||||||||||||||||
3196 | ossl_statem_fatal((s), (80), (372), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3197 | - | |||||||||||||||||||||||||||||||||||||
3198 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3199 | , | - | ||||||||||||||||||||||||||||||||||||
3200 | - | |||||||||||||||||||||||||||||||||||||
3201 | 2832 | - | ||||||||||||||||||||||||||||||||||||
3202 | ) | - | ||||||||||||||||||||||||||||||||||||
3203 | - | |||||||||||||||||||||||||||||||||||||
3204 | ; | - | ||||||||||||||||||||||||||||||||||||
3205 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3206 | } | - | ||||||||||||||||||||||||||||||||||||
3207 | - | |||||||||||||||||||||||||||||||||||||
3208 | if (!tls13_restore_handshake_digest_for_pha(s)
| 0-26 | ||||||||||||||||||||||||||||||||||||
3209 | - | |||||||||||||||||||||||||||||||||||||
3210 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3211 | } | - | ||||||||||||||||||||||||||||||||||||
3212 | } executed 26 times by 1 test: else {end of block Executed by:
| 26 | ||||||||||||||||||||||||||||||||||||
3213 | if (!WPACKET_put_bytes__((pkt), (0), 1)
| 0-20 | ||||||||||||||||||||||||||||||||||||
3214 | ossl_statem_fatal((s), (80), (372), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3215 | - | |||||||||||||||||||||||||||||||||||||
3216 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3217 | , | - | ||||||||||||||||||||||||||||||||||||
3218 | - | |||||||||||||||||||||||||||||||||||||
3219 | 2844 | - | ||||||||||||||||||||||||||||||||||||
3220 | ) | - | ||||||||||||||||||||||||||||||||||||
3221 | - | |||||||||||||||||||||||||||||||||||||
3222 | ; | - | ||||||||||||||||||||||||||||||||||||
3223 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3224 | } | - | ||||||||||||||||||||||||||||||||||||
3225 | } executed 20 times by 1 test: end of block Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
3226 | - | |||||||||||||||||||||||||||||||||||||
3227 | if (!tls_construct_extensions(s, pkt,
| 1-45 | ||||||||||||||||||||||||||||||||||||
3228 | 0x4000,
| 1-45 | ||||||||||||||||||||||||||||||||||||
3229 | ((void *)0)
| 1-45 | ||||||||||||||||||||||||||||||||||||
3230 | ,
| 1-45 | ||||||||||||||||||||||||||||||||||||
3231 | 0)
| 1-45 | ||||||||||||||||||||||||||||||||||||
3232 | - | |||||||||||||||||||||||||||||||||||||
3233 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
3234 | } | - | ||||||||||||||||||||||||||||||||||||
3235 | goto executed 45 times by 1 test: done;goto done; Executed by:
executed 45 times by 1 test: goto done; Executed by:
| 45 | ||||||||||||||||||||||||||||||||||||
3236 | } | - | ||||||||||||||||||||||||||||||||||||
3237 | - | |||||||||||||||||||||||||||||||||||||
3238 | - | |||||||||||||||||||||||||||||||||||||
3239 | if (!WPACKET_start_sub_packet_len__((pkt), 1)
| 0-35 | ||||||||||||||||||||||||||||||||||||
3240 | || !ssl3_get_req_cert_type(s, pkt)
| 0-35 | ||||||||||||||||||||||||||||||||||||
3241 | ossl_statem_fatal((s), (80), (372), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3242 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3243 | , | - | ||||||||||||||||||||||||||||||||||||
3244 | 2862 | - | ||||||||||||||||||||||||||||||||||||
3245 | ) | - | ||||||||||||||||||||||||||||||||||||
3246 | ; | - | ||||||||||||||||||||||||||||||||||||
3247 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3248 | } | - | ||||||||||||||||||||||||||||||||||||
3249 | - | |||||||||||||||||||||||||||||||||||||
3250 | if ((
| 15-20 | ||||||||||||||||||||||||||||||||||||
3251 | const uint16_t *psigs; | - | ||||||||||||||||||||||||||||||||||||
3252 | size_t nl = tls12_get_psigalgs(s, 1, &psigs); | - | ||||||||||||||||||||||||||||||||||||
3253 | - | |||||||||||||||||||||||||||||||||||||
3254 | if (!WPACKET_start_sub_packet_len__((pkt), 2)
| 0-20 | ||||||||||||||||||||||||||||||||||||
3255 | || !WPACKET_set_flags(pkt, 1)
| 0-20 | ||||||||||||||||||||||||||||||||||||
3256 | || !tls12_copy_sigalgs(s, pkt, psigs, nl)
| 0-20 | ||||||||||||||||||||||||||||||||||||
3257 | || !WPACKET_close(pkt)
| 0-20 | ||||||||||||||||||||||||||||||||||||
3258 | ossl_statem_fatal((s), (80), (372), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3259 | - | |||||||||||||||||||||||||||||||||||||
3260 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3261 | , | - | ||||||||||||||||||||||||||||||||||||
3262 | - | |||||||||||||||||||||||||||||||||||||
3263 | 2876 | - | ||||||||||||||||||||||||||||||||||||
3264 | ) | - | ||||||||||||||||||||||||||||||||||||
3265 | - | |||||||||||||||||||||||||||||||||||||
3266 | ; | - | ||||||||||||||||||||||||||||||||||||
3267 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3268 | } | - | ||||||||||||||||||||||||||||||||||||
3269 | } executed 20 times by 1 test: end of block Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
3270 | - | |||||||||||||||||||||||||||||||||||||
3271 | if (!construct_ca_names(s, pkt)
| 0-35 | ||||||||||||||||||||||||||||||||||||
3272 | - | |||||||||||||||||||||||||||||||||||||
3273 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3274 | } | - | ||||||||||||||||||||||||||||||||||||
3275 | - | |||||||||||||||||||||||||||||||||||||
3276 | done: code before this statement executed 35 times by 1 test: done: Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
3277 | s->certreqs_sent++; | - | ||||||||||||||||||||||||||||||||||||
3278 | s->s3->tmp.cert_request = 1; | - | ||||||||||||||||||||||||||||||||||||
3279 | return executed 80 times by 1 test: 1;return 1; Executed by:
executed 80 times by 1 test: return 1; Executed by:
| 80 | ||||||||||||||||||||||||||||||||||||
3280 | } | - | ||||||||||||||||||||||||||||||||||||
3281 | - | |||||||||||||||||||||||||||||||||||||
3282 | static int tls_process_cke_psk_preamble(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3283 | { | - | ||||||||||||||||||||||||||||||||||||
3284 | - | |||||||||||||||||||||||||||||||||||||
3285 | unsigned char psk[256]; | - | ||||||||||||||||||||||||||||||||||||
3286 | size_t psklen; | - | ||||||||||||||||||||||||||||||||||||
3287 | PACKET psk_identity; | - | ||||||||||||||||||||||||||||||||||||
3288 | - | |||||||||||||||||||||||||||||||||||||
3289 | if (!PACKET_get_length_prefixed_2(pkt, &psk_identity)
| 0-29 | ||||||||||||||||||||||||||||||||||||
3290 | ossl_statem_fatal((s), (50), (414), (159), | - | ||||||||||||||||||||||||||||||||||||
3291 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3292 | , | - | ||||||||||||||||||||||||||||||||||||
3293 | 2901 | - | ||||||||||||||||||||||||||||||||||||
3294 | ) | - | ||||||||||||||||||||||||||||||||||||
3295 | ; | - | ||||||||||||||||||||||||||||||||||||
3296 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3297 | } | - | ||||||||||||||||||||||||||||||||||||
3298 | if (PACKET_remaining(&psk_identity) > 128
| 0-29 | ||||||||||||||||||||||||||||||||||||
3299 | ossl_statem_fatal((s), (50), (414), (146), | - | ||||||||||||||||||||||||||||||||||||
3300 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3301 | , | - | ||||||||||||||||||||||||||||||||||||
3302 | 2906 | - | ||||||||||||||||||||||||||||||||||||
3303 | ) | - | ||||||||||||||||||||||||||||||||||||
3304 | ; | - | ||||||||||||||||||||||||||||||||||||
3305 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3306 | } | - | ||||||||||||||||||||||||||||||||||||
3307 | if (s->psk_server_callback ==
| 0-29 | ||||||||||||||||||||||||||||||||||||
3308 | ((void *)0)
| 0-29 | ||||||||||||||||||||||||||||||||||||
3309 | ) { | - | ||||||||||||||||||||||||||||||||||||
3310 | ossl_statem_fatal((s), (80), (414), (225), | - | ||||||||||||||||||||||||||||||||||||
3311 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3312 | , | - | ||||||||||||||||||||||||||||||||||||
3313 | 2911 | - | ||||||||||||||||||||||||||||||||||||
3314 | ) | - | ||||||||||||||||||||||||||||||||||||
3315 | ; | - | ||||||||||||||||||||||||||||||||||||
3316 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3317 | } | - | ||||||||||||||||||||||||||||||||||||
3318 | - | |||||||||||||||||||||||||||||||||||||
3319 | if (!PACKET_strndup(&psk_identity, &s->session->psk_identity)
| 0-29 | ||||||||||||||||||||||||||||||||||||
3320 | ossl_statem_fatal((s), (80), (414), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3321 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3322 | , | - | ||||||||||||||||||||||||||||||||||||
3323 | 2917 | - | ||||||||||||||||||||||||||||||||||||
3324 | ) | - | ||||||||||||||||||||||||||||||||||||
3325 | ; | - | ||||||||||||||||||||||||||||||||||||
3326 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3327 | } | - | ||||||||||||||||||||||||||||||||||||
3328 | - | |||||||||||||||||||||||||||||||||||||
3329 | psklen = s->psk_server_callback(s, s->session->psk_identity, | - | ||||||||||||||||||||||||||||||||||||
3330 | psk, sizeof(psk)); | - | ||||||||||||||||||||||||||||||||||||
3331 | - | |||||||||||||||||||||||||||||||||||||
3332 | if (psklen > 256
| 0-29 | ||||||||||||||||||||||||||||||||||||
3333 | ossl_statem_fatal((s), (80), (414), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3334 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3335 | , | - | ||||||||||||||||||||||||||||||||||||
3336 | 2926 | - | ||||||||||||||||||||||||||||||||||||
3337 | ) | - | ||||||||||||||||||||||||||||||||||||
3338 | ; | - | ||||||||||||||||||||||||||||||||||||
3339 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3340 | } else if (psklen == 0
| 0-29 | ||||||||||||||||||||||||||||||||||||
3341 | - | |||||||||||||||||||||||||||||||||||||
3342 | - | |||||||||||||||||||||||||||||||||||||
3343 | - | |||||||||||||||||||||||||||||||||||||
3344 | ossl_statem_fatal((s), (115), (414), (223), | - | ||||||||||||||||||||||||||||||||||||
3345 | - | |||||||||||||||||||||||||||||||||||||
3346 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3347 | , | - | ||||||||||||||||||||||||||||||||||||
3348 | - | |||||||||||||||||||||||||||||||||||||
3349 | 2934 | - | ||||||||||||||||||||||||||||||||||||
3350 | ) | - | ||||||||||||||||||||||||||||||||||||
3351 | - | |||||||||||||||||||||||||||||||||||||
3352 | ; | - | ||||||||||||||||||||||||||||||||||||
3353 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3354 | } | - | ||||||||||||||||||||||||||||||||||||
3355 | - | |||||||||||||||||||||||||||||||||||||
3356 | CRYPTO_free(s->s3->tmp.psk, __FILE__, 2938); | - | ||||||||||||||||||||||||||||||||||||
3357 | s->s3->tmp.psk = CRYPTO_memdup((psk), psklen, __FILE__, 2939); | - | ||||||||||||||||||||||||||||||||||||
3358 | OPENSSL_cleanse(psk, psklen); | - | ||||||||||||||||||||||||||||||||||||
3359 | - | |||||||||||||||||||||||||||||||||||||
3360 | if (s->s3->tmp.psk ==
| 0-29 | ||||||||||||||||||||||||||||||||||||
3361 | ((void *)0)
| 0-29 | ||||||||||||||||||||||||||||||||||||
3362 | ) { | - | ||||||||||||||||||||||||||||||||||||
3363 | ossl_statem_fatal((s), (80), (414), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
3364 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3365 | , | - | ||||||||||||||||||||||||||||||||||||
3366 | 2944 | - | ||||||||||||||||||||||||||||||||||||
3367 | ) | - | ||||||||||||||||||||||||||||||||||||
3368 | ; | - | ||||||||||||||||||||||||||||||||||||
3369 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3370 | } | - | ||||||||||||||||||||||||||||||||||||
3371 | - | |||||||||||||||||||||||||||||||||||||
3372 | s->s3->tmp.psklen = psklen; | - | ||||||||||||||||||||||||||||||||||||
3373 | - | |||||||||||||||||||||||||||||||||||||
3374 | return executed 29 times by 1 test: 1;return 1; Executed by:
executed 29 times by 1 test: return 1; Executed by:
| 29 | ||||||||||||||||||||||||||||||||||||
3375 | - | |||||||||||||||||||||||||||||||||||||
3376 | - | |||||||||||||||||||||||||||||||||||||
3377 | - | |||||||||||||||||||||||||||||||||||||
3378 | - | |||||||||||||||||||||||||||||||||||||
3379 | - | |||||||||||||||||||||||||||||||||||||
3380 | - | |||||||||||||||||||||||||||||||||||||
3381 | } | - | ||||||||||||||||||||||||||||||||||||
3382 | - | |||||||||||||||||||||||||||||||||||||
3383 | static int tls_process_cke_rsa(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3384 | { | - | ||||||||||||||||||||||||||||||||||||
3385 | - | |||||||||||||||||||||||||||||||||||||
3386 | unsigned char rand_premaster_secret[48]; | - | ||||||||||||||||||||||||||||||||||||
3387 | int decrypt_len; | - | ||||||||||||||||||||||||||||||||||||
3388 | unsigned char decrypt_good, version_good; | - | ||||||||||||||||||||||||||||||||||||
3389 | size_t j, padding_len; | - | ||||||||||||||||||||||||||||||||||||
3390 | PACKET enc_premaster; | - | ||||||||||||||||||||||||||||||||||||
3391 | RSA *rsa = | - | ||||||||||||||||||||||||||||||||||||
3392 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3393 | ; | - | ||||||||||||||||||||||||||||||||||||
3394 | unsigned char *rsa_decrypt = | - | ||||||||||||||||||||||||||||||||||||
3395 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3396 | ; | - | ||||||||||||||||||||||||||||||||||||
3397 | int ret = 0; | - | ||||||||||||||||||||||||||||||||||||
3398 | - | |||||||||||||||||||||||||||||||||||||
3399 | rsa = EVP_PKEY_get0_RSA(s->cert->pkeys[0].privatekey); | - | ||||||||||||||||||||||||||||||||||||
3400 | if (rsa ==
| 0-148 | ||||||||||||||||||||||||||||||||||||
3401 | ((void *)0)
| 0-148 | ||||||||||||||||||||||||||||||||||||
3402 | ) { | - | ||||||||||||||||||||||||||||||||||||
3403 | ossl_statem_fatal((s), (80), (415), (168), | - | ||||||||||||||||||||||||||||||||||||
3404 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3405 | , | - | ||||||||||||||||||||||||||||||||||||
3406 | 2974 | - | ||||||||||||||||||||||||||||||||||||
3407 | ) | - | ||||||||||||||||||||||||||||||||||||
3408 | ; | - | ||||||||||||||||||||||||||||||||||||
3409 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3410 | } | - | ||||||||||||||||||||||||||||||||||||
3411 | - | |||||||||||||||||||||||||||||||||||||
3412 | - | |||||||||||||||||||||||||||||||||||||
3413 | if (s->version == 0x0300
| 0-148 | ||||||||||||||||||||||||||||||||||||
3414 | enc_premaster = *pkt; | - | ||||||||||||||||||||||||||||||||||||
3415 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
3416 | if (!PACKET_get_length_prefixed_2(pkt, &enc_premaster)
| 1-147 | ||||||||||||||||||||||||||||||||||||
3417 | || PACKET_remaining(pkt) != 0
| 2-145 | ||||||||||||||||||||||||||||||||||||
3418 | ossl_statem_fatal((s), (50), (415), (159), | - | ||||||||||||||||||||||||||||||||||||
3419 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3420 | , | - | ||||||||||||||||||||||||||||||||||||
3421 | 2985 | - | ||||||||||||||||||||||||||||||||||||
3422 | ) | - | ||||||||||||||||||||||||||||||||||||
3423 | ; | - | ||||||||||||||||||||||||||||||||||||
3424 | return executed 3 times by 1 test: 0;return 0; Executed by:
executed 3 times by 1 test: return 0; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
3425 | } | - | ||||||||||||||||||||||||||||||||||||
3426 | } executed 145 times by 1 test: end of block Executed by:
| 145 | ||||||||||||||||||||||||||||||||||||
3427 | - | |||||||||||||||||||||||||||||||||||||
3428 | - | |||||||||||||||||||||||||||||||||||||
3429 | - | |||||||||||||||||||||||||||||||||||||
3430 | - | |||||||||||||||||||||||||||||||||||||
3431 | - | |||||||||||||||||||||||||||||||||||||
3432 | - | |||||||||||||||||||||||||||||||||||||
3433 | - | |||||||||||||||||||||||||||||||||||||
3434 | if (RSA_size(rsa) < 48
| 0-145 | ||||||||||||||||||||||||||||||||||||
3435 | ossl_statem_fatal((s), (80), (415), (120), | - | ||||||||||||||||||||||||||||||||||||
3436 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3437 | , | - | ||||||||||||||||||||||||||||||||||||
3438 | 2998 | - | ||||||||||||||||||||||||||||||||||||
3439 | ) | - | ||||||||||||||||||||||||||||||||||||
3440 | ; | - | ||||||||||||||||||||||||||||||||||||
3441 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3442 | } | - | ||||||||||||||||||||||||||||||||||||
3443 | - | |||||||||||||||||||||||||||||||||||||
3444 | rsa_decrypt = CRYPTO_malloc(RSA_size(rsa), __FILE__, 3002); | - | ||||||||||||||||||||||||||||||||||||
3445 | if (rsa_decrypt ==
| 0-145 | ||||||||||||||||||||||||||||||||||||
3446 | ((void *)0)
| 0-145 | ||||||||||||||||||||||||||||||||||||
3447 | ) { | - | ||||||||||||||||||||||||||||||||||||
3448 | ossl_statem_fatal((s), (80), (415), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
3449 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3450 | , | - | ||||||||||||||||||||||||||||||||||||
3451 | 3005 | - | ||||||||||||||||||||||||||||||||||||
3452 | ) | - | ||||||||||||||||||||||||||||||||||||
3453 | ; | - | ||||||||||||||||||||||||||||||||||||
3454 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3455 | } | - | ||||||||||||||||||||||||||||||||||||
3456 | if (RAND_priv_bytes(rand_premaster_secret,
| 0-145 | ||||||||||||||||||||||||||||||||||||
3457 | sizeof(rand_premaster_secret)) <= 0
| 0-145 | ||||||||||||||||||||||||||||||||||||
3458 | ossl_statem_fatal((s), (80), (415), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3459 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3460 | , | - | ||||||||||||||||||||||||||||||||||||
3461 | 3020 | - | ||||||||||||||||||||||||||||||||||||
3462 | ) | - | ||||||||||||||||||||||||||||||||||||
3463 | ; | - | ||||||||||||||||||||||||||||||||||||
3464 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3465 | } | - | ||||||||||||||||||||||||||||||||||||
3466 | - | |||||||||||||||||||||||||||||||||||||
3467 | - | |||||||||||||||||||||||||||||||||||||
3468 | - | |||||||||||||||||||||||||||||||||||||
3469 | - | |||||||||||||||||||||||||||||||||||||
3470 | - | |||||||||||||||||||||||||||||||||||||
3471 | - | |||||||||||||||||||||||||||||||||||||
3472 | decrypt_len = (int)RSA_private_decrypt((int)PACKET_remaining(&enc_premaster), | - | ||||||||||||||||||||||||||||||||||||
3473 | PACKET_data(&enc_premaster), | - | ||||||||||||||||||||||||||||||||||||
3474 | rsa_decrypt, rsa, 3); | - | ||||||||||||||||||||||||||||||||||||
3475 | if (decrypt_len < 0
| 0-145 | ||||||||||||||||||||||||||||||||||||
3476 | ossl_statem_fatal((s), (51), (415), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3477 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3478 | , | - | ||||||||||||||||||||||||||||||||||||
3479 | 3034 | - | ||||||||||||||||||||||||||||||||||||
3480 | ) | - | ||||||||||||||||||||||||||||||||||||
3481 | ; | - | ||||||||||||||||||||||||||||||||||||
3482 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3483 | } | - | ||||||||||||||||||||||||||||||||||||
3484 | if (decrypt_len < 11 + 48
| 0-145 | ||||||||||||||||||||||||||||||||||||
3485 | ossl_statem_fatal((s), (51), (415), (147), | - | ||||||||||||||||||||||||||||||||||||
3486 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3487 | , | - | ||||||||||||||||||||||||||||||||||||
3488 | 3047 | - | ||||||||||||||||||||||||||||||||||||
3489 | ) | - | ||||||||||||||||||||||||||||||||||||
3490 | ; | - | ||||||||||||||||||||||||||||||||||||
3491 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3492 | } | - | ||||||||||||||||||||||||||||||||||||
3493 | - | |||||||||||||||||||||||||||||||||||||
3494 | padding_len = decrypt_len - 48; | - | ||||||||||||||||||||||||||||||||||||
3495 | decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) & | - | ||||||||||||||||||||||||||||||||||||
3496 | constant_time_eq_int_8(rsa_decrypt[1], 2); | - | ||||||||||||||||||||||||||||||||||||
3497 | for (j = 2; j < padding_len - 1
| 145-29725 | ||||||||||||||||||||||||||||||||||||
3498 | decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]); | - | ||||||||||||||||||||||||||||||||||||
3499 | } executed 29725 times by 1 test: end of block Executed by:
| 29725 | ||||||||||||||||||||||||||||||||||||
3500 | decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]); | - | ||||||||||||||||||||||||||||||||||||
3501 | version_good = | - | ||||||||||||||||||||||||||||||||||||
3502 | constant_time_eq_8(rsa_decrypt[padding_len], | - | ||||||||||||||||||||||||||||||||||||
3503 | (unsigned)(s->client_version >> 8)); | - | ||||||||||||||||||||||||||||||||||||
3504 | version_good &= | - | ||||||||||||||||||||||||||||||||||||
3505 | constant_time_eq_8(rsa_decrypt[padding_len + 1], | - | ||||||||||||||||||||||||||||||||||||
3506 | (unsigned)(s->client_version & 0xff)); | - | ||||||||||||||||||||||||||||||||||||
3507 | if (s->options & 0x00800000U
| 0-145 | ||||||||||||||||||||||||||||||||||||
3508 | unsigned char workaround_good; | - | ||||||||||||||||||||||||||||||||||||
3509 | workaround_good = constant_time_eq_8(rsa_decrypt[padding_len], | - | ||||||||||||||||||||||||||||||||||||
3510 | (unsigned)(s->version >> 8)); | - | ||||||||||||||||||||||||||||||||||||
3511 | workaround_good &= | - | ||||||||||||||||||||||||||||||||||||
3512 | constant_time_eq_8(rsa_decrypt[padding_len + 1], | - | ||||||||||||||||||||||||||||||||||||
3513 | (unsigned)(s->version & 0xff)); | - | ||||||||||||||||||||||||||||||||||||
3514 | version_good |= workaround_good; | - | ||||||||||||||||||||||||||||||||||||
3515 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3516 | - | |||||||||||||||||||||||||||||||||||||
3517 | - | |||||||||||||||||||||||||||||||||||||
3518 | - | |||||||||||||||||||||||||||||||||||||
3519 | - | |||||||||||||||||||||||||||||||||||||
3520 | - | |||||||||||||||||||||||||||||||||||||
3521 | decrypt_good &= version_good; | - | ||||||||||||||||||||||||||||||||||||
3522 | - | |||||||||||||||||||||||||||||||||||||
3523 | - | |||||||||||||||||||||||||||||||||||||
3524 | - | |||||||||||||||||||||||||||||||||||||
3525 | - | |||||||||||||||||||||||||||||||||||||
3526 | - | |||||||||||||||||||||||||||||||||||||
3527 | - | |||||||||||||||||||||||||||||||||||||
3528 | - | |||||||||||||||||||||||||||||||||||||
3529 | for (j = 0; j < sizeof(rand_premaster_secret)
| 145-6960 | ||||||||||||||||||||||||||||||||||||
3530 | rsa_decrypt[padding_len + j] = | - | ||||||||||||||||||||||||||||||||||||
3531 | constant_time_select_8(decrypt_good, | - | ||||||||||||||||||||||||||||||||||||
3532 | rsa_decrypt[padding_len + j], | - | ||||||||||||||||||||||||||||||||||||
3533 | rand_premaster_secret[j]); | - | ||||||||||||||||||||||||||||||||||||
3534 | } executed 6960 times by 1 test: end of block Executed by:
| 6960 | ||||||||||||||||||||||||||||||||||||
3535 | - | |||||||||||||||||||||||||||||||||||||
3536 | if (!ssl_generate_master_secret(s, rsa_decrypt + padding_len,
| 0-145 | ||||||||||||||||||||||||||||||||||||
3537 | sizeof(rand_premaster_secret), 0)
| 0-145 | ||||||||||||||||||||||||||||||||||||
3538 | - | |||||||||||||||||||||||||||||||||||||
3539 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3540 | } | - | ||||||||||||||||||||||||||||||||||||
3541 | - | |||||||||||||||||||||||||||||||||||||
3542 | ret = 1; | - | ||||||||||||||||||||||||||||||||||||
3543 | err: code before this statement executed 145 times by 1 test: err: Executed by:
| 145 | ||||||||||||||||||||||||||||||||||||
3544 | CRYPTO_free(rsa_decrypt, __FILE__, 3120); | - | ||||||||||||||||||||||||||||||||||||
3545 | return executed 145 times by 1 test: ret;return ret; Executed by:
executed 145 times by 1 test: return ret; Executed by:
| 145 | ||||||||||||||||||||||||||||||||||||
3546 | - | |||||||||||||||||||||||||||||||||||||
3547 | - | |||||||||||||||||||||||||||||||||||||
3548 | - | |||||||||||||||||||||||||||||||||||||
3549 | - | |||||||||||||||||||||||||||||||||||||
3550 | - | |||||||||||||||||||||||||||||||||||||
3551 | - | |||||||||||||||||||||||||||||||||||||
3552 | } | - | ||||||||||||||||||||||||||||||||||||
3553 | - | |||||||||||||||||||||||||||||||||||||
3554 | static int tls_process_cke_dhe(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3555 | { | - | ||||||||||||||||||||||||||||||||||||
3556 | - | |||||||||||||||||||||||||||||||||||||
3557 | EVP_PKEY *skey = | - | ||||||||||||||||||||||||||||||||||||
3558 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3559 | ; | - | ||||||||||||||||||||||||||||||||||||
3560 | DH *cdh; | - | ||||||||||||||||||||||||||||||||||||
3561 | unsigned int i; | - | ||||||||||||||||||||||||||||||||||||
3562 | BIGNUM *pub_key; | - | ||||||||||||||||||||||||||||||||||||
3563 | const unsigned char *data; | - | ||||||||||||||||||||||||||||||||||||
3564 | EVP_PKEY *ckey = | - | ||||||||||||||||||||||||||||||||||||
3565 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3566 | ; | - | ||||||||||||||||||||||||||||||||||||
3567 | int ret = 0; | - | ||||||||||||||||||||||||||||||||||||
3568 | - | |||||||||||||||||||||||||||||||||||||
3569 | if (!PACKET_get_net_2(pkt, &i)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3570 | ossl_statem_fatal((s), (50), (411), (148), | - | ||||||||||||||||||||||||||||||||||||
3571 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3572 | , | - | ||||||||||||||||||||||||||||||||||||
3573 | 3143 | - | ||||||||||||||||||||||||||||||||||||
3574 | ) | - | ||||||||||||||||||||||||||||||||||||
3575 | ; | - | ||||||||||||||||||||||||||||||||||||
3576 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3577 | } | - | ||||||||||||||||||||||||||||||||||||
3578 | skey = s->s3->tmp.pkey; | - | ||||||||||||||||||||||||||||||||||||
3579 | if (skey ==
| 0-59 | ||||||||||||||||||||||||||||||||||||
3580 | ((void *)0)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3581 | ) { | - | ||||||||||||||||||||||||||||||||||||
3582 | ossl_statem_fatal((s), (80), (411), (171), | - | ||||||||||||||||||||||||||||||||||||
3583 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3584 | , | - | ||||||||||||||||||||||||||||||||||||
3585 | 3149 | - | ||||||||||||||||||||||||||||||||||||
3586 | ) | - | ||||||||||||||||||||||||||||||||||||
3587 | ; | - | ||||||||||||||||||||||||||||||||||||
3588 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3589 | } | - | ||||||||||||||||||||||||||||||||||||
3590 | - | |||||||||||||||||||||||||||||||||||||
3591 | if (PACKET_remaining(pkt) == 0L
| 0-59 | ||||||||||||||||||||||||||||||||||||
3592 | ossl_statem_fatal((s), (50), (411), (171), | - | ||||||||||||||||||||||||||||||||||||
3593 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3594 | , | - | ||||||||||||||||||||||||||||||||||||
3595 | 3155 | - | ||||||||||||||||||||||||||||||||||||
3596 | ) | - | ||||||||||||||||||||||||||||||||||||
3597 | ; | - | ||||||||||||||||||||||||||||||||||||
3598 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3599 | } | - | ||||||||||||||||||||||||||||||||||||
3600 | if (!PACKET_get_bytes(pkt, &data, i)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3601 | - | |||||||||||||||||||||||||||||||||||||
3602 | ossl_statem_fatal((s), (80), (411), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3603 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3604 | , | - | ||||||||||||||||||||||||||||||||||||
3605 | 3161 | - | ||||||||||||||||||||||||||||||||||||
3606 | ) | - | ||||||||||||||||||||||||||||||||||||
3607 | ; | - | ||||||||||||||||||||||||||||||||||||
3608 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3609 | } | - | ||||||||||||||||||||||||||||||||||||
3610 | ckey = EVP_PKEY_new(); | - | ||||||||||||||||||||||||||||||||||||
3611 | if (ckey ==
| 0-59 | ||||||||||||||||||||||||||||||||||||
3612 | ((void *)0)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3613 | || EVP_PKEY_copy_parameters(ckey, skey) == 0
| 0-59 | ||||||||||||||||||||||||||||||||||||
3614 | ossl_statem_fatal((s), (80), (411), (130), | - | ||||||||||||||||||||||||||||||||||||
3615 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3616 | , | - | ||||||||||||||||||||||||||||||||||||
3617 | 3167 | - | ||||||||||||||||||||||||||||||||||||
3618 | ) | - | ||||||||||||||||||||||||||||||||||||
3619 | ; | - | ||||||||||||||||||||||||||||||||||||
3620 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3621 | } | - | ||||||||||||||||||||||||||||||||||||
3622 | - | |||||||||||||||||||||||||||||||||||||
3623 | cdh = EVP_PKEY_get0_DH(ckey); | - | ||||||||||||||||||||||||||||||||||||
3624 | pub_key = BN_bin2bn(data, i, | - | ||||||||||||||||||||||||||||||||||||
3625 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3626 | ); | - | ||||||||||||||||||||||||||||||||||||
3627 | if (pub_key ==
| 0-59 | ||||||||||||||||||||||||||||||||||||
3628 | ((void *)0)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3629 | || cdh ==
| 0-59 | ||||||||||||||||||||||||||||||||||||
3630 | ((void *)0)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3631 | || !DH_set0_key(cdh, pub_key,
| 0-59 | ||||||||||||||||||||||||||||||||||||
3632 | ((void *)0)
| 0-59 | ||||||||||||||||||||||||||||||||||||
3633 | )
| 0-59 | ||||||||||||||||||||||||||||||||||||
3634 | ossl_statem_fatal((s), (80), (411), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3635 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3636 | , | - | ||||||||||||||||||||||||||||||||||||
3637 | 3175 | - | ||||||||||||||||||||||||||||||||||||
3638 | ) | - | ||||||||||||||||||||||||||||||||||||
3639 | ; | - | ||||||||||||||||||||||||||||||||||||
3640 | BN_free(pub_key); | - | ||||||||||||||||||||||||||||||||||||
3641 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3642 | } | - | ||||||||||||||||||||||||||||||||||||
3643 | - | |||||||||||||||||||||||||||||||||||||
3644 | if (ssl_derive(s, skey, ckey, 1) == 0
| 0-59 | ||||||||||||||||||||||||||||||||||||
3645 | - | |||||||||||||||||||||||||||||||||||||
3646 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3647 | } | - | ||||||||||||||||||||||||||||||||||||
3648 | - | |||||||||||||||||||||||||||||||||||||
3649 | ret = 1; | - | ||||||||||||||||||||||||||||||||||||
3650 | EVP_PKEY_free(s->s3->tmp.pkey); | - | ||||||||||||||||||||||||||||||||||||
3651 | s->s3->tmp.pkey = | - | ||||||||||||||||||||||||||||||||||||
3652 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3653 | ; | - | ||||||||||||||||||||||||||||||||||||
3654 | err: code before this statement executed 59 times by 1 test: err: Executed by:
| 59 | ||||||||||||||||||||||||||||||||||||
3655 | EVP_PKEY_free(ckey); | - | ||||||||||||||||||||||||||||||||||||
3656 | return executed 59 times by 1 test: ret;return ret; Executed by:
executed 59 times by 1 test: return ret; Executed by:
| 59 | ||||||||||||||||||||||||||||||||||||
3657 | - | |||||||||||||||||||||||||||||||||||||
3658 | - | |||||||||||||||||||||||||||||||||||||
3659 | - | |||||||||||||||||||||||||||||||||||||
3660 | - | |||||||||||||||||||||||||||||||||||||
3661 | - | |||||||||||||||||||||||||||||||||||||
3662 | - | |||||||||||||||||||||||||||||||||||||
3663 | } | - | ||||||||||||||||||||||||||||||||||||
3664 | - | |||||||||||||||||||||||||||||||||||||
3665 | static int tls_process_cke_ecdhe(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3666 | { | - | ||||||||||||||||||||||||||||||||||||
3667 | - | |||||||||||||||||||||||||||||||||||||
3668 | EVP_PKEY *skey = s->s3->tmp.pkey; | - | ||||||||||||||||||||||||||||||||||||
3669 | EVP_PKEY *ckey = | - | ||||||||||||||||||||||||||||||||||||
3670 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3671 | ; | - | ||||||||||||||||||||||||||||||||||||
3672 | int ret = 0; | - | ||||||||||||||||||||||||||||||||||||
3673 | - | |||||||||||||||||||||||||||||||||||||
3674 | if (PACKET_remaining(pkt) == 0L
| 1-1005 | ||||||||||||||||||||||||||||||||||||
3675 | - | |||||||||||||||||||||||||||||||||||||
3676 | ossl_statem_fatal((s), (40), (412), (311), | - | ||||||||||||||||||||||||||||||||||||
3677 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3678 | , | - | ||||||||||||||||||||||||||||||||||||
3679 | 3209 | - | ||||||||||||||||||||||||||||||||||||
3680 | ) | - | ||||||||||||||||||||||||||||||||||||
3681 | ; | - | ||||||||||||||||||||||||||||||||||||
3682 | goto executed 1 time by 1 test: err;goto err; Executed by:
executed 1 time by 1 test: goto err; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
3683 | } else { | - | ||||||||||||||||||||||||||||||||||||
3684 | unsigned int i; | - | ||||||||||||||||||||||||||||||||||||
3685 | const unsigned char *data; | - | ||||||||||||||||||||||||||||||||||||
3686 | - | |||||||||||||||||||||||||||||||||||||
3687 | - | |||||||||||||||||||||||||||||||||||||
3688 | - | |||||||||||||||||||||||||||||||||||||
3689 | - | |||||||||||||||||||||||||||||||||||||
3690 | - | |||||||||||||||||||||||||||||||||||||
3691 | - | |||||||||||||||||||||||||||||||||||||
3692 | - | |||||||||||||||||||||||||||||||||||||
3693 | if (!PACKET_get_1(pkt, &i)
| 0-1005 | ||||||||||||||||||||||||||||||||||||
3694 | || PACKET_remaining(pkt) != 0
| 1-1003 | ||||||||||||||||||||||||||||||||||||
3695 | ossl_statem_fatal((s), (50), (412), (159), | - | ||||||||||||||||||||||||||||||||||||
3696 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3697 | , | - | ||||||||||||||||||||||||||||||||||||
3698 | 3224 | - | ||||||||||||||||||||||||||||||||||||
3699 | ) | - | ||||||||||||||||||||||||||||||||||||
3700 | ; | - | ||||||||||||||||||||||||||||||||||||
3701 | goto executed 2 times by 1 test: err;goto err; Executed by:
executed 2 times by 1 test: goto err; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||
3702 | } | - | ||||||||||||||||||||||||||||||||||||
3703 | ckey = EVP_PKEY_new(); | - | ||||||||||||||||||||||||||||||||||||
3704 | if (ckey ==
| 0-1003 | ||||||||||||||||||||||||||||||||||||
3705 | ((void *)0)
| 0-1003 | ||||||||||||||||||||||||||||||||||||
3706 | || EVP_PKEY_copy_parameters(ckey, skey) <= 0
| 0-1003 | ||||||||||||||||||||||||||||||||||||
3707 | ossl_statem_fatal((s), (80), (412), (6), | - | ||||||||||||||||||||||||||||||||||||
3708 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3709 | , | - | ||||||||||||||||||||||||||||||||||||
3710 | 3230 | - | ||||||||||||||||||||||||||||||||||||
3711 | ) | - | ||||||||||||||||||||||||||||||||||||
3712 | ; | - | ||||||||||||||||||||||||||||||||||||
3713 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3714 | } | - | ||||||||||||||||||||||||||||||||||||
3715 | if (EVP_PKEY_set1_tls_encodedpoint(ckey, data, i) == 0
| 47-956 | ||||||||||||||||||||||||||||||||||||
3716 | ossl_statem_fatal((s), (80), (412), (16), | - | ||||||||||||||||||||||||||||||||||||
3717 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3718 | , | - | ||||||||||||||||||||||||||||||||||||
3719 | 3235 | - | ||||||||||||||||||||||||||||||||||||
3720 | ) | - | ||||||||||||||||||||||||||||||||||||
3721 | ; | - | ||||||||||||||||||||||||||||||||||||
3722 | goto executed 47 times by 1 test: err;goto err; Executed by:
executed 47 times by 1 test: goto err; Executed by:
| 47 | ||||||||||||||||||||||||||||||||||||
3723 | } | - | ||||||||||||||||||||||||||||||||||||
3724 | } executed 956 times by 1 test: end of block Executed by:
| 956 | ||||||||||||||||||||||||||||||||||||
3725 | - | |||||||||||||||||||||||||||||||||||||
3726 | if (ssl_derive(s, skey, ckey, 1) == 0
| 8-948 | ||||||||||||||||||||||||||||||||||||
3727 | - | |||||||||||||||||||||||||||||||||||||
3728 | goto executed 8 times by 1 test: err;goto err; Executed by:
executed 8 times by 1 test: goto err; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
3729 | } | - | ||||||||||||||||||||||||||||||||||||
3730 | - | |||||||||||||||||||||||||||||||||||||
3731 | ret = 1; | - | ||||||||||||||||||||||||||||||||||||
3732 | EVP_PKEY_free(s->s3->tmp.pkey); | - | ||||||||||||||||||||||||||||||||||||
3733 | s->s3->tmp.pkey = | - | ||||||||||||||||||||||||||||||||||||
3734 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3735 | ; | - | ||||||||||||||||||||||||||||||||||||
3736 | err: code before this statement executed 948 times by 1 test: err: Executed by:
| 948 | ||||||||||||||||||||||||||||||||||||
3737 | EVP_PKEY_free(ckey); | - | ||||||||||||||||||||||||||||||||||||
3738 | - | |||||||||||||||||||||||||||||||||||||
3739 | return executed 1006 times by 1 test: ret;return ret; Executed by:
executed 1006 times by 1 test: return ret; Executed by:
| 1006 | ||||||||||||||||||||||||||||||||||||
3740 | - | |||||||||||||||||||||||||||||||||||||
3741 | - | |||||||||||||||||||||||||||||||||||||
3742 | - | |||||||||||||||||||||||||||||||||||||
3743 | - | |||||||||||||||||||||||||||||||||||||
3744 | - | |||||||||||||||||||||||||||||||||||||
3745 | - | |||||||||||||||||||||||||||||||||||||
3746 | } | - | ||||||||||||||||||||||||||||||||||||
3747 | - | |||||||||||||||||||||||||||||||||||||
3748 | static int tls_process_cke_srp(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3749 | { | - | ||||||||||||||||||||||||||||||||||||
3750 | - | |||||||||||||||||||||||||||||||||||||
3751 | unsigned int i; | - | ||||||||||||||||||||||||||||||||||||
3752 | const unsigned char *data; | - | ||||||||||||||||||||||||||||||||||||
3753 | - | |||||||||||||||||||||||||||||||||||||
3754 | if (!PACKET_get_net_2(pkt, &i)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3755 | || !PACKET_get_bytes(pkt, &data, i)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3756 | ossl_statem_fatal((s), (50), (416), (347), | - | ||||||||||||||||||||||||||||||||||||
3757 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3758 | , | - | ||||||||||||||||||||||||||||||||||||
3759 | 3269 | - | ||||||||||||||||||||||||||||||||||||
3760 | ) | - | ||||||||||||||||||||||||||||||||||||
3761 | ; | - | ||||||||||||||||||||||||||||||||||||
3762 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3763 | } | - | ||||||||||||||||||||||||||||||||||||
3764 | if ((
| 0-10 | ||||||||||||||||||||||||||||||||||||
3765 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3766 | )) ==
| 0-10 | ||||||||||||||||||||||||||||||||||||
3767 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3768 | ) { | - | ||||||||||||||||||||||||||||||||||||
3769 | ossl_statem_fatal((s), (80), (416), (3), | - | ||||||||||||||||||||||||||||||||||||
3770 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3771 | , | - | ||||||||||||||||||||||||||||||||||||
3772 | 3274 | - | ||||||||||||||||||||||||||||||||||||
3773 | ) | - | ||||||||||||||||||||||||||||||||||||
3774 | ; | - | ||||||||||||||||||||||||||||||||||||
3775 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3776 | } | - | ||||||||||||||||||||||||||||||||||||
3777 | if (BN_ucmp(s->srp_ctx.A, s->srp_ctx.N) >= 0
| 0-10 | ||||||||||||||||||||||||||||||||||||
3778 | ossl_statem_fatal((s), (47), (416), (371), | - | ||||||||||||||||||||||||||||||||||||
3779 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3780 | , | - | ||||||||||||||||||||||||||||||||||||
3781 | 3279 | - | ||||||||||||||||||||||||||||||||||||
3782 | ) | - | ||||||||||||||||||||||||||||||||||||
3783 | ; | - | ||||||||||||||||||||||||||||||||||||
3784 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3785 | } | - | ||||||||||||||||||||||||||||||||||||
3786 | CRYPTO_free(s->session->srp_username, __FILE__, 3282); | - | ||||||||||||||||||||||||||||||||||||
3787 | s->session->srp_username = CRYPTO_strdup(s->srp_ctx.login, __FILE__, 3283); | - | ||||||||||||||||||||||||||||||||||||
3788 | if (s->session->srp_username ==
| 0-10 | ||||||||||||||||||||||||||||||||||||
3789 | ((void *)0)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3790 | ) { | - | ||||||||||||||||||||||||||||||||||||
3791 | ossl_statem_fatal((s), (80), (416), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
3792 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3793 | , | - | ||||||||||||||||||||||||||||||||||||
3794 | 3286 | - | ||||||||||||||||||||||||||||||||||||
3795 | ) | - | ||||||||||||||||||||||||||||||||||||
3796 | ; | - | ||||||||||||||||||||||||||||||||||||
3797 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3798 | } | - | ||||||||||||||||||||||||||||||||||||
3799 | - | |||||||||||||||||||||||||||||||||||||
3800 | if (!srp_generate_server_master_secret(s)
| 0-10 | ||||||||||||||||||||||||||||||||||||
3801 | - | |||||||||||||||||||||||||||||||||||||
3802 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3803 | } | - | ||||||||||||||||||||||||||||||||||||
3804 | - | |||||||||||||||||||||||||||||||||||||
3805 | return executed 10 times by 1 test: 1;return 1; Executed by:
executed 10 times by 1 test: return 1; Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||
3806 | - | |||||||||||||||||||||||||||||||||||||
3807 | - | |||||||||||||||||||||||||||||||||||||
3808 | - | |||||||||||||||||||||||||||||||||||||
3809 | - | |||||||||||||||||||||||||||||||||||||
3810 | - | |||||||||||||||||||||||||||||||||||||
3811 | - | |||||||||||||||||||||||||||||||||||||
3812 | } | - | ||||||||||||||||||||||||||||||||||||
3813 | - | |||||||||||||||||||||||||||||||||||||
3814 | static int tls_process_cke_gost(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3815 | { | - | ||||||||||||||||||||||||||||||||||||
3816 | - | |||||||||||||||||||||||||||||||||||||
3817 | EVP_PKEY_CTX *pkey_ctx; | - | ||||||||||||||||||||||||||||||||||||
3818 | EVP_PKEY *client_pub_pkey = | - | ||||||||||||||||||||||||||||||||||||
3819 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3820 | , *pk = | - | ||||||||||||||||||||||||||||||||||||
3821 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3822 | ; | - | ||||||||||||||||||||||||||||||||||||
3823 | unsigned char premaster_secret[32]; | - | ||||||||||||||||||||||||||||||||||||
3824 | const unsigned char *start; | - | ||||||||||||||||||||||||||||||||||||
3825 | size_t outlen = 32, inlen; | - | ||||||||||||||||||||||||||||||||||||
3826 | unsigned long alg_a; | - | ||||||||||||||||||||||||||||||||||||
3827 | unsigned int asn1id, asn1len; | - | ||||||||||||||||||||||||||||||||||||
3828 | int ret = 0; | - | ||||||||||||||||||||||||||||||||||||
3829 | PACKET encdata; | - | ||||||||||||||||||||||||||||||||||||
3830 | - | |||||||||||||||||||||||||||||||||||||
3831 | - | |||||||||||||||||||||||||||||||||||||
3832 | alg_a = s->s3->tmp.new_cipher->algorithm_auth; | - | ||||||||||||||||||||||||||||||||||||
3833 | if (alg_a & 0x00000080U
| 0 | ||||||||||||||||||||||||||||||||||||
3834 | - | |||||||||||||||||||||||||||||||||||||
3835 | - | |||||||||||||||||||||||||||||||||||||
3836 | - | |||||||||||||||||||||||||||||||||||||
3837 | pk = s->cert->pkeys[6].privatekey; | - | ||||||||||||||||||||||||||||||||||||
3838 | if (pk ==
| 0 | ||||||||||||||||||||||||||||||||||||
3839 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
3840 | ) { | - | ||||||||||||||||||||||||||||||||||||
3841 | pk = s->cert->pkeys[5].privatekey; | - | ||||||||||||||||||||||||||||||||||||
3842 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3843 | if (pk ==
| 0 | ||||||||||||||||||||||||||||||||||||
3844 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
3845 | ) { | - | ||||||||||||||||||||||||||||||||||||
3846 | pk = s->cert->pkeys[4].privatekey; | - | ||||||||||||||||||||||||||||||||||||
3847 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3848 | } never executed: else if (alg_a & 0x00000020Uend of block
| 0 | ||||||||||||||||||||||||||||||||||||
3849 | pk = s->cert->pkeys[4].privatekey; | - | ||||||||||||||||||||||||||||||||||||
3850 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3851 | - | |||||||||||||||||||||||||||||||||||||
3852 | pkey_ctx = EVP_PKEY_CTX_new(pk, | - | ||||||||||||||||||||||||||||||||||||
3853 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
3854 | ); | - | ||||||||||||||||||||||||||||||||||||
3855 | if (pkey_ctx ==
| 0 | ||||||||||||||||||||||||||||||||||||
3856 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
3857 | ) { | - | ||||||||||||||||||||||||||||||||||||
3858 | ossl_statem_fatal((s), (80), (413), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
3859 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3860 | , | - | ||||||||||||||||||||||||||||||||||||
3861 | 3337 | - | ||||||||||||||||||||||||||||||||||||
3862 | ) | - | ||||||||||||||||||||||||||||||||||||
3863 | ; | - | ||||||||||||||||||||||||||||||||||||
3864 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3865 | } | - | ||||||||||||||||||||||||||||||||||||
3866 | if (EVP_PKEY_decrypt_init(pkey_ctx) <= 0
| 0 | ||||||||||||||||||||||||||||||||||||
3867 | ossl_statem_fatal((s), (80), (413), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
3868 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3869 | , | - | ||||||||||||||||||||||||||||||||||||
3870 | 3342 | - | ||||||||||||||||||||||||||||||||||||
3871 | ) | - | ||||||||||||||||||||||||||||||||||||
3872 | ; | - | ||||||||||||||||||||||||||||||||||||
3873 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
3874 | } | - | ||||||||||||||||||||||||||||||||||||
3875 | - | |||||||||||||||||||||||||||||||||||||
3876 | - | |||||||||||||||||||||||||||||||||||||
3877 | - | |||||||||||||||||||||||||||||||||||||
3878 | - | |||||||||||||||||||||||||||||||||||||
3879 | - | |||||||||||||||||||||||||||||||||||||
3880 | - | |||||||||||||||||||||||||||||||||||||
3881 | client_pub_pkey = X509_get0_pubkey(s->session->peer); | - | ||||||||||||||||||||||||||||||||||||
3882 | if (client_pub_pkey
| 0 | ||||||||||||||||||||||||||||||||||||
3883 | if (EVP_PKEY_derive_set_peer(pkey_ctx, client_pub_pkey) <= 0
| 0 | ||||||||||||||||||||||||||||||||||||
3884 | ERR_clear_error(); never executed: ERR_clear_error(); | 0 | ||||||||||||||||||||||||||||||||||||
3885 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
3886 | - | |||||||||||||||||||||||||||||||||||||
3887 | if (!PACKET_get_1(pkt, &asn1id)
| 0 | ||||||||||||||||||||||||||||||||||||
3888 | || asn1id != (16 | 0x20)
| 0 | ||||||||||||||||||||||||||||||||||||
3889 | || !PACKET_peek_1(pkt, &asn1len)
| 0 | ||||||||||||||||||||||||||||||||||||
3890 | ossl_statem_fatal((s), (50), (413), (147), | - | ||||||||||||||||||||||||||||||||||||
3891 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3892 | , | - | ||||||||||||||||||||||||||||||||||||
3893 | 3361 | - | ||||||||||||||||||||||||||||||||||||
3894 | ) | - | ||||||||||||||||||||||||||||||||||||
3895 | ; | - | ||||||||||||||||||||||||||||||||||||
3896 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3897 | } | - | ||||||||||||||||||||||||||||||||||||
3898 | if (asn1len == 0x81
| 0 | ||||||||||||||||||||||||||||||||||||
3899 | - | |||||||||||||||||||||||||||||||||||||
3900 | - | |||||||||||||||||||||||||||||||||||||
3901 | - | |||||||||||||||||||||||||||||||||||||
3902 | - | |||||||||||||||||||||||||||||||||||||
3903 | - | |||||||||||||||||||||||||||||||||||||
3904 | if (!PACKET_forward(pkt, 1)
| 0 | ||||||||||||||||||||||||||||||||||||
3905 | ossl_statem_fatal((s), (80), (413), (147), | - | ||||||||||||||||||||||||||||||||||||
3906 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3907 | , | - | ||||||||||||||||||||||||||||||||||||
3908 | 3372 | - | ||||||||||||||||||||||||||||||||||||
3909 | ) | - | ||||||||||||||||||||||||||||||||||||
3910 | ; | - | ||||||||||||||||||||||||||||||||||||
3911 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3912 | } | - | ||||||||||||||||||||||||||||||||||||
3913 | } never executed: else if (asn1len >= 0x80end of block
| 0 | ||||||||||||||||||||||||||||||||||||
3914 | - | |||||||||||||||||||||||||||||||||||||
3915 | - | |||||||||||||||||||||||||||||||||||||
3916 | - | |||||||||||||||||||||||||||||||||||||
3917 | - | |||||||||||||||||||||||||||||||||||||
3918 | ossl_statem_fatal((s), (50), (413), (147), | - | ||||||||||||||||||||||||||||||||||||
3919 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3920 | , | - | ||||||||||||||||||||||||||||||||||||
3921 | 3381 | - | ||||||||||||||||||||||||||||||||||||
3922 | ) | - | ||||||||||||||||||||||||||||||||||||
3923 | ; | - | ||||||||||||||||||||||||||||||||||||
3924 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3925 | } | - | ||||||||||||||||||||||||||||||||||||
3926 | - | |||||||||||||||||||||||||||||||||||||
3927 | if (!PACKET_as_length_prefixed_1(pkt, &encdata)
| 0 | ||||||||||||||||||||||||||||||||||||
3928 | ossl_statem_fatal((s), (50), (413), (147), | - | ||||||||||||||||||||||||||||||||||||
3929 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3930 | , | - | ||||||||||||||||||||||||||||||||||||
3931 | 3387 | - | ||||||||||||||||||||||||||||||||||||
3932 | ) | - | ||||||||||||||||||||||||||||||||||||
3933 | ; | - | ||||||||||||||||||||||||||||||||||||
3934 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3935 | } | - | ||||||||||||||||||||||||||||||||||||
3936 | inlen = PACKET_remaining(&encdata); | - | ||||||||||||||||||||||||||||||||||||
3937 | start = PACKET_data(&encdata); | - | ||||||||||||||||||||||||||||||||||||
3938 | - | |||||||||||||||||||||||||||||||||||||
3939 | if (EVP_PKEY_decrypt(pkey_ctx, premaster_secret, &outlen, start,
| 0 | ||||||||||||||||||||||||||||||||||||
3940 | inlen) <= 0
| 0 | ||||||||||||||||||||||||||||||||||||
3941 | ossl_statem_fatal((s), (50), (413), (147), | - | ||||||||||||||||||||||||||||||||||||
3942 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3943 | , | - | ||||||||||||||||||||||||||||||||||||
3944 | 3396 | - | ||||||||||||||||||||||||||||||||||||
3945 | ) | - | ||||||||||||||||||||||||||||||||||||
3946 | ; | - | ||||||||||||||||||||||||||||||||||||
3947 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3948 | } | - | ||||||||||||||||||||||||||||||||||||
3949 | - | |||||||||||||||||||||||||||||||||||||
3950 | if (!ssl_generate_master_secret(s, premaster_secret,
| 0 | ||||||||||||||||||||||||||||||||||||
3951 | sizeof(premaster_secret), 0)
| 0 | ||||||||||||||||||||||||||||||||||||
3952 | - | |||||||||||||||||||||||||||||||||||||
3953 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3954 | } | - | ||||||||||||||||||||||||||||||||||||
3955 | - | |||||||||||||||||||||||||||||||||||||
3956 | if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, -1, 2, 2,
| 0 | ||||||||||||||||||||||||||||||||||||
3957 |
| 0 | ||||||||||||||||||||||||||||||||||||
3958 | ((void *)0)
| 0 | ||||||||||||||||||||||||||||||||||||
3959 | ) > 0
| 0 | ||||||||||||||||||||||||||||||||||||
3960 | s->statem.no_cert_verify = 1; never executed: s->statem.no_cert_verify = 1; | 0 | ||||||||||||||||||||||||||||||||||||
3961 | - | |||||||||||||||||||||||||||||||||||||
3962 | ret = 1; | - | ||||||||||||||||||||||||||||||||||||
3963 | err: code before this statement never executed: err: | 0 | ||||||||||||||||||||||||||||||||||||
3964 | EVP_PKEY_CTX_free(pkey_ctx); | - | ||||||||||||||||||||||||||||||||||||
3965 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||||||||||||||||||||||||||
3966 | - | |||||||||||||||||||||||||||||||||||||
3967 | - | |||||||||||||||||||||||||||||||||||||
3968 | - | |||||||||||||||||||||||||||||||||||||
3969 | - | |||||||||||||||||||||||||||||||||||||
3970 | - | |||||||||||||||||||||||||||||||||||||
3971 | - | |||||||||||||||||||||||||||||||||||||
3972 | } | - | ||||||||||||||||||||||||||||||||||||
3973 | - | |||||||||||||||||||||||||||||||||||||
3974 | MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
3975 | { | - | ||||||||||||||||||||||||||||||||||||
3976 | unsigned long alg_k; | - | ||||||||||||||||||||||||||||||||||||
3977 | - | |||||||||||||||||||||||||||||||||||||
3978 | alg_k = s->s3->tmp.new_cipher->algorithm_mkey; | - | ||||||||||||||||||||||||||||||||||||
3979 | - | |||||||||||||||||||||||||||||||||||||
3980 | - | |||||||||||||||||||||||||||||||||||||
3981 | if ((
| 0-1221 | ||||||||||||||||||||||||||||||||||||
3982 | - | |||||||||||||||||||||||||||||||||||||
3983 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3984 | } | - | ||||||||||||||||||||||||||||||||||||
3985 | - | |||||||||||||||||||||||||||||||||||||
3986 | if (alg_k & 0x00000008U
| 27-1223 | ||||||||||||||||||||||||||||||||||||
3987 | - | |||||||||||||||||||||||||||||||||||||
3988 | if (PACKET_remaining(pkt) != 0
| 0-27 | ||||||||||||||||||||||||||||||||||||
3989 | ossl_statem_fatal((s), (50), (382), (159), | - | ||||||||||||||||||||||||||||||||||||
3990 | - | |||||||||||||||||||||||||||||||||||||
3991 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
3992 | , | - | ||||||||||||||||||||||||||||||||||||
3993 | - | |||||||||||||||||||||||||||||||||||||
3994 | 3439 | - | ||||||||||||||||||||||||||||||||||||
3995 | ) | - | ||||||||||||||||||||||||||||||||||||
3996 | - | |||||||||||||||||||||||||||||||||||||
3997 | ; | - | ||||||||||||||||||||||||||||||||||||
3998 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
3999 | } | - | ||||||||||||||||||||||||||||||||||||
4000 | - | |||||||||||||||||||||||||||||||||||||
4001 | if (!ssl_generate_master_secret(s,
| 0-27 | ||||||||||||||||||||||||||||||||||||
4002 | ((void *)0)
| 0-27 | ||||||||||||||||||||||||||||||||||||
4003 | , 0, 0)
| 0-27 | ||||||||||||||||||||||||||||||||||||
4004 | - | |||||||||||||||||||||||||||||||||||||
4005 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4006 | } | - | ||||||||||||||||||||||||||||||||||||
4007 | } executed 27 times by 1 test: else if (alg_k & (0x00000001U | 0x00000040U)end of block Executed by:
| 27-1075 | ||||||||||||||||||||||||||||||||||||
4008 | if (!tls_process_cke_rsa(s, pkt)
| 3-145 | ||||||||||||||||||||||||||||||||||||
4009 | - | |||||||||||||||||||||||||||||||||||||
4010 | goto executed 3 times by 1 test: err;goto err; Executed by:
executed 3 times by 1 test: goto err; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
4011 | } | - | ||||||||||||||||||||||||||||||||||||
4012 | } executed 145 times by 1 test: else if (alg_k & (0x00000002U | 0x00000100U)end of block Executed by:
| 59-1016 | ||||||||||||||||||||||||||||||||||||
4013 | if (!tls_process_cke_dhe(s, pkt)
| 0-59 | ||||||||||||||||||||||||||||||||||||
4014 | - | |||||||||||||||||||||||||||||||||||||
4015 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4016 | } | - | ||||||||||||||||||||||||||||||||||||
4017 | } executed 59 times by 1 test: else if (alg_k & (0x00000004U | 0x00000080U)end of block Executed by:
| 10-1006 | ||||||||||||||||||||||||||||||||||||
4018 | if (!tls_process_cke_ecdhe(s, pkt)
| 58-948 | ||||||||||||||||||||||||||||||||||||
4019 | - | |||||||||||||||||||||||||||||||||||||
4020 | goto executed 58 times by 1 test: err;goto err; Executed by:
executed 58 times by 1 test: goto err; Executed by:
| 58 | ||||||||||||||||||||||||||||||||||||
4021 | } | - | ||||||||||||||||||||||||||||||||||||
4022 | } executed 948 times by 1 test: else if (alg_k & 0x00000020Uend of block Executed by:
| 0-948 | ||||||||||||||||||||||||||||||||||||
4023 | if (!tls_process_cke_srp(s, pkt)
| 0-10 | ||||||||||||||||||||||||||||||||||||
4024 | - | |||||||||||||||||||||||||||||||||||||
4025 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4026 | } | - | ||||||||||||||||||||||||||||||||||||
4027 | } executed 10 times by 1 test: else if (alg_k & 0x00000010Uend of block Executed by:
| 0-10 | ||||||||||||||||||||||||||||||||||||
4028 | if (!tls_process_cke_gost(s, pkt)
| 0 | ||||||||||||||||||||||||||||||||||||
4029 | - | |||||||||||||||||||||||||||||||||||||
4030 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4031 | } | - | ||||||||||||||||||||||||||||||||||||
4032 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||
4033 | ossl_statem_fatal((s), (80), (382), (249), | - | ||||||||||||||||||||||||||||||||||||
4034 | - | |||||||||||||||||||||||||||||||||||||
4035 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4036 | , | - | ||||||||||||||||||||||||||||||||||||
4037 | - | |||||||||||||||||||||||||||||||||||||
4038 | 3475 | - | ||||||||||||||||||||||||||||||||||||
4039 | ) | - | ||||||||||||||||||||||||||||||||||||
4040 | - | |||||||||||||||||||||||||||||||||||||
4041 | ; | - | ||||||||||||||||||||||||||||||||||||
4042 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4043 | } | - | ||||||||||||||||||||||||||||||||||||
4044 | - | |||||||||||||||||||||||||||||||||||||
4045 | return executed 1189 times by 1 test: MSG_PROCESS_CONTINUE_PROCESSING;return MSG_PROCESS_CONTINUE_PROCESSING; Executed by:
executed 1189 times by 1 test: return MSG_PROCESS_CONTINUE_PROCESSING; Executed by:
| 1189 | ||||||||||||||||||||||||||||||||||||
4046 | err: | - | ||||||||||||||||||||||||||||||||||||
4047 | - | |||||||||||||||||||||||||||||||||||||
4048 | CRYPTO_clear_free(s->s3->tmp.psk, s->s3->tmp.psklen, __FILE__, 3482); | - | ||||||||||||||||||||||||||||||||||||
4049 | s->s3->tmp.psk = | - | ||||||||||||||||||||||||||||||||||||
4050 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4051 | ; | - | ||||||||||||||||||||||||||||||||||||
4052 | - | |||||||||||||||||||||||||||||||||||||
4053 | return executed 61 times by 1 test: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; Executed by:
executed 61 times by 1 test: return MSG_PROCESS_ERROR; Executed by:
| 61 | ||||||||||||||||||||||||||||||||||||
4054 | } | - | ||||||||||||||||||||||||||||||||||||
4055 | - | |||||||||||||||||||||||||||||||||||||
4056 | WORK_STATE tls_post_process_client_key_exchange(SSL *s, WORK_STATE wst) | - | ||||||||||||||||||||||||||||||||||||
4057 | { | - | ||||||||||||||||||||||||||||||||||||
4058 | if (s->statem.no_cert_verify
| 0-1189 | ||||||||||||||||||||||||||||||||||||
4059 | - | |||||||||||||||||||||||||||||||||||||
4060 | - | |||||||||||||||||||||||||||||||||||||
4061 | - | |||||||||||||||||||||||||||||||||||||
4062 | - | |||||||||||||||||||||||||||||||||||||
4063 | if (!ssl3_digest_cached_records(s, 0)
| 0-1169 | ||||||||||||||||||||||||||||||||||||
4064 | - | |||||||||||||||||||||||||||||||||||||
4065 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
4066 | } | - | ||||||||||||||||||||||||||||||||||||
4067 | return executed 1169 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 1169 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 1169 | ||||||||||||||||||||||||||||||||||||
4068 | } else { | - | ||||||||||||||||||||||||||||||||||||
4069 | if (!s->s3->handshake_buffer
| 0-20 | ||||||||||||||||||||||||||||||||||||
4070 | ossl_statem_fatal((s), (80), (384), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4071 | - | |||||||||||||||||||||||||||||||||||||
4072 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4073 | , | - | ||||||||||||||||||||||||||||||||||||
4074 | - | |||||||||||||||||||||||||||||||||||||
4075 | 3532 | - | ||||||||||||||||||||||||||||||||||||
4076 | ) | - | ||||||||||||||||||||||||||||||||||||
4077 | - | |||||||||||||||||||||||||||||||||||||
4078 | ; | - | ||||||||||||||||||||||||||||||||||||
4079 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
4080 | } | - | ||||||||||||||||||||||||||||||||||||
4081 | - | |||||||||||||||||||||||||||||||||||||
4082 | - | |||||||||||||||||||||||||||||||||||||
4083 | - | |||||||||||||||||||||||||||||||||||||
4084 | - | |||||||||||||||||||||||||||||||||||||
4085 | if (!ssl3_digest_cached_records(s, 1)
| 0-20 | ||||||||||||||||||||||||||||||||||||
4086 | - | |||||||||||||||||||||||||||||||||||||
4087 | return never executed: WORK_ERROR;return WORK_ERROR; never executed: return WORK_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
4088 | } | - | ||||||||||||||||||||||||||||||||||||
4089 | } executed 20 times by 1 test: end of block Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
4090 | - | |||||||||||||||||||||||||||||||||||||
4091 | return executed 20 times by 1 test: WORK_FINISHED_CONTINUE;return WORK_FINISHED_CONTINUE; Executed by:
executed 20 times by 1 test: return WORK_FINISHED_CONTINUE; Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||
4092 | } | - | ||||||||||||||||||||||||||||||||||||
4093 | - | |||||||||||||||||||||||||||||||||||||
4094 | MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4095 | { | - | ||||||||||||||||||||||||||||||||||||
4096 | int i; | - | ||||||||||||||||||||||||||||||||||||
4097 | MSG_PROCESS_RETURN ret = MSG_PROCESS_ERROR; | - | ||||||||||||||||||||||||||||||||||||
4098 | X509 *x = | - | ||||||||||||||||||||||||||||||||||||
4099 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4100 | ; | - | ||||||||||||||||||||||||||||||||||||
4101 | unsigned long l; | - | ||||||||||||||||||||||||||||||||||||
4102 | const unsigned char *certstart, *certbytes; | - | ||||||||||||||||||||||||||||||||||||
4103 | struct stack_st_X509 *sk = | - | ||||||||||||||||||||||||||||||||||||
4104 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4105 | ; | - | ||||||||||||||||||||||||||||||||||||
4106 | PACKET spkt, context; | - | ||||||||||||||||||||||||||||||||||||
4107 | size_t chainidx; | - | ||||||||||||||||||||||||||||||||||||
4108 | SSL_SESSION *new_sess = | - | ||||||||||||||||||||||||||||||||||||
4109 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4110 | ; | - | ||||||||||||||||||||||||||||||||||||
4111 | - | |||||||||||||||||||||||||||||||||||||
4112 | - | |||||||||||||||||||||||||||||||||||||
4113 | - | |||||||||||||||||||||||||||||||||||||
4114 | - | |||||||||||||||||||||||||||||||||||||
4115 | - | |||||||||||||||||||||||||||||||||||||
4116 | - | |||||||||||||||||||||||||||||||||||||
4117 | s->statem.enc_read_state = ENC_READ_STATE_VALID; | - | ||||||||||||||||||||||||||||||||||||
4118 | - | |||||||||||||||||||||||||||||||||||||
4119 | if ((
| 0-77 | ||||||||||||||||||||||||||||||||||||
4120 | ((void *)0)
| 0-77 | ||||||||||||||||||||||||||||||||||||
4121 | ) { | - | ||||||||||||||||||||||||||||||||||||
4122 | ossl_statem_fatal((s), (80), (380), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4123 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4124 | , | - | ||||||||||||||||||||||||||||||||||||
4125 | 3569 | - | ||||||||||||||||||||||||||||||||||||
4126 | ) | - | ||||||||||||||||||||||||||||||||||||
4127 | ; | - | ||||||||||||||||||||||||||||||||||||
4128 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4129 | } | - | ||||||||||||||||||||||||||||||||||||
4130 | - | |||||||||||||||||||||||||||||||||||||
4131 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-64 | ||||||||||||||||||||||||||||||||||||
4132 | || (s->pha_context ==
| 19-23 | ||||||||||||||||||||||||||||||||||||
4133 | ((void *)0)
| 19-23 | ||||||||||||||||||||||||||||||||||||
4134 | && PACKET_remaining(&context) != 0
| 0-19 | ||||||||||||||||||||||||||||||||||||
4135 | || (s->pha_context !=
| 19-23 | ||||||||||||||||||||||||||||||||||||
4136 | ((void *)0)
| 19-23 | ||||||||||||||||||||||||||||||||||||
4137 | && | - | ||||||||||||||||||||||||||||||||||||
4138 | !PACKET_equal(&context, s->pha_context, s->pha_context_len)
| 0-23 | ||||||||||||||||||||||||||||||||||||
4139 | ossl_statem_fatal((s), (50), (380), (282), | - | ||||||||||||||||||||||||||||||||||||
4140 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4141 | , | - | ||||||||||||||||||||||||||||||||||||
4142 | 3578 | - | ||||||||||||||||||||||||||||||||||||
4143 | ) | - | ||||||||||||||||||||||||||||||||||||
4144 | ; | - | ||||||||||||||||||||||||||||||||||||
4145 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4146 | } | - | ||||||||||||||||||||||||||||||||||||
4147 | - | |||||||||||||||||||||||||||||||||||||
4148 | if (!PACKET_get_length_prefixed_3(pkt, &spkt)
| 0-77 | ||||||||||||||||||||||||||||||||||||
4149 | || PACKET_remaining(pkt) != 0
| 0-77 | ||||||||||||||||||||||||||||||||||||
4150 | ossl_statem_fatal((s), (50), (380), (159), | - | ||||||||||||||||||||||||||||||||||||
4151 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4152 | , | - | ||||||||||||||||||||||||||||||||||||
4153 | 3585 | - | ||||||||||||||||||||||||||||||||||||
4154 | ) | - | ||||||||||||||||||||||||||||||||||||
4155 | ; | - | ||||||||||||||||||||||||||||||||||||
4156 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4157 | } | - | ||||||||||||||||||||||||||||||||||||
4158 | - | |||||||||||||||||||||||||||||||||||||
4159 | for (chainidx = 0; PACKET_remaining(&spkt) > 0
| 77-81 | ||||||||||||||||||||||||||||||||||||
4160 | if (!PACKET_get_net_3(&spkt, &l)
| 0-81 | ||||||||||||||||||||||||||||||||||||
4161 | || !PACKET_get_bytes(&spkt, &certbytes, l)
| 0-81 | ||||||||||||||||||||||||||||||||||||
4162 | ossl_statem_fatal((s), (50), (380), (135), | - | ||||||||||||||||||||||||||||||||||||
4163 | - | |||||||||||||||||||||||||||||||||||||
4164 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4165 | , | - | ||||||||||||||||||||||||||||||||||||
4166 | - | |||||||||||||||||||||||||||||||||||||
4167 | 3594 | - | ||||||||||||||||||||||||||||||||||||
4168 | ) | - | ||||||||||||||||||||||||||||||||||||
4169 | - | |||||||||||||||||||||||||||||||||||||
4170 | ; | - | ||||||||||||||||||||||||||||||||||||
4171 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4172 | } | - | ||||||||||||||||||||||||||||||||||||
4173 | - | |||||||||||||||||||||||||||||||||||||
4174 | certstart = certbytes; | - | ||||||||||||||||||||||||||||||||||||
4175 | x = d2i_X509( | - | ||||||||||||||||||||||||||||||||||||
4176 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4177 | , (const unsigned char **)&certbytes, l); | - | ||||||||||||||||||||||||||||||||||||
4178 | if (x ==
| 0-81 | ||||||||||||||||||||||||||||||||||||
4179 | ((void *)0)
| 0-81 | ||||||||||||||||||||||||||||||||||||
4180 | ) { | - | ||||||||||||||||||||||||||||||||||||
4181 | ossl_statem_fatal((s), (50), (380), (13), | - | ||||||||||||||||||||||||||||||||||||
4182 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4183 | , | - | ||||||||||||||||||||||||||||||||||||
4184 | 3602 | - | ||||||||||||||||||||||||||||||||||||
4185 | ) | - | ||||||||||||||||||||||||||||||||||||
4186 | ; | - | ||||||||||||||||||||||||||||||||||||
4187 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4188 | } | - | ||||||||||||||||||||||||||||||||||||
4189 | if (certbytes != (certstart + l)
| 0-81 | ||||||||||||||||||||||||||||||||||||
4190 | ossl_statem_fatal((s), (50), (380), (135), | - | ||||||||||||||||||||||||||||||||||||
4191 | - | |||||||||||||||||||||||||||||||||||||
4192 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4193 | , | - | ||||||||||||||||||||||||||||||||||||
4194 | - | |||||||||||||||||||||||||||||||||||||
4195 | 3608 | - | ||||||||||||||||||||||||||||||||||||
4196 | ) | - | ||||||||||||||||||||||||||||||||||||
4197 | - | |||||||||||||||||||||||||||||||||||||
4198 | ; | - | ||||||||||||||||||||||||||||||||||||
4199 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4200 | } | - | ||||||||||||||||||||||||||||||||||||
4201 | - | |||||||||||||||||||||||||||||||||||||
4202 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-63 | ||||||||||||||||||||||||||||||||||||
4203 | RAW_EXTENSION *rawexts = | - | ||||||||||||||||||||||||||||||||||||
4204 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4205 | ; | - | ||||||||||||||||||||||||||||||||||||
4206 | PACKET extensions; | - | ||||||||||||||||||||||||||||||||||||
4207 | - | |||||||||||||||||||||||||||||||||||||
4208 | if (!PACKET_get_length_prefixed_2(&spkt, &extensions)
| 0-34 | ||||||||||||||||||||||||||||||||||||
4209 | ossl_statem_fatal((s), (50), (380), (271), | - | ||||||||||||||||||||||||||||||||||||
4210 | - | |||||||||||||||||||||||||||||||||||||
4211 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4212 | , | - | ||||||||||||||||||||||||||||||||||||
4213 | - | |||||||||||||||||||||||||||||||||||||
4214 | 3619 | - | ||||||||||||||||||||||||||||||||||||
4215 | ) | - | ||||||||||||||||||||||||||||||||||||
4216 | - | |||||||||||||||||||||||||||||||||||||
4217 | ; | - | ||||||||||||||||||||||||||||||||||||
4218 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4219 | } | - | ||||||||||||||||||||||||||||||||||||
4220 | if (!tls_collect_extensions(s, &extensions,
| 0-34 | ||||||||||||||||||||||||||||||||||||
4221 | 0x1000, &rawexts,
| 0-34 | ||||||||||||||||||||||||||||||||||||
4222 |
| 0-34 | ||||||||||||||||||||||||||||||||||||
4223 | ((void *)0)
| 0-34 | ||||||||||||||||||||||||||||||||||||
4224 | , chainidx == 0)
| 0-34 | ||||||||||||||||||||||||||||||||||||
4225 | || !tls_parse_all_extensions(s, 0x1000,
| 0-34 | ||||||||||||||||||||||||||||||||||||
4226 | rawexts, x, chainidx,
| 0-34 | ||||||||||||||||||||||||||||||||||||
4227 | PACKET_remaining(&spkt) == 0)
| 0-34 | ||||||||||||||||||||||||||||||||||||
4228 | CRYPTO_free(rawexts, __FILE__, 3628); | - | ||||||||||||||||||||||||||||||||||||
4229 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4230 | } | - | ||||||||||||||||||||||||||||||||||||
4231 | CRYPTO_free(rawexts, __FILE__, 3631); | - | ||||||||||||||||||||||||||||||||||||
4232 | } executed 34 times by 1 test: end of block Executed by:
| 34 | ||||||||||||||||||||||||||||||||||||
4233 | - | |||||||||||||||||||||||||||||||||||||
4234 | if (!sk_X509_push(sk, x)
| 0-81 | ||||||||||||||||||||||||||||||||||||
4235 | ossl_statem_fatal((s), (80), (380), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4236 | - | |||||||||||||||||||||||||||||||||||||
4237 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4238 | , | - | ||||||||||||||||||||||||||||||||||||
4239 | - | |||||||||||||||||||||||||||||||||||||
4240 | 3637 | - | ||||||||||||||||||||||||||||||||||||
4241 | ) | - | ||||||||||||||||||||||||||||||||||||
4242 | - | |||||||||||||||||||||||||||||||||||||
4243 | ; | - | ||||||||||||||||||||||||||||||||||||
4244 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4245 | } | - | ||||||||||||||||||||||||||||||||||||
4246 | x = | - | ||||||||||||||||||||||||||||||||||||
4247 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4248 | ; | - | ||||||||||||||||||||||||||||||||||||
4249 | } executed 81 times by 1 test: end of block Executed by:
| 81 | ||||||||||||||||||||||||||||||||||||
4250 | - | |||||||||||||||||||||||||||||||||||||
4251 | if (sk_X509_num(sk) <= 0
| 34-43 | ||||||||||||||||||||||||||||||||||||
4252 | - | |||||||||||||||||||||||||||||||||||||
4253 | if (s->version == 0x0300
| 0-34 | ||||||||||||||||||||||||||||||||||||
4254 | ossl_statem_fatal((s), (40), (380), (176), | - | ||||||||||||||||||||||||||||||||||||
4255 | - | |||||||||||||||||||||||||||||||||||||
4256 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4257 | , | - | ||||||||||||||||||||||||||||||||||||
4258 | - | |||||||||||||||||||||||||||||||||||||
4259 | 3648 | - | ||||||||||||||||||||||||||||||||||||
4260 | ) | - | ||||||||||||||||||||||||||||||||||||
4261 | - | |||||||||||||||||||||||||||||||||||||
4262 | ; | - | ||||||||||||||||||||||||||||||||||||
4263 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4264 | } | - | ||||||||||||||||||||||||||||||||||||
4265 | - | |||||||||||||||||||||||||||||||||||||
4266 | else if ((
| 0-34 | ||||||||||||||||||||||||||||||||||||
4267 | (
| 7-27 | ||||||||||||||||||||||||||||||||||||
4268 | ossl_statem_fatal((s), (116), (380), (199), | - | ||||||||||||||||||||||||||||||||||||
4269 | - | |||||||||||||||||||||||||||||||||||||
4270 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4271 | , | - | ||||||||||||||||||||||||||||||||||||
4272 | - | |||||||||||||||||||||||||||||||||||||
4273 | 3656 | - | ||||||||||||||||||||||||||||||||||||
4274 | ) | - | ||||||||||||||||||||||||||||||||||||
4275 | - | |||||||||||||||||||||||||||||||||||||
4276 | ; | - | ||||||||||||||||||||||||||||||||||||
4277 | goto executed 7 times by 1 test: err;goto err; Executed by:
executed 7 times by 1 test: goto err; Executed by:
| 7 | ||||||||||||||||||||||||||||||||||||
4278 | } | - | ||||||||||||||||||||||||||||||||||||
4279 | - | |||||||||||||||||||||||||||||||||||||
4280 | if (s->s3->handshake_buffer
| 0-22 | ||||||||||||||||||||||||||||||||||||
4281 | - | |||||||||||||||||||||||||||||||||||||
4282 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4283 | } | - | ||||||||||||||||||||||||||||||||||||
4284 | } executed 27 times by 1 test: else {end of block Executed by:
| 27 | ||||||||||||||||||||||||||||||||||||
4285 | EVP_PKEY *pkey; | - | ||||||||||||||||||||||||||||||||||||
4286 | i = ssl_verify_cert_chain(s, sk); | - | ||||||||||||||||||||||||||||||||||||
4287 | if (i <= 0
| 8-35 | ||||||||||||||||||||||||||||||||||||
4288 | ossl_statem_fatal((s), (ssl_x509err2alert(s->verify_result)), (380), (134), | - | ||||||||||||||||||||||||||||||||||||
4289 | - | |||||||||||||||||||||||||||||||||||||
4290 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4291 | , | - | ||||||||||||||||||||||||||||||||||||
4292 | - | |||||||||||||||||||||||||||||||||||||
4293 | 3670 | - | ||||||||||||||||||||||||||||||||||||
4294 | ) | - | ||||||||||||||||||||||||||||||||||||
4295 | - | |||||||||||||||||||||||||||||||||||||
4296 | ; | - | ||||||||||||||||||||||||||||||||||||
4297 | goto executed 8 times by 1 test: err;goto err; Executed by:
executed 8 times by 1 test: goto err; Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
4298 | } | - | ||||||||||||||||||||||||||||||||||||
4299 | if (i > 1
| 0-35 | ||||||||||||||||||||||||||||||||||||
4300 | ossl_statem_fatal((s), (40), (380), (i), | - | ||||||||||||||||||||||||||||||||||||
4301 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4302 | , | - | ||||||||||||||||||||||||||||||||||||
4303 | 3675 | - | ||||||||||||||||||||||||||||||||||||
4304 | ) | - | ||||||||||||||||||||||||||||||||||||
4305 | ; | - | ||||||||||||||||||||||||||||||||||||
4306 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4307 | } | - | ||||||||||||||||||||||||||||||||||||
4308 | pkey = X509_get0_pubkey(sk_X509_value(sk, 0)); | - | ||||||||||||||||||||||||||||||||||||
4309 | if (pkey ==
| 0-35 | ||||||||||||||||||||||||||||||||||||
4310 | ((void *)0)
| 0-35 | ||||||||||||||||||||||||||||||||||||
4311 | ) { | - | ||||||||||||||||||||||||||||||||||||
4312 | ossl_statem_fatal((s), (40), (380), (247), | - | ||||||||||||||||||||||||||||||||||||
4313 | - | |||||||||||||||||||||||||||||||||||||
4314 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4315 | , | - | ||||||||||||||||||||||||||||||||||||
4316 | - | |||||||||||||||||||||||||||||||||||||
4317 | 3682 | - | ||||||||||||||||||||||||||||||||||||
4318 | ) | - | ||||||||||||||||||||||||||||||||||||
4319 | - | |||||||||||||||||||||||||||||||||||||
4320 | ; | - | ||||||||||||||||||||||||||||||||||||
4321 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4322 | } | - | ||||||||||||||||||||||||||||||||||||
4323 | } executed 35 times by 1 test: end of block Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||
4324 | if (s->post_handshake_auth == SSL_PHA_REQUESTED
| 22-40 | ||||||||||||||||||||||||||||||||||||
4325 | if ((
| 0-22 | ||||||||||||||||||||||||||||||||||||
4326 | ossl_statem_fatal((s), (80), (380), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4327 | - | |||||||||||||||||||||||||||||||||||||
4328 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4329 | , | - | ||||||||||||||||||||||||||||||||||||
4330 | - | |||||||||||||||||||||||||||||||||||||
4331 | 3699 | - | ||||||||||||||||||||||||||||||||||||
4332 | ) | - | ||||||||||||||||||||||||||||||||||||
4333 | - | |||||||||||||||||||||||||||||||||||||
4334 | ; | - | ||||||||||||||||||||||||||||||||||||
4335 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4336 | } | - | ||||||||||||||||||||||||||||||||||||
4337 | - | |||||||||||||||||||||||||||||||||||||
4338 | SSL_SESSION_free(s->session); | - | ||||||||||||||||||||||||||||||||||||
4339 | s->session = new_sess; | - | ||||||||||||||||||||||||||||||||||||
4340 | } executed 22 times by 1 test: end of block Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||
4341 | - | |||||||||||||||||||||||||||||||||||||
4342 | X509_free(s->session->peer); | - | ||||||||||||||||||||||||||||||||||||
4343 | s->session->peer = sk_X509_shift(sk); | - | ||||||||||||||||||||||||||||||||||||
4344 | s->session->verify_result = s->verify_result; | - | ||||||||||||||||||||||||||||||||||||
4345 | - | |||||||||||||||||||||||||||||||||||||
4346 | sk_X509_pop_free(s->session->peer_chain, X509_free); | - | ||||||||||||||||||||||||||||||||||||
4347 | s->session->peer_chain = sk; | - | ||||||||||||||||||||||||||||||||||||
4348 | - | |||||||||||||||||||||||||||||||||||||
4349 | - | |||||||||||||||||||||||||||||||||||||
4350 | - | |||||||||||||||||||||||||||||||||||||
4351 | - | |||||||||||||||||||||||||||||||||||||
4352 | - | |||||||||||||||||||||||||||||||||||||
4353 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-53 | ||||||||||||||||||||||||||||||||||||
4354 | - | |||||||||||||||||||||||||||||||||||||
4355 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4356 | } | - | ||||||||||||||||||||||||||||||||||||
4357 | - | |||||||||||||||||||||||||||||||||||||
4358 | - | |||||||||||||||||||||||||||||||||||||
4359 | - | |||||||||||||||||||||||||||||||||||||
4360 | - | |||||||||||||||||||||||||||||||||||||
4361 | - | |||||||||||||||||||||||||||||||||||||
4362 | sk = | - | ||||||||||||||||||||||||||||||||||||
4363 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4364 | ; | - | ||||||||||||||||||||||||||||||||||||
4365 | - | |||||||||||||||||||||||||||||||||||||
4366 | - | |||||||||||||||||||||||||||||||||||||
4367 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-53 | ||||||||||||||||||||||||||||||||||||
4368 | if (!ssl_handshake_hash(s, s->cert_verify_hash,
| 0-37 | ||||||||||||||||||||||||||||||||||||
4369 | sizeof(s->cert_verify_hash),
| 0-37 | ||||||||||||||||||||||||||||||||||||
4370 | &s->cert_verify_hash_len)
| 0-37 | ||||||||||||||||||||||||||||||||||||
4371 | - | |||||||||||||||||||||||||||||||||||||
4372 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4373 | } | - | ||||||||||||||||||||||||||||||||||||
4374 | - | |||||||||||||||||||||||||||||||||||||
4375 | - | |||||||||||||||||||||||||||||||||||||
4376 | s->sent_tickets = 0; | - | ||||||||||||||||||||||||||||||||||||
4377 | } executed 37 times by 1 test: end of block Executed by:
| 37 | ||||||||||||||||||||||||||||||||||||
4378 | - | |||||||||||||||||||||||||||||||||||||
4379 | ret = MSG_PROCESS_CONTINUE_READING; | - | ||||||||||||||||||||||||||||||||||||
4380 | - | |||||||||||||||||||||||||||||||||||||
4381 | err: code before this statement executed 62 times by 1 test: err: Executed by:
| 62 | ||||||||||||||||||||||||||||||||||||
4382 | X509_free(x); | - | ||||||||||||||||||||||||||||||||||||
4383 | sk_X509_pop_free(sk, X509_free); | - | ||||||||||||||||||||||||||||||||||||
4384 | return executed 77 times by 1 test: ret;return ret; Executed by:
executed 77 times by 1 test: return ret; Executed by:
| 77 | ||||||||||||||||||||||||||||||||||||
4385 | } | - | ||||||||||||||||||||||||||||||||||||
4386 | - | |||||||||||||||||||||||||||||||||||||
4387 | int tls_construct_server_certificate(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4388 | { | - | ||||||||||||||||||||||||||||||||||||
4389 | CERT_PKEY *cpk = s->s3->tmp.cert; | - | ||||||||||||||||||||||||||||||||||||
4390 | - | |||||||||||||||||||||||||||||||||||||
4391 | if (cpk ==
| 0-2099 | ||||||||||||||||||||||||||||||||||||
4392 | ((void *)0)
| 0-2099 | ||||||||||||||||||||||||||||||||||||
4393 | ) { | - | ||||||||||||||||||||||||||||||||||||
4394 | ossl_statem_fatal((s), (80), (490), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4395 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4396 | , | - | ||||||||||||||||||||||||||||||||||||
4397 | 3756 | - | ||||||||||||||||||||||||||||||||||||
4398 | ) | - | ||||||||||||||||||||||||||||||||||||
4399 | ; | - | ||||||||||||||||||||||||||||||||||||
4400 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4401 | } | - | ||||||||||||||||||||||||||||||||||||
4402 | - | |||||||||||||||||||||||||||||||||||||
4403 | - | |||||||||||||||||||||||||||||||||||||
4404 | - | |||||||||||||||||||||||||||||||||||||
4405 | - | |||||||||||||||||||||||||||||||||||||
4406 | - | |||||||||||||||||||||||||||||||||||||
4407 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1956 | ||||||||||||||||||||||||||||||||||||
4408 | ossl_statem_fatal((s), (80), (490), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4409 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4410 | , | - | ||||||||||||||||||||||||||||||||||||
4411 | 3766 | - | ||||||||||||||||||||||||||||||||||||
4412 | ) | - | ||||||||||||||||||||||||||||||||||||
4413 | ; | - | ||||||||||||||||||||||||||||||||||||
4414 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4415 | } | - | ||||||||||||||||||||||||||||||||||||
4416 | if (!ssl3_output_cert_chain(s, pkt, cpk)
| 0-2099 | ||||||||||||||||||||||||||||||||||||
4417 | - | |||||||||||||||||||||||||||||||||||||
4418 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4419 | } | - | ||||||||||||||||||||||||||||||||||||
4420 | - | |||||||||||||||||||||||||||||||||||||
4421 | return executed 2099 times by 1 test: 1;return 1; Executed by:
executed 2099 times by 1 test: return 1; Executed by:
| 2099 | ||||||||||||||||||||||||||||||||||||
4422 | } | - | ||||||||||||||||||||||||||||||||||||
4423 | - | |||||||||||||||||||||||||||||||||||||
4424 | static int create_ticket_prequel(SSL *s, WPACKET *pkt, uint32_t age_add, | - | ||||||||||||||||||||||||||||||||||||
4425 | unsigned char *tick_nonce) | - | ||||||||||||||||||||||||||||||||||||
4426 | { | - | ||||||||||||||||||||||||||||||||||||
4427 | - | |||||||||||||||||||||||||||||||||||||
4428 | - | |||||||||||||||||||||||||||||||||||||
4429 | - | |||||||||||||||||||||||||||||||||||||
4430 | - | |||||||||||||||||||||||||||||||||||||
4431 | - | |||||||||||||||||||||||||||||||||||||
4432 | - | |||||||||||||||||||||||||||||||||||||
4433 | if (!WPACKET_put_bytes__((pkt), ((s->hit && !(!(s->method->ssl3_enc->enc_flags & 0x8) && (s)->method->version >= 0x0304 && (s)->method->version != 0x10000)) ? 0 : s->session->timeout), 4)
| 0-1926 | ||||||||||||||||||||||||||||||||||||
4434 | - | |||||||||||||||||||||||||||||||||||||
4435 | ) { | - | ||||||||||||||||||||||||||||||||||||
4436 | ossl_statem_fatal((s), (80), (638), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4437 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4438 | , | - | ||||||||||||||||||||||||||||||||||||
4439 | 3790 | - | ||||||||||||||||||||||||||||||||||||
4440 | ) | - | ||||||||||||||||||||||||||||||||||||
4441 | ; | - | ||||||||||||||||||||||||||||||||||||
4442 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4443 | } | - | ||||||||||||||||||||||||||||||||||||
4444 | - | |||||||||||||||||||||||||||||||||||||
4445 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1782 | ||||||||||||||||||||||||||||||||||||
4446 | if (!WPACKET_put_bytes__((pkt), (age_add), 4)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4447 | || !WPACKET_sub_memcpy__((pkt), (tick_nonce), (8), 1)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4448 | ossl_statem_fatal((s), (80), (638), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4449 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4450 | , | - | ||||||||||||||||||||||||||||||||||||
4451 | 3798 | - | ||||||||||||||||||||||||||||||||||||
4452 | ) | - | ||||||||||||||||||||||||||||||||||||
4453 | ; | - | ||||||||||||||||||||||||||||||||||||
4454 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4455 | } | - | ||||||||||||||||||||||||||||||||||||
4456 | } executed 1033 times by 1 test: end of block Executed by:
| 1033 | ||||||||||||||||||||||||||||||||||||
4457 | - | |||||||||||||||||||||||||||||||||||||
4458 | - | |||||||||||||||||||||||||||||||||||||
4459 | if (!WPACKET_start_sub_packet_len__((pkt), 2)
| 0-1926 | ||||||||||||||||||||||||||||||||||||
4460 | ossl_statem_fatal((s), (80), (638), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4461 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4462 | , | - | ||||||||||||||||||||||||||||||||||||
4463 | 3806 | - | ||||||||||||||||||||||||||||||||||||
4464 | ) | - | ||||||||||||||||||||||||||||||||||||
4465 | ; | - | ||||||||||||||||||||||||||||||||||||
4466 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4467 | } | - | ||||||||||||||||||||||||||||||||||||
4468 | - | |||||||||||||||||||||||||||||||||||||
4469 | return executed 1926 times by 1 test: 1;return 1; Executed by:
executed 1926 times by 1 test: return 1; Executed by:
| 1926 | ||||||||||||||||||||||||||||||||||||
4470 | } | - | ||||||||||||||||||||||||||||||||||||
4471 | - | |||||||||||||||||||||||||||||||||||||
4472 | static int construct_stateless_ticket(SSL *s, WPACKET *pkt, uint32_t age_add, | - | ||||||||||||||||||||||||||||||||||||
4473 | unsigned char *tick_nonce) | - | ||||||||||||||||||||||||||||||||||||
4474 | { | - | ||||||||||||||||||||||||||||||||||||
4475 | unsigned char *senc = | - | ||||||||||||||||||||||||||||||||||||
4476 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4477 | ; | - | ||||||||||||||||||||||||||||||||||||
4478 | EVP_CIPHER_CTX *ctx = | - | ||||||||||||||||||||||||||||||||||||
4479 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4480 | ; | - | ||||||||||||||||||||||||||||||||||||
4481 | HMAC_CTX *hctx = | - | ||||||||||||||||||||||||||||||||||||
4482 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4483 | ; | - | ||||||||||||||||||||||||||||||||||||
4484 | unsigned char *p, *encdata1, *encdata2, *macdata1, *macdata2; | - | ||||||||||||||||||||||||||||||||||||
4485 | const unsigned char *const_p; | - | ||||||||||||||||||||||||||||||||||||
4486 | int len, slen_full, slen, lenfinal; | - | ||||||||||||||||||||||||||||||||||||
4487 | SSL_SESSION *sess; | - | ||||||||||||||||||||||||||||||||||||
4488 | unsigned int hlen; | - | ||||||||||||||||||||||||||||||||||||
4489 | SSL_CTX *tctx = s->session_ctx; | - | ||||||||||||||||||||||||||||||||||||
4490 | unsigned char iv[16]; | - | ||||||||||||||||||||||||||||||||||||
4491 | unsigned char key_name[16]; | - | ||||||||||||||||||||||||||||||||||||
4492 | int iv_len, ok = 0; | - | ||||||||||||||||||||||||||||||||||||
4493 | size_t macoffset, macendoffset; | - | ||||||||||||||||||||||||||||||||||||
4494 | - | |||||||||||||||||||||||||||||||||||||
4495 | - | |||||||||||||||||||||||||||||||||||||
4496 | slen_full = i2d_SSL_SESSION(s->session, | - | ||||||||||||||||||||||||||||||||||||
4497 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4498 | ); | - | ||||||||||||||||||||||||||||||||||||
4499 | - | |||||||||||||||||||||||||||||||||||||
4500 | - | |||||||||||||||||||||||||||||||||||||
4501 | - | |||||||||||||||||||||||||||||||||||||
4502 | - | |||||||||||||||||||||||||||||||||||||
4503 | if (slen_full == 0
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4504 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4505 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4506 | , | - | ||||||||||||||||||||||||||||||||||||
4507 | 3838 | - | ||||||||||||||||||||||||||||||||||||
4508 | ) | - | ||||||||||||||||||||||||||||||||||||
4509 | ; | - | ||||||||||||||||||||||||||||||||||||
4510 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4511 | } | - | ||||||||||||||||||||||||||||||||||||
4512 | senc = CRYPTO_malloc(slen_full, __FILE__, 3841); | - | ||||||||||||||||||||||||||||||||||||
4513 | if (senc ==
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4514 | ((void *)0)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4515 | ) { | - | ||||||||||||||||||||||||||||||||||||
4516 | ossl_statem_fatal((s), (80), (637), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4517 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4518 | , | - | ||||||||||||||||||||||||||||||||||||
4519 | 3844 | - | ||||||||||||||||||||||||||||||||||||
4520 | ) | - | ||||||||||||||||||||||||||||||||||||
4521 | ; | - | ||||||||||||||||||||||||||||||||||||
4522 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4523 | } | - | ||||||||||||||||||||||||||||||||||||
4524 | - | |||||||||||||||||||||||||||||||||||||
4525 | ctx = EVP_CIPHER_CTX_new(); | - | ||||||||||||||||||||||||||||||||||||
4526 | hctx = HMAC_CTX_new(); | - | ||||||||||||||||||||||||||||||||||||
4527 | if (ctx ==
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4528 | ((void *)0)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4529 | || hctx ==
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4530 | ((void *)0)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4531 | ) { | - | ||||||||||||||||||||||||||||||||||||
4532 | ossl_statem_fatal((s), (80), (637), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4533 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4534 | , | - | ||||||||||||||||||||||||||||||||||||
4535 | 3852 | - | ||||||||||||||||||||||||||||||||||||
4536 | ) | - | ||||||||||||||||||||||||||||||||||||
4537 | ; | - | ||||||||||||||||||||||||||||||||||||
4538 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4539 | } | - | ||||||||||||||||||||||||||||||||||||
4540 | - | |||||||||||||||||||||||||||||||||||||
4541 | p = senc; | - | ||||||||||||||||||||||||||||||||||||
4542 | if (!i2d_SSL_SESSION(s->session, &p)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4543 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4544 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4545 | , | - | ||||||||||||||||||||||||||||||||||||
4546 | 3859 | - | ||||||||||||||||||||||||||||||||||||
4547 | ) | - | ||||||||||||||||||||||||||||||||||||
4548 | ; | - | ||||||||||||||||||||||||||||||||||||
4549 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4550 | } | - | ||||||||||||||||||||||||||||||||||||
4551 | - | |||||||||||||||||||||||||||||||||||||
4552 | - | |||||||||||||||||||||||||||||||||||||
4553 | - | |||||||||||||||||||||||||||||||||||||
4554 | - | |||||||||||||||||||||||||||||||||||||
4555 | const_p = senc; | - | ||||||||||||||||||||||||||||||||||||
4556 | sess = d2i_SSL_SESSION( | - | ||||||||||||||||||||||||||||||||||||
4557 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4558 | , &const_p, slen_full); | - | ||||||||||||||||||||||||||||||||||||
4559 | if (sess ==
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4560 | ((void *)0)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4561 | ) { | - | ||||||||||||||||||||||||||||||||||||
4562 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4563 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4564 | , | - | ||||||||||||||||||||||||||||||||||||
4565 | 3870 | - | ||||||||||||||||||||||||||||||||||||
4566 | ) | - | ||||||||||||||||||||||||||||||||||||
4567 | ; | - | ||||||||||||||||||||||||||||||||||||
4568 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4569 | } | - | ||||||||||||||||||||||||||||||||||||
4570 | - | |||||||||||||||||||||||||||||||||||||
4571 | slen = i2d_SSL_SESSION(sess, | - | ||||||||||||||||||||||||||||||||||||
4572 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4573 | ); | - | ||||||||||||||||||||||||||||||||||||
4574 | if (slen == 0
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4575 | - | |||||||||||||||||||||||||||||||||||||
4576 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4577 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4578 | , | - | ||||||||||||||||||||||||||||||||||||
4579 | 3878 | - | ||||||||||||||||||||||||||||||||||||
4580 | ) | - | ||||||||||||||||||||||||||||||||||||
4581 | ; | - | ||||||||||||||||||||||||||||||||||||
4582 | SSL_SESSION_free(sess); | - | ||||||||||||||||||||||||||||||||||||
4583 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4584 | } | - | ||||||||||||||||||||||||||||||||||||
4585 | p = senc; | - | ||||||||||||||||||||||||||||||||||||
4586 | if (!i2d_SSL_SESSION(sess, &p)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4587 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4588 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4589 | , | - | ||||||||||||||||||||||||||||||||||||
4590 | 3885 | - | ||||||||||||||||||||||||||||||||||||
4591 | ) | - | ||||||||||||||||||||||||||||||||||||
4592 | ; | - | ||||||||||||||||||||||||||||||||||||
4593 | SSL_SESSION_free(sess); | - | ||||||||||||||||||||||||||||||||||||
4594 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4595 | } | - | ||||||||||||||||||||||||||||||||||||
4596 | SSL_SESSION_free(sess); | - | ||||||||||||||||||||||||||||||||||||
4597 | - | |||||||||||||||||||||||||||||||||||||
4598 | - | |||||||||||||||||||||||||||||||||||||
4599 | - | |||||||||||||||||||||||||||||||||||||
4600 | - | |||||||||||||||||||||||||||||||||||||
4601 | - | |||||||||||||||||||||||||||||||||||||
4602 | if (tctx->ext.ticket_key_cb
| 9-1742 | ||||||||||||||||||||||||||||||||||||
4603 | - | |||||||||||||||||||||||||||||||||||||
4604 | int ret = tctx->ext.ticket_key_cb(s, key_name, iv, ctx, | - | ||||||||||||||||||||||||||||||||||||
4605 | hctx, 1); | - | ||||||||||||||||||||||||||||||||||||
4606 | - | |||||||||||||||||||||||||||||||||||||
4607 | if (ret == 0
| 1-8 | ||||||||||||||||||||||||||||||||||||
4608 | - | |||||||||||||||||||||||||||||||||||||
4609 | - | |||||||||||||||||||||||||||||||||||||
4610 | if (!WPACKET_put_bytes__((pkt), (0), 4)
| 0-1 | ||||||||||||||||||||||||||||||||||||
4611 | || !WPACKET_put_bytes__((pkt), (0), 2)
| 0-1 | ||||||||||||||||||||||||||||||||||||
4612 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4613 | - | |||||||||||||||||||||||||||||||||||||
4614 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4615 | , | - | ||||||||||||||||||||||||||||||||||||
4616 | - | |||||||||||||||||||||||||||||||||||||
4617 | 3907 | - | ||||||||||||||||||||||||||||||||||||
4618 | ) | - | ||||||||||||||||||||||||||||||||||||
4619 | - | |||||||||||||||||||||||||||||||||||||
4620 | ; | - | ||||||||||||||||||||||||||||||||||||
4621 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4622 | } | - | ||||||||||||||||||||||||||||||||||||
4623 | CRYPTO_free(senc, __FILE__, 3910); | - | ||||||||||||||||||||||||||||||||||||
4624 | EVP_CIPHER_CTX_free(ctx); | - | ||||||||||||||||||||||||||||||||||||
4625 | HMAC_CTX_free(hctx); | - | ||||||||||||||||||||||||||||||||||||
4626 | return executed 1 time by 1 test: 1;return 1; Executed by:
executed 1 time by 1 test: return 1; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||
4627 | } | - | ||||||||||||||||||||||||||||||||||||
4628 | if (ret < 0
| 0-8 | ||||||||||||||||||||||||||||||||||||
4629 | ossl_statem_fatal((s), (80), (637), (234), | - | ||||||||||||||||||||||||||||||||||||
4630 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4631 | , | - | ||||||||||||||||||||||||||||||||||||
4632 | 3917 | - | ||||||||||||||||||||||||||||||||||||
4633 | ) | - | ||||||||||||||||||||||||||||||||||||
4634 | ; | - | ||||||||||||||||||||||||||||||||||||
4635 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4636 | } | - | ||||||||||||||||||||||||||||||||||||
4637 | iv_len = EVP_CIPHER_CTX_iv_length(ctx); | - | ||||||||||||||||||||||||||||||||||||
4638 | } executed 8 times by 1 test: else {end of block Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
4639 | const EVP_CIPHER *cipher = EVP_aes_256_cbc(); | - | ||||||||||||||||||||||||||||||||||||
4640 | - | |||||||||||||||||||||||||||||||||||||
4641 | iv_len = EVP_CIPHER_iv_length(cipher); | - | ||||||||||||||||||||||||||||||||||||
4642 | if (RAND_bytes(iv, iv_len) <= 0
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4643 | || !EVP_EncryptInit_ex(ctx, cipher,
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4644 | ((void *)0)
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4645 | ,
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4646 | tctx->ext.secure->tick_aes_key, iv)
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4647 | || !HMAC_Init_ex(hctx, tctx->ext.secure->tick_hmac_key,
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4648 | sizeof(tctx->ext.secure->tick_hmac_key),
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4649 | EVP_sha256(),
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4650 | ((void *)0)
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4651 | )
| 0-1742 | ||||||||||||||||||||||||||||||||||||
4652 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4653 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4654 | , | - | ||||||||||||||||||||||||||||||||||||
4655 | 3932 | - | ||||||||||||||||||||||||||||||||||||
4656 | ) | - | ||||||||||||||||||||||||||||||||||||
4657 | ; | - | ||||||||||||||||||||||||||||||||||||
4658 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4659 | } | - | ||||||||||||||||||||||||||||||||||||
4660 | memcpy(key_name, tctx->ext.tick_key_name, | - | ||||||||||||||||||||||||||||||||||||
4661 | sizeof(tctx->ext.tick_key_name)); | - | ||||||||||||||||||||||||||||||||||||
4662 | } executed 1742 times by 1 test: end of block Executed by:
| 1742 | ||||||||||||||||||||||||||||||||||||
4663 | - | |||||||||||||||||||||||||||||||||||||
4664 | if (!create_ticket_prequel(s, pkt, age_add, tick_nonce)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4665 | - | |||||||||||||||||||||||||||||||||||||
4666 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4667 | } | - | ||||||||||||||||||||||||||||||||||||
4668 | - | |||||||||||||||||||||||||||||||||||||
4669 | if (!WPACKET_get_total_written(pkt, &macoffset)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4670 | - | |||||||||||||||||||||||||||||||||||||
4671 | || !WPACKET_memcpy(pkt, key_name, sizeof(key_name))
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4672 | - | |||||||||||||||||||||||||||||||||||||
4673 | || !WPACKET_memcpy(pkt, iv, iv_len)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4674 | || !WPACKET_reserve_bytes(pkt, slen + 32,
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4675 | &encdata1)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4676 | - | |||||||||||||||||||||||||||||||||||||
4677 | || !EVP_EncryptUpdate(ctx, encdata1, &len, senc, slen)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4678 | || !WPACKET_allocate_bytes(pkt, len, &encdata2)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4679 | || encdata1 != encdata2
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4680 | || !EVP_EncryptFinal(ctx, encdata1 + len, &lenfinal)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4681 | || !WPACKET_allocate_bytes(pkt, lenfinal, &encdata2)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4682 | || encdata1 + len != encdata2
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4683 | || len + lenfinal > slen + 32
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4684 | || !WPACKET_get_total_written(pkt, &macendoffset)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4685 | || !HMAC_Update(hctx,
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4686 | (unsigned char *)s->init_buf->data + macoffset,
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4687 | macendoffset - macoffset)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4688 | || !WPACKET_reserve_bytes(pkt, 64, &macdata1)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4689 | || !HMAC_Final(hctx, macdata1, &hlen)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4690 | || hlen > 64
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4691 | || !WPACKET_allocate_bytes(pkt, hlen, &macdata2)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4692 | || macdata1 != macdata2
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4693 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4694 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4695 | , | - | ||||||||||||||||||||||||||||||||||||
4696 | 3969 | - | ||||||||||||||||||||||||||||||||||||
4697 | ) | - | ||||||||||||||||||||||||||||||||||||
4698 | ; | - | ||||||||||||||||||||||||||||||||||||
4699 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4700 | } | - | ||||||||||||||||||||||||||||||||||||
4701 | - | |||||||||||||||||||||||||||||||||||||
4702 | - | |||||||||||||||||||||||||||||||||||||
4703 | if (!WPACKET_close(pkt)
| 0-1750 | ||||||||||||||||||||||||||||||||||||
4704 | ossl_statem_fatal((s), (80), (637), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4705 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4706 | , | - | ||||||||||||||||||||||||||||||||||||
4707 | 3976 | - | ||||||||||||||||||||||||||||||||||||
4708 | ) | - | ||||||||||||||||||||||||||||||||||||
4709 | ; | - | ||||||||||||||||||||||||||||||||||||
4710 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4711 | } | - | ||||||||||||||||||||||||||||||||||||
4712 | - | |||||||||||||||||||||||||||||||||||||
4713 | ok = 1; | - | ||||||||||||||||||||||||||||||||||||
4714 | err: code before this statement executed 1750 times by 1 test: err: Executed by:
| 1750 | ||||||||||||||||||||||||||||||||||||
4715 | CRYPTO_free(senc, __FILE__, 3982); | - | ||||||||||||||||||||||||||||||||||||
4716 | EVP_CIPHER_CTX_free(ctx); | - | ||||||||||||||||||||||||||||||||||||
4717 | HMAC_CTX_free(hctx); | - | ||||||||||||||||||||||||||||||||||||
4718 | return executed 1750 times by 1 test: ok;return ok; Executed by:
executed 1750 times by 1 test: return ok; Executed by:
| 1750 | ||||||||||||||||||||||||||||||||||||
4719 | } | - | ||||||||||||||||||||||||||||||||||||
4720 | - | |||||||||||||||||||||||||||||||||||||
4721 | static int construct_stateful_ticket(SSL *s, WPACKET *pkt, uint32_t age_add, | - | ||||||||||||||||||||||||||||||||||||
4722 | unsigned char *tick_nonce) | - | ||||||||||||||||||||||||||||||||||||
4723 | { | - | ||||||||||||||||||||||||||||||||||||
4724 | if (!create_ticket_prequel(s, pkt, age_add, tick_nonce)
| 0-176 | ||||||||||||||||||||||||||||||||||||
4725 | - | |||||||||||||||||||||||||||||||||||||
4726 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4727 | } | - | ||||||||||||||||||||||||||||||||||||
4728 | - | |||||||||||||||||||||||||||||||||||||
4729 | if (!WPACKET_memcpy(pkt, s->session->session_id,
| 0-176 | ||||||||||||||||||||||||||||||||||||
4730 | s->session->session_id_length)
| 0-176 | ||||||||||||||||||||||||||||||||||||
4731 | || !WPACKET_close(pkt)
| 0-176 | ||||||||||||||||||||||||||||||||||||
4732 | ossl_statem_fatal((s), (80), (636), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4733 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4734 | , | - | ||||||||||||||||||||||||||||||||||||
4735 | 4000 | - | ||||||||||||||||||||||||||||||||||||
4736 | ) | - | ||||||||||||||||||||||||||||||||||||
4737 | ; | - | ||||||||||||||||||||||||||||||||||||
4738 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4739 | } | - | ||||||||||||||||||||||||||||||||||||
4740 | - | |||||||||||||||||||||||||||||||||||||
4741 | return executed 176 times by 1 test: 1;return 1; Executed by:
executed 176 times by 1 test: return 1; Executed by:
| 176 | ||||||||||||||||||||||||||||||||||||
4742 | } | - | ||||||||||||||||||||||||||||||||||||
4743 | - | |||||||||||||||||||||||||||||||||||||
4744 | int tls_construct_new_session_ticket(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4745 | { | - | ||||||||||||||||||||||||||||||||||||
4746 | SSL_CTX *tctx = s->session_ctx; | - | ||||||||||||||||||||||||||||||||||||
4747 | unsigned char tick_nonce[8]; | - | ||||||||||||||||||||||||||||||||||||
4748 | union { | - | ||||||||||||||||||||||||||||||||||||
4749 | unsigned char age_add_c[sizeof(uint32_t)]; | - | ||||||||||||||||||||||||||||||||||||
4750 | uint32_t age_add; | - | ||||||||||||||||||||||||||||||||||||
4751 | } age_add_u; | - | ||||||||||||||||||||||||||||||||||||
4752 | - | |||||||||||||||||||||||||||||||||||||
4753 | age_add_u.age_add = 0; | - | ||||||||||||||||||||||||||||||||||||
4754 | - | |||||||||||||||||||||||||||||||||||||
4755 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1783 | ||||||||||||||||||||||||||||||||||||
4756 | size_t i, hashlen; | - | ||||||||||||||||||||||||||||||||||||
4757 | uint64_t nonce; | - | ||||||||||||||||||||||||||||||||||||
4758 | static const unsigned char nonce_label[] = "resumption"; | - | ||||||||||||||||||||||||||||||||||||
4759 | const EVP_MD *md = ssl_handshake_md(s); | - | ||||||||||||||||||||||||||||||||||||
4760 | void (*cb) (const SSL *ssl, int type, int val) = | - | ||||||||||||||||||||||||||||||||||||
4761 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4762 | ; | - | ||||||||||||||||||||||||||||||||||||
4763 | int hashleni = EVP_MD_size(md); | - | ||||||||||||||||||||||||||||||||||||
4764 | - | |||||||||||||||||||||||||||||||||||||
4765 | - | |||||||||||||||||||||||||||||||||||||
4766 | if (!((hashleni >= 0) != 0)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4767 | ossl_statem_fatal((s), (80), (428), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4768 | - | |||||||||||||||||||||||||||||||||||||
4769 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4770 | , | - | ||||||||||||||||||||||||||||||||||||
4771 | - | |||||||||||||||||||||||||||||||||||||
4772 | 4030 | - | ||||||||||||||||||||||||||||||||||||
4773 | ) | - | ||||||||||||||||||||||||||||||||||||
4774 | - | |||||||||||||||||||||||||||||||||||||
4775 | ; | - | ||||||||||||||||||||||||||||||||||||
4776 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4777 | } | - | ||||||||||||||||||||||||||||||||||||
4778 | hashlen = (size_t)hashleni; | - | ||||||||||||||||||||||||||||||||||||
4779 | - | |||||||||||||||||||||||||||||||||||||
4780 | if (s->info_callback !=
| 486-547 | ||||||||||||||||||||||||||||||||||||
4781 | ((void *)0)
| 486-547 | ||||||||||||||||||||||||||||||||||||
4782 | ) | - | ||||||||||||||||||||||||||||||||||||
4783 | cb = s->info_callback; executed 547 times by 1 test: cb = s->info_callback; Executed by:
| 547 | ||||||||||||||||||||||||||||||||||||
4784 | else if (s->ctx->info_callback !=
| 3-483 | ||||||||||||||||||||||||||||||||||||
4785 | ((void *)0)
| 3-483 | ||||||||||||||||||||||||||||||||||||
4786 | ) | - | ||||||||||||||||||||||||||||||||||||
4787 | cb = s->ctx->info_callback; executed 3 times by 1 test: cb = s->ctx->info_callback; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
4788 | - | |||||||||||||||||||||||||||||||||||||
4789 | if (cb !=
| 483-550 | ||||||||||||||||||||||||||||||||||||
4790 | ((void *)0)
| 483-550 | ||||||||||||||||||||||||||||||||||||
4791 | ) { | - | ||||||||||||||||||||||||||||||||||||
4792 | - | |||||||||||||||||||||||||||||||||||||
4793 | - | |||||||||||||||||||||||||||||||||||||
4794 | - | |||||||||||||||||||||||||||||||||||||
4795 | - | |||||||||||||||||||||||||||||||||||||
4796 | - | |||||||||||||||||||||||||||||||||||||
4797 | if (s->sent_tickets != 0
| 267-283 | ||||||||||||||||||||||||||||||||||||
4798 | ossl_statem_set_in_init(s, 0); | - | ||||||||||||||||||||||||||||||||||||
4799 | cb(s, 0x20, 1); | - | ||||||||||||||||||||||||||||||||||||
4800 | ossl_statem_set_in_init(s, 1); | - | ||||||||||||||||||||||||||||||||||||
4801 | } executed 267 times by 1 test: end of block Executed by:
| 267 | ||||||||||||||||||||||||||||||||||||
4802 | cb(s, 0x10, 1); | - | ||||||||||||||||||||||||||||||||||||
4803 | } executed 550 times by 1 test: end of block Executed by:
| 550 | ||||||||||||||||||||||||||||||||||||
4804 | - | |||||||||||||||||||||||||||||||||||||
4805 | - | |||||||||||||||||||||||||||||||||||||
4806 | - | |||||||||||||||||||||||||||||||||||||
4807 | - | |||||||||||||||||||||||||||||||||||||
4808 | - | |||||||||||||||||||||||||||||||||||||
4809 | if (s->sent_tickets != 0
| 111-577 | ||||||||||||||||||||||||||||||||||||
4810 | SSL_SESSION *new_sess = ssl_session_dup(s->session, 0); | - | ||||||||||||||||||||||||||||||||||||
4811 | - | |||||||||||||||||||||||||||||||||||||
4812 | if (new_sess ==
| 0-567 | ||||||||||||||||||||||||||||||||||||
4813 | ((void *)0)
| 0-567 | ||||||||||||||||||||||||||||||||||||
4814 | ) { | - | ||||||||||||||||||||||||||||||||||||
4815 | - | |||||||||||||||||||||||||||||||||||||
4816 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4817 | } | - | ||||||||||||||||||||||||||||||||||||
4818 | - | |||||||||||||||||||||||||||||||||||||
4819 | SSL_SESSION_free(s->session); | - | ||||||||||||||||||||||||||||||||||||
4820 | s->session = new_sess; | - | ||||||||||||||||||||||||||||||||||||
4821 | } executed 567 times by 1 test: end of block Executed by:
| 567 | ||||||||||||||||||||||||||||||||||||
4822 | - | |||||||||||||||||||||||||||||||||||||
4823 | if (!ssl_generate_session_id(s, s->session)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4824 | - | |||||||||||||||||||||||||||||||||||||
4825 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4826 | } | - | ||||||||||||||||||||||||||||||||||||
4827 | if (RAND_bytes(age_add_u.age_add_c, sizeof(age_add_u)) <= 0
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4828 | ossl_statem_fatal((s), (80), (428), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4829 | - | |||||||||||||||||||||||||||||||||||||
4830 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4831 | , | - | ||||||||||||||||||||||||||||||||||||
4832 | - | |||||||||||||||||||||||||||||||||||||
4833 | 4077 | - | ||||||||||||||||||||||||||||||||||||
4834 | ) | - | ||||||||||||||||||||||||||||||||||||
4835 | - | |||||||||||||||||||||||||||||||||||||
4836 | ; | - | ||||||||||||||||||||||||||||||||||||
4837 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4838 | } | - | ||||||||||||||||||||||||||||||||||||
4839 | s->session->ext.tick_age_add = age_add_u.age_add; | - | ||||||||||||||||||||||||||||||||||||
4840 | - | |||||||||||||||||||||||||||||||||||||
4841 | nonce = s->next_ticket_nonce; | - | ||||||||||||||||||||||||||||||||||||
4842 | for (i = 8; i > 0
| 1033-8264 | ||||||||||||||||||||||||||||||||||||
4843 | tick_nonce[i - 1] = (unsigned char)(nonce & 0xff); | - | ||||||||||||||||||||||||||||||||||||
4844 | nonce >>= 8; | - | ||||||||||||||||||||||||||||||||||||
4845 | } executed 8264 times by 1 test: end of block Executed by:
| 8264 | ||||||||||||||||||||||||||||||||||||
4846 | - | |||||||||||||||||||||||||||||||||||||
4847 | if (!tls13_hkdf_expand(s, md, s->resumption_master_secret,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4848 | nonce_label,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4849 | sizeof(nonce_label) - 1,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4850 | tick_nonce,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4851 | 8,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4852 | s->session->master_key,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4853 | hashlen)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4854 | - | |||||||||||||||||||||||||||||||||||||
4855 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4856 | } | - | ||||||||||||||||||||||||||||||||||||
4857 | s->session->master_key_length = hashlen; | - | ||||||||||||||||||||||||||||||||||||
4858 | - | |||||||||||||||||||||||||||||||||||||
4859 | s->session->time = (long)time( | - | ||||||||||||||||||||||||||||||||||||
4860 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
4861 | ); | - | ||||||||||||||||||||||||||||||||||||
4862 | if (s->s3->alpn_selected !=
| 29-1004 | ||||||||||||||||||||||||||||||||||||
4863 | ((void *)0)
| 29-1004 | ||||||||||||||||||||||||||||||||||||
4864 | ) { | - | ||||||||||||||||||||||||||||||||||||
4865 | CRYPTO_free(s->session->ext.alpn_selected, __FILE__, 4102); | - | ||||||||||||||||||||||||||||||||||||
4866 | s->session->ext.alpn_selected = | - | ||||||||||||||||||||||||||||||||||||
4867 | CRYPTO_memdup((s->s3->alpn_selected), s->s3->alpn_selected_len, __FILE__, 4104); | - | ||||||||||||||||||||||||||||||||||||
4868 | if (s->session->ext.alpn_selected ==
| 0-29 | ||||||||||||||||||||||||||||||||||||
4869 | ((void *)0)
| 0-29 | ||||||||||||||||||||||||||||||||||||
4870 | ) { | - | ||||||||||||||||||||||||||||||||||||
4871 | ossl_statem_fatal((s), (80), (428), ((1|64)), | - | ||||||||||||||||||||||||||||||||||||
4872 | - | |||||||||||||||||||||||||||||||||||||
4873 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4874 | , | - | ||||||||||||||||||||||||||||||||||||
4875 | - | |||||||||||||||||||||||||||||||||||||
4876 | 4108 | - | ||||||||||||||||||||||||||||||||||||
4877 | ) | - | ||||||||||||||||||||||||||||||||||||
4878 | - | |||||||||||||||||||||||||||||||||||||
4879 | ; | - | ||||||||||||||||||||||||||||||||||||
4880 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4881 | } | - | ||||||||||||||||||||||||||||||||||||
4882 | s->session->ext.alpn_selected_len = s->s3->alpn_selected_len; | - | ||||||||||||||||||||||||||||||||||||
4883 | } executed 29 times by 1 test: end of block Executed by:
| 29 | ||||||||||||||||||||||||||||||||||||
4884 | s->session->ext.max_early_data = s->max_early_data; | - | ||||||||||||||||||||||||||||||||||||
4885 | } executed 1033 times by 1 test: end of block Executed by:
| 1033 | ||||||||||||||||||||||||||||||||||||
4886 | - | |||||||||||||||||||||||||||||||||||||
4887 | if (tctx->generate_ticket_cb !=
| 29-1898 | ||||||||||||||||||||||||||||||||||||
4888 | ((void *)0)
| 29-1898 | ||||||||||||||||||||||||||||||||||||
4889 | && | - | ||||||||||||||||||||||||||||||||||||
4890 | tctx->generate_ticket_cb(s, tctx->ticket_cb_data) == 0
| 0-29 | ||||||||||||||||||||||||||||||||||||
4891 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4892 | - | |||||||||||||||||||||||||||||||||||||
4893 | - | |||||||||||||||||||||||||||||||||||||
4894 | - | |||||||||||||||||||||||||||||||||||||
4895 | - | |||||||||||||||||||||||||||||||||||||
4896 | - | |||||||||||||||||||||||||||||||||||||
4897 | - | |||||||||||||||||||||||||||||||||||||
4898 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1783 | ||||||||||||||||||||||||||||||||||||
4899 | && ((
| 61-972 | ||||||||||||||||||||||||||||||||||||
4900 | || (s->max_early_data > 0
| 147-825 | ||||||||||||||||||||||||||||||||||||
4901 | && (
| 32-115 | ||||||||||||||||||||||||||||||||||||
4902 | if (!construct_stateful_ticket(s, pkt, age_add_u.age_add, tick_nonce)
| 0-176 | ||||||||||||||||||||||||||||||||||||
4903 | - | |||||||||||||||||||||||||||||||||||||
4904 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4905 | } | - | ||||||||||||||||||||||||||||||||||||
4906 | } executed 176 times by 1 test: else if (!construct_stateless_ticket(s, pkt, age_add_u.age_add,end of block Executed by:
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4907 | tick_nonce)
| 0-1751 | ||||||||||||||||||||||||||||||||||||
4908 | - | |||||||||||||||||||||||||||||||||||||
4909 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4910 | } | - | ||||||||||||||||||||||||||||||||||||
4911 | - | |||||||||||||||||||||||||||||||||||||
4912 | if ((!(s->method->ssl3_enc->enc_flags & 0x8)
| 0-1783 | ||||||||||||||||||||||||||||||||||||
4913 | if (!tls_construct_extensions(s, pkt,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4914 | 0x2000,
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4915 |
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4916 | ((void *)0)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4917 | , 0)
| 0-1033 | ||||||||||||||||||||||||||||||||||||
4918 | - | |||||||||||||||||||||||||||||||||||||
4919 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||
4920 | } | - | ||||||||||||||||||||||||||||||||||||
4921 | - | |||||||||||||||||||||||||||||||||||||
4922 | - | |||||||||||||||||||||||||||||||||||||
4923 | - | |||||||||||||||||||||||||||||||||||||
4924 | - | |||||||||||||||||||||||||||||||||||||
4925 | - | |||||||||||||||||||||||||||||||||||||
4926 | s->sent_tickets++; | - | ||||||||||||||||||||||||||||||||||||
4927 | s->next_ticket_nonce++; | - | ||||||||||||||||||||||||||||||||||||
4928 | ssl_update_cache(s, 0x0002); | - | ||||||||||||||||||||||||||||||||||||
4929 | } executed 1033 times by 1 test: end of block Executed by:
| 1033 | ||||||||||||||||||||||||||||||||||||
4930 | - | |||||||||||||||||||||||||||||||||||||
4931 | return executed 1927 times by 1 test: 1;return 1; Executed by:
executed 1927 times by 1 test: return 1; Executed by:
| 1927 | ||||||||||||||||||||||||||||||||||||
4932 | err: | - | ||||||||||||||||||||||||||||||||||||
4933 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4934 | } | - | ||||||||||||||||||||||||||||||||||||
4935 | - | |||||||||||||||||||||||||||||||||||||
4936 | - | |||||||||||||||||||||||||||||||||||||
4937 | - | |||||||||||||||||||||||||||||||||||||
4938 | - | |||||||||||||||||||||||||||||||||||||
4939 | - | |||||||||||||||||||||||||||||||||||||
4940 | int tls_construct_cert_status_body(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4941 | { | - | ||||||||||||||||||||||||||||||||||||
4942 | if (!WPACKET_put_bytes__((pkt), (s->ext.status_type), 1)
| 0-11 | ||||||||||||||||||||||||||||||||||||
4943 | || !WPACKET_sub_memcpy__((pkt), (s->ext.ocsp.resp), (s->ext.ocsp.resp_len), 3)
| 0-11 | ||||||||||||||||||||||||||||||||||||
4944 | ) { | - | ||||||||||||||||||||||||||||||||||||
4945 | ossl_statem_fatal((s), (80), (494), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4946 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4947 | , | - | ||||||||||||||||||||||||||||||||||||
4948 | 4171 | - | ||||||||||||||||||||||||||||||||||||
4949 | ) | - | ||||||||||||||||||||||||||||||||||||
4950 | ; | - | ||||||||||||||||||||||||||||||||||||
4951 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4952 | } | - | ||||||||||||||||||||||||||||||||||||
4953 | - | |||||||||||||||||||||||||||||||||||||
4954 | return executed 11 times by 1 test: 1;return 1; Executed by:
executed 11 times by 1 test: return 1; Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
4955 | } | - | ||||||||||||||||||||||||||||||||||||
4956 | - | |||||||||||||||||||||||||||||||||||||
4957 | int tls_construct_cert_status(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4958 | { | - | ||||||||||||||||||||||||||||||||||||
4959 | if (!tls_construct_cert_status_body(s, pkt)
| 0-5 | ||||||||||||||||||||||||||||||||||||
4960 | - | |||||||||||||||||||||||||||||||||||||
4961 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
4962 | } | - | ||||||||||||||||||||||||||||||||||||
4963 | - | |||||||||||||||||||||||||||||||||||||
4964 | return executed 5 times by 1 test: 1;return 1; Executed by:
executed 5 times by 1 test: return 1; Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||
4965 | } | - | ||||||||||||||||||||||||||||||||||||
4966 | - | |||||||||||||||||||||||||||||||||||||
4967 | - | |||||||||||||||||||||||||||||||||||||
4968 | - | |||||||||||||||||||||||||||||||||||||
4969 | - | |||||||||||||||||||||||||||||||||||||
4970 | - | |||||||||||||||||||||||||||||||||||||
4971 | - | |||||||||||||||||||||||||||||||||||||
4972 | MSG_PROCESS_RETURN tls_process_next_proto(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
4973 | { | - | ||||||||||||||||||||||||||||||||||||
4974 | PACKET next_proto, padding; | - | ||||||||||||||||||||||||||||||||||||
4975 | size_t next_proto_len; | - | ||||||||||||||||||||||||||||||||||||
4976 | if (!PACKET_get_length_prefixed_1(pkt, &next_proto)
| 0-21 | ||||||||||||||||||||||||||||||||||||
4977 | || !PACKET_get_length_prefixed_1(pkt, &padding)
| 0-21 | ||||||||||||||||||||||||||||||||||||
4978 | || PACKET_remaining(pkt) > 0
| 0-21 | ||||||||||||||||||||||||||||||||||||
4979 | ossl_statem_fatal((s), (50), (383), (159), | - | ||||||||||||||||||||||||||||||||||||
4980 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4981 | , | - | ||||||||||||||||||||||||||||||||||||
4982 | 4209 | - | ||||||||||||||||||||||||||||||||||||
4983 | ) | - | ||||||||||||||||||||||||||||||||||||
4984 | ; | - | ||||||||||||||||||||||||||||||||||||
4985 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
4986 | } | - | ||||||||||||||||||||||||||||||||||||
4987 | - | |||||||||||||||||||||||||||||||||||||
4988 | if (!PACKET_memdup(&next_proto, &s->ext.npn, &next_proto_len)
| 0-21 | ||||||||||||||||||||||||||||||||||||
4989 | s->ext.npn_len = 0; | - | ||||||||||||||||||||||||||||||||||||
4990 | ossl_statem_fatal((s), (80), (383), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
4991 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
4992 | , | - | ||||||||||||||||||||||||||||||||||||
4993 | 4216 | - | ||||||||||||||||||||||||||||||||||||
4994 | ) | - | ||||||||||||||||||||||||||||||||||||
4995 | ; | - | ||||||||||||||||||||||||||||||||||||
4996 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
4997 | } | - | ||||||||||||||||||||||||||||||||||||
4998 | - | |||||||||||||||||||||||||||||||||||||
4999 | s->ext.npn_len = (unsigned char)next_proto_len; | - | ||||||||||||||||||||||||||||||||||||
5000 | - | |||||||||||||||||||||||||||||||||||||
5001 | return executed 21 times by 1 test: MSG_PROCESS_CONTINUE_READING;return MSG_PROCESS_CONTINUE_READING; Executed by:
executed 21 times by 1 test: return MSG_PROCESS_CONTINUE_READING; Executed by:
| 21 | ||||||||||||||||||||||||||||||||||||
5002 | } | - | ||||||||||||||||||||||||||||||||||||
5003 | - | |||||||||||||||||||||||||||||||||||||
5004 | - | |||||||||||||||||||||||||||||||||||||
5005 | static int tls_construct_encrypted_extensions(SSL *s, WPACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
5006 | { | - | ||||||||||||||||||||||||||||||||||||
5007 | if (!tls_construct_extensions(s, pkt, 0x0400,
| 0-854 | ||||||||||||||||||||||||||||||||||||
5008 |
| 0-854 | ||||||||||||||||||||||||||||||||||||
5009 | ((void *)0)
| 0-854 | ||||||||||||||||||||||||||||||||||||
5010 | , 0)
| 0-854 | ||||||||||||||||||||||||||||||||||||
5011 | - | |||||||||||||||||||||||||||||||||||||
5012 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||
5013 | } | - | ||||||||||||||||||||||||||||||||||||
5014 | - | |||||||||||||||||||||||||||||||||||||
5015 | return executed 854 times by 1 test: 1;return 1; Executed by:
executed 854 times by 1 test: return 1; Executed by:
| 854 | ||||||||||||||||||||||||||||||||||||
5016 | } | - | ||||||||||||||||||||||||||||||||||||
5017 | - | |||||||||||||||||||||||||||||||||||||
5018 | MSG_PROCESS_RETURN tls_process_end_of_early_data(SSL *s, PACKET *pkt) | - | ||||||||||||||||||||||||||||||||||||
5019 | { | - | ||||||||||||||||||||||||||||||||||||
5020 | if (PACKET_remaining(pkt) != 0
| 0-16 | ||||||||||||||||||||||||||||||||||||
5021 | ossl_statem_fatal((s), (50), (537), (159), | - | ||||||||||||||||||||||||||||||||||||
5022 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
5023 | , | - | ||||||||||||||||||||||||||||||||||||
5024 | 4241 | - | ||||||||||||||||||||||||||||||||||||
5025 | ) | - | ||||||||||||||||||||||||||||||||||||
5026 | ; | - | ||||||||||||||||||||||||||||||||||||
5027 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
5028 | } | - | ||||||||||||||||||||||||||||||||||||
5029 | - | |||||||||||||||||||||||||||||||||||||
5030 | if (s->early_data_state != SSL_EARLY_DATA_READING
| 6-10 | ||||||||||||||||||||||||||||||||||||
5031 | && s->early_data_state != SSL_EARLY_DATA_READ_RETRY
| 0-6 | ||||||||||||||||||||||||||||||||||||
5032 | ossl_statem_fatal((s), (80), (537), ((4|64)), | - | ||||||||||||||||||||||||||||||||||||
5033 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
5034 | , | - | ||||||||||||||||||||||||||||||||||||
5035 | 4248 | - | ||||||||||||||||||||||||||||||||||||
5036 | ) | - | ||||||||||||||||||||||||||||||||||||
5037 | ; | - | ||||||||||||||||||||||||||||||||||||
5038 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
5039 | } | - | ||||||||||||||||||||||||||||||||||||
5040 | - | |||||||||||||||||||||||||||||||||||||
5041 | - | |||||||||||||||||||||||||||||||||||||
5042 | - | |||||||||||||||||||||||||||||||||||||
5043 | - | |||||||||||||||||||||||||||||||||||||
5044 | - | |||||||||||||||||||||||||||||||||||||
5045 | if (RECORD_LAYER_processed_read_pending(&s->rlayer)
| 0-16 | ||||||||||||||||||||||||||||||||||||
5046 | ossl_statem_fatal((s), (10), (537), (182), | - | ||||||||||||||||||||||||||||||||||||
5047 | - | |||||||||||||||||||||||||||||||||||||
5048 | __FILE__ | - | ||||||||||||||||||||||||||||||||||||
5049 | , | - | ||||||||||||||||||||||||||||||||||||
5050 | - | |||||||||||||||||||||||||||||||||||||
5051 | 4259 | - | ||||||||||||||||||||||||||||||||||||
5052 | ) | - | ||||||||||||||||||||||||||||||||||||
5053 | - | |||||||||||||||||||||||||||||||||||||
5054 | ; | - | ||||||||||||||||||||||||||||||||||||
5055 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
5056 | } | - | ||||||||||||||||||||||||||||||||||||
5057 | - | |||||||||||||||||||||||||||||||||||||
5058 | s->early_data_state = SSL_EARLY_DATA_FINISHED_READING; | - | ||||||||||||||||||||||||||||||||||||
5059 | if (!s->method->ssl3_enc->change_cipher_state(s,
| 0-16 | ||||||||||||||||||||||||||||||||||||
5060 | 0x080 | (0x020|0x001))
| 0-16 | ||||||||||||||||||||||||||||||||||||
5061 | - | |||||||||||||||||||||||||||||||||||||
5062 | return never executed: MSG_PROCESS_ERROR;return MSG_PROCESS_ERROR; never executed: return MSG_PROCESS_ERROR; | 0 | ||||||||||||||||||||||||||||||||||||
5063 | } | - | ||||||||||||||||||||||||||||||||||||
5064 | - | |||||||||||||||||||||||||||||||||||||
5065 | return executed 16 times by 1 test: MSG_PROCESS_CONTINUE_READING;return MSG_PROCESS_CONTINUE_READING; Executed by:
executed 16 times by 1 test: return MSG_PROCESS_CONTINUE_READING; Executed by:
| 16 | ||||||||||||||||||||||||||||||||||||
5066 | } | - | ||||||||||||||||||||||||||||||||||||
Switch to Source code | Preprocessed file |