Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bio/bss_acpt.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | - | |||||||||||||||||||
4 | - | |||||||||||||||||||
5 | - | |||||||||||||||||||
6 | typedef struct bio_accept_st { | - | ||||||||||||||||||
7 | int state; | - | ||||||||||||||||||
8 | char *param_addr; | - | ||||||||||||||||||
9 | - | |||||||||||||||||||
10 | int accept_sock; | - | ||||||||||||||||||
11 | int accept_nbio; | - | ||||||||||||||||||
12 | - | |||||||||||||||||||
13 | char *addr; | - | ||||||||||||||||||
14 | int nbio; | - | ||||||||||||||||||
15 | - | |||||||||||||||||||
16 | - | |||||||||||||||||||
17 | - | |||||||||||||||||||
18 | int bind_mode; | - | ||||||||||||||||||
19 | BIO *bio_chain; | - | ||||||||||||||||||
20 | } BIO_ACCEPT; | - | ||||||||||||||||||
21 | - | |||||||||||||||||||
22 | static int acpt_write(BIO *h, const char *buf, int num); | - | ||||||||||||||||||
23 | static int acpt_read(BIO *h, char *buf, int size); | - | ||||||||||||||||||
24 | static int acpt_puts(BIO *h, const char *str); | - | ||||||||||||||||||
25 | static long acpt_ctrl(BIO *h, int cmd, long arg1, void *arg2); | - | ||||||||||||||||||
26 | static int acpt_new(BIO *h); | - | ||||||||||||||||||
27 | static int acpt_free(BIO *data); | - | ||||||||||||||||||
28 | static int acpt_state(BIO *b, BIO_ACCEPT *c); | - | ||||||||||||||||||
29 | static void acpt_close_socket(BIO *data); | - | ||||||||||||||||||
30 | static BIO_ACCEPT *BIO_ACCEPT_new(void ); | - | ||||||||||||||||||
31 | static void BIO_ACCEPT_free(BIO_ACCEPT *a); | - | ||||||||||||||||||
32 | - | |||||||||||||||||||
33 | - | |||||||||||||||||||
34 | - | |||||||||||||||||||
35 | - | |||||||||||||||||||
36 | - | |||||||||||||||||||
37 | static const BIO_METHOD methods_acceptp = { | - | ||||||||||||||||||
38 | .type = (13|0x0400|0x0100), | - | ||||||||||||||||||
39 | .name = "socket accept", | - | ||||||||||||||||||
40 | .bwrite = acpt_write, | - | ||||||||||||||||||
41 | .bread = acpt_read, | - | ||||||||||||||||||
42 | .bputs = acpt_puts, | - | ||||||||||||||||||
43 | .ctrl = acpt_ctrl, | - | ||||||||||||||||||
44 | .create = acpt_new, | - | ||||||||||||||||||
45 | .destroy = acpt_free | - | ||||||||||||||||||
46 | }; | - | ||||||||||||||||||
47 | - | |||||||||||||||||||
48 | const BIO_METHOD * | - | ||||||||||||||||||
49 | BIO_s_accept(void) | - | ||||||||||||||||||
50 | { | - | ||||||||||||||||||
51 | return never executed: (&methods_acceptp);return (&methods_acceptp); never executed: return (&methods_acceptp); | 0 | ||||||||||||||||||
52 | } | - | ||||||||||||||||||
53 | - | |||||||||||||||||||
54 | static int | - | ||||||||||||||||||
55 | acpt_new(BIO *bi) | - | ||||||||||||||||||
56 | { | - | ||||||||||||||||||
57 | BIO_ACCEPT *ba; | - | ||||||||||||||||||
58 | - | |||||||||||||||||||
59 | bi->init = 0; | - | ||||||||||||||||||
60 | bi->num = -1; | - | ||||||||||||||||||
61 | bi->flags = 0; | - | ||||||||||||||||||
62 | if ((
| 0 | ||||||||||||||||||
63 | ((void *)0)
| 0 | ||||||||||||||||||
64 | ) | - | ||||||||||||||||||
65 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
66 | bi->ptr = (char *)ba; | - | ||||||||||||||||||
67 | ba->state = 1; | - | ||||||||||||||||||
68 | bi->shutdown = 1; | - | ||||||||||||||||||
69 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
70 | } | - | ||||||||||||||||||
71 | - | |||||||||||||||||||
72 | static BIO_ACCEPT * | - | ||||||||||||||||||
73 | BIO_ACCEPT_new(void) | - | ||||||||||||||||||
74 | { | - | ||||||||||||||||||
75 | BIO_ACCEPT *ret; | - | ||||||||||||||||||
76 | - | |||||||||||||||||||
77 | if ((
| 0 | ||||||||||||||||||
78 | ((void *)0)
| 0 | ||||||||||||||||||
79 | ) | - | ||||||||||||||||||
80 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
81 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
82 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
83 | ret->accept_sock = -1; | - | ||||||||||||||||||
84 | ret->bind_mode = 0; | - | ||||||||||||||||||
85 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
86 | } | - | ||||||||||||||||||
87 | - | |||||||||||||||||||
88 | static void | - | ||||||||||||||||||
89 | BIO_ACCEPT_free(BIO_ACCEPT *a) | - | ||||||||||||||||||
90 | { | - | ||||||||||||||||||
91 | if (a ==
| 0 | ||||||||||||||||||
92 | ((void *)0)
| 0 | ||||||||||||||||||
93 | ) | - | ||||||||||||||||||
94 | return; never executed: return; | 0 | ||||||||||||||||||
95 | - | |||||||||||||||||||
96 | free(a->param_addr); | - | ||||||||||||||||||
97 | free(a->addr); | - | ||||||||||||||||||
98 | BIO_free(a->bio_chain); | - | ||||||||||||||||||
99 | free(a); | - | ||||||||||||||||||
100 | } never executed: end of block | 0 | ||||||||||||||||||
101 | - | |||||||||||||||||||
102 | static void | - | ||||||||||||||||||
103 | acpt_close_socket(BIO *bio) | - | ||||||||||||||||||
104 | { | - | ||||||||||||||||||
105 | BIO_ACCEPT *c; | - | ||||||||||||||||||
106 | - | |||||||||||||||||||
107 | c = (BIO_ACCEPT *)bio->ptr; | - | ||||||||||||||||||
108 | if (c->accept_sock != -1
| 0 | ||||||||||||||||||
109 | shutdown(c->accept_sock, | - | ||||||||||||||||||
110 | SHUT_RDWR | - | ||||||||||||||||||
111 | ); | - | ||||||||||||||||||
112 | close(c->accept_sock); | - | ||||||||||||||||||
113 | c->accept_sock = -1; | - | ||||||||||||||||||
114 | bio->num = -1; | - | ||||||||||||||||||
115 | } never executed: end of block | 0 | ||||||||||||||||||
116 | } never executed: end of block | 0 | ||||||||||||||||||
117 | - | |||||||||||||||||||
118 | static int | - | ||||||||||||||||||
119 | acpt_free(BIO *a) | - | ||||||||||||||||||
120 | { | - | ||||||||||||||||||
121 | BIO_ACCEPT *data; | - | ||||||||||||||||||
122 | - | |||||||||||||||||||
123 | if (a ==
| 0 | ||||||||||||||||||
124 | ((void *)0)
| 0 | ||||||||||||||||||
125 | ) | - | ||||||||||||||||||
126 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
127 | data = (BIO_ACCEPT *)a->ptr; | - | ||||||||||||||||||
128 | - | |||||||||||||||||||
129 | if (a->shutdown
| 0 | ||||||||||||||||||
130 | acpt_close_socket(a); | - | ||||||||||||||||||
131 | BIO_ACCEPT_free(data); | - | ||||||||||||||||||
132 | a->ptr = | - | ||||||||||||||||||
133 | ((void *)0) | - | ||||||||||||||||||
134 | ; | - | ||||||||||||||||||
135 | a->flags = 0; | - | ||||||||||||||||||
136 | a->init = 0; | - | ||||||||||||||||||
137 | } never executed: end of block | 0 | ||||||||||||||||||
138 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
139 | } | - | ||||||||||||||||||
140 | - | |||||||||||||||||||
141 | static int | - | ||||||||||||||||||
142 | acpt_state(BIO *b, BIO_ACCEPT *c) | - | ||||||||||||||||||
143 | { | - | ||||||||||||||||||
144 | BIO *bio = | - | ||||||||||||||||||
145 | ((void *)0) | - | ||||||||||||||||||
146 | , *dbio; | - | ||||||||||||||||||
147 | int s = -1; | - | ||||||||||||||||||
148 | int i; | - | ||||||||||||||||||
149 | - | |||||||||||||||||||
150 | again: code before this statement never executed: again: | 0 | ||||||||||||||||||
151 | switch (c->state) { | - | ||||||||||||||||||
152 | case never executed: 1:case 1: never executed: case 1: | 0 | ||||||||||||||||||
153 | if (c->param_addr ==
| 0 | ||||||||||||||||||
154 | ((void *)0)
| 0 | ||||||||||||||||||
155 | ) { | - | ||||||||||||||||||
156 | ERR_put_error(32,(0xfff),(111),__FILE__,204); | - | ||||||||||||||||||
157 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||
158 | } | - | ||||||||||||||||||
159 | s = BIO_get_accept_socket(c->param_addr, c->bind_mode); | - | ||||||||||||||||||
160 | if (s == -1
| 0 | ||||||||||||||||||
161 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||
162 | - | |||||||||||||||||||
163 | if (c->accept_nbio
| 0 | ||||||||||||||||||
164 | if (!BIO_socket_nbio(s, 1)
| 0 | ||||||||||||||||||
165 | close(s); | - | ||||||||||||||||||
166 | ERR_put_error(32,(0xfff),(106),__FILE__,214); | - | ||||||||||||||||||
167 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||
168 | } | - | ||||||||||||||||||
169 | } never executed: end of block | 0 | ||||||||||||||||||
170 | c->accept_sock = s; | - | ||||||||||||||||||
171 | b->num = s; | - | ||||||||||||||||||
172 | c->state = 2; | - | ||||||||||||||||||
173 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
174 | - | |||||||||||||||||||
175 | case never executed: 2:case 2: never executed: case 2: | 0 | ||||||||||||||||||
176 | if (b->next_bio !=
| 0 | ||||||||||||||||||
177 | ((void *)0)
| 0 | ||||||||||||||||||
178 | ) { | - | ||||||||||||||||||
179 | c->state = 3; | - | ||||||||||||||||||
180 | goto never executed: again;goto again; never executed: goto again; | 0 | ||||||||||||||||||
181 | } | - | ||||||||||||||||||
182 | BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08)); | - | ||||||||||||||||||
183 | b->retry_reason = 0; | - | ||||||||||||||||||
184 | i = BIO_accept(c->accept_sock, &(c->addr)); | - | ||||||||||||||||||
185 | - | |||||||||||||||||||
186 | - | |||||||||||||||||||
187 | if (i == -2
| 0 | ||||||||||||||||||
188 | BIO_set_flags(b, (0x04|0x08)); | - | ||||||||||||||||||
189 | b->retry_reason = 0x03; | - | ||||||||||||||||||
190 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||
191 | } | - | ||||||||||||||||||
192 | - | |||||||||||||||||||
193 | if (i < 0
| 0 | ||||||||||||||||||
194 | return never executed: (i);return (i); never executed: return (i); | 0 | ||||||||||||||||||
195 | - | |||||||||||||||||||
196 | bio = BIO_new_socket(i, 0x01); | - | ||||||||||||||||||
197 | if (bio ==
| 0 | ||||||||||||||||||
198 | ((void *)0)
| 0 | ||||||||||||||||||
199 | ) | - | ||||||||||||||||||
200 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
201 | - | |||||||||||||||||||
202 | BIO_set_callback(bio, BIO_get_callback(b)); | - | ||||||||||||||||||
203 | BIO_set_callback_arg(bio, BIO_get_callback_arg(b)); | - | ||||||||||||||||||
204 | - | |||||||||||||||||||
205 | if (c->nbio
| 0 | ||||||||||||||||||
206 | if (!BIO_socket_nbio(i, 1)
| 0 | ||||||||||||||||||
207 | ERR_put_error(32,(0xfff),(105),__FILE__,251); | - | ||||||||||||||||||
208 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
209 | } | - | ||||||||||||||||||
210 | } never executed: end of block | 0 | ||||||||||||||||||
211 | - | |||||||||||||||||||
212 | - | |||||||||||||||||||
213 | - | |||||||||||||||||||
214 | if (c->bio_chain !=
| 0 | ||||||||||||||||||
215 | ((void *)0)
| 0 | ||||||||||||||||||
216 | ) { | - | ||||||||||||||||||
217 | if ((
| 0 | ||||||||||||||||||
218 | ((void *)0)
| 0 | ||||||||||||||||||
219 | ) | - | ||||||||||||||||||
220 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
221 | if (!BIO_push(dbio, bio)
never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
222 | bio = dbio; | - | ||||||||||||||||||
223 | } never executed: end of block | 0 | ||||||||||||||||||
224 | if (BIO_push(b, bio)
| 0 | ||||||||||||||||||
225 | ==
| 0 | ||||||||||||||||||
226 | ((void *)0)
| 0 | ||||||||||||||||||
227 | ) goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
228 | - | |||||||||||||||||||
229 | c->state = 3; | - | ||||||||||||||||||
230 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
231 | - | |||||||||||||||||||
232 | err: | - | ||||||||||||||||||
233 | if (bio !=
| 0 | ||||||||||||||||||
234 | ((void *)0)
| 0 | ||||||||||||||||||
235 | ) | - | ||||||||||||||||||
236 | BIO_free(bio); never executed: BIO_free(bio); | 0 | ||||||||||||||||||
237 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
238 | - | |||||||||||||||||||
239 | case never executed: 3:case 3: never executed: case 3: | 0 | ||||||||||||||||||
240 | if (b->next_bio ==
| 0 | ||||||||||||||||||
241 | ((void *)0)
| 0 | ||||||||||||||||||
242 | ) { | - | ||||||||||||||||||
243 | c->state = 2; | - | ||||||||||||||||||
244 | goto never executed: again;goto again; never executed: goto again; | 0 | ||||||||||||||||||
245 | } | - | ||||||||||||||||||
246 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
247 | - | |||||||||||||||||||
248 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
249 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
250 | - | |||||||||||||||||||
251 | } | - | ||||||||||||||||||
252 | } | - | ||||||||||||||||||
253 | - | |||||||||||||||||||
254 | static int | - | ||||||||||||||||||
255 | acpt_read(BIO *b, char *out, int outl) | - | ||||||||||||||||||
256 | { | - | ||||||||||||||||||
257 | int ret = 0; | - | ||||||||||||||||||
258 | BIO_ACCEPT *data; | - | ||||||||||||||||||
259 | - | |||||||||||||||||||
260 | BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08)); | - | ||||||||||||||||||
261 | data = (BIO_ACCEPT *)b->ptr; | - | ||||||||||||||||||
262 | - | |||||||||||||||||||
263 | while (b->next_bio ==
| 0 | ||||||||||||||||||
264 | ((void *)0)
| 0 | ||||||||||||||||||
265 | ) { | - | ||||||||||||||||||
266 | ret = acpt_state(b, data); | - | ||||||||||||||||||
267 | if (ret <= 0
| 0 | ||||||||||||||||||
268 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
269 | } never executed: end of block | 0 | ||||||||||||||||||
270 | - | |||||||||||||||||||
271 | ret = BIO_read(b->next_bio, out, outl); | - | ||||||||||||||||||
272 | BIO_copy_next_retry(b); | - | ||||||||||||||||||
273 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
274 | } | - | ||||||||||||||||||
275 | - | |||||||||||||||||||
276 | static int | - | ||||||||||||||||||
277 | acpt_write(BIO *b, const char *in, int inl) | - | ||||||||||||||||||
278 | { | - | ||||||||||||||||||
279 | int ret; | - | ||||||||||||||||||
280 | BIO_ACCEPT *data; | - | ||||||||||||||||||
281 | - | |||||||||||||||||||
282 | BIO_clear_flags(b, ((0x01|0x02|0x04)|0x08)); | - | ||||||||||||||||||
283 | data = (BIO_ACCEPT *)b->ptr; | - | ||||||||||||||||||
284 | - | |||||||||||||||||||
285 | while (b->next_bio ==
| 0 | ||||||||||||||||||
286 | ((void *)0)
| 0 | ||||||||||||||||||
287 | ) { | - | ||||||||||||||||||
288 | ret = acpt_state(b, data); | - | ||||||||||||||||||
289 | if (ret <= 0
| 0 | ||||||||||||||||||
290 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
291 | } never executed: end of block | 0 | ||||||||||||||||||
292 | - | |||||||||||||||||||
293 | ret = BIO_write(b->next_bio, in, inl); | - | ||||||||||||||||||
294 | BIO_copy_next_retry(b); | - | ||||||||||||||||||
295 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
296 | } | - | ||||||||||||||||||
297 | - | |||||||||||||||||||
298 | static long | - | ||||||||||||||||||
299 | acpt_ctrl(BIO *b, int cmd, long num, void *ptr) | - | ||||||||||||||||||
300 | { | - | ||||||||||||||||||
301 | int *ip; | - | ||||||||||||||||||
302 | long ret = 1; | - | ||||||||||||||||||
303 | BIO_ACCEPT *data; | - | ||||||||||||||||||
304 | char **pp; | - | ||||||||||||||||||
305 | - | |||||||||||||||||||
306 | data = (BIO_ACCEPT *)b->ptr; | - | ||||||||||||||||||
307 | - | |||||||||||||||||||
308 | switch (cmd) { | - | ||||||||||||||||||
309 | case never executed: 1:case 1: never executed: case 1: | 0 | ||||||||||||||||||
310 | ret = 0; | - | ||||||||||||||||||
311 | data->state = 1; | - | ||||||||||||||||||
312 | acpt_close_socket(b); | - | ||||||||||||||||||
313 | b->flags = 0; | - | ||||||||||||||||||
314 | break; never executed: break; | 0 | ||||||||||||||||||
315 | case never executed: 101:case 101: never executed: case 101: | 0 | ||||||||||||||||||
316 | - | |||||||||||||||||||
317 | ret = (long)acpt_state(b, data); | - | ||||||||||||||||||
318 | break; never executed: break; | 0 | ||||||||||||||||||
319 | case never executed: 118:case 118: never executed: case 118: | 0 | ||||||||||||||||||
320 | if (ptr !=
| 0 | ||||||||||||||||||
321 | ((void *)0)
| 0 | ||||||||||||||||||
322 | ) { | - | ||||||||||||||||||
323 | if (num == 0
| 0 | ||||||||||||||||||
324 | b->init = 1; | - | ||||||||||||||||||
325 | free(data->param_addr); | - | ||||||||||||||||||
326 | data->param_addr = | - | ||||||||||||||||||
327 | (__extension__ (__builtin_constant_p (
| 0 | ||||||||||||||||||
328 | ptr
| 0 | ||||||||||||||||||
329 | )
| 0 | ||||||||||||||||||
330 | ptr
| 0 | ||||||||||||||||||
331 | ) + 1) - (size_t)(const void *)(
| 0 | ||||||||||||||||||
332 | ptr
| 0 | ||||||||||||||||||
333 | ) == 1)
| 0 | ||||||||||||||||||
334 | ptr
| 0 | ||||||||||||||||||
335 | ))[0] == '\0'
| 0 | ||||||||||||||||||
336 | ptr | - | ||||||||||||||||||
337 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
never executed: __retval = (char *) memcpy (__retval, ptr , __len); | 0 | ||||||||||||||||||
338 | ptr never executed: __retval = (char *) memcpy (__retval, ptr , __len); | 0 | ||||||||||||||||||
339 | , __len); never executed: __retval; })) : __strdup (__retval = (char *) memcpy (__retval, ptr , __len); | 0 | ||||||||||||||||||
340 | ptr | - | ||||||||||||||||||
341 | ))) | - | ||||||||||||||||||
342 | ; | - | ||||||||||||||||||
343 | } never executed: else if (num == 1end of block
| 0 | ||||||||||||||||||
344 | data->accept_nbio = (ptr != | - | ||||||||||||||||||
345 | ((void *)0) | - | ||||||||||||||||||
346 | ); | - | ||||||||||||||||||
347 | } never executed: else if (num == 2end of block
| 0 | ||||||||||||||||||
348 | BIO_free(data->bio_chain); | - | ||||||||||||||||||
349 | data->bio_chain = (BIO *)ptr; | - | ||||||||||||||||||
350 | } never executed: end of block | 0 | ||||||||||||||||||
351 | } never executed: end of block | 0 | ||||||||||||||||||
352 | break; never executed: break; | 0 | ||||||||||||||||||
353 | case never executed: 102:case 102: never executed: case 102: | 0 | ||||||||||||||||||
354 | data->nbio = (int)num; | - | ||||||||||||||||||
355 | break; never executed: break; | 0 | ||||||||||||||||||
356 | case never executed: 104:case 104: never executed: case 104: | 0 | ||||||||||||||||||
357 | b->init = 1; | - | ||||||||||||||||||
358 | b->num= *((int *)ptr); | - | ||||||||||||||||||
359 | data->accept_sock = b->num; | - | ||||||||||||||||||
360 | data->state = 2; | - | ||||||||||||||||||
361 | b->shutdown = (int)num; | - | ||||||||||||||||||
362 | b->init = 1; | - | ||||||||||||||||||
363 | break; never executed: break; | 0 | ||||||||||||||||||
364 | case never executed: 105:case 105: never executed: case 105: | 0 | ||||||||||||||||||
365 | if (b->init
| 0 | ||||||||||||||||||
366 | ip = (int *)ptr; | - | ||||||||||||||||||
367 | if (ip !=
| 0 | ||||||||||||||||||
368 | ((void *)0)
| 0 | ||||||||||||||||||
369 | ) | - | ||||||||||||||||||
370 | * never executed: ip = data->accept_sock;*ip = data->accept_sock; never executed: *ip = data->accept_sock; | 0 | ||||||||||||||||||
371 | ret = data->accept_sock; | - | ||||||||||||||||||
372 | } never executed: elseend of block | 0 | ||||||||||||||||||
373 | ret = -1; never executed: ret = -1; | 0 | ||||||||||||||||||
374 | break; never executed: break; | 0 | ||||||||||||||||||
375 | case never executed: 124:case 124: never executed: case 124: | 0 | ||||||||||||||||||
376 | if (b->init
| 0 | ||||||||||||||||||
377 | if (ptr !=
| 0 | ||||||||||||||||||
378 | ((void *)0)
| 0 | ||||||||||||||||||
379 | ) { | - | ||||||||||||||||||
380 | pp = (char **)ptr; | - | ||||||||||||||||||
381 | *pp = data->param_addr; | - | ||||||||||||||||||
382 | } never executed: elseend of block | 0 | ||||||||||||||||||
383 | ret = -1; never executed: ret = -1; | 0 | ||||||||||||||||||
384 | } else | - | ||||||||||||||||||
385 | ret = -1; never executed: ret = -1; | 0 | ||||||||||||||||||
386 | break; never executed: break; | 0 | ||||||||||||||||||
387 | case never executed: 8:case 8: never executed: case 8: | 0 | ||||||||||||||||||
388 | ret = b->shutdown; | - | ||||||||||||||||||
389 | break; never executed: break; | 0 | ||||||||||||||||||
390 | case never executed: 9:case 9: never executed: case 9: | 0 | ||||||||||||||||||
391 | b->shutdown = (int)num; | - | ||||||||||||||||||
392 | break; never executed: break; | 0 | ||||||||||||||||||
393 | case never executed: 10:case 10: never executed: case 10: | 0 | ||||||||||||||||||
394 | case never executed: 13:case 13: never executed: case 13: | 0 | ||||||||||||||||||
395 | ret = 0; | - | ||||||||||||||||||
396 | break; never executed: break; | 0 | ||||||||||||||||||
397 | case never executed: 11:case 11: never executed: case 11: | 0 | ||||||||||||||||||
398 | break; never executed: break; | 0 | ||||||||||||||||||
399 | case never executed: 131:case 131: never executed: case 131: | 0 | ||||||||||||||||||
400 | data->bind_mode = (int)num; | - | ||||||||||||||||||
401 | break; never executed: break; | 0 | ||||||||||||||||||
402 | case never executed: 132:case 132: never executed: case 132: | 0 | ||||||||||||||||||
403 | ret = (long)data->bind_mode; | - | ||||||||||||||||||
404 | break; never executed: break; | 0 | ||||||||||||||||||
405 | case never executed: 12:case 12: never executed: case 12: | 0 | ||||||||||||||||||
406 | - | |||||||||||||||||||
407 | - | |||||||||||||||||||
408 | - | |||||||||||||||||||
409 | - | |||||||||||||||||||
410 | - | |||||||||||||||||||
411 | - | |||||||||||||||||||
412 | - | |||||||||||||||||||
413 | break; never executed: break; | 0 | ||||||||||||||||||
414 | - | |||||||||||||||||||
415 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
416 | ret = 0; | - | ||||||||||||||||||
417 | break; never executed: break; | 0 | ||||||||||||||||||
418 | } | - | ||||||||||||||||||
419 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
420 | } | - | ||||||||||||||||||
421 | - | |||||||||||||||||||
422 | static int | - | ||||||||||||||||||
423 | acpt_puts(BIO *bp, const char *str) | - | ||||||||||||||||||
424 | { | - | ||||||||||||||||||
425 | int n, ret; | - | ||||||||||||||||||
426 | - | |||||||||||||||||||
427 | n = strlen(str); | - | ||||||||||||||||||
428 | ret = acpt_write(bp, str, n); | - | ||||||||||||||||||
429 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
430 | } | - | ||||||||||||||||||
431 | - | |||||||||||||||||||
432 | BIO * | - | ||||||||||||||||||
433 | BIO_new_accept(const char *str) | - | ||||||||||||||||||
434 | { | - | ||||||||||||||||||
435 | BIO *ret; | - | ||||||||||||||||||
436 | - | |||||||||||||||||||
437 | ret = BIO_new(BIO_s_accept()); | - | ||||||||||||||||||
438 | if (ret ==
| 0 | ||||||||||||||||||
439 | ((void *)0)
| 0 | ||||||||||||||||||
440 | ) | - | ||||||||||||||||||
441 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
442 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
443 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
444 | if (BIO_ctrl(ret,118,0,(char *)str)
| 0 | ||||||||||||||||||
445 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
446 | else { | - | ||||||||||||||||||
447 | BIO_free(ret); | - | ||||||||||||||||||
448 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
449 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
450 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
451 | } | - | ||||||||||||||||||
452 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |