Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | | - |
18 | #include "ssl_locl.h" | - |
19 | | - |
20 | #include "bytestring.h" | - |
21 | | - |
22 | static int | - |
23 | ssl_is_sslv2_client_hello(CBS *header) | - |
24 | { | - |
25 | uint16_t record_length; | - |
26 | uint8_t message_type; | - |
27 | CBS cbs; | - |
28 | | - |
29 | CBS_dup(header, &cbs); | - |
30 | | - |
31 | if (!CBS_get_u16(&cbs, &record_length) ||TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
32 | !CBS_get_u8(&cbs, &message_type))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
33 | return 0; never executed: return 0; | 0 |
34 | | - |
35 | | - |
36 | | - |
37 | | - |
38 | | - |
39 | | - |
40 | if ((record_length & 0x8000) == 0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
41 | return 0; never executed: return 0; | 0 |
42 | if ((record_length & ~0x8000) < 3)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
43 | return 0; never executed: return 0; | 0 |
44 | if (message_type != SSL2_MT_CLIENT_HELLO)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
45 | return 0; never executed: return 0; | 0 |
46 | | - |
47 | return 1;executed 2 times by 1 test: return 1; | 2 |
48 | } | - |
49 | | - |
50 | static int | - |
51 | ssl_is_sslv3_handshake(CBS *header) | - |
52 | { | - |
53 | uint16_t record_version; | - |
54 | uint8_t record_type; | - |
55 | CBS cbs; | - |
56 | | - |
57 | CBS_dup(header, &cbs); | - |
58 | | - |
59 | if (!CBS_get_u8(&cbs, &record_type) ||TRUE | never evaluated | FALSE | evaluated 54 times by 3 tests |
| 0-54 |
60 | !CBS_get_u16(&cbs, &record_version))TRUE | never evaluated | FALSE | evaluated 54 times by 3 tests |
| 0-54 |
61 | return 0; never executed: return 0; | 0 |
62 | | - |
63 | if (record_type != SSL3_RT_HANDSHAKE)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 52 times by 2 tests |
| 2-52 |
64 | return 0;executed 2 times by 1 test: return 0; | 2 |
65 | if ((record_version >> 8) != SSL3_VERSION_MAJOR)TRUE | never evaluated | FALSE | evaluated 52 times by 2 tests |
| 0-52 |
66 | return 0; never executed: return 0; | 0 |
67 | | - |
68 | return 1;executed 52 times by 2 tests: return 1; | 52 |
69 | } | - |
70 | | - |
71 | static int | - |
72 | ssl_convert_sslv2_client_hello(SSL *s) | - |
73 | { | - |
74 | CBB cbb, handshake, client_hello, cipher_suites, compression, session_id; | - |
75 | CBS cbs, challenge, cipher_specs, session; | - |
76 | uint16_t record_length, client_version, cipher_specs_length; | - |
77 | uint16_t session_id_length, challenge_length; | - |
78 | unsigned char *client_random = NULL, *data = NULL; | - |
79 | size_t data_len, pad_len, len; | - |
80 | uint32_t cipher_spec; | - |
81 | uint8_t message_type; | - |
82 | unsigned char *pad; | - |
83 | int ret = -1; | - |
84 | int n; | - |
85 | | - |
86 | memset(&cbb, 0, sizeof(cbb)); | - |
87 | | - |
88 | CBS_init(&cbs, s->internal->packet, SSL3_RT_HEADER_LENGTH); | - |
89 | | - |
90 | if (!CBS_get_u16(&cbs, &record_length) ||TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
91 | !CBS_get_u8(&cbs, &message_type) ||TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
92 | !CBS_get_u16(&cbs, &client_version))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
93 | return -1; never executed: return -1; | 0 |
94 | | - |
95 | | - |
96 | | - |
97 | | - |
98 | | - |
99 | | - |
100 | | - |
101 | | - |
102 | if ((record_length & 0x8000) == 0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
103 | return -1; never executed: return -1; | 0 |
104 | record_length &= ~0x8000; | - |
105 | if (record_length < SSL3_RT_HEADER_LENGTH - 2)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
106 | return -1; never executed: return -1; | 0 |
107 | if (message_type != SSL2_MT_CLIENT_HELLO)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
108 | return -1; never executed: return -1; | 0 |
109 | | - |
110 | if (record_length < 9) {TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
111 | SSLerror(s, SSL_R_RECORD_LENGTH_MISMATCH); | - |
112 | return -1; never executed: return -1; | 0 |
113 | } | - |
114 | if (record_length > 4096) {TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
115 | SSLerror(s, SSL_R_RECORD_TOO_LARGE); | - |
116 | return -1; never executed: return -1; | 0 |
117 | } | - |
118 | | - |
119 | n = ssl3_packet_extend(s, record_length + 2); | - |
120 | if (n != record_length + 2)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
121 | return n; never executed: return n; | 0 |
122 | | - |
123 | tls1_finish_mac(s, s->internal->packet + 2, | - |
124 | s->internal->packet_length - 2); | - |
125 | s->internal->mac_packet = 0; | - |
126 | | - |
127 | if (s->internal->msg_callback)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
128 | s->internal->msg_callback(0, SSL2_VERSION, 0, never executed: s->internal->msg_callback(0, 0x0002, 0, s->internal->packet + 2, s->internal->packet_length - 2, s, s->internal->msg_callback_arg); | 0 |
129 | s->internal->packet + 2, s->internal->packet_length - 2, s, never executed: s->internal->msg_callback(0, 0x0002, 0, s->internal->packet + 2, s->internal->packet_length - 2, s, s->internal->msg_callback_arg); | 0 |
130 | s->internal->msg_callback_arg); never executed: s->internal->msg_callback(0, 0x0002, 0, s->internal->packet + 2, s->internal->packet_length - 2, s, s->internal->msg_callback_arg); | 0 |
131 | | - |
132 | | - |
133 | CBS_init(&cbs, s->internal->packet, s->internal->packet_length); | - |
134 | | - |
135 | if (!CBS_get_u16(&cbs, &record_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
136 | return -1; never executed: return -1; | 0 |
137 | if (!CBS_get_u8(&cbs, &message_type))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
138 | return -1; never executed: return -1; | 0 |
139 | if (!CBS_get_u16(&cbs, &client_version))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
140 | return -1; never executed: return -1; | 0 |
141 | if (!CBS_get_u16(&cbs, &cipher_specs_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
142 | return -1; never executed: return -1; | 0 |
143 | if (!CBS_get_u16(&cbs, &session_id_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
144 | return -1; never executed: return -1; | 0 |
145 | if (!CBS_get_u16(&cbs, &challenge_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
146 | return -1; never executed: return -1; | 0 |
147 | if (!CBS_get_bytes(&cbs, &cipher_specs, cipher_specs_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
148 | return -1; never executed: return -1; | 0 |
149 | if (!CBS_get_bytes(&cbs, &session, session_id_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
150 | return -1; never executed: return -1; | 0 |
151 | if (!CBS_get_bytes(&cbs, &challenge, challenge_length))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
152 | return -1; never executed: return -1; | 0 |
153 | if (CBS_len(&cbs) != 0) {TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
154 | SSLerror(s, SSL_R_RECORD_LENGTH_MISMATCH); | - |
155 | return -1; never executed: return -1; | 0 |
156 | } | - |
157 | | - |
158 | | - |
159 | | - |
160 | | - |
161 | | - |
162 | if ((client_random = malloc(SSL3_RANDOM_SIZE)) == NULL)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
163 | goto err; never executed: goto err; | 0 |
164 | if (!CBB_init_fixed(&cbb, client_random, SSL3_RANDOM_SIZE))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
165 | goto err; never executed: goto err; | 0 |
166 | if ((len = CBS_len(&challenge)) > SSL3_RANDOM_SIZE)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
167 | len = SSL3_RANDOM_SIZE; never executed: len = 32; | 0 |
168 | pad_len = SSL3_RANDOM_SIZE - len; | - |
169 | if (!CBB_add_space(&cbb, &pad, pad_len))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
170 | goto err; never executed: goto err; | 0 |
171 | memset(pad, 0, pad_len); | - |
172 | if (!CBB_add_bytes(&cbb, CBS_data(&challenge), len))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
173 | goto err; never executed: goto err; | 0 |
174 | if (!CBB_finish(&cbb, NULL, NULL))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
175 | goto err; never executed: goto err; | 0 |
176 | | - |
177 | | - |
178 | if (!CBB_init(&cbb, SSL3_RT_MAX_PLAIN_LENGTH))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
179 | goto err; never executed: goto err; | 0 |
180 | if (!CBB_add_u8(&cbb, SSL3_RT_HANDSHAKE))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
181 | goto err; never executed: goto err; | 0 |
182 | if (!CBB_add_u16(&cbb, 0x0301))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
183 | goto err; never executed: goto err; | 0 |
184 | if (!CBB_add_u16_length_prefixed(&cbb, &handshake))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
185 | goto err; never executed: goto err; | 0 |
186 | if (!CBB_add_u8(&handshake, SSL3_MT_CLIENT_HELLO))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
187 | goto err; never executed: goto err; | 0 |
188 | if (!CBB_add_u24_length_prefixed(&handshake, &client_hello))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
189 | goto err; never executed: goto err; | 0 |
190 | if (!CBB_add_u16(&client_hello, client_version))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
191 | goto err; never executed: goto err; | 0 |
192 | if (!CBB_add_bytes(&client_hello, client_random, SSL3_RANDOM_SIZE))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
193 | goto err; never executed: goto err; | 0 |
194 | if (!CBB_add_u8_length_prefixed(&client_hello, &session_id))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
195 | goto err; never executed: goto err; | 0 |
196 | if (!CBB_add_u16_length_prefixed(&client_hello, &cipher_suites))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
197 | goto err; never executed: goto err; | 0 |
198 | while (CBS_len(&cipher_specs) > 0) {TRUE | evaluated 81 times by 1 test | FALSE | evaluated 2 times by 1 test |
| 2-81 |
199 | if (!CBS_get_u24(&cipher_specs, &cipher_spec))TRUE | never evaluated | FALSE | evaluated 81 times by 1 test |
| 0-81 |
200 | goto err; never executed: goto err; | 0 |
201 | if ((cipher_spec & 0xff0000) != 0)TRUE | never evaluated | FALSE | evaluated 81 times by 1 test |
| 0-81 |
202 | continue; never executed: continue; | 0 |
203 | if (!CBB_add_u16(&cipher_suites, cipher_spec & 0xffff))TRUE | never evaluated | FALSE | evaluated 81 times by 1 test |
| 0-81 |
204 | goto err; never executed: goto err; | 0 |
205 | }executed 81 times by 1 test: end of block | 81 |
206 | if (!CBB_add_u8_length_prefixed(&client_hello, &compression))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
207 | goto err; never executed: goto err; | 0 |
208 | if (!CBB_add_u8(&compression, 0))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
209 | goto err; never executed: goto err; | 0 |
210 | if (!CBB_finish(&cbb, &data, &data_len))TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
211 | goto err; never executed: goto err; | 0 |
212 | | - |
213 | if (data_len > s->s3->rbuf.len)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
214 | goto err; never executed: goto err; | 0 |
215 | | - |
216 | s->internal->packet = s->s3->rbuf.buf; | - |
217 | s->internal->packet_length = data_len; | - |
218 | memcpy(s->internal->packet, data, data_len); | - |
219 | ret = 1; | - |
220 | | - |
221 | err:code before this statement executed 2 times by 1 test: err: | 2 |
222 | CBB_cleanup(&cbb); | - |
223 | free(client_random); | - |
224 | free(data); | - |
225 | | - |
226 | return (ret);executed 2 times by 1 test: return (ret); | 2 |
227 | } | - |
228 | | - |
229 | | - |
230 | | - |
231 | | - |
232 | | - |
233 | | - |
234 | int | - |
235 | ssl_server_legacy_first_packet(SSL *s) | - |
236 | { | - |
237 | uint16_t min_version; | - |
238 | const char *data; | - |
239 | CBS header; | - |
240 | | - |
241 | if (SSL_IS_DTLS(s))TRUE | never evaluated | FALSE | evaluated 54 times by 3 tests |
| 0-54 |
242 | return 1; never executed: return 1; | 0 |
243 | | - |
244 | CBS_init(&header, s->internal->packet, SSL3_RT_HEADER_LENGTH); | - |
245 | | - |
246 | if (ssl_is_sslv3_handshake(&header) == 1)TRUE | evaluated 52 times by 2 tests | FALSE | evaluated 2 times by 1 test |
| 2-52 |
247 | return 1;executed 52 times by 2 tests: return 1; | 52 |
248 | | - |
249 | | - |
250 | if (s->method->internal->min_version == s->method->internal->max_version)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
251 | return 1; never executed: return 1; | 0 |
252 | | - |
253 | if (ssl_is_sslv2_client_hello(&header) == 1) {TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
| 0-2 |
254 | | - |
255 | if (ssl_enabled_version_range(s, &min_version, NULL) != 1) {TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
256 | SSLerror(s, SSL_R_NO_PROTOCOLS_AVAILABLE); | - |
257 | return -1; never executed: return -1; | 0 |
258 | } | - |
259 | if (min_version > TLS1_VERSION)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
260 | return 1; never executed: return 1; | 0 |
261 | | - |
262 | if (ssl_convert_sslv2_client_hello(s) != 1) {TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
263 | SSLerror(s, SSL_R_BAD_PACKET_LENGTH); | - |
264 | return -1; never executed: return -1; | 0 |
265 | } | - |
266 | | - |
267 | return 1;executed 2 times by 1 test: return 1; | 2 |
268 | } | - |
269 | | - |
270 | | - |
271 | if (CBS_len(&header) != SSL3_RT_HEADER_LENGTH) {TRUE | never evaluated | FALSE | never evaluated |
| 0 |
272 | SSLerror(s, ERR_R_INTERNAL_ERROR); | - |
273 | return -1; never executed: return -1; | 0 |
274 | } | - |
275 | data = (const char *)CBS_data(&header); | - |
276 | | - |
277 | | - |
278 | if (strncmp("GET ", data, 4) == 0 || never executed: __result = (((const unsigned char *) (const char *) ( "GET " ))[3] - __s2[3]); never executed: end of block never executed: end of block never executed: __result = (((const unsigned char *) (const char *) ( data ))[3] - __s2[3]); never executed: end of block never executed: end of block TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | strncmp("POST ", data, 5) == 0 || never executed: __result = (((const unsigned char *) (const char *) ( "POST " ))[3] - __s2[3]); never executed: end of block never executed: end of block never executed: __result = (((const unsigned char *) (const char *) ( data ))[3] - __s2[3]); never executed: end of block never executed: end of block TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | strncmp("HEAD ", data, 5) == 0 || never executed: __result = (((const unsigned char *) (const char *) ( "HEAD " ))[3] - __s2[3]); never executed: end of block never executed: end of block never executed: __result = (((const unsigned char *) (const char *) ( data ))[3] - __s2[3]); never executed: end of block never executed: end of block TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | strncmp("PUT ", data, 4) == 0) { never executed: __result = (((const unsigned char *) (const char *) ( "PUT " ))[3] - __s2[3]); never executed: end of block never executed: end of block never executed: __result = (((const unsigned char *) (const char *) ( data ))[3] - __s2[3]); never executed: end of block never executed: end of block TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | SSLerror(s, SSL_R_HTTP_REQUEST); | - |
283 | return -1; never executed: return -1; | 0 |
284 | } | - |
285 | if (strncmp("CONNE", data, 5) == 0) { never executed: __result = (((const unsigned char *) (const char *) ( "CONNE" ))[3] - __s2[3]); never executed: end of block never executed: end of block never executed: __result = (((const unsigned char *) (const char *) ( data ))[3] - __s2[3]); never executed: end of block never executed: end of block TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | SSLerror(s, SSL_R_HTTPS_PROXY_REQUEST); | - |
287 | return -1; never executed: return -1; | 0 |
288 | } | - |
289 | | - |
290 | SSLerror(s, SSL_R_UNKNOWN_PROTOCOL); | - |
291 | | - |
292 | return -1; never executed: return -1; | 0 |
293 | } | - |
| | |