Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_both.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||
2 | int | - | ||||||||||||||||||||||||
3 | ssl3_do_write(SSL *s, int type) | - | ||||||||||||||||||||||||
4 | { | - | ||||||||||||||||||||||||
5 | int ret; | - | ||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||
7 | ret = ssl3_write_bytes(s, type, &s->internal->init_buf->data[s->internal->init_off], | - | ||||||||||||||||||||||||
8 | s->internal->init_num); | - | ||||||||||||||||||||||||
9 | if (ret < 0
| 0-584 | ||||||||||||||||||||||||
10 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||||||||
11 | - | |||||||||||||||||||||||||
12 | if (type == 22
| 104-480 | ||||||||||||||||||||||||
13 | - | |||||||||||||||||||||||||
14 | - | |||||||||||||||||||||||||
15 | - | |||||||||||||||||||||||||
16 | - | |||||||||||||||||||||||||
17 | tls1_finish_mac(s, executed 480 times by 4 tests: tls1_finish_mac(s, (unsigned char *)&s->internal->init_buf->data[s->internal->init_off], ret); Executed by:
| 480 | ||||||||||||||||||||||||
18 | (unsigned char *)&s->internal->init_buf->data[s->internal->init_off], ret); executed 480 times by 4 tests: tls1_finish_mac(s, (unsigned char *)&s->internal->init_buf->data[s->internal->init_off], ret); Executed by:
| 480 | ||||||||||||||||||||||||
19 | - | |||||||||||||||||||||||||
20 | if (ret == s->internal->init_num
| 0-584 | ||||||||||||||||||||||||
21 | if (s->internal->msg_callback
| 0-584 | ||||||||||||||||||||||||
22 | s->internal->msg_callback(1, s->version, type, s->internal->init_buf->data, never executed: s->internal->msg_callback(1, s->version, type, s->internal->init_buf->data, (size_t)(s->internal->init_off + s->internal->init_num), s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
23 | (size_t)(s->internal->init_off + s->internal->init_num), s, never executed: s->internal->msg_callback(1, s->version, type, s->internal->init_buf->data, (size_t)(s->internal->init_off + s->internal->init_num), s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
24 | s->internal->msg_callback_arg); never executed: s->internal->msg_callback(1, s->version, type, s->internal->init_buf->data, (size_t)(s->internal->init_off + s->internal->init_num), s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
25 | return executed 584 times by 4 tests: (1);return (1); Executed by:
executed 584 times by 4 tests: return (1); Executed by:
| 584 | ||||||||||||||||||||||||
26 | } | - | ||||||||||||||||||||||||
27 | - | |||||||||||||||||||||||||
28 | s->internal->init_off += ret; | - | ||||||||||||||||||||||||
29 | s->internal->init_num -= ret; | - | ||||||||||||||||||||||||
30 | - | |||||||||||||||||||||||||
31 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||
32 | } | - | ||||||||||||||||||||||||
33 | - | |||||||||||||||||||||||||
34 | int | - | ||||||||||||||||||||||||
35 | ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) | - | ||||||||||||||||||||||||
36 | { | - | ||||||||||||||||||||||||
37 | CBB cbb, finished; | - | ||||||||||||||||||||||||
38 | int md_len; | - | ||||||||||||||||||||||||
39 | - | |||||||||||||||||||||||||
40 | memset(&cbb, 0, sizeof(cbb)); | - | ||||||||||||||||||||||||
41 | - | |||||||||||||||||||||||||
42 | if ((
| 0-126 | ||||||||||||||||||||||||
43 | md_len = 12; | - | ||||||||||||||||||||||||
44 | (void)((md_len <= 64) ? 0 : (OpenSSLDie(__FILE__, 176, "md_len <= EVP_MAX_MD_SIZE"),1)); | - | ||||||||||||||||||||||||
45 | - | |||||||||||||||||||||||||
46 | if (tls1_final_finish_mac(s, sender, slen,
| 0-126 | ||||||||||||||||||||||||
47 | (s->s3->internal)->tmp.finish_md) != md_len
| 0-126 | ||||||||||||||||||||||||
48 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||
49 | (s->s3->internal)->tmp.finish_md_len = md_len; | - | ||||||||||||||||||||||||
50 | - | |||||||||||||||||||||||||
51 | - | |||||||||||||||||||||||||
52 | if (s->internal->type == 0x1000
| 63 | ||||||||||||||||||||||||
53 | memcpy((s->s3->internal)->previous_client_finished, | - | ||||||||||||||||||||||||
54 | (s->s3->internal)->tmp.finish_md, md_len); | - | ||||||||||||||||||||||||
55 | (s->s3->internal)->previous_client_finished_len = md_len; | - | ||||||||||||||||||||||||
56 | } executed 63 times by 2 tests: else {end of block Executed by:
| 63 | ||||||||||||||||||||||||
57 | memcpy((s->s3->internal)->previous_server_finished, | - | ||||||||||||||||||||||||
58 | (s->s3->internal)->tmp.finish_md, md_len); | - | ||||||||||||||||||||||||
59 | (s->s3->internal)->previous_server_finished_len = md_len; | - | ||||||||||||||||||||||||
60 | } executed 63 times by 2 tests: end of block Executed by:
| 63 | ||||||||||||||||||||||||
61 | - | |||||||||||||||||||||||||
62 | if (!ssl3_handshake_msg_start(s, &cbb, &finished,
| 0-126 | ||||||||||||||||||||||||
63 | 20)
| 0-126 | ||||||||||||||||||||||||
64 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
65 | if (!CBB_add_bytes(&finished, (s->s3->internal)->tmp.finish_md, md_len)
| 0-126 | ||||||||||||||||||||||||
66 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
67 | if (!ssl3_handshake_msg_finish(s, &cbb)
| 0-126 | ||||||||||||||||||||||||
68 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
69 | - | |||||||||||||||||||||||||
70 | (s->s3->internal)->hs.state = b; | - | ||||||||||||||||||||||||
71 | } executed 126 times by 2 tests: end of block Executed by:
| 126 | ||||||||||||||||||||||||
72 | - | |||||||||||||||||||||||||
73 | return executed 126 times by 2 tests: (ssl3_handshake_write(s));return (ssl3_handshake_write(s)); Executed by:
executed 126 times by 2 tests: return (ssl3_handshake_write(s)); Executed by:
| 126 | ||||||||||||||||||||||||
74 | - | |||||||||||||||||||||||||
75 | err: | - | ||||||||||||||||||||||||
76 | CBB_cleanup(&cbb); | - | ||||||||||||||||||||||||
77 | - | |||||||||||||||||||||||||
78 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||||||||
79 | } | - | ||||||||||||||||||||||||
80 | - | |||||||||||||||||||||||||
81 | - | |||||||||||||||||||||||||
82 | - | |||||||||||||||||||||||||
83 | - | |||||||||||||||||||||||||
84 | - | |||||||||||||||||||||||||
85 | static void | - | ||||||||||||||||||||||||
86 | ssl3_take_mac(SSL *s) | - | ||||||||||||||||||||||||
87 | { | - | ||||||||||||||||||||||||
88 | const char *sender; | - | ||||||||||||||||||||||||
89 | int slen; | - | ||||||||||||||||||||||||
90 | - | |||||||||||||||||||||||||
91 | - | |||||||||||||||||||||||||
92 | - | |||||||||||||||||||||||||
93 | - | |||||||||||||||||||||||||
94 | - | |||||||||||||||||||||||||
95 | if ((
| 0-104 | ||||||||||||||||||||||||
96 | ((void *)0)
| 0-104 | ||||||||||||||||||||||||
97 | ) | - | ||||||||||||||||||||||||
98 | return; never executed: return; | 0 | ||||||||||||||||||||||||
99 | - | |||||||||||||||||||||||||
100 | if ((
| 52 | ||||||||||||||||||||||||
101 | sender = "server finished"; | - | ||||||||||||||||||||||||
102 | slen = 15; | - | ||||||||||||||||||||||||
103 | } executed 52 times by 2 tests: else {end of block Executed by:
| 52 | ||||||||||||||||||||||||
104 | sender = "client finished"; | - | ||||||||||||||||||||||||
105 | slen = 15; | - | ||||||||||||||||||||||||
106 | } executed 52 times by 2 tests: end of block Executed by:
| 52 | ||||||||||||||||||||||||
107 | - | |||||||||||||||||||||||||
108 | (s->s3->internal)->tmp.peer_finish_md_len = | - | ||||||||||||||||||||||||
109 | tls1_final_finish_mac(s, sender, slen, | - | ||||||||||||||||||||||||
110 | (s->s3->internal)->tmp.peer_finish_md); | - | ||||||||||||||||||||||||
111 | } executed 104 times by 2 tests: end of block Executed by:
| 104 | ||||||||||||||||||||||||
112 | - | |||||||||||||||||||||||||
113 | int | - | ||||||||||||||||||||||||
114 | ssl3_get_finished(SSL *s, int a, int b) | - | ||||||||||||||||||||||||
115 | { | - | ||||||||||||||||||||||||
116 | int al, ok, md_len; | - | ||||||||||||||||||||||||
117 | long n; | - | ||||||||||||||||||||||||
118 | CBS cbs; | - | ||||||||||||||||||||||||
119 | - | |||||||||||||||||||||||||
120 | - | |||||||||||||||||||||||||
121 | n = s->method->internal->ssl_get_message(s, a, b, 20, 64, &ok); | - | ||||||||||||||||||||||||
122 | if (!ok
| 46-126 | ||||||||||||||||||||||||
123 | return executed 46 times by 2 tests: ((int)n);return ((int)n); Executed by:
executed 46 times by 2 tests: return ((int)n); Executed by:
| 46 | ||||||||||||||||||||||||
124 | - | |||||||||||||||||||||||||
125 | - | |||||||||||||||||||||||||
126 | if (!(s->s3->internal)->change_cipher_spec
| 0-126 | ||||||||||||||||||||||||
127 | al = 10; | - | ||||||||||||||||||||||||
128 | SSL_error_internal(s, 154, __FILE__, 258); | - | ||||||||||||||||||||||||
129 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
130 | } | - | ||||||||||||||||||||||||
131 | (s->s3->internal)->change_cipher_spec = 0; | - | ||||||||||||||||||||||||
132 | - | |||||||||||||||||||||||||
133 | md_len = 12; | - | ||||||||||||||||||||||||
134 | - | |||||||||||||||||||||||||
135 | if (n < 0
| 0-126 | ||||||||||||||||||||||||
136 | al = 50; | - | ||||||||||||||||||||||||
137 | SSL_error_internal(s, 111, __FILE__, 267); | - | ||||||||||||||||||||||||
138 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
139 | } | - | ||||||||||||||||||||||||
140 | - | |||||||||||||||||||||||||
141 | CBS_init(&cbs, s->internal->init_msg, n); | - | ||||||||||||||||||||||||
142 | - | |||||||||||||||||||||||||
143 | if ((
| 0-126 | ||||||||||||||||||||||||
144 | CBS_len(&cbs) != md_len
| 0-126 | ||||||||||||||||||||||||
145 | al = 50; | - | ||||||||||||||||||||||||
146 | SSL_error_internal(s, 111, __FILE__, 276); | - | ||||||||||||||||||||||||
147 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
148 | } | - | ||||||||||||||||||||||||
149 | - | |||||||||||||||||||||||||
150 | if (!CBS_mem_equal(&cbs, (s->s3->internal)->tmp.peer_finish_md, CBS_len(&cbs))
| 0-126 | ||||||||||||||||||||||||
151 | al = 51; | - | ||||||||||||||||||||||||
152 | SSL_error_internal(s, 149, __FILE__, 282); | - | ||||||||||||||||||||||||
153 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
154 | } | - | ||||||||||||||||||||||||
155 | - | |||||||||||||||||||||||||
156 | - | |||||||||||||||||||||||||
157 | (void)((md_len <= 64) ? 0 : (OpenSSLDie(__FILE__, 287, "md_len <= EVP_MAX_MD_SIZE"),1)); | - | ||||||||||||||||||||||||
158 | if (s->internal->type == 0x2000
| 63 | ||||||||||||||||||||||||
159 | memcpy((s->s3->internal)->previous_client_finished, | - | ||||||||||||||||||||||||
160 | (s->s3->internal)->tmp.peer_finish_md, md_len); | - | ||||||||||||||||||||||||
161 | (s->s3->internal)->previous_client_finished_len = md_len; | - | ||||||||||||||||||||||||
162 | } executed 63 times by 2 tests: else {end of block Executed by:
| 63 | ||||||||||||||||||||||||
163 | memcpy((s->s3->internal)->previous_server_finished, | - | ||||||||||||||||||||||||
164 | (s->s3->internal)->tmp.peer_finish_md, md_len); | - | ||||||||||||||||||||||||
165 | (s->s3->internal)->previous_server_finished_len = md_len; | - | ||||||||||||||||||||||||
166 | } executed 63 times by 2 tests: end of block Executed by:
| 63 | ||||||||||||||||||||||||
167 | - | |||||||||||||||||||||||||
168 | return executed 126 times by 2 tests: (1);return (1); Executed by:
executed 126 times by 2 tests: return (1); Executed by:
| 126 | ||||||||||||||||||||||||
169 | f_err: | - | ||||||||||||||||||||||||
170 | ssl3_send_alert(s, 2, al); | - | ||||||||||||||||||||||||
171 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||
172 | } | - | ||||||||||||||||||||||||
173 | int | - | ||||||||||||||||||||||||
174 | ssl3_send_change_cipher_spec(SSL *s, int a, int b) | - | ||||||||||||||||||||||||
175 | { | - | ||||||||||||||||||||||||
176 | size_t outlen; | - | ||||||||||||||||||||||||
177 | CBB cbb; | - | ||||||||||||||||||||||||
178 | - | |||||||||||||||||||||||||
179 | memset(&cbb, 0, sizeof(cbb)); | - | ||||||||||||||||||||||||
180 | - | |||||||||||||||||||||||||
181 | if ((
| 0-126 | ||||||||||||||||||||||||
182 | if (!CBB_init_fixed(&cbb, s->internal->init_buf->data,
| 0-126 | ||||||||||||||||||||||||
183 | s->internal->init_buf->length)
| 0-126 | ||||||||||||||||||||||||
184 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
185 | if (!CBB_add_u8(&cbb, 1)
| 0-126 | ||||||||||||||||||||||||
186 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
187 | if (!CBB_finish(&cbb,
| 0-126 | ||||||||||||||||||||||||
188 | ((void *)0)
| 0-126 | ||||||||||||||||||||||||
189 | , &outlen)
| 0-126 | ||||||||||||||||||||||||
190 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
191 | - | |||||||||||||||||||||||||
192 | if (outlen > 0x7fffffff
| 0-126 | ||||||||||||||||||||||||
193 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
194 | - | |||||||||||||||||||||||||
195 | s->internal->init_num = (int)outlen; | - | ||||||||||||||||||||||||
196 | s->internal->init_off = 0; | - | ||||||||||||||||||||||||
197 | - | |||||||||||||||||||||||||
198 | if ((
| 22-104 | ||||||||||||||||||||||||
199 | (s->d1->internal)->handshake_write_seq = | - | ||||||||||||||||||||||||
200 | (s->d1->internal)->next_handshake_write_seq; | - | ||||||||||||||||||||||||
201 | dtls1_set_message_header_int(s, 1, 0, | - | ||||||||||||||||||||||||
202 | (s->d1->internal)->handshake_write_seq, 0, 0); | - | ||||||||||||||||||||||||
203 | dtls1_buffer_message(s, 1); | - | ||||||||||||||||||||||||
204 | } executed 22 times by 1 test: end of block Executed by:
| 22 | ||||||||||||||||||||||||
205 | - | |||||||||||||||||||||||||
206 | (s->s3->internal)->hs.state = b; | - | ||||||||||||||||||||||||
207 | } executed 126 times by 2 tests: end of block Executed by:
| 126 | ||||||||||||||||||||||||
208 | - | |||||||||||||||||||||||||
209 | - | |||||||||||||||||||||||||
210 | return executed 126 times by 2 tests: ssl3_record_write(s, 20);return ssl3_record_write(s, 20); Executed by:
executed 126 times by 2 tests: return ssl3_record_write(s, 20); Executed by:
| 126 | ||||||||||||||||||||||||
211 | - | |||||||||||||||||||||||||
212 | err: | - | ||||||||||||||||||||||||
213 | CBB_cleanup(&cbb); | - | ||||||||||||||||||||||||
214 | - | |||||||||||||||||||||||||
215 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||
216 | } | - | ||||||||||||||||||||||||
217 | - | |||||||||||||||||||||||||
218 | static int | - | ||||||||||||||||||||||||
219 | ssl3_add_cert(CBB *cbb, X509 *x) | - | ||||||||||||||||||||||||
220 | { | - | ||||||||||||||||||||||||
221 | unsigned char *data; | - | ||||||||||||||||||||||||
222 | int cert_len; | - | ||||||||||||||||||||||||
223 | int ret = 0; | - | ||||||||||||||||||||||||
224 | CBB cert; | - | ||||||||||||||||||||||||
225 | - | |||||||||||||||||||||||||
226 | if ((
| 0-96 | ||||||||||||||||||||||||
227 | ((void *)0)
| 0-96 | ||||||||||||||||||||||||
228 | )) < 0
| 0-96 | ||||||||||||||||||||||||
229 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
230 | - | |||||||||||||||||||||||||
231 | if (!CBB_add_u24_length_prefixed(cbb, &cert)
| 0-96 | ||||||||||||||||||||||||
232 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
233 | if (!CBB_add_space(&cert, &data, cert_len)
| 0-96 | ||||||||||||||||||||||||
234 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
235 | if (i2d_X509(x, &data) < 0
| 0-96 | ||||||||||||||||||||||||
236 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
237 | if (!CBB_flush(cbb)
| 0-96 | ||||||||||||||||||||||||
238 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
239 | - | |||||||||||||||||||||||||
240 | ret = 1; | - | ||||||||||||||||||||||||
241 | - | |||||||||||||||||||||||||
242 | err: code before this statement executed 96 times by 3 tests: err: Executed by:
| 96 | ||||||||||||||||||||||||
243 | return executed 96 times by 3 tests: (ret);return (ret); Executed by:
executed 96 times by 3 tests: return (ret); Executed by:
| 96 | ||||||||||||||||||||||||
244 | } | - | ||||||||||||||||||||||||
245 | - | |||||||||||||||||||||||||
246 | int | - | ||||||||||||||||||||||||
247 | ssl3_output_cert_chain(SSL *s, CBB *cbb, X509 *x) | - | ||||||||||||||||||||||||
248 | { | - | ||||||||||||||||||||||||
249 | int no_chain = 0; | - | ||||||||||||||||||||||||
250 | CBB cert_list; | - | ||||||||||||||||||||||||
251 | int ret = 0; | - | ||||||||||||||||||||||||
252 | int i; | - | ||||||||||||||||||||||||
253 | - | |||||||||||||||||||||||||
254 | if (!CBB_add_u24_length_prefixed(cbb, &cert_list)
| 0-62 | ||||||||||||||||||||||||
255 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
256 | - | |||||||||||||||||||||||||
257 | if ((
| 0-62 | ||||||||||||||||||||||||
258 | no_chain = 1; never executed: no_chain = 1; | 0 | ||||||||||||||||||||||||
259 | - | |||||||||||||||||||||||||
260 | - | |||||||||||||||||||||||||
261 | if (x !=
| 0-62 | ||||||||||||||||||||||||
262 | ((void *)0)
| 0-62 | ||||||||||||||||||||||||
263 | ) { | - | ||||||||||||||||||||||||
264 | if (no_chain
| 0-62 | ||||||||||||||||||||||||
265 | if (!ssl3_add_cert(&cert_list, x)
| 0 | ||||||||||||||||||||||||
266 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
267 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||
268 | X509_STORE_CTX xs_ctx; | - | ||||||||||||||||||||||||
269 | - | |||||||||||||||||||||||||
270 | if (!X509_STORE_CTX_init(&xs_ctx, s->ctx->cert_store,
| 0-62 | ||||||||||||||||||||||||
271 | x,
| 0-62 | ||||||||||||||||||||||||
272 | ((void *)0)
| 0-62 | ||||||||||||||||||||||||
273 | )
| 0-62 | ||||||||||||||||||||||||
274 | SSL_error_internal(s, 11, __FILE__, 404); | - | ||||||||||||||||||||||||
275 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
276 | } | - | ||||||||||||||||||||||||
277 | X509_verify_cert(&xs_ctx); | - | ||||||||||||||||||||||||
278 | - | |||||||||||||||||||||||||
279 | - | |||||||||||||||||||||||||
280 | ERR_clear_error(); | - | ||||||||||||||||||||||||
281 | for (i = 0; i < sk_num(((_STACK*) (1 ? (xs_ctx.chain) : (struct stack_st_X509*)0)))
| 62-96 | ||||||||||||||||||||||||
282 | x = ((X509 *)sk_value(((_STACK*) (1 ? (xs_ctx.chain) : (struct stack_st_X509*)0)), (i))); | - | ||||||||||||||||||||||||
283 | if (!ssl3_add_cert(&cert_list, x)
| 0-96 | ||||||||||||||||||||||||
284 | X509_STORE_CTX_cleanup(&xs_ctx); | - | ||||||||||||||||||||||||
285 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
286 | } | - | ||||||||||||||||||||||||
287 | } executed 96 times by 3 tests: end of block Executed by:
| 96 | ||||||||||||||||||||||||
288 | X509_STORE_CTX_cleanup(&xs_ctx); | - | ||||||||||||||||||||||||
289 | } executed 62 times by 3 tests: end of block Executed by:
| 62 | ||||||||||||||||||||||||
290 | } | - | ||||||||||||||||||||||||
291 | - | |||||||||||||||||||||||||
292 | - | |||||||||||||||||||||||||
293 | for (i = 0; i < sk_num(((_STACK*) (1 ? (s->ctx->extra_certs) : (struct stack_st_X509*)0)))
| 0-62 | ||||||||||||||||||||||||
294 | x = ((X509 *)sk_value(((_STACK*) (1 ? (s->ctx->extra_certs) : (struct stack_st_X509*)0)), (i))); | - | ||||||||||||||||||||||||
295 | if (!ssl3_add_cert(&cert_list, x)
| 0 | ||||||||||||||||||||||||
296 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
297 | } never executed: end of block | 0 | ||||||||||||||||||||||||
298 | - | |||||||||||||||||||||||||
299 | if (!CBB_flush(cbb)
| 0-62 | ||||||||||||||||||||||||
300 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
301 | - | |||||||||||||||||||||||||
302 | ret = 1; | - | ||||||||||||||||||||||||
303 | - | |||||||||||||||||||||||||
304 | err: code before this statement executed 62 times by 3 tests: err: Executed by:
| 62 | ||||||||||||||||||||||||
305 | return executed 62 times by 3 tests: (ret);return (ret); Executed by:
executed 62 times by 3 tests: return (ret); Executed by:
| 62 | ||||||||||||||||||||||||
306 | } | - | ||||||||||||||||||||||||
307 | - | |||||||||||||||||||||||||
308 | - | |||||||||||||||||||||||||
309 | - | |||||||||||||||||||||||||
310 | - | |||||||||||||||||||||||||
311 | - | |||||||||||||||||||||||||
312 | - | |||||||||||||||||||||||||
313 | - | |||||||||||||||||||||||||
314 | long | - | ||||||||||||||||||||||||
315 | ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) | - | ||||||||||||||||||||||||
316 | { | - | ||||||||||||||||||||||||
317 | unsigned char *p; | - | ||||||||||||||||||||||||
318 | uint32_t l; | - | ||||||||||||||||||||||||
319 | long n; | - | ||||||||||||||||||||||||
320 | int i, al; | - | ||||||||||||||||||||||||
321 | CBS cbs; | - | ||||||||||||||||||||||||
322 | uint8_t u8; | - | ||||||||||||||||||||||||
323 | - | |||||||||||||||||||||||||
324 | if ((
| 101-2496 | ||||||||||||||||||||||||
325 | (s->s3->internal)->tmp.reuse_message = 0; | - | ||||||||||||||||||||||||
326 | if ((
| 0-94 | ||||||||||||||||||||||||
327 | al = 10; | - | ||||||||||||||||||||||||
328 | SSL_error_internal(s, 244, __FILE__, 458); | - | ||||||||||||||||||||||||
329 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
330 | } | - | ||||||||||||||||||||||||
331 | *ok = 1; | - | ||||||||||||||||||||||||
332 | s->internal->init_msg = s->internal->init_buf->data + 4; | - | ||||||||||||||||||||||||
333 | s->internal->init_num = (int)(s->s3->internal)->tmp.message_size; | - | ||||||||||||||||||||||||
334 | return executed 101 times by 2 tests: s->internal->init_num;return s->internal->init_num; Executed by:
executed 101 times by 2 tests: return s->internal->init_num; Executed by:
| 101 | ||||||||||||||||||||||||
335 | } | - | ||||||||||||||||||||||||
336 | - | |||||||||||||||||||||||||
337 | p = (unsigned char *)s->internal->init_buf->data; | - | ||||||||||||||||||||||||
338 | - | |||||||||||||||||||||||||
339 | - | |||||||||||||||||||||||||
340 | if ((
| 0-2496 | ||||||||||||||||||||||||
341 | int skip_message; | - | ||||||||||||||||||||||||
342 | - | |||||||||||||||||||||||||
343 | do { | - | ||||||||||||||||||||||||
344 | while (s->internal->init_num < 4
| 464-2496 | ||||||||||||||||||||||||
345 | i = s->method->internal->ssl_read_bytes(s, | - | ||||||||||||||||||||||||
346 | 22, &p[s->internal->init_num], | - | ||||||||||||||||||||||||
347 | 4 - s->internal->init_num, 0); | - | ||||||||||||||||||||||||
348 | if (i <= 0
| 464-2032 | ||||||||||||||||||||||||
349 | s->internal->rwstate = 3; | - | ||||||||||||||||||||||||
350 | *ok = 0; | - | ||||||||||||||||||||||||
351 | return executed 2032 times by 4 tests: i;return i; Executed by:
executed 2032 times by 4 tests: return i; Executed by:
| 2032 | ||||||||||||||||||||||||
352 | } | - | ||||||||||||||||||||||||
353 | s->internal->init_num += i; | - | ||||||||||||||||||||||||
354 | } executed 464 times by 3 tests: end of block Executed by:
| 464 | ||||||||||||||||||||||||
355 | - | |||||||||||||||||||||||||
356 | skip_message = 0; | - | ||||||||||||||||||||||||
357 | if (!s->server
| 0-296 | ||||||||||||||||||||||||
358 | - | |||||||||||||||||||||||||
359 | - | |||||||||||||||||||||||||
360 | - | |||||||||||||||||||||||||
361 | - | |||||||||||||||||||||||||
362 | - | |||||||||||||||||||||||||
363 | - | |||||||||||||||||||||||||
364 | if (p[1] == 0
| 0 | ||||||||||||||||||||||||
365 | s->internal->init_num = 0; | - | ||||||||||||||||||||||||
366 | skip_message = 1; | - | ||||||||||||||||||||||||
367 | - | |||||||||||||||||||||||||
368 | if (s->internal->msg_callback
| 0 | ||||||||||||||||||||||||
369 | s->internal->msg_callback(0, s->version, never executed: s->internal->msg_callback(0, s->version, 22, p, 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
370 | 22, p, 4, s, never executed: s->internal->msg_callback(0, s->version, 22, p, 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
371 | s->internal->msg_callback_arg); never executed: s->internal->msg_callback(0, s->version, 22, p, 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
372 | } never executed: end of block | 0 | ||||||||||||||||||||||||
373 | } never executed: end of block | 0 | ||||||||||||||||||||||||
374 | } executed 464 times by 3 tests: while (skip_messageend of block Executed by:
| 0-464 | ||||||||||||||||||||||||
375 | - | |||||||||||||||||||||||||
376 | - | |||||||||||||||||||||||||
377 | - | |||||||||||||||||||||||||
378 | if ((
| 0-296 | ||||||||||||||||||||||||
379 | al = 10; | - | ||||||||||||||||||||||||
380 | SSL_error_internal(s, 244, __FILE__, 510); | - | ||||||||||||||||||||||||
381 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
382 | } | - | ||||||||||||||||||||||||
383 | - | |||||||||||||||||||||||||
384 | CBS_init(&cbs, p, 4); | - | ||||||||||||||||||||||||
385 | if (!CBS_get_u8(&cbs, &u8)
| 0-464 | ||||||||||||||||||||||||
386 | !CBS_get_u24(&cbs, &l)
| 0-464 | ||||||||||||||||||||||||
387 | SSL_error_internal(s, 7, __FILE__, 517); | - | ||||||||||||||||||||||||
388 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
389 | } | - | ||||||||||||||||||||||||
390 | (s->s3->internal)->tmp.message_type = u8; | - | ||||||||||||||||||||||||
391 | - | |||||||||||||||||||||||||
392 | if (l > (unsigned long)max
| 0-464 | ||||||||||||||||||||||||
393 | al = 47; | - | ||||||||||||||||||||||||
394 | SSL_error_internal(s, 152, __FILE__, 524); | - | ||||||||||||||||||||||||
395 | goto never executed: f_err;goto f_err; never executed: goto f_err; | 0 | ||||||||||||||||||||||||
396 | } | - | ||||||||||||||||||||||||
397 | if (l
| 0-412 | ||||||||||||||||||||||||
398 | SSL_error_internal(s, 7, __FILE__, 528); | - | ||||||||||||||||||||||||
399 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
400 | } | - | ||||||||||||||||||||||||
401 | (s->s3->internal)->tmp.message_size = l; | - | ||||||||||||||||||||||||
402 | (s->s3->internal)->hs.state = stn; | - | ||||||||||||||||||||||||
403 | - | |||||||||||||||||||||||||
404 | s->internal->init_msg = s->internal->init_buf->data + 4; | - | ||||||||||||||||||||||||
405 | s->internal->init_num = 0; | - | ||||||||||||||||||||||||
406 | } executed 464 times by 3 tests: end of block Executed by:
| 464 | ||||||||||||||||||||||||
407 | - | |||||||||||||||||||||||||
408 | - | |||||||||||||||||||||||||
409 | p = s->internal->init_msg; | - | ||||||||||||||||||||||||
410 | n = (s->s3->internal)->tmp.message_size - s->internal->init_num; | - | ||||||||||||||||||||||||
411 | while (n > 0
| 412-464 | ||||||||||||||||||||||||
412 | i = s->method->internal->ssl_read_bytes(s, 22, | - | ||||||||||||||||||||||||
413 | &p[s->internal->init_num], n, 0); | - | ||||||||||||||||||||||||
414 | if (i <= 0
| 0-412 | ||||||||||||||||||||||||
415 | s->internal->rwstate = 3; | - | ||||||||||||||||||||||||
416 | *ok = 0; | - | ||||||||||||||||||||||||
417 | return never executed: i;return i; never executed: return i; | 0 | ||||||||||||||||||||||||
418 | } | - | ||||||||||||||||||||||||
419 | s->internal->init_num += i; | - | ||||||||||||||||||||||||
420 | n -= i; | - | ||||||||||||||||||||||||
421 | } executed 412 times by 3 tests: end of block Executed by:
| 412 | ||||||||||||||||||||||||
422 | - | |||||||||||||||||||||||||
423 | - | |||||||||||||||||||||||||
424 | - | |||||||||||||||||||||||||
425 | if (*
| 104-360 | ||||||||||||||||||||||||
426 | ssl3_take_mac(s); executed 104 times by 2 tests: ssl3_take_mac(s); Executed by:
| 104 | ||||||||||||||||||||||||
427 | - | |||||||||||||||||||||||||
428 | - | |||||||||||||||||||||||||
429 | if (s->internal->mac_packet
| 2-462 | ||||||||||||||||||||||||
430 | tls1_finish_mac(s, (unsigned char *)s->internal->init_buf->data, | - | ||||||||||||||||||||||||
431 | s->internal->init_num + 4); | - | ||||||||||||||||||||||||
432 | - | |||||||||||||||||||||||||
433 | if (s->internal->msg_callback
| 0-462 | ||||||||||||||||||||||||
434 | s->internal->msg_callback(0, s->version, never executed: s->internal->msg_callback(0, s->version, 22, s->internal->init_buf->data, (size_t)s->internal->init_num + 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
435 | 22, s->internal->init_buf->data, never executed: s->internal->msg_callback(0, s->version, 22, s->internal->init_buf->data, (size_t)s->internal->init_num + 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
436 | (size_t)s->internal->init_num + 4, s, never executed: s->internal->msg_callback(0, s->version, 22, s->internal->init_buf->data, (size_t)s->internal->init_num + 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
437 | s->internal->msg_callback_arg); never executed: s->internal->msg_callback(0, s->version, 22, s->internal->init_buf->data, (size_t)s->internal->init_num + 4, s, s->internal->msg_callback_arg); | 0 | ||||||||||||||||||||||||
438 | } executed 462 times by 2 tests: end of block Executed by:
| 462 | ||||||||||||||||||||||||
439 | - | |||||||||||||||||||||||||
440 | *ok = 1; | - | ||||||||||||||||||||||||
441 | return executed 464 times by 3 tests: (s->internal->init_num);return (s->internal->init_num); Executed by:
executed 464 times by 3 tests: return (s->internal->init_num); Executed by:
| 464 | ||||||||||||||||||||||||
442 | - | |||||||||||||||||||||||||
443 | f_err: | - | ||||||||||||||||||||||||
444 | ssl3_send_alert(s, 2, al); | - | ||||||||||||||||||||||||
445 | err: code before this statement never executed: err: | 0 | ||||||||||||||||||||||||
446 | *ok = 0; | - | ||||||||||||||||||||||||
447 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||||||||
448 | } | - | ||||||||||||||||||||||||
449 | - | |||||||||||||||||||||||||
450 | int | - | ||||||||||||||||||||||||
451 | ssl_cert_type(X509 *x, EVP_PKEY *pkey) | - | ||||||||||||||||||||||||
452 | { | - | ||||||||||||||||||||||||
453 | EVP_PKEY *pk; | - | ||||||||||||||||||||||||
454 | int ret = -1, i; | - | ||||||||||||||||||||||||
455 | - | |||||||||||||||||||||||||
456 | if (pkey ==
| 0-179 | ||||||||||||||||||||||||
457 | ((void *)0)
| 0-179 | ||||||||||||||||||||||||
458 | ) | - | ||||||||||||||||||||||||
459 | pk = X509_get_pubkey(x); never executed: pk = X509_get_pubkey(x); | 0 | ||||||||||||||||||||||||
460 | else | - | ||||||||||||||||||||||||
461 | pk = pkey; executed 179 times by 3 tests: pk = pkey; Executed by:
| 179 | ||||||||||||||||||||||||
462 | if (pk ==
| 0-179 | ||||||||||||||||||||||||
463 | ((void *)0)
| 0-179 | ||||||||||||||||||||||||
464 | ) | - | ||||||||||||||||||||||||
465 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
466 | - | |||||||||||||||||||||||||
467 | i = pk->type; | - | ||||||||||||||||||||||||
468 | if (i == 6
| 0-179 | ||||||||||||||||||||||||
469 | ret = 0; | - | ||||||||||||||||||||||||
470 | } executed 179 times by 3 tests: else if (i == 408end of block Executed by:
| 0-179 | ||||||||||||||||||||||||
471 | ret = 3; | - | ||||||||||||||||||||||||
472 | } never executed: else if (i == 811end of block
| 0 | ||||||||||||||||||||||||
473 | i == 851
| 0 | ||||||||||||||||||||||||
474 | ret = 4; | - | ||||||||||||||||||||||||
475 | } never executed: end of block | 0 | ||||||||||||||||||||||||
476 | - | |||||||||||||||||||||||||
477 | err: code before this statement executed 179 times by 3 tests: err: Executed by:
| 179 | ||||||||||||||||||||||||
478 | if (!pkey
| 0-179 | ||||||||||||||||||||||||
479 | EVP_PKEY_free(pk); never executed: EVP_PKEY_free(pk); | 0 | ||||||||||||||||||||||||
480 | return executed 179 times by 3 tests: (ret);return (ret); Executed by:
executed 179 times by 3 tests: return (ret); Executed by:
| 179 | ||||||||||||||||||||||||
481 | } | - | ||||||||||||||||||||||||
482 | - | |||||||||||||||||||||||||
483 | int | - | ||||||||||||||||||||||||
484 | ssl_verify_alarm_type(long type) | - | ||||||||||||||||||||||||
485 | { | - | ||||||||||||||||||||||||
486 | int al; | - | ||||||||||||||||||||||||
487 | - | |||||||||||||||||||||||||
488 | switch (type) { | - | ||||||||||||||||||||||||
489 | case never executed: 2:case 2: never executed: case 2: | 0 | ||||||||||||||||||||||||
490 | case never executed: 3:case 3: never executed: case 3: | 0 | ||||||||||||||||||||||||
491 | case never executed: 33:case 33: never executed: case 33: | 0 | ||||||||||||||||||||||||
492 | al = 48; | - | ||||||||||||||||||||||||
493 | break; never executed: break; | 0 | ||||||||||||||||||||||||
494 | case never executed: 4:case 4: never executed: case 4: | 0 | ||||||||||||||||||||||||
495 | case never executed: 5:case 5: never executed: case 5: | 0 | ||||||||||||||||||||||||
496 | case never executed: 6:case 6: never executed: case 6: | 0 | ||||||||||||||||||||||||
497 | case never executed: 13:case 13: never executed: case 13: | 0 | ||||||||||||||||||||||||
498 | case never executed: 14:case 14: never executed: case 14: | 0 | ||||||||||||||||||||||||
499 | case never executed: 15:case 15: never executed: case 15: | 0 | ||||||||||||||||||||||||
500 | case never executed: 16:case 16: never executed: case 16: | 0 | ||||||||||||||||||||||||
501 | case never executed: 9:case 9: never executed: case 9: | 0 | ||||||||||||||||||||||||
502 | case never executed: 11:case 11: never executed: case 11: | 0 | ||||||||||||||||||||||||
503 | case never executed: 27:case 27: never executed: case 27: | 0 | ||||||||||||||||||||||||
504 | case never executed: 28:case 28: never executed: case 28: | 0 | ||||||||||||||||||||||||
505 | al = 42; | - | ||||||||||||||||||||||||
506 | break; never executed: break; | 0 | ||||||||||||||||||||||||
507 | case never executed: 7:case 7: never executed: case 7: | 0 | ||||||||||||||||||||||||
508 | case never executed: 8:case 8: never executed: case 8: | 0 | ||||||||||||||||||||||||
509 | al = 51; | - | ||||||||||||||||||||||||
510 | break; never executed: break; | 0 | ||||||||||||||||||||||||
511 | case never executed: 10:case 10: never executed: case 10: | 0 | ||||||||||||||||||||||||
512 | case never executed: 12:case 12: never executed: case 12: | 0 | ||||||||||||||||||||||||
513 | al = 45; | - | ||||||||||||||||||||||||
514 | break; never executed: break; | 0 | ||||||||||||||||||||||||
515 | case never executed: 23:case 23: never executed: case 23: | 0 | ||||||||||||||||||||||||
516 | al = 44; | - | ||||||||||||||||||||||||
517 | break; never executed: break; | 0 | ||||||||||||||||||||||||
518 | case never executed: 17:case 17: never executed: case 17: | 0 | ||||||||||||||||||||||||
519 | al = 80; | - | ||||||||||||||||||||||||
520 | break; never executed: break; | 0 | ||||||||||||||||||||||||
521 | case never executed: 18:case 18: never executed: case 18: | 0 | ||||||||||||||||||||||||
522 | case never executed: 19:case 19: never executed: case 19: | 0 | ||||||||||||||||||||||||
523 | case never executed: 20:case 20: never executed: case 20: | 0 | ||||||||||||||||||||||||
524 | case never executed: 21:case 21: never executed: case 21: | 0 | ||||||||||||||||||||||||
525 | case never executed: 22:case 22: never executed: case 22: | 0 | ||||||||||||||||||||||||
526 | case never executed: 25:case 25: never executed: case 25: | 0 | ||||||||||||||||||||||||
527 | case never executed: 24:case 24: never executed: case 24: | 0 | ||||||||||||||||||||||||
528 | al = 48; | - | ||||||||||||||||||||||||
529 | break; never executed: break; | 0 | ||||||||||||||||||||||||
530 | case never executed: 50:case 50: never executed: case 50: | 0 | ||||||||||||||||||||||||
531 | al = 40; | - | ||||||||||||||||||||||||
532 | break; never executed: break; | 0 | ||||||||||||||||||||||||
533 | case never executed: 26:case 26: never executed: case 26: | 0 | ||||||||||||||||||||||||
534 | al = 43; | - | ||||||||||||||||||||||||
535 | break; never executed: break; | 0 | ||||||||||||||||||||||||
536 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||
537 | al = 46; | - | ||||||||||||||||||||||||
538 | break; never executed: break; | 0 | ||||||||||||||||||||||||
539 | } | - | ||||||||||||||||||||||||
540 | return never executed: (al);return (al); never executed: return (al); | 0 | ||||||||||||||||||||||||
541 | } | - | ||||||||||||||||||||||||
542 | - | |||||||||||||||||||||||||
543 | int | - | ||||||||||||||||||||||||
544 | ssl3_setup_init_buffer(SSL *s) | - | ||||||||||||||||||||||||
545 | { | - | ||||||||||||||||||||||||
546 | BUF_MEM *buf = | - | ||||||||||||||||||||||||
547 | ((void *)0) | - | ||||||||||||||||||||||||
548 | ; | - | ||||||||||||||||||||||||
549 | - | |||||||||||||||||||||||||
550 | if (s->internal->init_buf !=
| 0-139 | ||||||||||||||||||||||||
551 | ((void *)0)
| 0-139 | ||||||||||||||||||||||||
552 | ) | - | ||||||||||||||||||||||||
553 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||||||||
554 | - | |||||||||||||||||||||||||
555 | if ((
| 0-139 | ||||||||||||||||||||||||
556 | ((void *)0)
| 0-139 | ||||||||||||||||||||||||
557 | ) | - | ||||||||||||||||||||||||
558 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
559 | if (!BUF_MEM_grow(buf, 16384)
| 0-139 | ||||||||||||||||||||||||
560 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
561 | - | |||||||||||||||||||||||||
562 | s->internal->init_buf = buf; | - | ||||||||||||||||||||||||
563 | return executed 139 times by 4 tests: (1);return (1); Executed by:
executed 139 times by 4 tests: return (1); Executed by:
| 139 | ||||||||||||||||||||||||
564 | - | |||||||||||||||||||||||||
565 | err: | - | ||||||||||||||||||||||||
566 | BUF_MEM_free(buf); | - | ||||||||||||||||||||||||
567 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||
568 | } | - | ||||||||||||||||||||||||
569 | - | |||||||||||||||||||||||||
570 | int | - | ||||||||||||||||||||||||
571 | ssl3_setup_read_buffer(SSL *s) | - | ||||||||||||||||||||||||
572 | { | - | ||||||||||||||||||||||||
573 | unsigned char *p; | - | ||||||||||||||||||||||||
574 | size_t len, align, headerlen; | - | ||||||||||||||||||||||||
575 | - | |||||||||||||||||||||||||
576 | if ((
| 34-140 | ||||||||||||||||||||||||
577 | headerlen = 13; executed 34 times by 2 tests: headerlen = 13; Executed by:
| 34 | ||||||||||||||||||||||||
578 | else | - | ||||||||||||||||||||||||
579 | headerlen = 5; executed 140 times by 4 tests: headerlen = 5; Executed by:
| 140 | ||||||||||||||||||||||||
580 | - | |||||||||||||||||||||||||
581 | align = (-5) & (8 - 1); | - | ||||||||||||||||||||||||
582 | - | |||||||||||||||||||||||||
583 | if (s->s3->rbuf.buf ==
| 53-121 | ||||||||||||||||||||||||
584 | ((void *)0)
| 53-121 | ||||||||||||||||||||||||
585 | ) { | - | ||||||||||||||||||||||||
586 | len = 16384 + | - | ||||||||||||||||||||||||
587 | (256 + 64) + headerlen + align; | - | ||||||||||||||||||||||||
588 | if ((
| 0-121 | ||||||||||||||||||||||||
589 | ((void *)0)
| 0-121 | ||||||||||||||||||||||||
590 | ) | - | ||||||||||||||||||||||||
591 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
592 | s->s3->rbuf.buf = p; | - | ||||||||||||||||||||||||
593 | s->s3->rbuf.len = len; | - | ||||||||||||||||||||||||
594 | } executed 121 times by 4 tests: end of block Executed by:
| 121 | ||||||||||||||||||||||||
595 | - | |||||||||||||||||||||||||
596 | s->internal->packet = &(s->s3->rbuf.buf[0]); | - | ||||||||||||||||||||||||
597 | return executed 174 times by 4 tests: 1;return 1; Executed by:
executed 174 times by 4 tests: return 1; Executed by:
| 174 | ||||||||||||||||||||||||
598 | - | |||||||||||||||||||||||||
599 | err: | - | ||||||||||||||||||||||||
600 | SSL_error_internal(s, (1|64), __FILE__, 716); | - | ||||||||||||||||||||||||
601 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
602 | } | - | ||||||||||||||||||||||||
603 | - | |||||||||||||||||||||||||
604 | int | - | ||||||||||||||||||||||||
605 | ssl3_setup_write_buffer(SSL *s) | - | ||||||||||||||||||||||||
606 | { | - | ||||||||||||||||||||||||
607 | unsigned char *p; | - | ||||||||||||||||||||||||
608 | size_t len, align, headerlen; | - | ||||||||||||||||||||||||
609 | - | |||||||||||||||||||||||||
610 | if ((
| 34-116 | ||||||||||||||||||||||||
611 | headerlen = 13 + 1; executed 34 times by 2 tests: headerlen = 13 + 1; Executed by:
| 34 | ||||||||||||||||||||||||
612 | else | - | ||||||||||||||||||||||||
613 | headerlen = 5; executed 116 times by 4 tests: headerlen = 5; Executed by:
| 116 | ||||||||||||||||||||||||
614 | - | |||||||||||||||||||||||||
615 | align = (-5) & (8 - 1); | - | ||||||||||||||||||||||||
616 | - | |||||||||||||||||||||||||
617 | if (s->s3->wbuf.buf ==
| 29-121 | ||||||||||||||||||||||||
618 | ((void *)0)
| 29-121 | ||||||||||||||||||||||||
619 | ) { | - | ||||||||||||||||||||||||
620 | len = s->max_send_fragment + | - | ||||||||||||||||||||||||
621 | (16 + 64) + headerlen + align; | - | ||||||||||||||||||||||||
622 | if (!(s->internal->options & 0x00000800L)
| 0-121 | ||||||||||||||||||||||||
623 | len += headerlen + align + executed 121 times by 4 tests: len += headerlen + align + (16 + 64); Executed by:
| 121 | ||||||||||||||||||||||||
624 | (16 + 64); executed 121 times by 4 tests: len += headerlen + align + (16 + 64); Executed by:
| 121 | ||||||||||||||||||||||||
625 | - | |||||||||||||||||||||||||
626 | if ((
| 0-121 | ||||||||||||||||||||||||
627 | ((void *)0)
| 0-121 | ||||||||||||||||||||||||
628 | ) | - | ||||||||||||||||||||||||
629 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||
630 | s->s3->wbuf.buf = p; | - | ||||||||||||||||||||||||
631 | s->s3->wbuf.len = len; | - | ||||||||||||||||||||||||
632 | } executed 121 times by 4 tests: end of block Executed by:
| 121 | ||||||||||||||||||||||||
633 | - | |||||||||||||||||||||||||
634 | return executed 150 times by 4 tests: 1;return 1; Executed by:
executed 150 times by 4 tests: return 1; Executed by:
| 150 | ||||||||||||||||||||||||
635 | - | |||||||||||||||||||||||||
636 | err: | - | ||||||||||||||||||||||||
637 | SSL_error_internal(s, (1|64), __FILE__, 749); | - | ||||||||||||||||||||||||
638 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
639 | } | - | ||||||||||||||||||||||||
640 | - | |||||||||||||||||||||||||
641 | int | - | ||||||||||||||||||||||||
642 | ssl3_setup_buffers(SSL *s) | - | ||||||||||||||||||||||||
643 | { | - | ||||||||||||||||||||||||
644 | if (!ssl3_setup_read_buffer(s)
| 0-150 | ||||||||||||||||||||||||
645 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
646 | if (!ssl3_setup_write_buffer(s)
| 0-150 | ||||||||||||||||||||||||
647 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||
648 | return executed 150 times by 4 tests: 1;return 1; Executed by:
executed 150 times by 4 tests: return 1; Executed by:
| 150 | ||||||||||||||||||||||||
649 | } | - | ||||||||||||||||||||||||
650 | - | |||||||||||||||||||||||||
651 | int | - | ||||||||||||||||||||||||
652 | ssl3_release_write_buffer(SSL *s) | - | ||||||||||||||||||||||||
653 | { | - | ||||||||||||||||||||||||
654 | free(s->s3->wbuf.buf); | - | ||||||||||||||||||||||||
655 | s->s3->wbuf.buf = | - | ||||||||||||||||||||||||
656 | ((void *)0) | - | ||||||||||||||||||||||||
657 | ; | - | ||||||||||||||||||||||||
658 | return executed 195 times by 11 tests: 1;return 1; Executed by:
executed 195 times by 11 tests: return 1; Executed by:
| 195 | ||||||||||||||||||||||||
659 | } | - | ||||||||||||||||||||||||
660 | - | |||||||||||||||||||||||||
661 | int | - | ||||||||||||||||||||||||
662 | ssl3_release_read_buffer(SSL *s) | - | ||||||||||||||||||||||||
663 | { | - | ||||||||||||||||||||||||
664 | free(s->s3->rbuf.buf); | - | ||||||||||||||||||||||||
665 | s->s3->rbuf.buf = | - | ||||||||||||||||||||||||
666 | ((void *)0) | - | ||||||||||||||||||||||||
667 | ; | - | ||||||||||||||||||||||||
668 | return executed 195 times by 11 tests: 1;return 1; Executed by:
executed 195 times by 11 tests: return 1; Executed by:
| 195 | ||||||||||||||||||||||||
669 | } | - | ||||||||||||||||||||||||
Switch to Source code | Preprocessed file |