OpenCoverage

ssl_clnt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_clnt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16static int ca_dn_cmp(const X509_NAME * const *a, const X509_NAME * const *b);-
17-
18int-
19ssl3_connect(SSL *s)-
20{-
21 void (*cb)(const SSL *ssl, int type, int val) = -
22 ((void *)0)-
23 ;-
24 int ret = -1;-
25 int new_state, state, skip = 0;-
26-
27 ERR_clear_error();-
28 -
29(*__errno_location ()) -
30 = 0;-
31-
32 if (s->internal->info_callback !=
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
33 ((void *)0)
s->internal->i...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
34 )-
35 cb = s->internal->info_callback;
never executed: cb = s->internal->info_callback;
0
36 else if (s->ctx->internal->info_callback !=
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
37 ((void *)0)
s->ctx->intern...!= ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
38 )-
39 cb = s->ctx->internal->info_callback;
never executed: cb = s->ctx->internal->info_callback;
0
40-
41 s->internal->in_handshake++;-
42 if (!(SSL_state((s))&(0x1000|0x2000))
!(SSL_state((s...x1000|0x2000))Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
|| (
(SSL_state((s))&0x4000)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 1258 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
SSL_state((s))&0x4000)
(SSL_state((s))&0x4000)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 1258 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-1332
43 SSL_clear(s);
executed 74 times by 3 tests: SSL_clear(s);
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
44-
45 for (;;) {-
46 state = (s->s3->internal)->hs.state;-
47-
48 switch ((s->s3->internal)->hs.state) {-
49 case
never executed: case (0x04|(0x1000|0x2000)):
(0x04|(0x1000|0x2000)):
never executed: case (0x04|(0x1000|0x2000)):
0
50 s->internal->renegotiate = 1;-
51 (s->s3->internal)->hs.state = 0x1000;-
52 s->ctx->internal->stats.sess_connect_renegotiate++;-
53-
54 case
never executed: case 0x4000:
0x4000:
never executed: case 0x4000:
code before this statement never executed: case 0x4000:
0
55 case
never executed: case 0x1000:
0x1000:
never executed: case 0x1000:
0
56 case
executed 74 times by 3 tests: case 0x4000|0x1000:
Executed by:
  • clienttest
  • ssltest
  • tlstest
0x4000|0x1000:
executed 74 times by 3 tests: case 0x4000|0x1000:
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
57 case
never executed: case 0x03|0x1000:
0x03|0x1000:
never executed: case 0x03|0x1000:
0
58-
59 s->server = 0;-
60 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
61 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
62 )-
63 cb(s, 0x10, 1);
never executed: cb(s, 0x10, 1);
0
64-
65 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
12-62
66 if ((
(s->version & ...FEFF & 0xff00)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->version & 0xff00) != (0xFEFF & 0xff00)
(s->version & ...FEFF & 0xff00)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
0-12
67 SSL_error_internal(s, (4|64), __FILE__, 216);-
68 ret = -1;-
69 goto
never executed: goto end;
end;
never executed: goto end;
0
70 }-
71 }
executed 12 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
else {
12
72 if ((
(s->version & ...f00) != 0x0300Description
TRUEnever evaluated
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->version & 0xff00) != 0x0300
(s->version & ...f00) != 0x0300Description
TRUEnever evaluated
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-62
73 SSL_error_internal(s, (4|64), __FILE__, 222);-
74 ret = -1;-
75 goto
never executed: goto end;
end;
never executed: goto end;
0
76 }-
77 }
executed 62 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
62
78-
79-
80 s->internal->type = 0x1000;-
81-
82 if (!ssl3_setup_init_buffer(s)
!ssl3_setup_init_buffer(s)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
83 ret = -1;-
84 goto
never executed: goto end;
end;
never executed: goto end;
0
85 }-
86 if (!ssl3_setup_buffers(s)
!ssl3_setup_buffers(s)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
87 ret = -1;-
88 goto
never executed: goto end;
end;
never executed: goto end;
0
89 }-
90 if (!ssl_init_wbio_buffer(s, 0)
!ssl_init_wbio_buffer(s, 0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
91 ret = -1;-
92 goto
never executed: goto end;
end;
never executed: goto end;
0
93 }-
94-
95-
96-
97 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
12-62
98 if (!tls1_init_finished_mac(s)
!tls1_init_finished_mac(s)Description
TRUEnever evaluated
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-62
99 ret = -1;-
100 goto
never executed: goto end;
end;
never executed: goto end;
0
101 }-
102 }
executed 62 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
62
103-
104 (s->s3->internal)->hs.state = (0x110|0x1000);-
105 s->ctx->internal->stats.sess_connect++;-
106 s->internal->init_num = 0;-
107-
108 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
12-62
109-
110 memset(s->s3->client_random, 0,-
111 sizeof(s->s3->client_random));-
112 (s->d1->internal)->send_cookie = 0;-
113 s->internal->hit = 0;-
114 }
executed 12 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
12
115 break;
executed 74 times by 3 tests: break;
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
116-
117 case
executed 74 times by 3 tests: case (0x110|0x1000):
Executed by:
  • clienttest
  • ssltest
  • tlstest
(0x110|0x1000):
executed 74 times by 3 tests: case (0x110|0x1000):
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
118 case
never executed: case (0x111|0x1000):
(0x111|0x1000):
never executed: case (0x111|0x1000):
0
119 s->internal->shutdown = 0;-
120-
121 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
12-62
122-
123 if (!tls1_init_finished_mac(s)
!tls1_init_finished_mac(s)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
0-12
124 ret = -1;-
125 goto
never executed: goto end;
end;
never executed: goto end;
0
126 }-
127-
128 dtls1_start_timer(s);-
129 }
executed 12 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
12
130-
131 ret = ssl3_send_client_hello(s);-
132 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
133 goto
never executed: goto end;
end;
never executed: goto end;
0
134-
135 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
&& (
(s->d1->internal)->send_cookieDescription
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->d1->internal)->send_cookie
(s->d1->internal)->send_cookieDescription
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
0-62
136 (s->s3->internal)->hs.state = (0x100|0x1000);-
137 (s->s3->internal)->hs.next_state = (0x120|0x1000);-
138 }
never executed: end of block
else
0
139 (
executed 74 times by 3 tests: (s->s3->internal)->hs.state = (0x120|0x1000);
Executed by:
  • clienttest
  • ssltest
  • tlstest
s->s3->internal)->hs.state = (0x120|0x1000);
executed 74 times by 3 tests: (s->s3->internal)->hs.state = (0x120|0x1000);
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
140-
141 s->internal->init_num = 0;-
142-
143-
144 if (s->bbio != s->wbio
s->bbio != s->wbioDescription
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-74
145 s->wbio = BIO_push(s->bbio, s->wbio);
executed 74 times by 3 tests: s->wbio = BIO_push(s->bbio, s->wbio);
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
146-
147 break;
executed 74 times by 3 tests: break;
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
148-
149 case
executed 353 times by 3 tests: case (0x120|0x1000):
Executed by:
  • clienttest
  • ssltest
  • tlstest
(0x120|0x1000):
executed 353 times by 3 tests: case (0x120|0x1000):
Executed by:
  • clienttest
  • ssltest
  • tlstest
353
150 case
never executed: case (0x121|0x1000):
(0x121|0x1000):
never executed: case (0x121|0x1000):
0
151 ret = ssl3_get_server_hello(s);-
152 if (ret <= 0
ret <= 0Description
TRUEevaluated 290 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
63-290
153 goto
executed 290 times by 3 tests: goto end;
Executed by:
  • clienttest
  • ssltest
  • tlstest
end;
executed 290 times by 3 tests: goto end;
Executed by:
  • clienttest
  • ssltest
  • tlstest
290
154-
155 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
156 (s->s3->internal)->hs.state = (0x1D0|0x1000);-
157 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
158 if (s->internal->tlsext_ticket_expected
s->internal->t...icket_expectedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
159-
160 (s->s3->internal)->hs.state = (0x1E0|0x1000);-
161 }
never executed: end of block
0
162 }
never executed: end of block
0
163 }
never executed: end of block
else if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-52
164 (s->s3->internal)->hs.state = (0x126|0x1000);-
165 }
executed 11 times by 1 test: end of block
Executed by:
  • ssltest
else {
11
166 (s->s3->internal)->hs.state = (0x130|0x1000);-
167 }
executed 52 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
52
168 s->internal->init_num = 0;-
169 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
170-
171 case
executed 11 times by 1 test: case (0x126|0x1000):
Executed by:
  • ssltest
(0x126|0x1000):
executed 11 times by 1 test: case (0x126|0x1000):
Executed by:
  • ssltest
11
172 case
never executed: case (0x127|0x1000):
(0x127|0x1000):
never executed: case (0x127|0x1000):
0
173 ret = dtls1_get_hello_verify(s);-
174 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
)
0-11
175 goto
never executed: goto end;
end;
never executed: goto end;
0
176 dtls1_stop_timer(s);-
177 if ((
(s->d1->internal)->send_cookieDescription
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
s->d1->internal)->send_cookie
(s->d1->internal)->send_cookieDescription
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
)
0-11
178 (
never executed: (s->s3->internal)->hs.state = (0x110|0x1000);
s->s3->internal)->hs.state = (0x110|0x1000);
never executed: (s->s3->internal)->hs.state = (0x110|0x1000);
0
179 else-
180 (
executed 11 times by 1 test: (s->s3->internal)->hs.state = (0x130|0x1000);
Executed by:
  • ssltest
s->s3->internal)->hs.state = (0x130|0x1000);
executed 11 times by 1 test: (s->s3->internal)->hs.state = (0x130|0x1000);
Executed by:
  • ssltest
11
181 s->internal->init_num = 0;-
182 break;
executed 11 times by 1 test: break;
Executed by:
  • ssltest
11
183-
184 case
executed 225 times by 2 tests: case (0x130|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x130|0x1000):
executed 225 times by 2 tests: case (0x130|0x1000):
Executed by:
  • ssltest
  • tlstest
225
185 case
never executed: case (0x131|0x1000):
(0x131|0x1000):
never executed: case (0x131|0x1000):
0
186 ret = ssl3_check_finished(s);-
187 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 225 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-225
188 goto
never executed: goto end;
end;
never executed: goto end;
0
189 if (ret == 2
ret == 2Description
TRUEnever evaluated
FALSEevaluated 225 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-225
190 s->internal->hit = 1;-
191 if (s->internal->tlsext_ticket_expected
s->internal->t...icket_expectedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
192 (
never executed: (s->s3->internal)->hs.state = (0x1E0|0x1000);
s->s3->internal)->hs.state = (0x1E0|0x1000);
never executed: (s->s3->internal)->hs.state = (0x1E0|0x1000);
0
193 else-
194 (
never executed: (s->s3->internal)->hs.state = (0x1D0|0x1000);
s->s3->internal)->hs.state = (0x1D0|0x1000);
never executed: (s->s3->internal)->hs.state = (0x1D0|0x1000);
0
195 s->internal->init_num = 0;-
196 break;
never executed: break;
0
197 }-
198-
199 if (!((s->s3->internal)->hs.new_cipher->algorithm_auth &
!((s->s3->inte...& 0x00000004L)Description
TRUEevaluated 215 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
10-215
200 0x00000004L)
!((s->s3->inte...& 0x00000004L)Description
TRUEevaluated 215 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
) {
10-215
201 ret = ssl3_get_server_certificate(s);-
202 if (ret <= 0
ret <= 0Description
TRUEevaluated 162 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
53-162
203 goto
executed 162 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
end;
executed 162 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
162
204 if (s->internal->tlsext_status_expected
s->internal->t...tatus_expectedDescription
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-53
205 (
never executed: (s->s3->internal)->hs.state = (0x1F0|0x1000);
s->s3->internal)->hs.state = (0x1F0|0x1000);
never executed: (s->s3->internal)->hs.state = (0x1F0|0x1000);
0
206 else-
207 (
executed 53 times by 2 tests: (s->s3->internal)->hs.state = (0x140|0x1000);
Executed by:
  • ssltest
  • tlstest
s->s3->internal)->hs.state = (0x140|0x1000);
executed 53 times by 2 tests: (s->s3->internal)->hs.state = (0x140|0x1000);
Executed by:
  • ssltest
  • tlstest
53
208 } else {-
209 skip = 1;-
210 (s->s3->internal)->hs.state = (0x140|0x1000);-
211 }
executed 10 times by 1 test: end of block
Executed by:
  • ssltest
10
212 s->internal->init_num = 0;-
213 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
214-
215 case
executed 121 times by 2 tests: case (0x140|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x140|0x1000):
executed 121 times by 2 tests: case (0x140|0x1000):
Executed by:
  • ssltest
  • tlstest
121
216 case
never executed: case (0x141|0x1000):
(0x141|0x1000):
never executed: case (0x141|0x1000):
0
217 ret = ssl3_get_server_key_exchange(s);-
218 if (ret <= 0
ret <= 0Description
TRUEevaluated 58 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
58-63
219 goto
executed 58 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
end;
executed 58 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
58
220 (s->s3->internal)->hs.state = (0x150|0x1000);-
221 s->internal->init_num = 0;-
222-
223-
224-
225-
226-
227 if (!ssl3_check_cert_and_algorithm(s)
!ssl3_check_ce...d_algorithm(s)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
228 ret = -1;-
229 goto
never executed: goto end;
end;
never executed: goto end;
0
230 }-
231 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
232-
233 case
executed 63 times by 2 tests: case (0x150|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x150|0x1000):
executed 63 times by 2 tests: case (0x150|0x1000):
Executed by:
  • ssltest
  • tlstest
63
234 case
never executed: case (0x151|0x1000):
(0x151|0x1000):
never executed: case (0x151|0x1000):
0
235 ret = ssl3_get_certificate_request(s);-
236 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
237 goto
never executed: goto end;
end;
never executed: goto end;
0
238 (s->s3->internal)->hs.state = (0x160|0x1000);-
239 s->internal->init_num = 0;-
240 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
241-
242 case
executed 63 times by 2 tests: case (0x160|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x160|0x1000):
executed 63 times by 2 tests: case (0x160|0x1000):
Executed by:
  • ssltest
  • tlstest
63
243 case
never executed: case (0x161|0x1000):
(0x161|0x1000):
never executed: case (0x161|0x1000):
0
244 ret = ssl3_get_server_done(s);-
245 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
246 goto
never executed: goto end;
end;
never executed: goto end;
0
247 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
11-52
248 dtls1_stop_timer(s);
executed 11 times by 1 test: dtls1_stop_timer(s);
Executed by:
  • ssltest
11
249 if ((
(s->s3->intern...->tmp.cert_reqDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.cert_req
(s->s3->intern...->tmp.cert_reqDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
7-56
250 (
executed 7 times by 1 test: (s->s3->internal)->hs.state = (0x170|0x1000);
Executed by:
  • ssltest
s->s3->internal)->hs.state = (0x170|0x1000);
executed 7 times by 1 test: (s->s3->internal)->hs.state = (0x170|0x1000);
Executed by:
  • ssltest
7
251 else-
252 (
executed 56 times by 2 tests: (s->s3->internal)->hs.state = (0x180|0x1000);
Executed by:
  • ssltest
  • tlstest
s->s3->internal)->hs.state = (0x180|0x1000);
executed 56 times by 2 tests: (s->s3->internal)->hs.state = (0x180|0x1000);
Executed by:
  • ssltest
  • tlstest
56
253 s->internal->init_num = 0;-
254-
255 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
256-
257 case
executed 7 times by 1 test: case (0x170|0x1000):
Executed by:
  • ssltest
(0x170|0x1000):
executed 7 times by 1 test: case (0x170|0x1000):
Executed by:
  • ssltest
7
258 case
never executed: case (0x171|0x1000):
(0x171|0x1000):
never executed: case (0x171|0x1000):
0
259 case
never executed: case (0x172|0x1000):
(0x172|0x1000):
never executed: case (0x172|0x1000):
0
260 case
never executed: case (0x173|0x1000):
(0x173|0x1000):
never executed: case (0x173|0x1000):
0
261 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
)
2-5
262 dtls1_start_timer(s);
executed 2 times by 1 test: dtls1_start_timer(s);
Executed by:
  • ssltest
2
263 ret = ssl3_send_client_certificate(s);-
264 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
265 goto
never executed: goto end;
end;
never executed: goto end;
0
266 (s->s3->internal)->hs.state = (0x180|0x1000);-
267 s->internal->init_num = 0;-
268 break;
executed 7 times by 1 test: break;
Executed by:
  • ssltest
7
269-
270 case
executed 63 times by 2 tests: case (0x180|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x180|0x1000):
executed 63 times by 2 tests: case (0x180|0x1000):
Executed by:
  • ssltest
  • tlstest
63
271 case
never executed: case (0x181|0x1000):
(0x181|0x1000):
never executed: case (0x181|0x1000):
0
272 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
11-52
273 dtls1_start_timer(s);
executed 11 times by 1 test: dtls1_start_timer(s);
Executed by:
  • ssltest
11
274 ret = ssl3_send_client_key_exchange(s);-
275 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
276 goto
never executed: goto end;
end;
never executed: goto end;
0
277 if ((
(s->s3->intern....cert_req == 1Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.cert_req == 1
(s->s3->intern....cert_req == 1Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
7-56
278 (s->s3->internal)->hs.state = (0x190|0x1000);-
279 }
executed 7 times by 1 test: end of block
Executed by:
  • ssltest
else {
7
280 (s->s3->internal)->hs.state = (0x1A0|0x1000);-
281 (s->s3->internal)->change_cipher_spec = 0;-
282 }
executed 56 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
56
283 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
) {
11-52
284 if (s->s3->flags & 0x0010
s->s3->flags & 0x0010Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-52
285 (s->s3->internal)->hs.state = (0x1A0|0x1000);-
286 (s->s3->internal)->change_cipher_spec = 0;-
287 }
never executed: end of block
0
288 }
executed 52 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
52
289-
290 s->internal->init_num = 0;-
291 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
292-
293 case
executed 7 times by 1 test: case (0x190|0x1000):
Executed by:
  • ssltest
(0x190|0x1000):
executed 7 times by 1 test: case (0x190|0x1000):
Executed by:
  • ssltest
7
294 case
never executed: case (0x191|0x1000):
(0x191|0x1000):
never executed: case (0x191|0x1000):
0
295 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
)
2-5
296 dtls1_start_timer(s);
executed 2 times by 1 test: dtls1_start_timer(s);
Executed by:
  • ssltest
2
297 ret = ssl3_send_client_verify(s);-
298 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
299 goto
never executed: goto end;
end;
never executed: goto end;
0
300 (s->s3->internal)->hs.state = (0x1A0|0x1000);-
301 s->internal->init_num = 0;-
302 (s->s3->internal)->change_cipher_spec = 0;-
303 break;
executed 7 times by 1 test: break;
Executed by:
  • ssltest
7
304-
305 case
executed 63 times by 2 tests: case (0x1A0|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x1A0|0x1000):
executed 63 times by 2 tests: case (0x1A0|0x1000):
Executed by:
  • ssltest
  • tlstest
63
306 case
never executed: case (0x1A1|0x1000):
(0x1A1|0x1000):
never executed: case (0x1A1|0x1000):
0
307 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !s->internal->hit
!s->internal->hitDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
)
0-52
308 dtls1_start_timer(s);
executed 11 times by 1 test: dtls1_start_timer(s);
Executed by:
  • ssltest
11
309 ret = ssl3_send_change_cipher_spec(s,-
310 (0x1A0|0x1000), (0x1A1|0x1000));-
311 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
312 goto
never executed: goto end;
end;
never executed: goto end;
0
313-
314 (s->s3->internal)->hs.state = (0x1B0|0x1000);-
315 s->internal->init_num = 0;-
316-
317 s->session->cipher = (s->s3->internal)->hs.new_cipher;-
318 if (!tls1_setup_key_block(s)
!tls1_setup_key_block(s)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
319 ret = -1;-
320 goto
never executed: goto end;
end;
never executed: goto end;
0
321 }-
322-
323 if (!tls1_change_cipher_state(s,
!tls1_change_c..., (0x10|0x02))Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
324 (0x10|0x02))
!tls1_change_c..., (0x10|0x02))Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
325 ret = -1;-
326 goto
never executed: goto end;
end;
never executed: goto end;
0
327 }-
328-
329 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
11-52
330 dtls1_reset_seq_numbers(s, 0x02);
executed 11 times by 1 test: dtls1_reset_seq_numbers(s, 0x02);
Executed by:
  • ssltest
11
331-
332 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
333-
334 case
executed 63 times by 2 tests: case (0x1B0|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x1B0|0x1000):
executed 63 times by 2 tests: case (0x1B0|0x1000):
Executed by:
  • ssltest
  • tlstest
63
335 case
never executed: case (0x1B1|0x1000):
(0x1B1|0x1000):
never executed: case (0x1B1|0x1000):
0
336 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !s->internal->hit
!s->internal->hitDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
)
0-52
337 dtls1_start_timer(s);
executed 11 times by 1 test: dtls1_start_timer(s);
Executed by:
  • ssltest
11
338 ret = ssl3_send_finished(s, (0x1B0|0x1000),-
339 (0x1B1|0x1000), "client finished",-
340 15);-
341 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
342 goto
never executed: goto end;
end;
never executed: goto end;
0
343 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
)
11-52
344 s->s3->flags |= 0x0080;
executed 52 times by 2 tests: s->s3->flags |= 0x0080;
Executed by:
  • ssltest
  • tlstest
52
345 (s->s3->internal)->hs.state = (0x100|0x1000);-
346-
347-
348 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
349 (s->s3->internal)->hs.next_state = 0x03;-
350 }
never executed: end of block
else {
0
351-
352 if (s->internal->tlsext_ticket_expected
s->internal->t...icket_expectedDescription
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
)
4-59
353 (
executed 59 times by 1 test: (s->s3->internal)->hs.next_state = (0x1E0|0x1000);
Executed by:
  • ssltest
s->s3->internal)->hs.next_state =
executed 59 times by 1 test: (s->s3->internal)->hs.next_state = (0x1E0|0x1000);
Executed by:
  • ssltest
59
354 (0x1E0|0x1000);
executed 59 times by 1 test: (s->s3->internal)->hs.next_state = (0x1E0|0x1000);
Executed by:
  • ssltest
59
355 else-
356 (
executed 4 times by 1 test: (s->s3->internal)->hs.next_state = (0x1D0|0x1000);
Executed by:
  • tlstest
s->s3->internal)->hs.next_state =
executed 4 times by 1 test: (s->s3->internal)->hs.next_state = (0x1D0|0x1000);
Executed by:
  • tlstest
4
357 (0x1D0|0x1000);
executed 4 times by 1 test: (s->s3->internal)->hs.next_state = (0x1D0|0x1000);
Executed by:
  • tlstest
4
358 }-
359 s->internal->init_num = 0;-
360 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
361-
362 case
executed 682 times by 1 test: case (0x1E0|0x1000):
Executed by:
  • ssltest
(0x1E0|0x1000):
executed 682 times by 1 test: case (0x1E0|0x1000):
Executed by:
  • ssltest
682
363 case
never executed: case (0x1E1|0x1000):
(0x1E1|0x1000):
never executed: case (0x1E1|0x1000):
0
364 ret = ssl3_get_new_session_ticket(s);-
365 if (ret <= 0
ret <= 0Description
TRUEevaluated 623 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
)
59-623
366 goto
executed 623 times by 1 test: goto end;
Executed by:
  • ssltest
end;
executed 623 times by 1 test: goto end;
Executed by:
  • ssltest
623
367 (s->s3->internal)->hs.state = (0x1D0|0x1000);-
368 s->internal->init_num = 0;-
369 break;
executed 59 times by 1 test: break;
Executed by:
  • ssltest
59
370-
371 case
never executed: case (0x1F0|0x1000):
(0x1F0|0x1000):
never executed: case (0x1F0|0x1000):
0
372 case
never executed: case (0x1F1|0x1000):
(0x1F1|0x1000):
never executed: case (0x1F1|0x1000):
0
373 ret = ssl3_get_cert_status(s);-
374 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
375 goto
never executed: goto end;
end;
never executed: goto end;
0
376 (s->s3->internal)->hs.state = (0x140|0x1000);-
377 s->internal->init_num = 0;-
378 break;
never executed: break;
0
379-
380 case
executed 67 times by 2 tests: case (0x1D0|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x1D0|0x1000):
executed 67 times by 2 tests: case (0x1D0|0x1000):
Executed by:
  • ssltest
  • tlstest
67
381 case
never executed: case (0x1D1|0x1000):
(0x1D1|0x1000):
never executed: case (0x1D1|0x1000):
0
382 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
11-56
383 (
executed 11 times by 1 test: (s->d1->internal)->change_cipher_spec_ok = 1;
Executed by:
  • ssltest
s->d1->internal)->change_cipher_spec_ok = 1;
executed 11 times by 1 test: (s->d1->internal)->change_cipher_spec_ok = 1;
Executed by:
  • ssltest
11
384 else-
385 s->s3->flags |= 0x0080;
executed 56 times by 2 tests: s->s3->flags |= 0x0080;
Executed by:
  • ssltest
  • tlstest
56
386 ret = ssl3_get_finished(s, (0x1D0|0x1000),-
387 (0x1D1|0x1000));-
388 if (ret <= 0
ret <= 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
4-63
389 goto
executed 4 times by 1 test: goto end;
Executed by:
  • tlstest
end;
executed 4 times by 1 test: goto end;
Executed by:
  • tlstest
4
390 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
11-52
391 dtls1_stop_timer(s);
executed 11 times by 1 test: dtls1_stop_timer(s);
Executed by:
  • ssltest
11
392-
393 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
394 (
never executed: (s->s3->internal)->hs.state = (0x1A0|0x1000);
s->s3->internal)->hs.state = (0x1A0|0x1000);
never executed: (s->s3->internal)->hs.state = (0x1A0|0x1000);
0
395 else-
396 (
executed 63 times by 2 tests: (s->s3->internal)->hs.state = 0x03;
Executed by:
  • ssltest
  • tlstest
s->s3->internal)->hs.state = 0x03;
executed 63 times by 2 tests: (s->s3->internal)->hs.state = 0x03;
Executed by:
  • ssltest
  • tlstest
63
397 s->internal->init_num = 0;-
398 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
399-
400 case
executed 195 times by 2 tests: case (0x100|0x1000):
Executed by:
  • ssltest
  • tlstest
(0x100|0x1000):
executed 195 times by 2 tests: case (0x100|0x1000):
Executed by:
  • ssltest
  • tlstest
195
401 s->internal->rwstate = 2;-
402 if ((
(int)BIO_ctrl(...id *)0) ) <= 0Description
TRUEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
int)BIO_ctrl(s->wbio,11,0,
(int)BIO_ctrl(...id *)0) ) <= 0Description
TRUEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
63-132
403 ((void *)0)
(int)BIO_ctrl(...id *)0) ) <= 0Description
TRUEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
63-132
404 ) <= 0
(int)BIO_ctrl(...id *)0) ) <= 0Description
TRUEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
63-132
405 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEnever evaluated
FALSEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEnever evaluated
FALSEevaluated 132 times by 1 test
Evaluated by:
  • ssltest
) {
0-132
406-
407 if (!BIO_test_flags(s->wbio, 0x08)
!BIO_test_flags(s->wbio, 0x08)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
408 s->internal->rwstate = 1;-
409 (s->s3->internal)->hs.state = (s->s3->internal)->hs.next_state;-
410 }
never executed: end of block
0
411 }
never executed: end of block
0
412 ret = -1;-
413 goto
executed 132 times by 1 test: goto end;
Executed by:
  • ssltest
end;
executed 132 times by 1 test: goto end;
Executed by:
  • ssltest
132
414 }-
415 s->internal->rwstate = 1;-
416 (s->s3->internal)->hs.state = (s->s3->internal)->hs.next_state;-
417 break;
executed 63 times by 2 tests: break;
Executed by:
  • ssltest
  • tlstest
63
418-
419 case
executed 63 times by 2 tests: case 0x03:
Executed by:
  • ssltest
  • tlstest
0x03:
executed 63 times by 2 tests: case 0x03:
Executed by:
  • ssltest
  • tlstest
63
420-
421 tls1_cleanup_key_block(s);-
422-
423 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
) {
11-52
424 BUF_MEM_free(s->internal->init_buf);-
425 s->internal->init_buf = -
426 ((void *)0)-
427 ;-
428 }
executed 52 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
52
429-
430 ssl_free_wbio_buffer(s);-
431-
432 s->internal->init_num = 0;-
433 s->internal->renegotiate = 0;-
434 s->internal->new_session = 0;-
435-
436 ssl_update_cache(s, 0x0001);-
437 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
438 s->ctx->internal->stats.sess_hit++;
never executed: s->ctx->internal->stats.sess_hit++;
0
439-
440 ret = 1;-
441-
442 s->internal->handshake_func = ssl3_connect;-
443 s->ctx->internal->stats.sess_connect_good++;-
444-
445 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
446 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
447 )-
448 cb(s, 0x20, 1);
never executed: cb(s, 0x20, 1);
0
449-
450 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
11-52
451-
452 (s->d1->internal)->handshake_read_seq = 0;-
453 (s->d1->internal)->next_handshake_write_seq = 0;-
454 }
executed 11 times by 1 test: end of block
Executed by:
  • ssltest
11
455-
456 goto
executed 63 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
end;
executed 63 times by 2 tests: goto end;
Executed by:
  • ssltest
  • tlstest
63
457-
458-
459 default
never executed: default:
:
never executed: default:
0
460 SSL_error_internal(s, 255, __FILE__, 619);-
461 ret = -1;-
462 goto
never executed: goto end;
end;
never executed: goto end;
0
463-
464 }-
465-
466-
467 if (!(s->s3->internal)->tmp.reuse_message
!(s->s3->inter....reuse_messageDescription
TRUEevaluated 781 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 81 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !skip
!skipDescription
TRUEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
) {
10-781
468 if (s->internal->debug
s->internal->debugDescription
TRUEnever evaluated
FALSEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-771
469 if ((
(ret = (int)BI...d *)0) )) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
ret = (int)BIO_ctrl(s->wbio,11,0,
(ret = (int)BI...d *)0) )) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
470 ((void *)0)
(ret = (int)BI...d *)0) )) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
471 )) <= 0
(ret = (int)BI...d *)0) )) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
472 goto
never executed: goto end;
end;
never executed: goto end;
0
473 }
never executed: end of block
0
474-
475 if ((
(cb != ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
cb !=
(cb != ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-771
476 ((void *)0)
(cb != ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-771
477 )
(cb != ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 771 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
&& ((
((s->s3->inter...tate != state)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->hs.state != state)
((s->s3->inter...tate != state)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-771
478 new_state = (s->s3->internal)->hs.state;-
479 (s->s3->internal)->hs.state = state;-
480 cb(s, (0x1000|0x01), 1);-
481 (s->s3->internal)->hs.state = new_state;-
482 }
never executed: end of block
0
483 }
executed 771 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
771
484 skip = 0;-
485 }
executed 862 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
862
486-
487end:
code before this statement never executed: end:
0
488 s->internal->in_handshake--;-
489 if (cb !=
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
490 ((void *)0)
cb != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1332 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-1332
491 )-
492 cb(s, (0x1000|0x02), ret);
never executed: cb(s, (0x1000|0x02), ret);
0
493-
494 return
executed 1332 times by 3 tests: return (ret);
Executed by:
  • clienttest
  • ssltest
  • tlstest
(ret);
executed 1332 times by 3 tests: return (ret);
Executed by:
  • clienttest
  • ssltest
  • tlstest
1332
495}-
496-
497int-
498ssl3_send_client_hello(SSL *s)-
499{-
500 CBB cbb, client_hello, session_id, cookie, cipher_suites;-
501 CBB compression_methods;-
502 uint16_t max_version;-
503 size_t sl;-
504-
505 memset(&cbb, 0, sizeof(cbb));-
506-
507 if ((
(s->s3->intern...(0x110|0x1000)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
s->s3->internal)->hs.state == (0x110|0x1000)
(s->s3->intern...(0x110|0x1000)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-74
508 SSL_SESSION *sess = s->session;-
509-
510 if (ssl_supported_version_range(s,
ssl_supported_..._version) != 1Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
511 ((void *)0)
ssl_supported_..._version) != 1Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
512 , &max_version) != 1
ssl_supported_..._version) != 1Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
513 SSL_error_internal(s, 191, __FILE__, 664);-
514 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
515 }-
516 s->client_version = s->version = max_version;-
517-
518 if (sess ==
sess == ((void *)0)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
0-74
519 ((void *)0)
sess == ((void *)0)Description
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
0-74
520 ||-
521 sess->ssl_version != s->version
sess->ssl_vers... != s->versionDescription
TRUEnever evaluated
FALSEnever evaluated
||
0
522 (!sess->session_id_length
!sess->session_id_lengthDescription
TRUEnever evaluated
FALSEnever evaluated
&& !sess->tlsext_tick
!sess->tlsext_tickDescription
TRUEnever evaluated
FALSEnever evaluated
) ||
0
523 sess->internal->not_resumable
sess->internal->not_resumableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
524 if (!ssl_get_new_session(s, 0)
!ssl_get_new_session(s, 0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
525 goto
never executed: goto err;
err;
never executed: goto err;
0
526 }
executed 74 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
527-
528-
529-
530-
531-
532-
533-
534 if (!(s->method->internal->version == 0xFEFF)
!(s->method->i...ion == 0xFEFF)Description
TRUEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
|| (
(s->d1->intern...nd_cookie == 0Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEnever evaluated
s->d1->internal)->send_cookie == 0
(s->d1->intern...nd_cookie == 0Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEnever evaluated
)
0-62
535 arc4random_buf(s->s3->client_random, 32);
executed 74 times by 3 tests: arc4random_buf(s->s3->client_random, 32);
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
536-
537 if (!ssl3_handshake_msg_start(s, &cbb, &client_hello,
!ssl3_handshak...ient_hello, 1)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
538 1)
!ssl3_handshak...ient_hello, 1)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
539 goto
never executed: goto err;
err;
never executed: goto err;
0
540 if (!CBB_add_u16(&client_hello, s->client_version)
!CBB_add_u16(&...lient_version)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
541 goto
never executed: goto err;
err;
never executed: goto err;
0
542-
543-
544 if (!CBB_add_bytes(&client_hello, s->s3->client_random,
!CBB_add_bytes...lient_random))Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
545 sizeof(s->s3->client_random))
!CBB_add_bytes...lient_random))Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
546 goto
never executed: goto err;
err;
never executed: goto err;
0
547-
548-
549 if (!CBB_add_u8_length_prefixed(&client_hello, &session_id)
!CBB_add_u8_le..., &session_id)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
550 goto
never executed: goto err;
err;
never executed: goto err;
0
551 if (!s->internal->new_session
!s->internal->new_sessionDescription
TRUEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEnever evaluated
&&
0-74
552 s->session->session_id_length > 0
s->session->se..._id_length > 0Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
553 sl = s->session->session_id_length;-
554 if (sl > sizeof(s->session->session_id)
sl > sizeof(s-...n->session_id)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
555 SSL_error_internal(s, (4|64), __FILE__, 735);-
556 goto
never executed: goto err;
err;
never executed: goto err;
0
557 }-
558 if (!CBB_add_bytes(&session_id,
!CBB_add_bytes...ession_id, sl)Description
TRUEnever evaluated
FALSEnever evaluated
0
559 s->session->session_id, sl)
!CBB_add_bytes...ession_id, sl)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
560 goto
never executed: goto err;
err;
never executed: goto err;
0
561 }
never executed: end of block
0
562-
563-
564 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
FALSEevaluated 62 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
12-62
565 if ((
(s->d1->intern...rnal)->cookie)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
s->d1->internal)->cookie_len > sizeof((s->d1->internal)->cookie)
(s->d1->intern...rnal)->cookie)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
) {
0-12
566 SSL_error_internal(s, (4|64), __FILE__, 746);-
567 goto
never executed: goto err;
err;
never executed: goto err;
0
568 }-
569 if (!CBB_add_u8_length_prefixed(&client_hello, &cookie)
!CBB_add_u8_le...ello, &cookie)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
)
0-12
570 goto
never executed: goto err;
err;
never executed: goto err;
0
571 if (!CBB_add_bytes(&cookie, (s->d1->internal)->cookie,
!CBB_add_bytes...)->cookie_len)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
0-12
572 (s->d1->internal)->cookie_len)
!CBB_add_bytes...)->cookie_len)Description
TRUEnever evaluated
FALSEevaluated 12 times by 2 tests
Evaluated by:
  • clienttest
  • ssltest
)
0-12
573 goto
never executed: goto err;
err;
never executed: goto err;
0
574 }
executed 12 times by 2 tests: end of block
Executed by:
  • clienttest
  • ssltest
12
575-
576-
577 if (!CBB_add_u16_length_prefixed(&client_hello, &cipher_suites)
!CBB_add_u16_l...cipher_suites)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
578 return
never executed: return 0;
0;
never executed: return 0;
0
579 if (!ssl_cipher_list_to_bytes(s, SSL_get_ciphers(s),
!ssl_cipher_li...cipher_suites)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
580 &cipher_suites)
!ssl_cipher_li...cipher_suites)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
581 SSL_error_internal(s, 181, __FILE__, 761);-
582 goto
never executed: goto err;
err;
never executed: goto err;
0
583 }-
584-
585-
586 if (!CBB_add_u8_length_prefixed(&client_hello,
!CBB_add_u8_le...ssion_methods)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
0-74
587 &compression_methods)
!CBB_add_u8_le...ssion_methods)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
588 goto
never executed: goto err;
err;
never executed: goto err;
0
589 if (!CBB_add_u8(&compression_methods, 0)
!CBB_add_u8(&c...on_methods, 0)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
590 goto
never executed: goto err;
err;
never executed: goto err;
0
591-
592-
593 if (!tlsext_clienthello_build(s, &client_hello)
!tlsext_client...&client_hello)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
) {
0-74
594 SSL_error_internal(s, (4|64), __FILE__, 774);-
595 goto
never executed: goto err;
err;
never executed: goto err;
0
596 }-
597-
598 if (!ssl3_handshake_msg_finish(s, &cbb)
!ssl3_handshak...inish(s, &cbb)Description
TRUEnever evaluated
FALSEevaluated 74 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
)
0-74
599 goto
never executed: goto err;
err;
never executed: goto err;
0
600-
601 (s->s3->internal)->hs.state = (0x111|0x1000);-
602 }
executed 74 times by 3 tests: end of block
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
603-
604-
605 return
executed 74 times by 3 tests: return (ssl3_handshake_write(s));
Executed by:
  • clienttest
  • ssltest
  • tlstest
(ssl3_handshake_write(s));
executed 74 times by 3 tests: return (ssl3_handshake_write(s));
Executed by:
  • clienttest
  • ssltest
  • tlstest
74
606-
607err:-
608 CBB_cleanup(&cbb);-
609-
610 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
611}-
612-
613int-
614ssl3_get_server_hello(SSL *s)-
615{-
616 CBS cbs, server_random, session_id;-
617 uint16_t server_version, cipher_suite;-
618 uint16_t min_version, max_version;-
619 uint8_t compression_method;-
620 struct stack_st_SSL_CIPHER *sk;-
621 const SSL_CIPHER *cipher;-
622 const SSL_METHOD *method;-
623 unsigned long alg_k;-
624 size_t outlen;-
625 int i, al, ok;-
626 long n;-
627-
628 s->internal->first_packet = 1;-
629 n = s->method->internal->ssl_get_message(s, (0x120|0x1000),-
630 (0x121|0x1000), -1, 20000, &ok);-
631 if (!ok
!okDescription
TRUEevaluated 290 times by 3 tests
Evaluated by:
  • clienttest
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
63-290
632 return
executed 290 times by 3 tests: return ((int)n);
Executed by:
  • clienttest
  • ssltest
  • tlstest
((int)n);
executed 290 times by 3 tests: return ((int)n);
Executed by:
  • clienttest
  • ssltest
  • tlstest
290
633 s->internal->first_packet = 0;-
634-
635 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
636 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
637-
638 CBS_init(&cbs, s->internal->init_msg, n);-
639-
640 if ((
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->method->internal->version == 0xFEFF)
(s->method->in...ion == 0xFEFF)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
11-52
641 if ((
(s->s3->intern...sage_type == 3Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->tmp.message_type == 3
(s->s3->intern...sage_type == 3Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
) {
0-11
642 if ((
(s->d1->intern...nd_cookie == 0Description
TRUEnever evaluated
FALSEnever evaluated
s->d1->internal)->send_cookie == 0
(s->d1->intern...nd_cookie == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
643 (s->s3->internal)->tmp.reuse_message = 1;-
644 return
never executed: return (1);
(1);
never executed: return (1);
0
645 } else {-
646-
647 al = 10;-
648 SSL_error_internal(s, 114, __FILE__, 828);-
649 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
650 }-
651 }-
652 }
executed 11 times by 1 test: end of block
Executed by:
  • ssltest
11
653-
654 if ((
(s->s3->intern...sage_type != 2Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.message_type != 2
(s->s3->intern...sage_type != 2Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
655 al = 10;-
656 SSL_error_internal(s, 114, __FILE__, 836);-
657 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
658 }-
659-
660 if (!CBS_get_u16(&cbs, &server_version)
!CBS_get_u16(&...erver_version)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
661 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
662-
663 if (ssl_supported_version_range(s, &min_version, &max_version) != 1
ssl_supported_..._version) != 1Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
664 SSL_error_internal(s, 191, __FILE__, 844);-
665 goto
never executed: goto err;
err;
never executed: goto err;
0
666 }-
667-
668 if (server_version < min_version
server_version < min_versionDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
|| server_version > max_version
server_version > max_versionDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
669 SSL_error_internal(s, 266, __FILE__, 849);-
670 s->version = (s->version & 0xff00) | (server_version & 0xff);-
671 al = 70;-
672 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
673 }-
674 s->version = server_version;-
675-
676 if ((
(method = tls1...== ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
method = tls1_get_client_method(server_version)) ==
(method = tls1...== ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
11-52
677 ((void *)0)
(method = tls1...== ((void *)0)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
11-52
678 )-
679 method = dtls1_get_client_method(server_version);
executed 11 times by 1 test: method = dtls1_get_client_method(server_version);
Executed by:
  • ssltest
11
680 if (method ==
method == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
681 ((void *)0)
method == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
682 ) {-
683 SSL_error_internal(s, (4|64), __FILE__, 859);-
684 goto
never executed: goto err;
err;
never executed: goto err;
0
685 }-
686 s->method = method;-
687-
688-
689 if (!CBS_get_bytes(&cbs, &server_random, 32)
!CBS_get_bytes...er_random, 32)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
690 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
691 if (!CBS_write_bytes(&server_random, s->s3->server_random,
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
692 sizeof(s->s3->server_random),
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
693 ((void *)0)
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
694 )
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
695 goto
never executed: goto err;
err;
never executed: goto err;
0
696-
697-
698 if (!CBS_get_u8_length_prefixed(&cbs, &session_id)
!CBS_get_u8_le..., &session_id)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
699 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
700-
701 if ((
(CBS_len(&sess...->session_id))Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
CBS_len(&session_id) > sizeof(s->session->session_id))
(CBS_len(&sess...->session_id))Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-63
702 (
(CBS_len(&session_id) > 32)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
CBS_len(&session_id) > 32)
(CBS_len(&session_id) > 32)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
703 al = 47;-
704 SSL_error_internal(s, 300, __FILE__, 878);-
705 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
706 }-
707-
708-
709 if (!CBS_get_u16(&cbs, &cipher_suite)
!CBS_get_u16(&...&cipher_suite)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
710 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
711-
712-
713-
714-
715-
716 if (s->internal->tls_session_secret_cb
s->internal->t...sion_secret_cbDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
717 SSL_CIPHER *pref_cipher = -
718 ((void *)0)-
719 ;-
720 s->session->master_key_length = sizeof(s->session->master_key);-
721 if (s->internal->tls_session_secret_cb(s, s->session->master_key,
s->internal->t...secret_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
722 &s->session->master_key_length,
s->internal->t...secret_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
723 ((void *)0)
s->internal->t...secret_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
724 , &pref_cipher,
s->internal->t...secret_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
0
725 s->internal->tls_session_secret_cb_arg)
s->internal->t...secret_cb_arg)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
726 s->session->cipher = pref_cipher
pref_cipherDescription
TRUEnever evaluated
FALSEnever evaluated
? pref_cipher :
0
727 ssl3_get_cipher_by_value(cipher_suite);-
728 s->s3->flags |= 0x0080;-
729 }
never executed: end of block
0
730 }
never executed: end of block
0
731-
732 if (s->session->session_id_length != 0
s->session->se...id_length != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
0-63
733 CBS_mem_equal(&session_id, s->session->session_id,
CBS_mem_equal(...ion_id_length)Description
TRUEnever evaluated
FALSEnever evaluated
0
734 s->session->session_id_length)
CBS_mem_equal(...ion_id_length)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
735 if (s->sid_ctx_length != s->session->sid_ctx_length
s->sid_ctx_len...sid_ctx_lengthDescription
TRUEnever evaluated
FALSEnever evaluated
||
0
736 timingsafe_memcmp(s->session->sid_ctx,
timingsafe_mem...x_length) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
737 s->sid_ctx, s->sid_ctx_length) != 0
timingsafe_mem...x_length) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
738-
739 al = 47;-
740 SSL_error_internal(s, 272, __FILE__, 910);-
741 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
742 }-
743 s->s3->flags |= 0x0080;-
744 s->internal->hit = 1;-
745 }
never executed: end of block
else {
0
746-
747-
748-
749-
750 s->internal->hit = 0;-
751 if (s->session->session_id_length > 0
s->session->se..._id_length > 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
752 if (!ssl_get_new_session(s, 0)
!ssl_get_new_session(s, 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
753 al = 80;-
754 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
755 }-
756 }
never executed: end of block
0
757-
758-
759-
760-
761-
762 if (!CBS_write_bytes(&session_id, s->session->session_id,
!CBS_write_byt..._id), &outlen)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
763 sizeof(s->session->session_id), &outlen)
!CBS_write_byt..._id), &outlen)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
764 goto
never executed: goto err;
err;
never executed: goto err;
0
765 s->session->session_id_length = outlen;-
766-
767 s->session->ssl_version = s->version;-
768 }
executed 63 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
63
769-
770 if ((
(cipher = ssl3...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
cipher = ssl3_get_cipher_by_value(cipher_suite)) ==
(cipher = ssl3...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
771 ((void *)0)
(cipher = ssl3...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
772 ) {-
773 al = 47;-
774 SSL_error_internal(s, 248, __FILE__, 942);-
775 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
776 }-
777-
778-
779 if ((
(cipher->algor...& 0x00000004L)Description
TRUEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
cipher->algorithm_ssl & 0x00000004L)
(cipher->algor...& 0x00000004L)Description
TRUEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
&&
29-34
780 (((
(((s->version ...: 0) < 0x0303)Description
TRUEnever evaluated
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->version >> 8) == 0x03 ? s->version : 0) < 0x0303)
(((s->version ...: 0) < 0x0303)Description
TRUEnever evaluated
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-34
781 al = 47;-
782 SSL_error_internal(s, 261, __FILE__, 950);-
783 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
784 }-
785-
786 sk = ssl_get_ciphers_by_id(s);-
787 i = sk_find(((_STACK*) (1 ? (sk) : (struct stack_st_SSL_CIPHER*)0)), ((void*) (1 ? (cipher) : (SSL_CIPHER*)0)));-
788 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
789-
790 al = 47;-
791 SSL_error_internal(s, 261, __FILE__, 959);-
792 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
793 }-
794-
795-
796-
797-
798-
799-
800 if (s->session->cipher
s->session->cipherDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
801 s->session->cipher_id = s->session->cipher->id;
never executed: s->session->cipher_id = s->session->cipher->id;
0
802 if (s->internal->hit
s->internal->hitDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& (
(s->session->c...!= cipher->id)Description
TRUEnever evaluated
FALSEnever evaluated
s->session->cipher_id != cipher->id)
(s->session->c...!= cipher->id)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-63
803 al = 47;-
804 SSL_error_internal(s, 197, __FILE__, 972);-
805 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
806 }-
807 (s->s3->internal)->hs.new_cipher = cipher;-
808-
809 if (!tls1_handshake_hash_init(s)
!tls1_handshake_hash_init(s)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
810 goto
never executed: goto err;
err;
never executed: goto err;
0
811-
812-
813-
814-
815-
816 alg_k = (s->s3->internal)->hs.new_cipher->algorithm_mkey;-
817 if (!((
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->ssl3_enc->enc_flags & (1 << 1))
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 34 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
|| (
(alg_k & 0x00000200L)Description
TRUEnever evaluated
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
alg_k & 0x00000200L)
(alg_k & 0x00000200L)Description
TRUEnever evaluated
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
) &&
0-34
818 !tls1_digest_cached_records(s)
!tls1_digest_cached_records(s)Description
TRUEnever evaluated
FALSEevaluated 29 times by 1 test
Evaluated by:
  • ssltest
) {
0-29
819 al = 80;-
820 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
821 }-
822-
823 if (!CBS_get_u8(&cbs, &compression_method)
!CBS_get_u8(&c...ession_method)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
824 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
825-
826 if (compression_method != 0
compression_method != 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
827 al = 47;-
828 SSL_error_internal(s, 257, __FILE__, 996);-
829 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
830 }-
831-
832 if (!tlsext_serverhello_parse(s, &cbs, &al)
!tlsext_server...(s, &cbs, &al)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
833 SSL_error_internal(s, 227, __FILE__, 1001);-
834 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
835 }-
836 if (!(s->s3->internal)->renegotiate_seen
!(s->s3->inter...negotiate_seenDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
0-63
837 !(s->internal->options & 0x00000004L)
!(s->internal-...& 0x00000004L)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
838 al = 40;-
839 SSL_error_internal(s, 338, __FILE__, 1016);-
840 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
841 }-
842-
843 if (ssl_check_serverhello_tlsext(s) <= 0
ssl_check_serv...tlsext(s) <= 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
844 SSL_error_internal(s, 275, __FILE__, 1021);-
845 goto
never executed: goto err;
err;
never executed: goto err;
0
846 }-
847-
848 return
executed 63 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 63 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
63
849-
850truncated:-
851-
852 al = 50;-
853 SSL_error_internal(s, 115, __FILE__, 1030);-
854f_err:
code before this statement never executed: f_err:
0
855 ssl3_send_alert(s, 2, al);-
856err:
code before this statement never executed: err:
0
857 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
858}-
859-
860int-
861ssl3_get_server_certificate(SSL *s)-
862{-
863 int al, i, ok, ret = -1;-
864 long n;-
865 CBS cbs, cert_list;-
866 X509 *x = -
867 ((void *)0)-
868 ;-
869 const unsigned char *q;-
870 struct stack_st_X509 *sk = -
871 ((void *)0)-
872 ;-
873 SESS_CERT *sc;-
874 EVP_PKEY *pkey = -
875 ((void *)0)-
876 ;-
877-
878 n = s->method->internal->ssl_get_message(s, (0x130|0x1000),-
879 (0x131|0x1000), -1, s->internal->max_cert_list, &ok);-
880-
881 if (!ok
!okDescription
TRUEevaluated 162 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
53-162
882 return
executed 162 times by 2 tests: return ((int)n);
Executed by:
  • ssltest
  • tlstest
((int)n);
executed 162 times by 2 tests: return ((int)n);
Executed by:
  • ssltest
  • tlstest
162
883-
884 if ((
(s->s3->intern...age_type == 12Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.message_type == 12
(s->s3->intern...age_type == 12Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
885 (s->s3->internal)->tmp.reuse_message = 1;-
886 return
never executed: return (1);
(1);
never executed: return (1);
0
887 }-
888-
889 if ((
(s->s3->intern...age_type != 11Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.message_type != 11
(s->s3->intern...age_type != 11Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
890 al = 10;-
891 SSL_error_internal(s, 114, __FILE__, 1062);-
892 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
893 }-
894-
895-
896 if ((
(sk = ((struct...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
sk = ((struct stack_st_X509 *)sk_new_null())) ==
(sk = ((struct...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
897 ((void *)0)
(sk = ((struct...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
898 ) {-
899 SSL_error_internal(s, (1|64), __FILE__, 1068);-
900 goto
never executed: goto err;
err;
never executed: goto err;
0
901 }-
902-
903 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-53
904 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
905-
906 CBS_init(&cbs, s->internal->init_msg, n);-
907 if (CBS_len(&cbs) < 3
CBS_len(&cbs) < 3Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-53
908 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
909-
910 if (!CBS_get_u24_length_prefixed(&cbs, &cert_list)
!CBS_get_u24_l...s, &cert_list)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-53
911 CBS_len(&cbs) != 0
CBS_len(&cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
912 al = 50;-
913 SSL_error_internal(s, 159, __FILE__, 1082);-
914 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
915 }-
916-
917 while (CBS_len(&cert_list) > 0
CBS_len(&cert_list) > 0Description
TRUEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
53-73
918 CBS cert;-
919-
920 if (CBS_len(&cert_list) < 3
CBS_len(&cert_list) < 3Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-73
921 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
922 if (!CBS_get_u24_length_prefixed(&cert_list, &cert)
!CBS_get_u24_l...t_list, &cert)Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-73
923 al = 50;-
924 SSL_error_internal(s, 135, __FILE__, 1093);-
925 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
926 }-
927-
928 q = CBS_data(&cert);-
929 x = d2i_X509(-
930 ((void *)0)-
931 , &q, CBS_len(&cert));-
932 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-73
933 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-73
934 ) {-
935 al = 42;-
936 SSL_error_internal(s, 13, __FILE__, 1101);-
937 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
938 }-
939 if (q != CBS_data(&cert) + CBS_len(&cert)
q != CBS_data(...CBS_len(&cert)Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-73
940 al = 50;-
941 SSL_error_internal(s, 135, __FILE__, 1106);-
942 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
943 }-
944 if (!sk_push(((_STACK*) (1 ? (sk) : (struct stack_st_X509*)0)), ((void*) (1 ? (x) : (X509*)0)))
!sk_push(((_ST... : (X509*)0)))Description
TRUEnever evaluated
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-73
945 SSL_error_internal(s, (1|64), __FILE__, 1110);-
946 goto
never executed: goto err;
err;
never executed: goto err;
0
947 }-
948 x = -
949 ((void *)0)-
950 ;-
951 }
executed 73 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
73
952-
953 i = ssl_verify_cert_chain(s, sk);-
954 if ((
(s->verify_mode != 0x00)Description
TRUEevaluated 11 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 42 times by 1 test
Evaluated by:
  • ssltest
s->verify_mode != 0x00)
(s->verify_mode != 0x00)Description
TRUEevaluated 11 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 42 times by 1 test
Evaluated by:
  • ssltest
&& (
(i <= 0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
i <= 0)
(i <= 0)Description
TRUEnever evaluated
FALSEevaluated 11 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-42
955 al = ssl_verify_alarm_type(s->verify_result);-
956 SSL_error_internal(s, 134, __FILE__, 1119);-
957 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
958-
959 }-
960 ERR_clear_error();-
961-
962 sc = ssl_sess_cert_new();-
963 if (sc ==
sc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
964 ((void *)0)
sc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
965 )-
966 goto
never executed: goto err;
err;
never executed: goto err;
0
967 ssl_sess_cert_free((s->session->internal)->sess_cert);-
968 (s->session->internal)->sess_cert = sc;-
969-
970 sc->cert_chain = sk;-
971-
972-
973-
974-
975 x = ((X509 *)sk_value(((_STACK*) (1 ? (sk) : (struct stack_st_X509*)0)), (0)));-
976 sk = -
977 ((void *)0)-
978 ;-
979-
980-
981 pkey = X509_get_pubkey(x);-
982-
983 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
984 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
985 || EVP_PKEY_missing_parameters(pkey)
EVP_PKEY_missi...rameters(pkey)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
986 x = -
987 ((void *)0)-
988 ;-
989 al = 2;-
990 SSL_error_internal(s, 239, __FILE__, 1145);-
991 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
992 }-
993-
994 i = ssl_cert_type(x, pkey);-
995 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
996 x = -
997 ((void *)0)-
998 ;-
999 al = 2;-
1000 SSL_error_internal(s, 247, __FILE__, 1153);-
1001 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1002 }-
1003-
1004 sc->peer_cert_type = i;-
1005 CRYPTO_add_lock(&x->references,1,3,__FILE__,1158);-
1006-
1007-
1008-
1009-
1010 X509_free(sc->peer_pkeys[i].x509);-
1011 sc->peer_pkeys[i].x509 = x;-
1012 sc->peer_key = &(sc->peer_pkeys[i]);-
1013-
1014 X509_free(s->session->peer);-
1015 CRYPTO_add_lock(&x->references,1,3,__FILE__,1168);-
1016 s->session->peer = x;-
1017 s->session->verify_result = s->verify_result;-
1018-
1019 x = -
1020 ((void *)0)-
1021 ;-
1022 ret = 1;-
1023-
1024 if (0) {-
1025truncated:-
1026-
1027 al = 50;-
1028 SSL_error_internal(s, 115, __FILE__, 1179);-
1029f_err:
code before this statement never executed: f_err:
0
1030 ssl3_send_alert(s, 2, al);-
1031 }
never executed: end of block
0
1032err:
code before this statement executed 53 times by 2 tests: err:
Executed by:
  • ssltest
  • tlstest
53
1033 EVP_PKEY_free(pkey);-
1034 X509_free(x);-
1035 sk_pop_free(((_STACK*) (1 ? (sk) : (struct stack_st_X509*)0)), ((void (*)(void *)) ((1 ? (X509_free) : (void (*)(X509 *))0))));-
1036-
1037 return
executed 53 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
(ret);
executed 53 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
53
1038}-
1039-
1040static int-
1041ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs)-
1042{-
1043 CBS dhp, dhg, dhpk;-
1044 BN_CTX *bn_ctx = -
1045 ((void *)0)-
1046 ;-
1047 SESS_CERT *sc = -
1048 ((void *)0)-
1049 ;-
1050 DH *dh = -
1051 ((void *)0)-
1052 ;-
1053 long alg_a;-
1054 int al;-
1055-
1056 alg_a = (s->s3->internal)->hs.new_cipher->algorithm_auth;-
1057 sc = (s->session->internal)->sess_cert;-
1058-
1059 if ((
(dh = DH_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
dh = DH_new()) ==
(dh = DH_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1060 ((void *)0)
(dh = DH_new()) == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1061 ) {-
1062 SSL_error_internal(s, 5, __FILE__, 1205);-
1063 goto
never executed: goto err;
err;
never executed: goto err;
0
1064 }-
1065-
1066 if (!CBS_get_u16_length_prefixed(cbs, &dhp)
!CBS_get_u16_l...xed(cbs, &dhp)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1067 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1068 if ((
(dh->p = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
dh->p = BN_bin2bn(CBS_data(&dhp), CBS_len(&dhp),
(dh->p = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1069 ((void *)0)
(dh->p = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1070 )) ==
(dh->p = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1071 ((void *)0)
(dh->p = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1072 ) {-
1073 SSL_error_internal(s, 3, __FILE__, 1212);-
1074 goto
never executed: goto err;
err;
never executed: goto err;
0
1075 }-
1076-
1077 if (!CBS_get_u16_length_prefixed(cbs, &dhg)
!CBS_get_u16_l...xed(cbs, &dhg)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1078 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1079 if ((
(dh->g = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
dh->g = BN_bin2bn(CBS_data(&dhg), CBS_len(&dhg),
(dh->g = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1080 ((void *)0)
(dh->g = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1081 )) ==
(dh->g = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1082 ((void *)0)
(dh->g = BN_bi...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1083 ) {-
1084 SSL_error_internal(s, 3, __FILE__, 1219);-
1085 goto
never executed: goto err;
err;
never executed: goto err;
0
1086 }-
1087-
1088 if (!CBS_get_u16_length_prefixed(cbs, &dhpk)
!CBS_get_u16_l...ed(cbs, &dhpk)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1089 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1090 if ((
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
dh->pub_key = BN_bin2bn(CBS_data(&dhpk), CBS_len(&dhpk),
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1091
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1092 ((void *)0)
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1093 )) ==
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1094 ((void *)0)
(dh->pub_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1095 ) {-
1096 SSL_error_internal(s, 3, __FILE__, 1227);-
1097 goto
never executed: goto err;
err;
never executed: goto err;
0
1098 }-
1099-
1100-
1101-
1102-
1103-
1104 if (DH_size(dh) < 1024 / 8
DH_size(dh) < 1024 / 8Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
) {
0-21
1105 SSL_error_internal(s, 110, __FILE__, 1236);-
1106 goto
never executed: goto err;
err;
never executed: goto err;
0
1107 }-
1108-
1109 if (alg_a & 0x00000001L
alg_a & 0x00000001LDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
)
10-11
1110 *
executed 11 times by 1 test: *pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
Executed by:
  • ssltest
pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
executed 11 times by 1 test: *pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
Executed by:
  • ssltest
11
1111 else-
1112-
1113 *
executed 10 times by 1 test: *pkey = ((void *)0) ;
Executed by:
  • ssltest
pkey =
executed 10 times by 1 test: *pkey = ((void *)0) ;
Executed by:
  • ssltest
10
1114 ((void *)0)
executed 10 times by 1 test: *pkey = ((void *)0) ;
Executed by:
  • ssltest
10
1115 ;
executed 10 times by 1 test: *pkey = ((void *)0) ;
Executed by:
  • ssltest
10
1116-
1117 sc->peer_dh_tmp = dh;-
1118-
1119 return
executed 21 times by 1 test: return (1);
Executed by:
  • ssltest
(1);
executed 21 times by 1 test: return (1);
Executed by:
  • ssltest
21
1120-
1121 truncated:-
1122 al = 50;-
1123 SSL_error_internal(s, 115, __FILE__, 1252);-
1124 ssl3_send_alert(s, 2, al);-
1125-
1126 err:
code before this statement never executed: err:
0
1127 DH_free(dh);-
1128 BN_CTX_free(bn_ctx);-
1129-
1130 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1131}-
1132-
1133static int-
1134ssl3_get_server_kex_ecdhe_ecp(SSL *s, SESS_CERT *sc, int nid, CBS *public)-
1135{-
1136 const EC_GROUP *group;-
1137 EC_GROUP *ngroup = -
1138 ((void *)0)-
1139 ;-
1140 EC_POINT *point = -
1141 ((void *)0)-
1142 ;-
1143 BN_CTX *bn_ctx = -
1144 ((void *)0)-
1145 ;-
1146 EC_KEY *ecdh = -
1147 ((void *)0)-
1148 ;-
1149 int ret = -1;-
1150-
1151-
1152-
1153-
1154-
1155 if ((
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
ecdh = EC_KEY_new()) ==
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1156 ((void *)0)
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1157 ) {-
1158 SSL_error_internal(s, (1|64), __FILE__, 1277);-
1159 goto
never executed: goto err;
err;
never executed: goto err;
0
1160 }-
1161-
1162 if ((
(ngroup = EC_G...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
ngroup = EC_GROUP_new_by_curve_name(nid)) ==
(ngroup = EC_G...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1163 ((void *)0)
(ngroup = EC_G...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1164 ) {-
1165 SSL_error_internal(s, 16, __FILE__, 1282);-
1166 goto
never executed: goto err;
err;
never executed: goto err;
0
1167 }-
1168 if (EC_KEY_set_group(ecdh, ngroup) == 0
EC_KEY_set_gro..., ngroup) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
1169 SSL_error_internal(s, 16, __FILE__, 1286);-
1170 goto
never executed: goto err;
err;
never executed: goto err;
0
1171 }-
1172-
1173 group = EC_KEY_get0_group(ecdh);-
1174-
1175 if ((
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
point = EC_POINT_new(group)) ==
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1176 ((void *)0)
(point = EC_PO...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1177 ||-
1178 (
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
bn_ctx = BN_CTX_new()) ==
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1179 ((void *)0)
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1180 ) {-
1181 SSL_error_internal(s, (1|64), __FILE__, 1294);-
1182 goto
never executed: goto err;
err;
never executed: goto err;
0
1183 }-
1184-
1185 if (EC_POINT_oct2point(group, point, CBS_data(public),
EC_POINT_oct2p..., bn_ctx) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
1186 CBS_len(public), bn_ctx) == 0
EC_POINT_oct2p..., bn_ctx) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
1187 SSL_error_internal(s, 306, __FILE__, 1300);-
1188 ssl3_send_alert(s, 2, 50);-
1189 goto
never executed: goto err;
err;
never executed: goto err;
0
1190 }-
1191-
1192 EC_KEY_set_public_key(ecdh, point);-
1193 sc->peer_ecdh_tmp = ecdh;-
1194 ecdh = -
1195 ((void *)0)-
1196 ;-
1197-
1198 ret = 1;-
1199-
1200 err:
code before this statement executed 23 times by 1 test: err:
Executed by:
  • ssltest
23
1201 BN_CTX_free(bn_ctx);-
1202 EC_GROUP_free(ngroup);-
1203 EC_POINT_free(point);-
1204 EC_KEY_free(ecdh);-
1205-
1206 return
executed 23 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 23 times by 1 test: return (ret);
Executed by:
  • ssltest
23
1207}-
1208-
1209static int-
1210ssl3_get_server_kex_ecdhe_ecx(SSL *s, SESS_CERT *sc, int nid, CBS *public)-
1211{-
1212 size_t outlen;-
1213-
1214 if (nid != 950
nid != 950Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-5
1215 SSL_error_internal(s, (4|64), __FILE__, 1326);-
1216 goto
never executed: goto err;
err;
never executed: goto err;
0
1217 }-
1218-
1219 if (CBS_len(public) != 32
CBS_len(public) != 32Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-5
1220 SSL_error_internal(s, 306, __FILE__, 1331);-
1221 ssl3_send_alert(s, 2, 50);-
1222 goto
never executed: goto err;
err;
never executed: goto err;
0
1223 }-
1224-
1225 if (!CBS_stow(public, &sc->peer_x25519_tmp, &outlen)
!CBS_stow(publ..._tmp, &outlen)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-5
1226 SSL_error_internal(s, (1|64), __FILE__, 1337);-
1227 goto
never executed: goto err;
err;
never executed: goto err;
0
1228 }-
1229-
1230 return
executed 5 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 5 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
5
1231-
1232 err:-
1233 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1234}-
1235-
1236static int-
1237ssl3_get_server_kex_ecdhe(SSL *s, EVP_PKEY **pkey, CBS *cbs)-
1238{-
1239 CBS public;-
1240 uint8_t curve_type;-
1241 uint16_t curve_id;-
1242 SESS_CERT *sc;-
1243 long alg_a;-
1244 int nid;-
1245 int al;-
1246-
1247 alg_a = (s->s3->internal)->hs.new_cipher->algorithm_auth;-
1248 sc = (s->session->internal)->sess_cert;-
1249-
1250-
1251 if (!CBS_get_u8(cbs, &curve_type)
!CBS_get_u8(cbs, &curve_type)Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-28
1252 curve_type != 3
curve_type != 3Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
||
0-28
1253 !CBS_get_u16(cbs, &curve_id)
!CBS_get_u16(cbs, &curve_id)Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-28
1254 al = 50;-
1255 SSL_error_internal(s, 160, __FILE__, 1366);-
1256 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1257 }-
1258-
1259-
1260-
1261-
1262-
1263 if (tls1_check_curve(s, curve_id) != 1
tls1_check_cur...curve_id) != 1Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-28
1264 al = 50;-
1265 SSL_error_internal(s, 378, __FILE__, 1376);-
1266 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1267 }-
1268-
1269 if ((
(nid = tls1_ec...urve_id)) == 0Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
nid = tls1_ec_curve_id2nid(curve_id)) == 0
(nid = tls1_ec...urve_id)) == 0Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-28
1270 al = 80;-
1271 SSL_error_internal(s, 314, __FILE__, 1382);-
1272 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1273 }-
1274-
1275 if (!CBS_get_u8_length_prefixed(cbs, &public)
!CBS_get_u8_le...(cbs, &public)Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-28
1276 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1277-
1278 if (nid == 950
nid == 950Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
5-23
1279 if (ssl3_get_server_kex_ecdhe_ecx(s, sc, nid, &public) != 1
ssl3_get_serve... &public) != 1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
1280 goto
never executed: goto err;
err;
never executed: goto err;
0
1281 }
executed 5 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else {
5
1282 if (ssl3_get_server_kex_ecdhe_ecp(s, sc, nid, &public) != 1
ssl3_get_serve... &public) != 1Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
1283 goto
never executed: goto err;
err;
never executed: goto err;
0
1284 }
executed 23 times by 1 test: end of block
Executed by:
  • ssltest
23
1285-
1286-
1287-
1288-
1289-
1290-
1291 if (alg_a & 0x00000001L
alg_a & 0x00000001LDescription
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-28
1292 *
executed 28 times by 2 tests: *pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
Executed by:
  • ssltest
  • tlstest
pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
executed 28 times by 2 tests: *pkey = X509_get_pubkey(sc->peer_pkeys[0].x509);
Executed by:
  • ssltest
  • tlstest
28
1293 else if (alg_a & 0x00000040L
alg_a & 0x00000040LDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1294 *
never executed: *pkey = X509_get_pubkey(sc->peer_pkeys[3].x509);
pkey = X509_get_pubkey(sc->peer_pkeys[3].x509);
never executed: *pkey = X509_get_pubkey(sc->peer_pkeys[3].x509);
0
1295 else-
1296-
1297 *
never executed: *pkey = ((void *)0) ;
pkey =
never executed: *pkey = ((void *)0) ;
0
1298 ((void *)0)
never executed: *pkey = ((void *)0) ;
0
1299 ;
never executed: *pkey = ((void *)0) ;
0
1300-
1301 return
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
28
1302-
1303 truncated:-
1304 al = 50;-
1305 SSL_error_internal(s, 115, __FILE__, 1414);-
1306-
1307 f_err:
code before this statement never executed: f_err:
0
1308 ssl3_send_alert(s, 2, al);-
1309-
1310 err:
code before this statement never executed: err:
0
1311 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1312}-
1313-
1314int-
1315ssl3_get_server_key_exchange(SSL *s)-
1316{-
1317 CBS cbs, signature;-
1318 const EVP_MD *md = -
1319 ((void *)0)-
1320 ;-
1321 EVP_PKEY *pkey = -
1322 ((void *)0)-
1323 ;-
1324 EVP_MD_CTX md_ctx;-
1325 const unsigned char *param;-
1326 uint8_t hash_id, sig_id;-
1327 long n, alg_k, alg_a;-
1328 int al, ok, sigalg;-
1329 size_t param_len;-
1330-
1331 EVP_MD_CTX_init(&md_ctx);-
1332-
1333 alg_k = (s->s3->internal)->hs.new_cipher->algorithm_mkey;-
1334 alg_a = (s->s3->internal)->hs.new_cipher->algorithm_auth;-
1335-
1336-
1337-
1338-
1339-
1340 n = s->method->internal->ssl_get_message(s, (0x140|0x1000),-
1341 (0x141|0x1000), -1, s->internal->max_cert_list, &ok);-
1342 if (!ok
!okDescription
TRUEevaluated 58 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
58-63
1343 return
executed 58 times by 2 tests: return ((int)n);
Executed by:
  • ssltest
  • tlstest
((int)n);
executed 58 times by 2 tests: return ((int)n);
Executed by:
  • ssltest
  • tlstest
58
1344-
1345 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
1346 goto
never executed: goto err;
err;
never executed: goto err;
0
1347-
1348 CBS_init(&cbs, s->internal->init_msg, n);-
1349-
1350 if ((
(s->s3->intern...age_type != 12Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
s->s3->internal)->tmp.message_type != 12
(s->s3->intern...age_type != 12Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
14-49
1351-
1352-
1353-
1354-
1355 if (alg_k & (0x00000008L|0x00000080L)
alg_k & (0x000...L|0x00000080L)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-14
1356 SSL_error_internal(s, 244, __FILE__, 1461);-
1357 al = 10;-
1358 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1359 }-
1360-
1361 (s->s3->internal)->tmp.reuse_message = 1;-
1362 EVP_MD_CTX_cleanup(&md_ctx);-
1363 return
executed 14 times by 1 test: return (1);
Executed by:
  • ssltest
(1);
executed 14 times by 1 test: return (1);
Executed by:
  • ssltest
14
1364 }-
1365-
1366 if ((
(s->session->i...!= ((void *)0)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
s->session->internal)->sess_cert !=
(s->session->i...!= ((void *)0)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
10-39
1367 ((void *)0)
(s->session->i...!= ((void *)0)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
10-39
1368 ) {-
1369 DH_free((s->session->internal)->sess_cert->peer_dh_tmp);-
1370 (s->session->internal)->sess_cert->peer_dh_tmp = -
1371 ((void *)0)-
1372 ;-
1373-
1374 EC_KEY_free((s->session->internal)->sess_cert->peer_ecdh_tmp);-
1375 (s->session->internal)->sess_cert->peer_ecdh_tmp = -
1376 ((void *)0)-
1377 ;-
1378-
1379 free((s->session->internal)->sess_cert->peer_x25519_tmp);-
1380 (s->session->internal)->sess_cert->peer_x25519_tmp = -
1381 ((void *)0)-
1382 ;-
1383 }
executed 39 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else {
39
1384 (s->session->internal)->sess_cert = ssl_sess_cert_new();-
1385 if ((
(s->session->i...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
s->session->internal)->sess_cert ==
(s->session->i...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
0-10
1386 ((void *)0)
(s->session->i...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
0-10
1387 )-
1388 goto
never executed: goto err;
err;
never executed: goto err;
0
1389 }
executed 10 times by 1 test: end of block
Executed by:
  • ssltest
10
1390-
1391 param = CBS_data(&cbs);-
1392 param_len = CBS_len(&cbs);-
1393-
1394 if (alg_k & 0x00000008L
alg_k & 0x00000008LDescription
TRUEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
21-28
1395 if (ssl3_get_server_kex_dhe(s, &pkey, &cbs) != 1
ssl3_get_serve...ey, &cbs) != 1Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1396 goto
never executed: goto err;
err;
never executed: goto err;
0
1397 }
executed 21 times by 1 test: end of block
Executed by:
  • ssltest
else if (alg_k & 0x00000080L
alg_k & 0x00000080LDescription
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-28
1398 if (ssl3_get_server_kex_ecdhe(s, &pkey, &cbs) != 1
ssl3_get_serve...ey, &cbs) != 1Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-28
1399 goto
never executed: goto err;
err;
never executed: goto err;
0
1400 }
executed 28 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else if (alg_k != 0
alg_k != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-28
1401 al = 10;-
1402 SSL_error_internal(s, 244, __FILE__, 1497);-
1403 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1404 }-
1405-
1406 param_len -= CBS_len(&cbs);-
1407-
1408-
1409 if (pkey !=
pkey != ((void *)0)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
10-39
1410 ((void *)0)
pkey != ((void *)0)Description
TRUEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
10-39
1411 ) {-
1412 if ((
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->ssl3_enc->enc_flags & (1 << 1))
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
) {
12-27
1413 if (!CBS_get_u8(&cbs, &hash_id)
!CBS_get_u8(&cbs, &hash_id)Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-27
1414 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1415 if (!CBS_get_u8(&cbs, &sig_id)
!CBS_get_u8(&cbs, &sig_id)Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-27
1416 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1417-
1418 if ((
(md = tls12_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
md = tls12_get_hash(hash_id)) ==
(md = tls12_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-27
1419 ((void *)0)
(md = tls12_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-27
1420 ) {-
1421 SSL_error_internal(s, 368, __FILE__, 1512);-
1422 al = 50;-
1423 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1424 }-
1425-
1426-
1427 if ((
(sigalg = tls1...d(pkey)) == -1Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
sigalg = tls12_get_sigid(pkey)) == -1
(sigalg = tls1...d(pkey)) == -1Description
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-27
1428-
1429 SSL_error_internal(s, (4|64), __FILE__, 1520);-
1430 goto
never executed: goto err;
err;
never executed: goto err;
0
1431 }-
1432 if (sigalg != sig_id
sigalg != sig_idDescription
TRUEnever evaluated
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-27
1433 SSL_error_internal(s, 370, __FILE__, 1524);-
1434 al = 50;-
1435 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1436 }-
1437 }
executed 27 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else if (pkey->type == 6
pkey->type == 6Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-27
1438 md = EVP_md5_sha1();-
1439 }
executed 12 times by 1 test: end of block
Executed by:
  • ssltest
else {
12
1440 md = EVP_sha1();-
1441 }
never executed: end of block
0
1442-
1443 if (!CBS_get_u16_length_prefixed(&cbs, &signature)
!CBS_get_u16_l...s, &signature)Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-39
1444 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1445 if (CBS_len(&signature) > EVP_PKEY_size(pkey)
CBS_len(&signa...KEY_size(pkey)Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-39
1446 al = 50;-
1447 SSL_error_internal(s, 264, __FILE__, 1538);-
1448 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1449 }-
1450-
1451 if (!EVP_DigestInit_ex(&md_ctx,md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-39
1452 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-39
1453 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-39
1454 goto
never executed: goto err;
err;
never executed: goto err;
0
1455 if (!EVP_DigestUpdate(&md_ctx,s->s3->client_random,32)
!EVP_DigestUpd...ent_random,32)Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-39
1456 )-
1457 goto
never executed: goto err;
err;
never executed: goto err;
0
1458 if (!EVP_DigestUpdate(&md_ctx,s->s3->server_random,32)
!EVP_DigestUpd...ver_random,32)Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-39
1459 )-
1460 goto
never executed: goto err;
err;
never executed: goto err;
0
1461 if (!EVP_DigestUpdate(&md_ctx,param,param_len)
!EVP_DigestUpd...ram,param_len)Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-39
1462 goto
never executed: goto err;
err;
never executed: goto err;
0
1463 if (EVP_VerifyFinal(&md_ctx, CBS_data(&signature),
EVP_VerifyFina...e), pkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-39
1464 CBS_len(&signature), pkey) <= 0
EVP_VerifyFina...e), pkey) <= 0Description
TRUEnever evaluated
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-39
1465 al = 51;-
1466 SSL_error_internal(s, 123, __FILE__, 1555);-
1467 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1468 }-
1469 }
executed 39 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else {
39
1470-
1471 if (!(alg_a & 0x00000004L)
!(alg_a & 0x00000004L)Description
TRUEnever evaluated
FALSEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
) {
0-10
1472 SSL_error_internal(s, (4|64), __FILE__, 1561);-
1473 goto
never executed: goto err;
err;
never executed: goto err;
0
1474 }-
1475 }
executed 10 times by 1 test: end of block
Executed by:
  • ssltest
10
1476-
1477 if (CBS_len(&cbs) != 0
CBS_len(&cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-49
1478 al = 50;-
1479 SSL_error_internal(s, 153, __FILE__, 1568);-
1480 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1481 }-
1482-
1483 EVP_PKEY_free(pkey);-
1484 EVP_MD_CTX_cleanup(&md_ctx);-
1485-
1486 return
executed 49 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 49 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
49
1487-
1488 truncated:-
1489 al = 50;-
1490 SSL_error_internal(s, 115, __FILE__, 1579);-
1491-
1492 f_err:
code before this statement never executed: f_err:
0
1493 ssl3_send_alert(s, 2, al);-
1494-
1495 err:
code before this statement never executed: err:
0
1496 EVP_PKEY_free(pkey);-
1497 EVP_MD_CTX_cleanup(&md_ctx);-
1498-
1499 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1500}-
1501-
1502int-
1503ssl3_get_certificate_request(SSL *s)-
1504{-
1505 int ok, ret = 0;-
1506 long n;-
1507 uint8_t ctype_num;-
1508 CBS cert_request, ctypes, rdn_list;-
1509 X509_NAME *xn = -
1510 ((void *)0)-
1511 ;-
1512 const unsigned char *q;-
1513 struct stack_st_X509_NAME *ca_sk = -
1514 ((void *)0)-
1515 ;-
1516-
1517 n = s->method->internal->ssl_get_message(s, (0x150|0x1000),-
1518 (0x151|0x1000), -1, s->internal->max_cert_list, &ok);-
1519-
1520 if (!ok
!okDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
1521 return
never executed: return ((int)n);
((int)n);
never executed: return ((int)n);
0
1522-
1523 (s->s3->internal)->tmp.cert_req = 0;-
1524-
1525 if ((
(s->s3->intern...age_type == 14Description
TRUEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->tmp.message_type == 14
(s->s3->intern...age_type == 14Description
TRUEevaluated 56 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
7-56
1526 (s->s3->internal)->tmp.reuse_message = 1;-
1527-
1528-
1529-
1530-
1531 if ((
(s->s3->intern...ndshake_bufferDescription
TRUEevaluated 29 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 27 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->handshake_buffer
(s->s3->intern...ndshake_bufferDescription
TRUEevaluated 29 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 27 times by 1 test
Evaluated by:
  • ssltest
) {
27-29
1532 if (!tls1_digest_cached_records(s)
!tls1_digest_cached_records(s)Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-29
1533 goto
never executed: goto err;
err;
never executed: goto err;
0
1534 }
executed 29 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
29
1535 return
executed 56 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 56 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
56
1536 }-
1537-
1538 if ((
(s->s3->intern...age_type != 13Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->tmp.message_type != 13
(s->s3->intern...age_type != 13Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1539 ssl3_send_alert(s, 2, 10);-
1540 SSL_error_internal(s, 262, __FILE__, 1625);-
1541 goto
never executed: goto err;
err;
never executed: goto err;
0
1542 }-
1543-
1544-
1545 if ((
(s->s3->intern... & 0x00000004LDescription
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->hs.new_cipher->algorithm_auth & 0x00000004L
(s->s3->intern... & 0x00000004LDescription
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1546 ssl3_send_alert(s, 2, 10);-
1547 SSL_error_internal(s, 232, __FILE__, 1632);-
1548 goto
never executed: goto err;
err;
never executed: goto err;
0
1549 }-
1550-
1551 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
1552 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1553 CBS_init(&cert_request, s->internal->init_msg, n);-
1554-
1555 if ((
(ca_sk = ((str...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
ca_sk = ((struct stack_st_X509_NAME *)sk_new(((int (*)(const void *, const void *)) ((1 ? (ca_dn_cmp) : (int (*)(const X509_NAME * const *, const X509_NAME * const *))0)))))) ==
(ca_sk = ((str...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
1556 ((void *)0)
(ca_sk = ((str...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
1557 ) {-
1558 SSL_error_internal(s, (1|64), __FILE__, 1641);-
1559 goto
never executed: goto err;
err;
never executed: goto err;
0
1560 }-
1561-
1562-
1563 if (!CBS_get_u8(&cert_request, &ctype_num)
!CBS_get_u8(&c...t, &ctype_num)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
1564 goto
never executed: goto truncated;
truncated;
never executed: goto truncated;
0
1565-
1566 if (ctype_num > 11
ctype_num > 11Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
1567 ctype_num = 11;
never executed: ctype_num = 11;
0
1568 if (!CBS_get_bytes(&cert_request, &ctypes, ctype_num)
!CBS_get_bytes...es, ctype_num)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
||
0-7
1569 !CBS_write_bytes(&ctypes, (uint8_t *)(s->s3->internal)->tmp.ctype,
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
1570 sizeof((s->s3->internal)->tmp.ctype),
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
1571 ((void *)0)
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
1572 )
!CBS_write_byt... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1573 SSL_error_internal(s, 146, __FILE__, 1654);-
1574 goto
never executed: goto err;
err;
never executed: goto err;
0
1575 }-
1576-
1577 if ((
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->ssl3_enc->enc_flags & (1 << 1))
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
) {
2-5
1578 CBS sigalgs;-
1579-
1580 if (CBS_len(&cert_request) < 2
CBS_len(&cert_request) < 2Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
0-5
1581 SSL_error_internal(s, 146, __FILE__, 1662);-
1582 goto
never executed: goto err;
err;
never executed: goto err;
0
1583 }-
1584-
1585-
1586-
1587-
1588 if (!CBS_get_u16_length_prefixed(&cert_request, &sigalgs)
!CBS_get_u16_l...est, &sigalgs)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
0-5
1589 ssl3_send_alert(s, 2, 50);-
1590 SSL_error_internal(s, 146, __FILE__, 1671);-
1591 goto
never executed: goto err;
err;
never executed: goto err;
0
1592 }-
1593 if (!tls1_process_sigalgs(s, &sigalgs)
!tls1_process_...s(s, &sigalgs)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
0-5
1594 ssl3_send_alert(s, 2, 50);-
1595 SSL_error_internal(s, 360, __FILE__, 1676);-
1596 goto
never executed: goto err;
err;
never executed: goto err;
0
1597 }-
1598 }
executed 5 times by 1 test: end of block
Executed by:
  • ssltest
5
1599-
1600-
1601 if (CBS_len(&cert_request) < 2
CBS_len(&cert_request) < 2Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1602 SSL_error_internal(s, 146, __FILE__, 1683);-
1603 goto
never executed: goto err;
err;
never executed: goto err;
0
1604 }-
1605-
1606 if (!CBS_get_u16_length_prefixed(&cert_request, &rdn_list)
!CBS_get_u16_l...st, &rdn_list)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
||
0-7
1607 CBS_len(&cert_request) != 0
CBS_len(&cert_request) != 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1608 ssl3_send_alert(s, 2, 50);-
1609 SSL_error_internal(s, 159, __FILE__, 1690);-
1610 goto
never executed: goto err;
err;
never executed: goto err;
0
1611 }-
1612-
1613 while (CBS_len(&rdn_list) > 0
CBS_len(&rdn_list) > 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
1614 CBS rdn;-
1615-
1616 if (CBS_len(&rdn_list) < 2
CBS_len(&rdn_list) < 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1617 SSL_error_internal(s, 146, __FILE__, 1698);-
1618 goto
never executed: goto err;
err;
never executed: goto err;
0
1619 }-
1620-
1621 if (!CBS_get_u16_length_prefixed(&rdn_list, &rdn)
!CBS_get_u16_l...dn_list, &rdn)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1622 ssl3_send_alert(s, 2, 50);-
1623 SSL_error_internal(s, 132, __FILE__, 1704);-
1624 goto
never executed: goto err;
err;
never executed: goto err;
0
1625 }-
1626-
1627 q = CBS_data(&rdn);-
1628 if ((
(xn = d2i_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
xn = d2i_X509_NAME(
(xn = d2i_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1629 ((void *)0)
(xn = d2i_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1630 , &q, CBS_len(&rdn))) ==
(xn = d2i_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1631 ((void *)0)
(xn = d2i_X509...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1632 ) {-
1633 ssl3_send_alert(s, 2,-
1634 50);-
1635 SSL_error_internal(s, 13, __FILE__, 1712);-
1636 goto
never executed: goto err;
err;
never executed: goto err;
0
1637 }-
1638-
1639 if (q != CBS_data(&rdn) + CBS_len(&rdn)
q != CBS_data(... CBS_len(&rdn)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1640 ssl3_send_alert(s, 2, 50);-
1641 SSL_error_internal(s, 131, __FILE__, 1718);-
1642 goto
never executed: goto err;
err;
never executed: goto err;
0
1643 }-
1644 if (!sk_push(((_STACK*) (1 ? (ca_sk) : (struct stack_st_X509_NAME*)0)), ((void*) (1 ? (xn) : (X509_NAME*)0)))
!sk_push(((_ST...509_NAME*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1645 SSL_error_internal(s, (1|64), __FILE__, 1722);-
1646 goto
never executed: goto err;
err;
never executed: goto err;
0
1647 }-
1648 xn = -
1649 ((void *)0)-
1650 ;-
1651 }
never executed: end of block
0
1652-
1653-
1654 (s->s3->internal)->tmp.cert_req = 1;-
1655 (s->s3->internal)->tmp.ctype_num = ctype_num;-
1656 sk_pop_free(((_STACK*) (1 ? ((s->s3->internal)->tmp.ca_names) : (struct stack_st_X509_NAME*)0)), ((void (*)(void *)) ((1 ? (X509_NAME_free) : (void (*)(X509_NAME *))0))));-
1657 (s->s3->internal)->tmp.ca_names = ca_sk;-
1658 ca_sk = -
1659 ((void *)0)-
1660 ;-
1661-
1662 ret = 1;-
1663 if (0) {-
1664truncated:-
1665 SSL_error_internal(s, 115, __FILE__, 1738);-
1666 }
never executed: end of block
0
1667err:
code before this statement executed 7 times by 1 test: err:
Executed by:
  • ssltest
7
1668 X509_NAME_free(xn);-
1669 sk_pop_free(((_STACK*) (1 ? (ca_sk) : (struct stack_st_X509_NAME*)0)), ((void (*)(void *)) ((1 ? (X509_NAME_free) : (void (*)(X509_NAME *))0))));-
1670 return
executed 7 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 7 times by 1 test: return (ret);
Executed by:
  • ssltest
7
1671}-
1672-
1673static int-
1674ca_dn_cmp(const X509_NAME * const *a, const X509_NAME * const *b)-
1675{-
1676 return
never executed: return (X509_NAME_cmp(*a, *b));
(X509_NAME_cmp(*a, *b));
never executed: return (X509_NAME_cmp(*a, *b));
0
1677}-
1678-
1679int-
1680ssl3_get_new_session_ticket(SSL *s)-
1681{-
1682 int ok, al, ret = 0;-
1683 uint32_t lifetime_hint;-
1684 long n;-
1685 CBS cbs, session_ticket;-
1686-
1687 n = s->method->internal->ssl_get_message(s, (0x1E0|0x1000),-
1688 (0x1E1|0x1000), -1, 16384, &ok);-
1689 if (!ok
!okDescription
TRUEevaluated 623 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
)
59-623
1690 return
executed 623 times by 1 test: return ((int)n);
Executed by:
  • ssltest
((int)n);
executed 623 times by 1 test: return ((int)n);
Executed by:
  • ssltest
623
1691-
1692 if ((
(s->s3->intern...age_type == 20Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->tmp.message_type == 20
(s->s3->intern...age_type == 20Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1693 (s->s3->internal)->tmp.reuse_message = 1;-
1694 return
never executed: return (1);
(1);
never executed: return (1);
0
1695 }-
1696 if ((
(s->s3->intern...sage_type != 4Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->tmp.message_type != 4
(s->s3->intern...sage_type != 4Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1697 al = 10;-
1698 SSL_error_internal(s, 114, __FILE__, 1771);-
1699 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1700 }-
1701-
1702 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1703 al = 50;-
1704 SSL_error_internal(s, 159, __FILE__, 1777);-
1705 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1706 }-
1707-
1708 CBS_init(&cbs, s->internal->init_msg, n);-
1709 if (!CBS_get_u32(&cbs, &lifetime_hint)
!CBS_get_u32(&...lifetime_hint)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
||
0-59
1710-
1711-
1712-
1713 !CBS_get_u16_length_prefixed(&cbs, &session_ticket)
!CBS_get_u16_l...ession_ticket)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
||
0-59
1714 CBS_len(&cbs) != 0
CBS_len(&cbs) != 0Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1715 al = 50;-
1716 SSL_error_internal(s, 159, __FILE__, 1789);-
1717 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1718 }-
1719 s->session->tlsext_tick_lifetime_hint = (long)lifetime_hint;-
1720-
1721 if (!CBS_stow(&session_ticket, &s->session->tlsext_tick,
!CBS_stow(&ses...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
1722 &s->session->tlsext_ticklen)
!CBS_stow(&ses...lsext_ticklen)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
) {
0-59
1723 SSL_error_internal(s, (1|64), __FILE__, 1796);-
1724 goto
never executed: goto err;
err;
never executed: goto err;
0
1725 }-
1726 EVP_Digest(CBS_data(&session_ticket), CBS_len(&session_ticket),-
1727 s->session->session_id, &s->session->session_id_length,-
1728 EVP_sha256(), -
1729 ((void *)0)-
1730 );-
1731 ret = 1;-
1732 return
executed 59 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 59 times by 1 test: return (ret);
Executed by:
  • ssltest
59
1733f_err:-
1734 ssl3_send_alert(s, 2, al);-
1735err:
code before this statement never executed: err:
0
1736 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1737}-
1738-
1739int-
1740ssl3_get_cert_status(SSL *s)-
1741{-
1742 CBS cert_status, response;-
1743 size_t stow_len;-
1744 int ok, al;-
1745 long n;-
1746 uint8_t status_type;-
1747-
1748 n = s->method->internal->ssl_get_message(s, (0x1F0|0x1000),-
1749 (0x1F1|0x1000), 22,-
1750 16384, &ok);-
1751-
1752 if (!ok
!okDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1753 return
never executed: return ((int)n);
((int)n);
never executed: return ((int)n);
0
1754-
1755 if (n < 0
n < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1756-
1757 al = 50;-
1758 SSL_error_internal(s, 159, __FILE__, 1846);-
1759 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1760 }-
1761-
1762 CBS_init(&cert_status, s->internal->init_msg, n);-
1763 if (!CBS_get_u8(&cert_status, &status_type)
!CBS_get_u8(&c... &status_type)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1764 CBS_len(&cert_status) < 3
CBS_len(&cert_status) < 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1765-
1766 al = 50;-
1767 SSL_error_internal(s, 159, __FILE__, 1855);-
1768 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1769 }-
1770-
1771 if (status_type != 1
status_type != 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1772 al = 50;-
1773 SSL_error_internal(s, 329, __FILE__, 1861);-
1774 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1775 }-
1776-
1777 if (!CBS_get_u24_length_prefixed(&cert_status, &response)
!CBS_get_u24_l...us, &response)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1778 CBS_len(&cert_status) != 0
CBS_len(&cert_status) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1779 al = 50;-
1780 SSL_error_internal(s, 159, __FILE__, 1868);-
1781 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1782 }-
1783-
1784 if (!CBS_stow(&response, &s->internal->tlsext_ocsp_resp,
!CBS_stow(&res...sp, &stow_len)Description
TRUEnever evaluated
FALSEnever evaluated
0
1785 &stow_len)
!CBS_stow(&res...sp, &stow_len)Description
TRUEnever evaluated
FALSEnever evaluated
|| stow_len > 0x7fffffff
stow_len > 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1786 s->internal->tlsext_ocsp_resplen = 0;-
1787 al = 80;-
1788 SSL_error_internal(s, (1|64), __FILE__, 1876);-
1789 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1790 }-
1791 s->internal->tlsext_ocsp_resplen = (int)stow_len;-
1792-
1793 if (s->ctx->internal->tlsext_status_cb
s->ctx->intern...sext_status_cbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1794 int ret;-
1795 ret = s->ctx->internal->tlsext_status_cb(s,-
1796 s->ctx->internal->tlsext_status_arg);-
1797 if (ret == 0
ret == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1798 al = 113;-
1799 SSL_error_internal(s, 328, __FILE__, 1887);-
1800 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1801 }-
1802 if (ret < 0
ret < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1803 al = 80;-
1804 SSL_error_internal(s, (1|64), __FILE__, 1892);-
1805 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
1806 }-
1807 }
never executed: end of block
0
1808 return
never executed: return (1);
(1);
never executed: return (1);
0
1809f_err:-
1810 ssl3_send_alert(s, 2, al);-
1811 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1812}-
1813-
1814int-
1815ssl3_get_server_done(SSL *s)-
1816{-
1817 int ok, ret = 0;-
1818 long n;-
1819-
1820 n = s->method->internal->ssl_get_message(s, (0x160|0x1000),-
1821 (0x161|0x1000), 14,-
1822 30, &ok);-
1823-
1824 if (!ok
!okDescription
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
1825 return
never executed: return ((int)n);
((int)n);
never executed: return ((int)n);
0
1826 if (n > 0
n > 0Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-63
1827-
1828 ssl3_send_alert(s, 2, 50);-
1829 SSL_error_internal(s, 159, __FILE__, 1917);-
1830 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
1831 }-
1832 ret = 1;-
1833 return
executed 63 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
(ret);
executed 63 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
63
1834}-
1835-
1836static int-
1837ssl3_send_client_kex_rsa(SSL *s, SESS_CERT *sess_cert, CBB *cbb)-
1838{-
1839 unsigned char pms[48];-
1840 unsigned char *enc_pms = -
1841 ((void *)0)-
1842 ;-
1843 EVP_PKEY *pkey = -
1844 ((void *)0)-
1845 ;-
1846 int ret = -1;-
1847 int enc_len;-
1848 CBB epms;-
1849-
1850-
1851-
1852-
1853-
1854 pkey = X509_get_pubkey(sess_cert->peer_pkeys[0].x509);-
1855 if (pkey ==
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1856 ((void *)0)
pkey == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1857 || pkey->type != 6
pkey->type != 6Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
||
0-14
1858 pkey->pkey.rsa ==
pkey->pkey.rsa == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1859 ((void *)0)
pkey->pkey.rsa == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1860 ) {-
1861 SSL_error_internal(s, (4|64), __FILE__, 1941);-
1862 goto
never executed: goto err;
err;
never executed: goto err;
0
1863 }-
1864-
1865 pms[0] = s->client_version >> 8;-
1866 pms[1] = s->client_version & 0xff;-
1867 arc4random_buf(&pms[2], sizeof(pms) - 2);-
1868-
1869 if ((
(enc_pms = mal...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
enc_pms = malloc(RSA_size(pkey->pkey.rsa))) ==
(enc_pms = mal...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1870 ((void *)0)
(enc_pms = mal...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
1871 ) {-
1872 SSL_error_internal(s, (1|64), __FILE__, 1950);-
1873 goto
never executed: goto err;
err;
never executed: goto err;
0
1874 }-
1875-
1876 enc_len = RSA_public_encrypt(sizeof(pms), pms, enc_pms, pkey->pkey.rsa,-
1877 1);-
1878 if (enc_len <= 0
enc_len <= 0Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-14
1879 SSL_error_internal(s, 119, __FILE__, 1957);-
1880 goto
never executed: goto err;
err;
never executed: goto err;
0
1881 }-
1882-
1883 if (!CBB_add_u16_length_prefixed(cbb, &epms)
!CBB_add_u16_l...ed(cbb, &epms)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
)
0-14
1884 goto
never executed: goto err;
err;
never executed: goto err;
0
1885 if (!CBB_add_bytes(&epms, enc_pms, enc_len)
!CBB_add_bytes..._pms, enc_len)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
)
0-14
1886 goto
never executed: goto err;
err;
never executed: goto err;
0
1887 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
)
0-14
1888 goto
never executed: goto err;
err;
never executed: goto err;
0
1889-
1890 s->session->master_key_length =-
1891 tls1_generate_master_secret(s,-
1892 s->session->master_key, pms, sizeof(pms));-
1893-
1894 ret = 1;-
1895-
1896err:
code before this statement executed 14 times by 1 test: err:
Executed by:
  • ssltest
14
1897 explicit_bzero(pms, sizeof(pms));-
1898 EVP_PKEY_free(pkey);-
1899 free(enc_pms);-
1900-
1901 return
executed 14 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 14 times by 1 test: return (ret);
Executed by:
  • ssltest
14
1902}-
1903-
1904static int-
1905ssl3_send_client_kex_dhe(SSL *s, SESS_CERT *sess_cert, CBB *cbb)-
1906{-
1907 DH *dh_srvr = -
1908 ((void *)0)-
1909 , *dh_clnt = -
1910 ((void *)0)-
1911 ;-
1912 unsigned char *key = -
1913 ((void *)0)-
1914 ;-
1915 int key_size = 0, key_len;-
1916 unsigned char *data;-
1917 int ret = -1;-
1918 CBB dh_Yc;-
1919-
1920-
1921 if (sess_cert->peer_dh_tmp ==
sess_cert->pee...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1922 ((void *)0)
sess_cert->pee...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1923 ) {-
1924 ssl3_send_alert(s, 2, 40);-
1925 SSL_error_internal(s, 238, __FILE__, 1995);-
1926 goto
never executed: goto err;
err;
never executed: goto err;
0
1927 }-
1928 dh_srvr = sess_cert->peer_dh_tmp;-
1929-
1930-
1931 if ((
(dh_clnt = DHp...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
dh_clnt = DHparams_dup(dh_srvr)) ==
(dh_clnt = DHp...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1932 ((void *)0)
(dh_clnt = DHp...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1933 ) {-
1934 SSL_error_internal(s, 5, __FILE__, 2002);-
1935 goto
never executed: goto err;
err;
never executed: goto err;
0
1936 }-
1937 if (!DH_generate_key(dh_clnt)
!DH_generate_key(dh_clnt)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
) {
0-21
1938 SSL_error_internal(s, 5, __FILE__, 2006);-
1939 goto
never executed: goto err;
err;
never executed: goto err;
0
1940 }-
1941 if ((
(key_size = DH...dh_clnt)) <= 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
key_size = DH_size(dh_clnt)) <= 0
(key_size = DH...dh_clnt)) <= 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
) {
0-21
1942 SSL_error_internal(s, 5, __FILE__, 2010);-
1943 goto
never executed: goto err;
err;
never executed: goto err;
0
1944 }-
1945 if ((
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
key = malloc(key_size)) ==
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1946 ((void *)0)
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
0-21
1947 ) {-
1948 SSL_error_internal(s, (1|64), __FILE__, 2014);-
1949 goto
never executed: goto err;
err;
never executed: goto err;
0
1950 }-
1951 if ((
(key_len = DH_...dh_clnt)) <= 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
key_len = DH_compute_key(key, dh_srvr->pub_key, dh_clnt)) <= 0
(key_len = DH_...dh_clnt)) <= 0Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
) {
0-21
1952 SSL_error_internal(s, 5, __FILE__, 2018);-
1953 goto
never executed: goto err;
err;
never executed: goto err;
0
1954 }-
1955-
1956-
1957 s->session->master_key_length =-
1958 tls1_generate_master_secret(s,-
1959 s->session->master_key, key, key_len);-
1960-
1961 if (!CBB_add_u16_length_prefixed(cbb, &dh_Yc)
!CBB_add_u16_l...d(cbb, &dh_Yc)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1962 goto
never executed: goto err;
err;
never executed: goto err;
0
1963 if (!CBB_add_space(&dh_Yc, &data, ((BN_num_bits(dh_clnt->pub_key)+7)/8))
!CBB_add_space...ub_key)+7)/8))Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1964 goto
never executed: goto err;
err;
never executed: goto err;
0
1965 BN_bn2bin(dh_clnt->pub_key, data);-
1966 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
1967 goto
never executed: goto err;
err;
never executed: goto err;
0
1968-
1969 ret = 1;-
1970-
1971err:
code before this statement executed 21 times by 1 test: err:
Executed by:
  • ssltest
21
1972 DH_free(dh_clnt);-
1973 freezero(key, key_size);-
1974-
1975 return
executed 21 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 21 times by 1 test: return (ret);
Executed by:
  • ssltest
21
1976}-
1977-
1978static int-
1979ssl3_send_client_kex_ecdhe_ecp(SSL *s, SESS_CERT *sc, CBB *cbb)-
1980{-
1981 const EC_GROUP *group = -
1982 ((void *)0)-
1983 ;-
1984 const EC_POINT *point = -
1985 ((void *)0)-
1986 ;-
1987 EC_KEY *ecdh = -
1988 ((void *)0)-
1989 ;-
1990 BN_CTX *bn_ctx = -
1991 ((void *)0)-
1992 ;-
1993 unsigned char *key = -
1994 ((void *)0)-
1995 ;-
1996 unsigned char *data;-
1997 size_t encoded_len;-
1998 int key_size = 0, key_len;-
1999 int ret = -1;-
2000 CBB ecpoint;-
2001-
2002 if ((
(group = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
group = EC_KEY_get0_group(sc->peer_ecdh_tmp)) ==
(group = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2003 ((void *)0)
(group = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2004 ||-
2005 (
(point = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
point = EC_KEY_get0_public_key(sc->peer_ecdh_tmp)) ==
(point = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2006 ((void *)0)
(point = EC_KE...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2007 ) {-
2008 SSL_error_internal(s, (4|64), __FILE__, 2060);-
2009 goto
never executed: goto err;
err;
never executed: goto err;
0
2010 }-
2011-
2012 if ((
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
ecdh = EC_KEY_new()) ==
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2013 ((void *)0)
(ecdh = EC_KEY...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2014 ) {-
2015 SSL_error_internal(s, (1|64), __FILE__, 2065);-
2016 goto
never executed: goto err;
err;
never executed: goto err;
0
2017 }-
2018-
2019 if (!EC_KEY_set_group(ecdh, group)
!EC_KEY_set_group(ecdh, group)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
2020 SSL_error_internal(s, 16, __FILE__, 2070);-
2021 goto
never executed: goto err;
err;
never executed: goto err;
0
2022 }-
2023-
2024-
2025 if (!EC_KEY_generate_key(ecdh)
!EC_KEY_generate_key(ecdh)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
2026 SSL_error_internal(s, 43, __FILE__, 2076);-
2027 goto
never executed: goto err;
err;
never executed: goto err;
0
2028 }-
2029 if ((
(key_size = EC...ze(ecdh)) <= 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
key_size = ECDH_size(ecdh)) <= 0
(key_size = EC...ze(ecdh)) <= 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
2030 SSL_error_internal(s, 43, __FILE__, 2080);-
2031 goto
never executed: goto err;
err;
never executed: goto err;
0
2032 }-
2033 if ((
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
key = malloc(key_size)) ==
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2034 ((void *)0)
(key = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2035 ) {-
2036 SSL_error_internal(s, (1|64), __FILE__, 2084);-
2037 goto
never executed: goto err;
err;
never executed: goto err;
0
2038 }-
2039 key_len = ECDH_compute_key(key, key_size, point, ecdh, -
2040 ((void *)0)-
2041 );-
2042 if (key_len <= 0
key_len <= 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
2043 SSL_error_internal(s, 43, __FILE__, 2089);-
2044 goto
never executed: goto err;
err;
never executed: goto err;
0
2045 }-
2046-
2047-
2048 s->session->master_key_length =-
2049 tls1_generate_master_secret(s,-
2050 s->session->master_key, key, key_len);-
2051-
2052 encoded_len = EC_POINT_point2oct(group, EC_KEY_get0_public_key(ecdh),-
2053 POINT_CONVERSION_UNCOMPRESSED, -
2054 ((void *)0)-
2055 , 0, -
2056 ((void *)0)-
2057 );-
2058 if (encoded_len == 0
encoded_len == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
) {
0-23
2059 SSL_error_internal(s, 43, __FILE__, 2101);-
2060 goto
never executed: goto err;
err;
never executed: goto err;
0
2061 }-
2062-
2063 if ((
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
bn_ctx = BN_CTX_new()) ==
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2064 ((void *)0)
(bn_ctx = BN_C...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2065 ) {-
2066 SSL_error_internal(s, (1|64), __FILE__, 2106);-
2067 goto
never executed: goto err;
err;
never executed: goto err;
0
2068 }-
2069-
2070-
2071 if (!CBB_add_u8_length_prefixed(cbb, &ecpoint)
!CBB_add_u8_le...cbb, &ecpoint)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
2072 goto
never executed: goto err;
err;
never executed: goto err;
0
2073 if (!CBB_add_space(&ecpoint, &data, encoded_len)
!CBB_add_space..., encoded_len)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
2074 goto
never executed: goto err;
err;
never executed: goto err;
0
2075 if (EC_POINT_point2oct(group, EC_KEY_get0_public_key(ecdh),
EC_POINT_point..., bn_ctx) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2076 POINT_CONVERSION_UNCOMPRESSED, data, encoded_len,
EC_POINT_point..., bn_ctx) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
0-23
2077 bn_ctx) == 0
EC_POINT_point..., bn_ctx) == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
2078 goto
never executed: goto err;
err;
never executed: goto err;
0
2079 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
2080 goto
never executed: goto err;
err;
never executed: goto err;
0
2081-
2082 ret = 1;-
2083-
2084 err:
code before this statement executed 23 times by 1 test: err:
Executed by:
  • ssltest
23
2085 freezero(key, key_size);-
2086-
2087 BN_CTX_free(bn_ctx);-
2088 EC_KEY_free(ecdh);-
2089-
2090 return
executed 23 times by 1 test: return (ret);
Executed by:
  • ssltest
(ret);
executed 23 times by 1 test: return (ret);
Executed by:
  • ssltest
23
2091}-
2092-
2093static int-
2094ssl3_send_client_kex_ecdhe_ecx(SSL *s, SESS_CERT *sc, CBB *cbb)-
2095{-
2096 uint8_t *public_key = -
2097 ((void *)0)-
2098 , *private_key = -
2099 ((void *)0)-
2100 , *shared_key = -
2101 ((void *)0)-
2102 ;-
2103 int ret = -1;-
2104 CBB ecpoint;-
2105-
2106-
2107 if ((
(public_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
public_key = malloc(32)) ==
(public_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2108 ((void *)0)
(public_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2109 )-
2110 goto
never executed: goto err;
err;
never executed: goto err;
0
2111 if ((
(private_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
private_key = malloc(32)) ==
(private_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2112 ((void *)0)
(private_key =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2113 )-
2114 goto
never executed: goto err;
err;
never executed: goto err;
0
2115 if ((
(shared_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
shared_key = malloc(32)) ==
(shared_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2116 ((void *)0)
(shared_key = ...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-5
2117 )-
2118 goto
never executed: goto err;
err;
never executed: goto err;
0
2119 X25519_keypair(public_key, private_key);-
2120 if (!X25519(shared_key, private_key, sc->peer_x25519_tmp)
!X25519(shared...er_x25519_tmp)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
2121 goto
never executed: goto err;
err;
never executed: goto err;
0
2122-
2123-
2124 if (!CBB_add_u8_length_prefixed(cbb, &ecpoint)
!CBB_add_u8_le...cbb, &ecpoint)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
2125 goto
never executed: goto err;
err;
never executed: goto err;
0
2126 if (!CBB_add_bytes(&ecpoint, public_key, 32)
!CBB_add_bytes...ublic_key, 32)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
2127 goto
never executed: goto err;
err;
never executed: goto err;
0
2128 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
2129 goto
never executed: goto err;
err;
never executed: goto err;
0
2130-
2131-
2132 s->session->master_key_length =-
2133 tls1_generate_master_secret(s,-
2134 s->session->master_key, shared_key, 32);-
2135-
2136 ret = 1;-
2137-
2138 err:
code before this statement executed 5 times by 2 tests: err:
Executed by:
  • ssltest
  • tlstest
5
2139 free(public_key);-
2140 freezero(private_key, 32);-
2141 freezero(shared_key, 32);-
2142-
2143 return
executed 5 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
(ret);
executed 5 times by 2 tests: return (ret);
Executed by:
  • ssltest
  • tlstest
5
2144}-
2145-
2146static int-
2147ssl3_send_client_kex_ecdhe(SSL *s, SESS_CERT *sc, CBB *cbb)-
2148{-
2149 if (sc->peer_x25519_tmp !=
sc->peer_x2551...!= ((void *)0)Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
5-23
2150 ((void *)0)
sc->peer_x2551...!= ((void *)0)Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
5-23
2151 ) {-
2152 if (ssl3_send_client_kex_ecdhe_ecx(s, sc, cbb) != 1
ssl3_send_clie... sc, cbb) != 1Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-5
2153 goto
never executed: goto err;
err;
never executed: goto err;
0
2154 }
executed 5 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else if (sc->peer_ecdh_tmp !=
sc->peer_ecdh_...!= ((void *)0)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-23
2155 ((void *)0)
sc->peer_ecdh_...!= ((void *)0)Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-23
2156 ) {-
2157 if (ssl3_send_client_kex_ecdhe_ecp(s, sc, cbb) != 1
ssl3_send_clie... sc, cbb) != 1Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • ssltest
)
0-23
2158 goto
never executed: goto err;
err;
never executed: goto err;
0
2159 }
executed 23 times by 1 test: end of block
Executed by:
  • ssltest
else {
23
2160 ssl3_send_alert(s, 2, 40);-
2161 SSL_error_internal(s, (4|64), __FILE__, 2185);-
2162 goto
never executed: goto err;
err;
never executed: goto err;
0
2163 }-
2164-
2165 return
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 28 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
28
2166-
2167 err:-
2168 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2169}-
2170-
2171static int-
2172ssl3_send_client_kex_gost(SSL *s, SESS_CERT *sess_cert, CBB *cbb)-
2173{-
2174 unsigned char premaster_secret[32], shared_ukm[32], tmp[256];-
2175 EVP_PKEY *pub_key = -
2176 ((void *)0)-
2177 ;-
2178 EVP_PKEY_CTX *pkey_ctx;-
2179 X509 *peer_cert;-
2180 size_t msglen;-
2181 unsigned int md_len;-
2182 EVP_MD_CTX *ukm_hash;-
2183 int ret = -1;-
2184 int nid;-
2185 CBB gostblob;-
2186-
2187-
2188 peer_cert = sess_cert->peer_pkeys[4].x509;-
2189 if (peer_cert ==
peer_cert == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2190 ((void *)0)
peer_cert == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2191 ) {-
2192 SSL_error_internal(s, 330, __FILE__, 2212);-
2193 goto
never executed: goto err;
err;
never executed: goto err;
0
2194 }-
2195-
2196 pub_key = X509_get_pubkey(peer_cert);-
2197 pkey_ctx = EVP_PKEY_CTX_new(pub_key, -
2198 ((void *)0)-
2199 );-
2200-
2201-
2202-
2203-
2204-
2205-
2206 EVP_PKEY_encrypt_init(pkey_ctx);-
2207-
2208-
2209 arc4random_buf(premaster_secret, 32);-
2210-
2211-
2212-
2213-
2214 if ((
(s->s3->intern...->tmp.cert_reqDescription
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->tmp.cert_req
(s->s3->intern...->tmp.cert_reqDescription
TRUEnever evaluated
FALSEnever evaluated
&& s->cert->key->privatekey
s->cert->key->privatekeyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2215 if (EVP_PKEY_derive_set_peer(pkey_ctx,
EVP_PKEY_deriv...rivatekey) <=0Description
TRUEnever evaluated
FALSEnever evaluated
0
2216 s->cert->key->privatekey) <=0
EVP_PKEY_deriv...rivatekey) <=0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2217-
2218-
2219-
2220-
2221 ERR_clear_error();-
2222 }
never executed: end of block
0
2223 }
never executed: end of block
0
2224-
2225-
2226-
2227-
2228 ukm_hash = EVP_MD_CTX_new();-
2229 if (ukm_hash ==
ukm_hash == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2230 ((void *)0)
ukm_hash == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2231 ) {-
2232 SSL_error_internal(s, (1|64), __FILE__, 2248);-
2233 goto
never executed: goto err;
err;
never executed: goto err;
0
2234 }-
2235-
2236 if (ssl_get_algorithm2(s) & 0x040
ssl_get_algorithm2(s) & 0x040Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2237 nid = 809;
never executed: nid = 809;
0
2238 else-
2239 nid = 941;
never executed: nid = 941;
0
2240 if (!EVP_DigestInit(ukm_hash, EVP_get_digestbyname(OBJ_nid2sn(nid)))
!EVP_DigestIni..._nid2sn(nid)))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2241 goto
never executed: goto err;
err;
never executed: goto err;
0
2242 EVP_DigestUpdate(ukm_hash, s->s3->client_random, 32);-
2243 EVP_DigestUpdate(ukm_hash, s->s3->server_random, 32);-
2244 EVP_DigestFinal_ex(ukm_hash, shared_ukm, &md_len);-
2245 EVP_MD_CTX_free(ukm_hash);-
2246 if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, (1<<8),
EVP_PKEY_CTX_c...hared_ukm) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2247 8, 8, shared_ukm) < 0
EVP_PKEY_CTX_c...hared_ukm) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2248 SSL_error_internal(s, 274, __FILE__, 2264);-
2249 goto
never executed: goto err;
err;
never executed: goto err;
0
2250 }-
2251-
2252-
2253-
2254-
2255 msglen = 255;-
2256 if (EVP_PKEY_encrypt(pkey_ctx, tmp, &msglen, premaster_secret,
EVP_PKEY_encry...ecret, 32) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2257 32) < 0
EVP_PKEY_encry...ecret, 32) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2258 SSL_error_internal(s, 274, __FILE__, 2274);-
2259 goto
never executed: goto err;
err;
never executed: goto err;
0
2260 }-
2261-
2262 if (!CBB_add_asn1(cbb, &gostblob, (0x00 | 0x20 | 0x10))
!CBB_add_asn1(... 0x20 | 0x10))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2263 goto
never executed: goto err;
err;
never executed: goto err;
0
2264 if (!CBB_add_bytes(&gostblob, tmp, msglen)
!CBB_add_bytes..., tmp, msglen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2265 goto
never executed: goto err;
err;
never executed: goto err;
0
2266 if (!CBB_flush(cbb)
!CBB_flush(cbb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2267 goto
never executed: goto err;
err;
never executed: goto err;
0
2268-
2269-
2270 if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, -1, 2, 2,
EVP_PKEY_CTX_c...oid *)0) ) > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2271
EVP_PKEY_CTX_c...oid *)0) ) > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2272 ((void *)0)
EVP_PKEY_CTX_c...oid *)0) ) > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2273 ) > 0
EVP_PKEY_CTX_c...oid *)0) ) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2274-
2275 s->s3->flags |= 0x0010;-
2276 }
never executed: end of block
0
2277 EVP_PKEY_CTX_free(pkey_ctx);-
2278 s->session->master_key_length =-
2279 tls1_generate_master_secret(s,-
2280 s->session->master_key, premaster_secret, 32);-
2281-
2282 ret = 1;-
2283-
2284 err:
code before this statement never executed: err:
0
2285 explicit_bzero(premaster_secret, sizeof(premaster_secret));-
2286 EVP_PKEY_free(pub_key);-
2287-
2288 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
2289}-
2290-
2291int-
2292ssl3_send_client_key_exchange(SSL *s)-
2293{-
2294 SESS_CERT *sess_cert;-
2295 unsigned long alg_k;-
2296 CBB cbb, kex;-
2297-
2298 memset(&cbb, 0, sizeof(cbb));-
2299-
2300 if ((
(s->s3->intern...(0x180|0x1000)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
s->s3->internal)->hs.state == (0x180|0x1000)
(s->s3->intern...(0x180|0x1000)Description
TRUEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-63
2301 alg_k = (s->s3->internal)->hs.new_cipher->algorithm_mkey;-
2302-
2303 if ((
(sess_cert = (...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
sess_cert = (s->session->internal)->sess_cert) ==
(sess_cert = (...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
2304 ((void *)0)
(sess_cert = (...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
2305 ) {-
2306 ssl3_send_alert(s, 2,-
2307 10);-
2308 SSL_error_internal(s, (4|64), __FILE__, 2320);-
2309 goto
never executed: goto err;
err;
never executed: goto err;
0
2310 }-
2311-
2312 if (!ssl3_handshake_msg_start(s, &cbb, &kex,
!ssl3_handshak...cbb, &kex, 16)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-63
2313 16)
!ssl3_handshak...cbb, &kex, 16)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
2314 goto
never executed: goto err;
err;
never executed: goto err;
0
2315-
2316 if (alg_k & 0x00000001L
alg_k & 0x00000001LDescription
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
14-49
2317 if (ssl3_send_client_kex_rsa(s, sess_cert, &kex) != 1
ssl3_send_clie...rt, &kex) != 1Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
)
0-14
2318 goto
never executed: goto err;
err;
never executed: goto err;
0
2319 }
executed 14 times by 1 test: end of block
Executed by:
  • ssltest
else if (alg_k & 0x00000008L
alg_k & 0x00000008LDescription
TRUEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
14-28
2320 if (ssl3_send_client_kex_dhe(s, sess_cert, &kex) != 1
ssl3_send_clie...rt, &kex) != 1Description
TRUEnever evaluated
FALSEevaluated 21 times by 1 test
Evaluated by:
  • ssltest
)
0-21
2321 goto
never executed: goto err;
err;
never executed: goto err;
0
2322 }
executed 21 times by 1 test: end of block
Executed by:
  • ssltest
else if (alg_k & 0x00000080L
alg_k & 0x00000080LDescription
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
) {
0-28
2323 if (ssl3_send_client_kex_ecdhe(s, sess_cert, &kex) != 1
ssl3_send_clie...rt, &kex) != 1Description
TRUEnever evaluated
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-28
2324 goto
never executed: goto err;
err;
never executed: goto err;
0
2325 }
executed 28 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else if (alg_k & 0x00000200L
alg_k & 0x00000200LDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0-28
2326 if (ssl3_send_client_kex_gost(s, sess_cert, &kex) != 1
ssl3_send_clie...rt, &kex) != 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2327 goto
never executed: goto err;
err;
never executed: goto err;
0
2328 }
never executed: end of block
else {
0
2329 ssl3_send_alert(s, 2,-
2330 40);-
2331 SSL_error_internal(s, (4|64), __FILE__, 2343);-
2332 goto
never executed: goto err;
err;
never executed: goto err;
0
2333 }-
2334-
2335 if (!ssl3_handshake_msg_finish(s, &cbb)
!ssl3_handshak...inish(s, &cbb)Description
TRUEnever evaluated
FALSEevaluated 63 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-63
2336 goto
never executed: goto err;
err;
never executed: goto err;
0
2337-
2338 (s->s3->internal)->hs.state = (0x181|0x1000);-
2339 }
executed 63 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
63
2340-
2341-
2342 return
executed 63 times by 2 tests: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
  • tlstest
(ssl3_handshake_write(s));
executed 63 times by 2 tests: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
  • tlstest
63
2343-
2344err:-
2345 CBB_cleanup(&cbb);-
2346-
2347 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2348}-
2349-
2350int-
2351ssl3_send_client_verify(SSL *s)-
2352{-
2353 CBB cbb, cert_verify, cbb_signature;-
2354 unsigned char data[16 + 20];-
2355 unsigned char *signature = -
2356 ((void *)0)-
2357 ;-
2358 unsigned int signature_len;-
2359 EVP_PKEY_CTX *pctx = -
2360 ((void *)0)-
2361 ;-
2362 EVP_PKEY *pkey;-
2363 EVP_MD_CTX mctx;-
2364 const EVP_MD *md;-
2365 long hdatalen;-
2366 void *hdata;-
2367-
2368 EVP_MD_CTX_init(&mctx);-
2369-
2370 memset(&cbb, 0, sizeof(cbb));-
2371-
2372 if ((
(s->s3->intern...(0x190|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
s->s3->internal)->hs.state == (0x190|0x1000)
(s->s3->intern...(0x190|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-7
2373 if (!ssl3_handshake_msg_start(s, &cbb, &cert_verify,
!ssl3_handshak...rt_verify, 15)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2374 15)
!ssl3_handshak...rt_verify, 15)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2375 goto
never executed: goto err;
err;
never executed: goto err;
0
2376-
2377-
2378-
2379-
2380-
2381 pkey = s->cert->key->privatekey;-
2382 pctx = EVP_PKEY_CTX_new(pkey, -
2383 ((void *)0)-
2384 );-
2385 EVP_PKEY_sign_init(pctx);-
2386-
2387-
2388 if (EVP_PKEY_CTX_ctrl(pctx, -1, ((1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7)), 1, 0, (void *)EVP_sha1()) <= 0
EVP_PKEY_CTX_c...P_sha1()) <= 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2389 ERR_clear_error();
never executed: ERR_clear_error();
0
2390-
2391 if ((
(signature = c...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
signature = calloc(1, EVP_PKEY_size(pkey))) ==
(signature = c...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2392 ((void *)0)
(signature = c...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2393 )-
2394 goto
never executed: goto err;
err;
never executed: goto err;
0
2395-
2396 if (!(s->method->internal->ssl3_enc->enc_flags & (1 << 1))
!(s->method->i...gs & (1 << 1))Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
2-5
2397 if ((
(s->s3->intern...ndshake_bufferDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->handshake_buffer
(s->s3->intern...ndshake_bufferDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
) {
0-2
2398 if (!tls1_digest_cached_records(s)
!tls1_digest_cached_records(s)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2399 goto
never executed: goto err;
err;
never executed: goto err;
0
2400 }
never executed: end of block
0
2401 if (!tls1_handshake_hash_value(s, data, sizeof(data),
!tls1_handshak... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
0-2
2402
!tls1_handshak... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
0-2
2403 ((void *)0)
!tls1_handshak... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
0-2
2404 )
!tls1_handshak... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
)
0-2
2405 goto
never executed: goto err;
err;
never executed: goto err;
0
2406 }
executed 2 times by 1 test: end of block
Executed by:
  • ssltest
2
2407-
2408-
2409-
2410-
2411-
2412 if ((
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
s->method->internal->ssl3_enc->enc_flags & (1 << 1))
(s->method->in...gs & (1 << 1))Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
) {
2-5
2413 hdatalen = BIO_ctrl((s->s3->internal)->handshake_buffer,3,0,(char *)&hdata)-
2414 ;-
2415 md = s->cert->key->digest;-
2416 if (hdatalen <= 0
hdatalen <= 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
||
0-5
2417 !tls12_get_hashandsig(&cert_verify, pkey, md)
!tls12_get_has...ify, pkey, md)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
0-5
2418 SSL_error_internal(s, (4|64), __FILE__, 2420);-
2419 goto
never executed: goto err;
err;
never executed: goto err;
0
2420 }-
2421 if (!EVP_DigestInit_ex(&mctx,md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
0-5
2422 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
0-5
2423 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
||
0-5
2424 !EVP_DigestUpdate(&mctx,hdata,hdatalen)
!EVP_DigestUpd...data,hdatalen)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
||
0-5
2425 !EVP_SignFinal(&mctx, signature, &signature_len,
!EVP_SignFinal...ure_len, pkey)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
0-5
2426 pkey)
!EVP_SignFinal...ure_len, pkey)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
) {
0-5
2427 SSL_error_internal(s, 6, __FILE__, 2427);-
2428 goto
never executed: goto err;
err;
never executed: goto err;
0
2429 }-
2430 if (!tls1_digest_cached_records(s)
!tls1_digest_cached_records(s)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ssltest
)
0-5
2431 goto
never executed: goto err;
err;
never executed: goto err;
0
2432 }
executed 5 times by 1 test: end of block
Executed by:
  • ssltest
else if (pkey->type == 6
pkey->type == 6Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-5
2433 if (RSA_sign(114, data,
RSA_sign(114, ...pkey.rsa) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
0-2
2434 16 + 20, signature,
RSA_sign(114, ...pkey.rsa) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
0-2
2435 &signature_len, pkey->pkey.rsa) <= 0
RSA_sign(114, ...pkey.rsa) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ssltest
) {
0-2
2436 SSL_error_internal(s, 4, __FILE__, 2436);-
2437 goto
never executed: goto err;
err;
never executed: goto err;
0
2438 }-
2439 }
executed 2 times by 1 test: end of block
Executed by:
  • ssltest
else if (pkey->type == 408
pkey->type == 408Description
TRUEnever evaluated
FALSEnever evaluated
) {
0-2
2440 if (!ECDSA_sign(pkey->save_type,
!ECDSA_sign(pk...pkey->pkey.ec)Description
TRUEnever evaluated
FALSEnever evaluated
0
2441 &data[16], 20,
!ECDSA_sign(pk...pkey->pkey.ec)Description
TRUEnever evaluated
FALSEnever evaluated
0
2442 signature, &signature_len, pkey->pkey.ec)
!ECDSA_sign(pk...pkey->pkey.ec)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2443 SSL_error_internal(s, 42, __FILE__, 2443);-
2444 goto
never executed: goto err;
err;
never executed: goto err;
0
2445 }-
2446-
2447 }
never executed: end of block
else if (pkey->type == 812
pkey->type == 812Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2448 pkey->type == 811
pkey->type == 811Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2449 unsigned char signbuf[128];-
2450 unsigned int u;-
2451 size_t sigsize;-
2452 int nid;-
2453-
2454 hdatalen = BIO_ctrl((s->s3->internal)->handshake_buffer,3,0,(char *)&hdata);-
2455 if (hdatalen <= 0
hdatalen <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2456 SSL_error_internal(s, (4|64), __FILE__, 2456);-
2457 goto
never executed: goto err;
err;
never executed: goto err;
0
2458 }-
2459 if (!EVP_PKEY_get_default_digest_nid(pkey, &nid)
!EVP_PKEY_get_...id(pkey, &nid)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2460 !(md = EVP_get_digestbyname(OBJ_nid2sn(nid)))
!(md = EVP_get..._nid2sn(nid)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2461 SSL_error_internal(s, 6, __FILE__, 2461);-
2462 goto
never executed: goto err;
err;
never executed: goto err;
0
2463 }-
2464 if (!EVP_DigestInit_ex(&mctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2465 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2466 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2467 !EVP_DigestUpdate(&mctx, hdata, hdatalen)
!EVP_DigestUpd...ata, hdatalen)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2468 !EVP_DigestFinal(&mctx, signbuf, &u)
!EVP_DigestFin..., signbuf, &u)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2469 (
(EVP_PKEY_CTX_...id *)md) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
EVP_PKEY_CTX_ctrl(pctx, -1, ((1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7)), 1, 0, (void *)md) <= 0)
(EVP_PKEY_CTX_...id *)md) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2470 (
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
EVP_PKEY_CTX_ctrl(pctx, -1, (1<<3),
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2471 (0x1000 +2),
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2472 1,
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2473 ((void *)0)
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2474 ) <= 0)
(EVP_PKEY_CTX_...d *)0) ) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2475 (
(EVP_PKEY_sign...nbuf, u) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
EVP_PKEY_sign(pctx, signature, &sigsize,
(EVP_PKEY_sign...nbuf, u) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2476 signbuf, u) <= 0)
(EVP_PKEY_sign...nbuf, u) <= 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2477 SSL_error_internal(s, 6, __FILE__, 2473);-
2478 goto
never executed: goto err;
err;
never executed: goto err;
0
2479 }-
2480 if (sigsize >
sigsize > (0x7...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEnever evaluated
0
2481 (0x7fffffff * 2U + 1U)
sigsize > (0x7...fff * 2U + 1U)Description
TRUEnever evaluated
FALSEnever evaluated
0
2482 )-
2483 goto
never executed: goto err;
err;
never executed: goto err;
0
2484 signature_len = sigsize;-
2485 if (!tls1_digest_cached_records(s)
!tls1_digest_cached_records(s)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2486 goto
never executed: goto err;
err;
never executed: goto err;
0
2487-
2488 }
never executed: end of block
else {
0
2489 SSL_error_internal(s, (4|64), __FILE__, 2483);-
2490 goto
never executed: goto err;
err;
never executed: goto err;
0
2491 }-
2492-
2493 if (!CBB_add_u16_length_prefixed(&cert_verify, &cbb_signature)
!CBB_add_u16_l...cbb_signature)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2494 goto
never executed: goto err;
err;
never executed: goto err;
0
2495 if (!CBB_add_bytes(&cbb_signature, signature, signature_len)
!CBB_add_bytes...signature_len)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2496 goto
never executed: goto err;
err;
never executed: goto err;
0
2497-
2498 if (!ssl3_handshake_msg_finish(s, &cbb)
!ssl3_handshak...inish(s, &cbb)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2499 goto
never executed: goto err;
err;
never executed: goto err;
0
2500-
2501 (s->s3->internal)->hs.state = (0x191|0x1000);-
2502 }
executed 7 times by 1 test: end of block
Executed by:
  • ssltest
7
2503-
2504 EVP_MD_CTX_cleanup(&mctx);-
2505 EVP_PKEY_CTX_free(pctx);-
2506 free(signature);-
2507-
2508 return
executed 7 times by 1 test: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
(ssl3_handshake_write(s));
executed 7 times by 1 test: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
7
2509-
2510 err:-
2511 CBB_cleanup(&cbb);-
2512 EVP_MD_CTX_cleanup(&mctx);-
2513 EVP_PKEY_CTX_free(pctx);-
2514 free(signature);-
2515-
2516 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2517}-
2518-
2519int-
2520ssl3_send_client_certificate(SSL *s)-
2521{-
2522 EVP_PKEY *pkey = -
2523 ((void *)0)-
2524 ;-
2525 X509 *x509 = -
2526 ((void *)0)-
2527 ;-
2528 CBB cbb, client_cert;-
2529 int i;-
2530-
2531 memset(&cbb, 0, sizeof(cbb));-
2532-
2533 if ((
(s->s3->intern...(0x170|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
s->s3->internal)->hs.state == (0x170|0x1000)
(s->s3->intern...(0x170|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-7
2534 if ((
(s->cert == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->cert ==
(s->cert == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2535 ((void *)0)
(s->cert == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2536 )
(s->cert == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
|| (
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->cert->key->x509 ==
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2537 ((void *)0)
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2538 )
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
||
0-7
2539 (
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->cert->key->privatekey ==
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2540 ((void *)0)
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2541 )
(s->cert->key-... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2542 (
never executed: (s->s3->internal)->hs.state = (0x171|0x1000);
s->s3->internal)->hs.state = (0x171|0x1000);
never executed: (s->s3->internal)->hs.state = (0x171|0x1000);
0
2543 else-
2544 (
executed 7 times by 1 test: (s->s3->internal)->hs.state = (0x172|0x1000);
Executed by:
  • ssltest
s->s3->internal)->hs.state = (0x172|0x1000);
executed 7 times by 1 test: (s->s3->internal)->hs.state = (0x172|0x1000);
Executed by:
  • ssltest
7
2545 }-
2546-
2547-
2548 if ((
(s->s3->intern...(0x171|0x1000)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
s->s3->internal)->hs.state == (0x171|0x1000)
(s->s3->intern...(0x171|0x1000)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
) {
0-7
2549-
2550-
2551-
2552-
2553-
2554 i = ssl_do_client_cert_cb(s, &x509, &pkey);-
2555 if (i < 0
i < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2556 s->internal->rwstate = 4;-
2557 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
2558 }-
2559 s->internal->rwstate = 1;-
2560 if ((
(i == 1)Description
TRUEnever evaluated
FALSEnever evaluated
i == 1)
(i == 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(pkey != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
pkey !=
(pkey != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2561 ((void *)0)
(pkey != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2562 )
(pkey != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(x509 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
x509 !=
(x509 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2563 ((void *)0)
(x509 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
2564 )
(x509 != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2565 (s->s3->internal)->hs.state = (0x171|0x1000);-
2566 if (!SSL_use_certificate(s, x509)
!SSL_use_certificate(s, x509)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2567 !SSL_use_PrivateKey(s, pkey)
!SSL_use_PrivateKey(s, pkey)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2568 i = 0;
never executed: i = 0;
0
2569 }
never executed: end of block
else if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2570 i = 0;-
2571 SSL_error_internal(s, 106, __FILE__, 2551);-
2572 }
never executed: end of block
0
2573-
2574 X509_free(x509);-
2575 EVP_PKEY_free(pkey);-
2576 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2577 (
never executed: (s->s3->internal)->tmp.cert_req = 2;
s->s3->internal)->tmp.cert_req = 2;
never executed: (s->s3->internal)->tmp.cert_req = 2;
0
2578-
2579-
2580 (s->s3->internal)->hs.state = (0x172|0x1000);-
2581 }
never executed: end of block
0
2582-
2583 if ((
(s->s3->intern...(0x172|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
s->s3->internal)->hs.state == (0x172|0x1000)
(s->s3->intern...(0x172|0x1000)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
) {
0-7
2584 if (!ssl3_handshake_msg_start(s, &cbb, &client_cert,
!ssl3_handshak...ient_cert, 11)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2585 11)
!ssl3_handshak...ient_cert, 11)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2586 goto
never executed: goto err;
err;
never executed: goto err;
0
2587 if (!ssl3_output_cert_chain(s, &client_cert,
!ssl3_output_c...rt->key->x509)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2588 ((s->s3->internal)->tmp.cert_req == 2) ?
!ssl3_output_c...rt->key->x509)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2589 ((void *)0)
!ssl3_output_c...rt->key->x509)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
0-7
2590 : s->cert->key->x509)
!ssl3_output_c...rt->key->x509)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2591 goto
never executed: goto err;
err;
never executed: goto err;
0
2592 if (!ssl3_handshake_msg_finish(s, &cbb)
!ssl3_handshak...inish(s, &cbb)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ssltest
)
0-7
2593 goto
never executed: goto err;
err;
never executed: goto err;
0
2594-
2595 (s->s3->internal)->hs.state = (0x173|0x1000);-
2596 }
executed 7 times by 1 test: end of block
Executed by:
  • ssltest
7
2597-
2598-
2599 return
executed 7 times by 1 test: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
(ssl3_handshake_write(s));
executed 7 times by 1 test: return (ssl3_handshake_write(s));
Executed by:
  • ssltest
7
2600-
2601 err:-
2602 CBB_cleanup(&cbb);-
2603-
2604 return
never executed: return (0);
(0);
never executed: return (0);
0
2605}-
2606-
2607-
2608-
2609int-
2610ssl3_check_cert_and_algorithm(SSL *s)-
2611{-
2612 int i, idx;-
2613 long alg_k, alg_a;-
2614 EVP_PKEY *pkey = -
2615 ((void *)0)-
2616 ;-
2617 SESS_CERT *sc;-
2618 DH *dh;-
2619-
2620 alg_k = (s->s3->internal)->hs.new_cipher->algorithm_mkey;-
2621 alg_a = (s->s3->internal)->hs.new_cipher->algorithm_auth;-
2622-
2623-
2624 if (alg_a & 0x00000004L
alg_a & 0x00000004LDescription
TRUEevaluated 10 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
10-53
2625 return
executed 10 times by 1 test: return (1);
Executed by:
  • ssltest
(1);
executed 10 times by 1 test: return (1);
Executed by:
  • ssltest
10
2626-
2627 sc = (s->session->internal)->sess_cert;-
2628 if (sc ==
sc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
2629 ((void *)0)
sc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-53
2630 ) {-
2631 SSL_error_internal(s, (4|64), __FILE__, 2605);-
2632 goto
never executed: goto err;
err;
never executed: goto err;
0
2633 }-
2634 dh = (s->session->internal)->sess_cert->peer_dh_tmp;-
2635-
2636-
2637-
2638 idx = sc->peer_cert_type;-
2639 if (idx == 3
idx == 3Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
2640 if (ssl_check_srvr_ecc_cert_and_alg(
ssl_check_srvr....x509, s) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2641 sc->peer_pkeys[idx].x509, s) == 0
ssl_check_srvr....x509, s) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2642-
2643 SSL_error_internal(s, 304, __FILE__, 2617);-
2644 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
2645 } else {-
2646 return
never executed: return (1);
(1);
never executed: return (1);
0
2647 }-
2648 }-
2649 pkey = X509_get_pubkey(sc->peer_pkeys[idx].x509);-
2650 i = X509_certificate_type(sc->peer_pkeys[idx].x509, pkey);-
2651 EVP_PKEY_free(pkey);-
2652-
2653-
2654 if ((
(alg_a & 0x00000001L)Description
TRUEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
alg_a & 0x00000001L)
(alg_a & 0x00000001L)Description
TRUEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
&& !(((i)&(0x0001|0x0010)) == (0x0001|0x0010))
!(((i)&(0x0001...x0001|0x0010))Description
TRUEnever evaluated
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-53
2655 SSL_error_internal(s, 170, __FILE__, 2629);-
2656 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
2657 }-
2658 if ((
(alg_k & 0x00000001L)Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
alg_k & 0x00000001L)
(alg_k & 0x00000001L)Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 39 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&& !(((i)&(0x0001|0x0020)) == (0x0001|0x0020))
!(((i)&(0x0001...x0001|0x0020))Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-39
2659 SSL_error_internal(s, 169, __FILE__, 2633);-
2660 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
2661 }-
2662 if ((
(alg_k & 0x00000008L)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 42 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
alg_k & 0x00000008L)
(alg_k & 0x00000008L)Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 42 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
&&
11-42
2663 !((((
(((i)&(0x0004|...x0004|0x0040))Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
i)&(0x0004|0x0040)) == (0x0004|0x0040))
(((i)&(0x0004|...x0004|0x0040))Description
TRUEnever evaluated
FALSEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
|| (
(dh != ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
dh !=
(dh != ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-11
2664 ((void *)0)
(dh != ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-11
2665 )
(dh != ((void *)0) )Description
TRUEevaluated 11 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
)) {
0-11
2666 SSL_error_internal(s, 163, __FILE__, 2638);-
2667 goto
never executed: goto f_err;
f_err;
never executed: goto f_err;
0
2668 }-
2669-
2670 return
executed 53 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 53 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
53
2671f_err:-
2672 ssl3_send_alert(s, 2, 40);-
2673err:
code before this statement never executed: err:
0
2674 return
never executed: return (0);
(0);
never executed: return (0);
0
2675}-
2676-
2677-
2678-
2679-
2680-
2681-
2682-
2683int-
2684ssl3_check_finished(SSL *s)-
2685{-
2686 int ok;-
2687 long n;-
2688-
2689-
2690 if (!s->session->tlsext_tick
!s->session->tlsext_tickDescription
TRUEevaluated 225 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEnever evaluated
)
0-225
2691 return
executed 225 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
(1);
executed 225 times by 2 tests: return (1);
Executed by:
  • ssltest
  • tlstest
225
2692-
2693-
2694 n = s->method->internal->ssl_get_message(s, (0x130|0x1000),-
2695 (0x131|0x1000), -1, s->internal->max_cert_list, &ok);-
2696 if (!ok
!okDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2697 return
never executed: return ((int)n);
((int)n);
never executed: return ((int)n);
0
2698 (s->s3->internal)->tmp.reuse_message = 1;-
2699 if (((
((s->s3->inter...ge_type == 20)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->tmp.message_type == 20)
((s->s3->inter...ge_type == 20)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2700 ((
((s->s3->inter...age_type == 4)Description
TRUEnever evaluated
FALSEnever evaluated
s->s3->internal)->tmp.message_type == 4)
((s->s3->inter...age_type == 4)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2701 return
never executed: return (2);
(2);
never executed: return (2);
0
2702-
2703 return
never executed: return (1);
(1);
never executed: return (1);
0
2704}-
2705-
2706int-
2707ssl_do_client_cert_cb(SSL *s, X509 **px509, EVP_PKEY **ppkey)-
2708{-
2709 int i = 0;-
2710-
2711-
2712 if (s->ctx->internal->client_cert_engine
s->ctx->intern...nt_cert_engineDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2713 i = ENGINE_load_ssl_client_cert(-
2714 s->ctx->internal->client_cert_engine, s,-
2715 SSL_get_client_CA_list(s), px509, ppkey, -
2716 ((void *)0)-
2717 , -
2718 ((void *)0)-
2719 , -
2720 ((void *)0)-
2721 );-
2722 if (i != 0
i != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2723 return
never executed: return (i);
(i);
never executed: return (i);
0
2724 }
never executed: end of block
0
2725-
2726 if (s->ctx->internal->client_cert_cb
s->ctx->intern...client_cert_cbDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2727 i = s->ctx->internal->client_cert_cb(s, px509, ppkey);
never executed: i = s->ctx->internal->client_cert_cb(s, px509, ppkey);
0
2728 return
never executed: return (i);
(i);
never executed: return (i);
0
2729}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2