OpenCoverage

ssl_ciph.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_ciph.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: ssl_ciph.c,v 1.105 2018/09/08 14:39:41 jsing Exp $ */-
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)-
3 * All rights reserved.-
4 *-
5 * This package is an SSL implementation written-
6 * by Eric Young (eay@cryptsoft.com).-
7 * The implementation was written so as to conform with Netscapes SSL.-
8 *-
9 * This library is free for commercial and non-commercial use as long as-
10 * the following conditions are aheared to. The following conditions-
11 * apply to all code found in this distribution, be it the RC4, RSA,-
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation-
13 * included with this distribution is covered by the same copyright terms-
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).-
15 *-
16 * Copyright remains Eric Young's, and as such any Copyright notices in-
17 * the code are not to be removed.-
18 * If this package is used in a product, Eric Young should be given attribution-
19 * as the author of the parts of the library used.-
20 * This can be in the form of a textual message at program startup or-
21 * in documentation (online or textual) provided with the package.-
22 *-
23 * Redistribution and use in source and binary forms, with or without-
24 * modification, are permitted provided that the following conditions-
25 * are met:-
26 * 1. Redistributions of source code must retain the copyright-
27 * notice, this list of conditions and the following disclaimer.-
28 * 2. Redistributions in binary form must reproduce the above copyright-
29 * notice, this list of conditions and the following disclaimer in the-
30 * documentation and/or other materials provided with the distribution.-
31 * 3. All advertising materials mentioning features or use of this software-
32 * must display the following acknowledgement:-
33 * "This product includes cryptographic software written by-
34 * Eric Young (eay@cryptsoft.com)"-
35 * The word 'cryptographic' can be left out if the rouines from the library-
36 * being used are not cryptographic related :-).-
37 * 4. If you include any Windows specific code (or a derivative thereof) from-
38 * the apps directory (application code) you must include an acknowledgement:-
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"-
40 *-
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND-
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE-
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE-
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS-
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT-
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY-
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF-
51 * SUCH DAMAGE.-
52 *-
53 * The licence and distribution terms for any publically available version or-
54 * derivative of this code cannot be changed. i.e. this code cannot simply be-
55 * copied and put under another distribution licence-
56 * [including the GNU Public Licence.]-
57 */-
58/* ====================================================================-
59 * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.-
60 *-
61 * Redistribution and use in source and binary forms, with or without-
62 * modification, are permitted provided that the following conditions-
63 * are met:-
64 *-
65 * 1. Redistributions of source code must retain the above copyright-
66 * notice, this list of conditions and the following disclaimer.-
67 *-
68 * 2. Redistributions in binary form must reproduce the above copyright-
69 * notice, this list of conditions and the following disclaimer in-
70 * the documentation and/or other materials provided with the-
71 * distribution.-
72 *-
73 * 3. All advertising materials mentioning features or use of this-
74 * software must display the following acknowledgment:-
75 * "This product includes software developed by the OpenSSL Project-
76 * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"-
77 *-
78 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
79 * endorse or promote products derived from this software without-
80 * prior written permission. For written permission, please contact-
81 * openssl-core@openssl.org.-
82 *-
83 * 5. Products derived from this software may not be called "OpenSSL"-
84 * nor may "OpenSSL" appear in their names without prior written-
85 * permission of the OpenSSL Project.-
86 *-
87 * 6. Redistributions of any form whatsoever must retain the following-
88 * acknowledgment:-
89 * "This product includes software developed by the OpenSSL Project-
90 * for use in the OpenSSL Toolkit (http://www.openssl.org/)"-
91 *-
92 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
93 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
94 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
95 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
96 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
97 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
98 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
99 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
100 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
101 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
102 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
103 * OF THE POSSIBILITY OF SUCH DAMAGE.-
104 * ====================================================================-
105 *-
106 * This product includes cryptographic software written by Eric Young-
107 * (eay@cryptsoft.com). This product includes software written by Tim-
108 * Hudson (tjh@cryptsoft.com).-
109 *-
110 */-
111/* ====================================================================-
112 * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.-
113 * ECC cipher suite support in OpenSSL originally developed by-
114 * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.-
115 */-
116/* ====================================================================-
117 * Copyright 2005 Nokia. All rights reserved.-
118 *-
119 * The portions of the attached software ("Contribution") is developed by-
120 * Nokia Corporation and is licensed pursuant to the OpenSSL open source-
121 * license.-
122 *-
123 * The Contribution, originally written by Mika Kousa and Pasi Eronen of-
124 * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites-
125 * support (see RFC 4279) to OpenSSL.-
126 *-
127 * No patent licenses or other rights except those expressly stated in-
128 * the OpenSSL open source license shall be deemed granted or received-
129 * expressly, by implication, estoppel, or otherwise.-
130 *-
131 * No assurances are provided by Nokia that the Contribution does not-
132 * infringe the patent or other intellectual property rights of any third-
133 * party or that the license provides you with all the necessary rights-
134 * to make use of the Contribution.-
135 *-
136 * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN-
137 * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA-
138 * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY-
139 * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR-
140 * OTHERWISE.-
141 */-
142-
143#include <stdio.h>-
144-
145#include <openssl/objects.h>-
146-
147#ifndef OPENSSL_NO_ENGINE-
148#include <openssl/engine.h>-
149#endif-
150-
151#include "ssl_locl.h"-
152-
153#define SSL_ENC_3DES_IDX 0-
154#define SSL_ENC_RC4_IDX 1-
155#define SSL_ENC_NULL_IDX 2-
156#define SSL_ENC_AES128_IDX 3-
157#define SSL_ENC_AES256_IDX 4-
158#define SSL_ENC_CAMELLIA128_IDX 5-
159#define SSL_ENC_CAMELLIA256_IDX 6-
160#define SSL_ENC_GOST89_IDX 7-
161#define SSL_ENC_NUM_IDX 8-
162-
163static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX] = {-
164 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,-
165};-
166-
167#define SSL_MD_MD5_IDX 0-
168#define SSL_MD_SHA1_IDX 1-
169#define SSL_MD_GOST94_IDX 2-
170#define SSL_MD_GOST89MAC_IDX 3-
171#define SSL_MD_SHA256_IDX 4-
172#define SSL_MD_SHA384_IDX 5-
173#define SSL_MD_STREEBOG256_IDX 6-
174#define SSL_MD_NUM_IDX 7-
175static const EVP_MD *ssl_digest_methods[SSL_MD_NUM_IDX] = {-
176 NULL, NULL, NULL, NULL, NULL, NULL, NULL,-
177};-
178-
179static int ssl_mac_pkey_id[SSL_MD_NUM_IDX] = {-
180 EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_GOSTIMIT,-
181 EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC,-
182};-
183-
184static int ssl_mac_secret_size[SSL_MD_NUM_IDX] = {-
185 0, 0, 0, 0, 0, 0, 0,-
186};-
187-
188#define CIPHER_ADD 1-
189#define CIPHER_KILL 2-
190#define CIPHER_DEL 3-
191#define CIPHER_ORD 4-
192#define CIPHER_SPECIAL 5-
193-
194typedef struct cipher_order_st {-
195 const SSL_CIPHER *cipher;-
196 int active;-
197 int dead;-
198 struct cipher_order_st *next, *prev;-
199} CIPHER_ORDER;-
200-
201static const SSL_CIPHER cipher_aliases[] = {-
202-
203 /* "ALL" doesn't include eNULL (must be specifically enabled) */-
204 {-
205 .name = SSL_TXT_ALL,-
206 .algorithm_enc = ~SSL_eNULL,-
207 },-
208-
209 /* "COMPLEMENTOFALL" */-
210 {-
211 .name = SSL_TXT_CMPALL,-
212 .algorithm_enc = SSL_eNULL,-
213 },-
214-
215 /*-
216 * "COMPLEMENTOFDEFAULT"-
217 * (does *not* include ciphersuites not found in ALL!)-
218 */-
219 {-
220 .name = SSL_TXT_CMPDEF,-
221 .algorithm_mkey = SSL_kDHE|SSL_kECDHE,-
222 .algorithm_auth = SSL_aNULL,-
223 .algorithm_enc = ~SSL_eNULL,-
224 },-
225-
226 /*-
227 * key exchange aliases-
228 * (some of those using only a single bit here combine multiple key-
229 * exchange algs according to the RFCs, e.g. kEDH combines DHE_DSS-
230 * and DHE_RSA)-
231 */-
232 {-
233 .name = SSL_TXT_kRSA,-
234 .algorithm_mkey = SSL_kRSA,-
235 },-
236 {-
237 .name = SSL_TXT_kEDH,-
238 .algorithm_mkey = SSL_kDHE,-
239 },-
240 {-
241 .name = SSL_TXT_DH,-
242 .algorithm_mkey = SSL_kDHE,-
243 },-
244 {-
245 .name = SSL_TXT_kEECDH,-
246 .algorithm_mkey = SSL_kECDHE,-
247 },-
248 {-
249 .name = SSL_TXT_ECDH,-
250 .algorithm_mkey = SSL_kECDHE,-
251 },-
252 {-
253 .name = SSL_TXT_kGOST,-
254 .algorithm_mkey = SSL_kGOST,-
255 },-
256-
257 /* server authentication aliases */-
258 {-
259 .name = SSL_TXT_aRSA,-
260 .algorithm_auth = SSL_aRSA,-
261 },-
262 {-
263 .name = SSL_TXT_aDSS,-
264 .algorithm_auth = SSL_aDSS,-
265 },-
266 {-
267 .name = SSL_TXT_DSS,-
268 .algorithm_auth = SSL_aDSS,-
269 },-
270 {-
271 .name = SSL_TXT_aNULL,-
272 .algorithm_auth = SSL_aNULL,-
273 },-
274 {-
275 .name = SSL_TXT_aECDSA,-
276 .algorithm_auth = SSL_aECDSA,-
277 },-
278 {-
279 .name = SSL_TXT_ECDSA,-
280 .algorithm_auth = SSL_aECDSA,-
281 },-
282 {-
283 .name = SSL_TXT_aGOST01,-
284 .algorithm_auth = SSL_aGOST01,-
285 },-
286 {-
287 .name = SSL_TXT_aGOST,-
288 .algorithm_auth = SSL_aGOST01,-
289 },-
290-
291 /* aliases combining key exchange and server authentication */-
292 {-
293 .name = SSL_TXT_DHE,-
294 .algorithm_mkey = SSL_kDHE,-
295 .algorithm_auth = ~SSL_aNULL,-
296 },-
297 {-
298 .name = SSL_TXT_EDH,-
299 .algorithm_mkey = SSL_kDHE,-
300 .algorithm_auth = ~SSL_aNULL,-
301 },-
302 {-
303 .name = SSL_TXT_ECDHE,-
304 .algorithm_mkey = SSL_kECDHE,-
305 .algorithm_auth = ~SSL_aNULL,-
306 },-
307 {-
308 .name = SSL_TXT_EECDH,-
309 .algorithm_mkey = SSL_kECDHE,-
310 .algorithm_auth = ~SSL_aNULL,-
311 },-
312 {-
313 .name = SSL_TXT_NULL,-
314 .algorithm_enc = SSL_eNULL,-
315 },-
316 {-
317 .name = SSL_TXT_RSA,-
318 .algorithm_mkey = SSL_kRSA,-
319 .algorithm_auth = SSL_aRSA,-
320 },-
321 {-
322 .name = SSL_TXT_ADH,-
323 .algorithm_mkey = SSL_kDHE,-
324 .algorithm_auth = SSL_aNULL,-
325 },-
326 {-
327 .name = SSL_TXT_AECDH,-
328 .algorithm_mkey = SSL_kECDHE,-
329 .algorithm_auth = SSL_aNULL,-
330 },-
331-
332 /* symmetric encryption aliases */-
333 {-
334 .name = SSL_TXT_3DES,-
335 .algorithm_enc = SSL_3DES,-
336 },-
337 {-
338 .name = SSL_TXT_RC4,-
339 .algorithm_enc = SSL_RC4,-
340 },-
341 {-
342 .name = SSL_TXT_eNULL,-
343 .algorithm_enc = SSL_eNULL,-
344 },-
345 {-
346 .name = SSL_TXT_AES128,-
347 .algorithm_enc = SSL_AES128|SSL_AES128GCM,-
348 },-
349 {-
350 .name = SSL_TXT_AES256,-
351 .algorithm_enc = SSL_AES256|SSL_AES256GCM,-
352 },-
353 {-
354 .name = SSL_TXT_AES,-
355 .algorithm_enc = SSL_AES,-
356 },-
357 {-
358 .name = SSL_TXT_AES_GCM,-
359 .algorithm_enc = SSL_AES128GCM|SSL_AES256GCM,-
360 },-
361 {-
362 .name = SSL_TXT_CAMELLIA128,-
363 .algorithm_enc = SSL_CAMELLIA128,-
364 },-
365 {-
366 .name = SSL_TXT_CAMELLIA256,-
367 .algorithm_enc = SSL_CAMELLIA256,-
368 },-
369 {-
370 .name = SSL_TXT_CAMELLIA,-
371 .algorithm_enc = SSL_CAMELLIA128|SSL_CAMELLIA256,-
372 },-
373 {-
374 .name = SSL_TXT_CHACHA20,-
375 .algorithm_enc = SSL_CHACHA20POLY1305,-
376 },-
377-
378 /* MAC aliases */-
379 {-
380 .name = SSL_TXT_AEAD,-
381 .algorithm_mac = SSL_AEAD,-
382 },-
383 {-
384 .name = SSL_TXT_MD5,-
385 .algorithm_mac = SSL_MD5,-
386 },-
387 {-
388 .name = SSL_TXT_SHA1,-
389 .algorithm_mac = SSL_SHA1,-
390 },-
391 {-
392 .name = SSL_TXT_SHA,-
393 .algorithm_mac = SSL_SHA1,-
394 },-
395 {-
396 .name = SSL_TXT_GOST94,-
397 .algorithm_mac = SSL_GOST94,-
398 },-
399 {-
400 .name = SSL_TXT_GOST89MAC,-
401 .algorithm_mac = SSL_GOST89MAC,-
402 },-
403 {-
404 .name = SSL_TXT_SHA256,-
405 .algorithm_mac = SSL_SHA256,-
406 },-
407 {-
408 .name = SSL_TXT_SHA384,-
409 .algorithm_mac = SSL_SHA384,-
410 },-
411 {-
412 .name = SSL_TXT_STREEBOG256,-
413 .algorithm_mac = SSL_STREEBOG256,-
414 },-
415-
416 /* protocol version aliases */-
417 {-
418 .name = SSL_TXT_SSLV3,-
419 .algorithm_ssl = SSL_SSLV3,-
420 },-
421 {-
422 .name = SSL_TXT_TLSV1,-
423 .algorithm_ssl = SSL_TLSV1,-
424 },-
425 {-
426 .name = SSL_TXT_TLSV1_2,-
427 .algorithm_ssl = SSL_TLSV1_2,-
428 },-
429-
430 /* strength classes */-
431 {-
432 .name = SSL_TXT_LOW,-
433 .algo_strength = SSL_LOW,-
434 },-
435 {-
436 .name = SSL_TXT_MEDIUM,-
437 .algo_strength = SSL_MEDIUM,-
438 },-
439 {-
440 .name = SSL_TXT_HIGH,-
441 .algo_strength = SSL_HIGH,-
442 },-
443};-
444-
445void-
446ssl_load_ciphers(void)-
447{-
448 ssl_cipher_methods[SSL_ENC_3DES_IDX] =-
449 EVP_get_cipherbyname(SN_des_ede3_cbc);-
450 ssl_cipher_methods[SSL_ENC_RC4_IDX] =-
451 EVP_get_cipherbyname(SN_rc4);-
452 ssl_cipher_methods[SSL_ENC_AES128_IDX] =-
453 EVP_get_cipherbyname(SN_aes_128_cbc);-
454 ssl_cipher_methods[SSL_ENC_AES256_IDX] =-
455 EVP_get_cipherbyname(SN_aes_256_cbc);-
456 ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] =-
457 EVP_get_cipherbyname(SN_camellia_128_cbc);-
458 ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX] =-
459 EVP_get_cipherbyname(SN_camellia_256_cbc);-
460 ssl_cipher_methods[SSL_ENC_GOST89_IDX] =-
461 EVP_get_cipherbyname(SN_gost89_cnt);-
462-
463 ssl_digest_methods[SSL_MD_MD5_IDX] =-
464 EVP_get_digestbyname(SN_md5);-
465 ssl_mac_secret_size[SSL_MD_MD5_IDX] =-
466 EVP_MD_size(ssl_digest_methods[SSL_MD_MD5_IDX]);-
467 OPENSSL_assert(ssl_mac_secret_size[SSL_MD_MD5_IDX] >= 0);-
468 ssl_digest_methods[SSL_MD_SHA1_IDX] =-
469 EVP_get_digestbyname(SN_sha1);-
470 ssl_mac_secret_size[SSL_MD_SHA1_IDX] =-
471 EVP_MD_size(ssl_digest_methods[SSL_MD_SHA1_IDX]);-
472 OPENSSL_assert(ssl_mac_secret_size[SSL_MD_SHA1_IDX] >= 0);-
473 ssl_digest_methods[SSL_MD_GOST94_IDX] =-
474 EVP_get_digestbyname(SN_id_GostR3411_94);-
475 if (ssl_digest_methods[SSL_MD_GOST94_IDX]) {
ssl_digest_methods[2]Description
TRUEevaluated 333 times by 14 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-333
476 ssl_mac_secret_size[SSL_MD_GOST94_IDX] =-
477 EVP_MD_size(ssl_digest_methods[SSL_MD_GOST94_IDX]);-
478 OPENSSL_assert(ssl_mac_secret_size[SSL_MD_GOST94_IDX] >= 0);-
479 }
executed 333 times by 14 tests: end of block
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
333
480 ssl_digest_methods[SSL_MD_GOST89MAC_IDX] =-
481 EVP_get_digestbyname(SN_id_Gost28147_89_MAC);-
482 if (ssl_mac_pkey_id[SSL_MD_GOST89MAC_IDX]) {
ssl_mac_pkey_id[3]Description
TRUEevaluated 333 times by 14 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-333
483 ssl_mac_secret_size[SSL_MD_GOST89MAC_IDX] = 32;-
484 }
executed 333 times by 14 tests: end of block
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
333
485-
486 ssl_digest_methods[SSL_MD_SHA256_IDX] =-
487 EVP_get_digestbyname(SN_sha256);-
488 ssl_mac_secret_size[SSL_MD_SHA256_IDX] =-
489 EVP_MD_size(ssl_digest_methods[SSL_MD_SHA256_IDX]);-
490 ssl_digest_methods[SSL_MD_SHA384_IDX] =-
491 EVP_get_digestbyname(SN_sha384);-
492 ssl_mac_secret_size[SSL_MD_SHA384_IDX] =-
493 EVP_MD_size(ssl_digest_methods[SSL_MD_SHA384_IDX]);-
494 ssl_digest_methods[SSL_MD_STREEBOG256_IDX] =-
495 EVP_get_digestbyname(SN_id_tc26_gost3411_2012_256);-
496 ssl_mac_secret_size[SSL_MD_STREEBOG256_IDX] =-
497 EVP_MD_size(ssl_digest_methods[SSL_MD_STREEBOG256_IDX]);-
498}
executed 333 times by 14 tests: end of block
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
333
499-
500int-
501ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,-
502 const EVP_MD **md, int *mac_pkey_type, int *mac_secret_size)-
503{-
504 const SSL_CIPHER *c;-
505 int i;-
506-
507 c = s->cipher;-
508 if (c == NULL)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
509 return (0);
never executed: return (0);
0
510-
511 /*-
512 * This function does not handle EVP_AEAD.-
513 * See ssl_cipher_get_aead_evp instead.-
514 */-
515 if (c->algorithm_mac & SSL_AEAD)
c->algorithm_mac & 0x00000040LDescription
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
516 return(0);
never executed: return(0);
0
517-
518 if ((enc == NULL) || (md == NULL))
(enc == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
(md == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
519 return (0);
never executed: return (0);
0
520-
521 switch (c->algorithm_enc) {-
522 case SSL_3DES:
executed 2 times by 1 test: case 0x00000002L:
Executed by:
  • ssltest
2
523 i = SSL_ENC_3DES_IDX;-
524 break;
executed 2 times by 1 test: break;
Executed by:
  • ssltest
2
525 case SSL_RC4:
never executed: case 0x00000004L:
0
526 i = SSL_ENC_RC4_IDX;-
527 break;
never executed: break;
0
528 case SSL_eNULL:
executed 6 times by 1 test: case 0x00000010L:
Executed by:
  • ssltest
6
529 i = SSL_ENC_NULL_IDX;-
530 break;
executed 6 times by 1 test: break;
Executed by:
  • ssltest
6
531 case SSL_AES128:
executed 8 times by 1 test: case 0x00000020L:
Executed by:
  • ssltest
8
532 i = SSL_ENC_AES128_IDX;-
533 break;
executed 8 times by 1 test: break;
Executed by:
  • ssltest
8
534 case SSL_AES256:
executed 52 times by 1 test: case 0x00000040L:
Executed by:
  • ssltest
52
535 i = SSL_ENC_AES256_IDX;-
536 break;
executed 52 times by 1 test: break;
Executed by:
  • ssltest
52
537 case SSL_CAMELLIA128:
executed 6 times by 1 test: case 0x00000080L:
Executed by:
  • ssltest
6
538 i = SSL_ENC_CAMELLIA128_IDX;-
539 break;
executed 6 times by 1 test: break;
Executed by:
  • ssltest
6
540 case SSL_CAMELLIA256:
executed 6 times by 1 test: case 0x00000100L:
Executed by:
  • ssltest
6
541 i = SSL_ENC_CAMELLIA256_IDX;-
542 break;
executed 6 times by 1 test: break;
Executed by:
  • ssltest
6
543 case SSL_eGOST2814789CNT:
never executed: case 0x00000200L:
0
544 i = SSL_ENC_GOST89_IDX;-
545 break;
never executed: break;
0
546 default:
never executed: default:
0
547 i = -1;-
548 break;
never executed: break;
0
549 }-
550-
551 if ((i < 0) || (i >= SSL_ENC_NUM_IDX))
(i < 0)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
(i >= 8)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
552 *enc = NULL;
never executed: *enc = ((void *)0) ;
0
553 else {-
554 if (i == SSL_ENC_NULL_IDX)
i == 2Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 74 times by 1 test
Evaluated by:
  • ssltest
6-74
555 *enc = EVP_enc_null();
executed 6 times by 1 test: *enc = EVP_enc_null();
Executed by:
  • ssltest
6
556 else-
557 *enc = ssl_cipher_methods[i];
executed 74 times by 1 test: *enc = ssl_cipher_methods[i];
Executed by:
  • ssltest
74
558 }-
559-
560 switch (c->algorithm_mac) {-
561 case SSL_MD5:
executed 2 times by 1 test: case 0x00000001L:
Executed by:
  • ssltest
2
562 i = SSL_MD_MD5_IDX;-
563 break;
executed 2 times by 1 test: break;
Executed by:
  • ssltest
2
564 case SSL_SHA1:
executed 56 times by 1 test: case 0x00000002L:
Executed by:
  • ssltest
56
565 i = SSL_MD_SHA1_IDX;-
566 break;
executed 56 times by 1 test: break;
Executed by:
  • ssltest
56
567 case SSL_SHA256:
executed 20 times by 1 test: case 0x00000010L:
Executed by:
  • ssltest
20
568 i = SSL_MD_SHA256_IDX;-
569 break;
executed 20 times by 1 test: break;
Executed by:
  • ssltest
20
570 case SSL_SHA384:
executed 2 times by 1 test: case 0x00000020L:
Executed by:
  • ssltest
2
571 i = SSL_MD_SHA384_IDX;-
572 break;
executed 2 times by 1 test: break;
Executed by:
  • ssltest
2
573 case SSL_GOST94:
never executed: case 0x00000004L:
0
574 i = SSL_MD_GOST94_IDX;-
575 break;
never executed: break;
0
576 case SSL_GOST89MAC:
never executed: case 0x00000008L:
0
577 i = SSL_MD_GOST89MAC_IDX;-
578 break;
never executed: break;
0
579 case SSL_STREEBOG256:
never executed: case 0x00000080L:
0
580 i = SSL_MD_STREEBOG256_IDX;-
581 break;
never executed: break;
0
582 default:
never executed: default:
0
583 i = -1;-
584 break;
never executed: break;
0
585 }-
586 if ((i < 0) || (i >= SSL_MD_NUM_IDX)) {
(i < 0)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
(i >= 7)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
587 *md = NULL;-
588-
589 if (mac_pkey_type != NULL)
mac_pkey_type != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
590 *mac_pkey_type = NID_undef;
never executed: *mac_pkey_type = 0;
0
591 if (mac_secret_size != NULL)
mac_secret_size != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
592 *mac_secret_size = 0;
never executed: *mac_secret_size = 0;
0
593 } else {
never executed: end of block
0
594 *md = ssl_digest_methods[i];-
595 if (mac_pkey_type != NULL)
mac_pkey_type != ((void *)0)Description
TRUEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-80
596 *mac_pkey_type = ssl_mac_pkey_id[i];
executed 80 times by 1 test: *mac_pkey_type = ssl_mac_pkey_id[i];
Executed by:
  • ssltest
80
597 if (mac_secret_size != NULL)
mac_secret_size != ((void *)0)Description
TRUEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-80
598 *mac_secret_size = ssl_mac_secret_size[i];
executed 80 times by 1 test: *mac_secret_size = ssl_mac_secret_size[i];
Executed by:
  • ssltest
80
599 }
executed 80 times by 1 test: end of block
Executed by:
  • ssltest
80
600-
601 if (*enc == NULL || *md == NULL ||
*enc == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
*md == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
602 (mac_pkey_type != NULL && *mac_pkey_type == NID_undef))
mac_pkey_type != ((void *)0)Description
TRUEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
*mac_pkey_type == 0Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
603 return 0;
never executed: return 0;
0
604-
605 /*-
606 * EVP_CIPH_FLAG_AEAD_CIPHER and EVP_CIPH_GCM_MODE ciphers are not-
607 * supported via EVP_CIPHER (they should be using EVP_AEAD instead).-
608 */-
609 if (EVP_CIPHER_flags(*enc) & EVP_CIPH_FLAG_AEAD_CIPHER)
EVP_CIPHER_fla...nc) & 0x200000Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
610 return 0;
never executed: return 0;
0
611 if (EVP_CIPHER_mode(*enc) == EVP_CIPH_GCM_MODE)
(EVP_CIPHER_fl...xF0007) == 0x6Description
TRUEnever evaluated
FALSEevaluated 80 times by 1 test
Evaluated by:
  • ssltest
0-80
612 return 0;
never executed: return 0;
0
613-
614 return 1;
executed 80 times by 1 test: return 1;
Executed by:
  • ssltest
80
615}-
616-
617/*-
618 * ssl_cipher_get_evp_aead sets aead to point to the correct EVP_AEAD object-
619 * for s->cipher. It returns 1 on success and 0 on error.-
620 */-
621int-
622ssl_cipher_get_evp_aead(const SSL_SESSION *s, const EVP_AEAD **aead)-
623{-
624 const SSL_CIPHER *c = s->cipher;-
625-
626 *aead = NULL;-
627-
628 if (c == NULL)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 46 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-46
629 return 0;
never executed: return 0;
0
630 if ((c->algorithm_mac & SSL_AEAD) == 0)
(c->algorithm_...0000040L) == 0Description
TRUEnever evaluated
FALSEevaluated 46 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-46
631 return 0;
never executed: return 0;
0
632-
633 switch (c->algorithm_enc) {-
634 case SSL_AES128GCM:
executed 6 times by 1 test: case 0x00000400L:
Executed by:
  • ssltest
6
635 *aead = EVP_aead_aes_128_gcm();-
636 return 1;
executed 6 times by 1 test: return 1;
Executed by:
  • ssltest
6
637 case SSL_AES256GCM:
executed 6 times by 1 test: case 0x00000800L:
Executed by:
  • ssltest
6
638 *aead = EVP_aead_aes_256_gcm();-
639 return 1;
executed 6 times by 1 test: return 1;
Executed by:
  • ssltest
6
640 case SSL_CHACHA20POLY1305:
executed 34 times by 2 tests: case 0x00001000L:
Executed by:
  • ssltest
  • tlstest
34
641 *aead = EVP_aead_chacha20_poly1305();-
642 return 1;
executed 34 times by 2 tests: return 1;
Executed by:
  • ssltest
  • tlstest
34
643 default:
never executed: default:
0
644 break;
never executed: break;
0
645 }-
646 return 0;
never executed: return 0;
0
647}-
648-
649int-
650ssl_get_handshake_evp_md(SSL *s, const EVP_MD **md)-
651{-
652 *md = NULL;-
653-
654 switch (ssl_get_algorithm2(s) & SSL_HANDSHAKE_MAC_MASK) {-
655 case SSL_HANDSHAKE_MAC_DEFAULT:
executed 455 times by 3 tests: case (0x010 | 0x020):
Executed by:
  • servertest
  • ssltest
  • tls_prf
455
656 *md = EVP_md5_sha1();-
657 return 1;
executed 455 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tls_prf
455
658 case SSL_HANDSHAKE_MAC_GOST94:
executed 128 times by 1 test: case 0x040:
Executed by:
  • tls_prf
128
659 *md = EVP_gostr341194();-
660 return 1;
executed 128 times by 1 test: return 1;
Executed by:
  • tls_prf
128
661 case SSL_HANDSHAKE_MAC_SHA256:
executed 488 times by 3 tests: case 0x080:
Executed by:
  • ssltest
  • tls_prf
  • tlstest
488
662 *md = EVP_sha256();-
663 return 1;
executed 488 times by 3 tests: return 1;
Executed by:
  • ssltest
  • tls_prf
  • tlstest
488
664 case SSL_HANDSHAKE_MAC_SHA384:
executed 177 times by 3 tests: case 0x100:
Executed by:
  • servertest
  • ssltest
  • tls_prf
177
665 *md = EVP_sha384();-
666 return 1;
executed 177 times by 3 tests: return 1;
Executed by:
  • servertest
  • ssltest
  • tls_prf
177
667 case SSL_HANDSHAKE_MAC_STREEBOG256:
executed 128 times by 1 test: case 0x200:
Executed by:
  • tls_prf
128
668 *md = EVP_streebog256();-
669 return 1;
executed 128 times by 1 test: return 1;
Executed by:
  • tls_prf
128
670 default:
never executed: default:
0
671 break;
never executed: break;
0
672 }-
673-
674 return 0;
never executed: return 0;
0
675}-
676-
677#define ITEM_SEP(a) \-
678 (((a) == ':') || ((a) == ' ') || ((a) == ';') || ((a) == ','))-
679-
680static void-
681ll_append_tail(CIPHER_ORDER **head, CIPHER_ORDER *curr,-
682 CIPHER_ORDER **tail)-
683{-
684 if (curr == *tail)
curr == *tailDescription
TRUEevaluated 49 times by 5 tests
Evaluated by:
  • cipherstest
  • clienttest
  • ssl_versions
  • ssltest
  • tlsexttest
FALSEevaluated 71360 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
49-71360
685 return;
executed 49 times by 5 tests: return;
Executed by:
  • cipherstest
  • clienttest
  • ssl_versions
  • ssltest
  • tlsexttest
49
686 if (curr == *head)
curr == *headDescription
TRUEevaluated 32418 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 38942 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
32418-38942
687 *head = curr->next;
executed 32418 times by 13 tests: *head = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
32418
688 if (curr->prev != NULL)
curr->prev != ((void *)0)Description
TRUEevaluated 38942 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 32418 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
32418-38942
689 curr->prev->next = curr->next;
executed 38942 times by 13 tests: curr->prev->next = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
38942
690 if (curr->next != NULL)
curr->next != ((void *)0)Description
TRUEevaluated 71360 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-71360
691 curr->next->prev = curr->prev;
executed 71360 times by 13 tests: curr->next->prev = curr->prev;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
71360
692 (*tail)->next = curr;-
693 curr->prev= *tail;-
694 curr->next = NULL;-
695 *tail = curr;-
696}
executed 71360 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
71360
697-
698static void-
699ll_append_head(CIPHER_ORDER **head, CIPHER_ORDER *curr,-
700 CIPHER_ORDER **tail)-
701{-
702 if (curr == *head)
curr == *headDescription
TRUEnever evaluated
FALSEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-26837
703 return;
never executed: return;
0
704 if (curr == *tail)
curr == *tailDescription
TRUEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-26837
705 *tail = curr->prev;
executed 26837 times by 13 tests: *tail = curr->prev;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26837
706 if (curr->next != NULL)
curr->next != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-26837
707 curr->next->prev = curr->prev;
never executed: curr->next->prev = curr->prev;
0
708 if (curr->prev != NULL)
curr->prev != ((void *)0)Description
TRUEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-26837
709 curr->prev->next = curr->next;
executed 26837 times by 13 tests: curr->prev->next = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26837
710 (*head)->prev = curr;-
711 curr->next= *head;-
712 curr->prev = NULL;-
713 *head = curr;-
714}
executed 26837 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26837
715-
716static void-
717ssl_cipher_get_disabled(unsigned long *mkey, unsigned long *auth,-
718 unsigned long *enc, unsigned long *mac, unsigned long *ssl)-
719{-
720 *mkey = 0;-
721 *auth = 0;-
722 *enc = 0;-
723 *mac = 0;-
724 *ssl = 0;-
725-
726 /*-
727 * Check for the availability of GOST 34.10 public/private key-
728 * algorithms. If they are not available disable the associated-
729 * authentication and key exchange algorithms.-
730 */-
731 if (EVP_PKEY_meth_find(NID_id_GostR3410_2001) == NULL) {
EVP_PKEY_meth_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
732 *auth |= SSL_aGOST01;-
733 *mkey |= SSL_kGOST;-
734 }
never executed: end of block
0
735-
736#ifdef SSL_FORBID_ENULL-
737 *enc |= SSL_eNULL;-
738#endif-
739-
740 *enc |= (ssl_cipher_methods[SSL_ENC_3DES_IDX] == NULL) ? SSL_3DES : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
741 *enc |= (ssl_cipher_methods[SSL_ENC_RC4_IDX ] == NULL) ? SSL_RC4 : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
742 *enc |= (ssl_cipher_methods[SSL_ENC_AES128_IDX] == NULL) ? SSL_AES128 : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
743 *enc |= (ssl_cipher_methods[SSL_ENC_AES256_IDX] == NULL) ? SSL_AES256 : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
744 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] == NULL) ? SSL_CAMELLIA128 : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
745 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX] == NULL) ? SSL_CAMELLIA256 : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
746 *enc |= (ssl_cipher_methods[SSL_ENC_GOST89_IDX] == NULL) ? SSL_eGOST2814789CNT : 0;
(ssl_cipher_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
747-
748 *mac |= (ssl_digest_methods[SSL_MD_MD5_IDX ] == NULL) ? SSL_MD5 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
749 *mac |= (ssl_digest_methods[SSL_MD_SHA1_IDX] == NULL) ? SSL_SHA1 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
750 *mac |= (ssl_digest_methods[SSL_MD_SHA256_IDX] == NULL) ? SSL_SHA256 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
751 *mac |= (ssl_digest_methods[SSL_MD_SHA384_IDX] == NULL) ? SSL_SHA384 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
752 *mac |= (ssl_digest_methods[SSL_MD_GOST94_IDX] == NULL) ? SSL_GOST94 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
753 *mac |= (ssl_digest_methods[SSL_MD_GOST89MAC_IDX] == NULL) ? SSL_GOST89MAC : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
754 *mac |= (ssl_digest_methods[SSL_MD_STREEBOG256_IDX] == NULL) ? SSL_STREEBOG256 : 0;
(ssl_digest_me... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
755}
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
756-
757static void-
758ssl_cipher_collect_ciphers(const SSL_METHOD *ssl_method, int num_of_ciphers,-
759 unsigned long disabled_mkey, unsigned long disabled_auth,-
760 unsigned long disabled_enc, unsigned long disabled_mac,-
761 unsigned long disabled_ssl, CIPHER_ORDER *co_list,-
762 CIPHER_ORDER **head_p, CIPHER_ORDER **tail_p)-
763{-
764 int i, co_list_num;-
765 const SSL_CIPHER *c;-
766-
767 /*-
768 * We have num_of_ciphers descriptions compiled in, depending on the-
769 * method selected (SSLv3, TLSv1, etc). These will later be sorted in-
770 * a linked list with at most num entries.-
771 */-
772-
773 /* Get the initial list of ciphers */-
774 co_list_num = 0; /* actual count of ciphers */-
775 for (i = 0; i < num_of_ciphers; i++) {
i < num_of_ciphersDescription
TRUEevaluated 20010 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-20010
776 c = ssl_method->get_cipher(i);-
777 /* drop those that use any of that is not available */-
778 if ((c != NULL) && c->valid &&
(c != ((void *)0) )Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 282 times by 5 tests
Evaluated by:
  • cipherstest
  • clienttest
  • ssl_versions
  • ssltest
  • tlsexttest
c->validDescription
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
779 !(c->algorithm_mkey & disabled_mkey) &&
!(c->algorithm...disabled_mkey)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
780 !(c->algorithm_auth & disabled_auth) &&
!(c->algorithm...disabled_auth)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
781 !(c->algorithm_enc & disabled_enc) &&
!(c->algorithm... disabled_enc)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
782 !(c->algorithm_mac & disabled_mac) &&
!(c->algorithm... disabled_mac)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
783 !(c->algorithm_ssl & disabled_ssl)) {
!(c->algorithm... disabled_ssl)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
784 co_list[co_list_num].cipher = c;-
785 co_list[co_list_num].next = NULL;-
786 co_list[co_list_num].prev = NULL;-
787 co_list[co_list_num].active = 0;-
788 co_list_num++;-
789 /*-
790 if (!sk_push(ca_list,(char *)c)) goto err;-
791 */-
792 }
executed 19728 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
793 }
executed 20010 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
20010
794-
795 /*-
796 * Prepare linked list from list entries-
797 */-
798 if (co_list_num > 0) {
co_list_num > 0Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-290
799 co_list[0].prev = NULL;-
800-
801 if (co_list_num > 1) {
co_list_num > 1Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-290
802 co_list[0].next = &co_list[1];-
803-
804 for (i = 1; i < co_list_num - 1; i++) {
i < co_list_num - 1Description
TRUEevaluated 19148 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-19148
805 co_list[i].prev = &co_list[i - 1];-
806 co_list[i].next = &co_list[i + 1];-
807 }
executed 19148 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19148
808-
809 co_list[co_list_num - 1].prev =-
810 &co_list[co_list_num - 2];-
811 }
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
812-
813 co_list[co_list_num - 1].next = NULL;-
814-
815 *head_p = &co_list[0];-
816 *tail_p = &co_list[co_list_num - 1];-
817 }
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
818}
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
819-
820static void-
821ssl_cipher_collect_aliases(const SSL_CIPHER **ca_list, int num_of_group_aliases,-
822 unsigned long disabled_mkey, unsigned long disabled_auth,-
823 unsigned long disabled_enc, unsigned long disabled_mac,-
824 unsigned long disabled_ssl, CIPHER_ORDER *head)-
825{-
826 CIPHER_ORDER *ciph_curr;-
827 const SSL_CIPHER **ca_curr;-
828 int i;-
829 unsigned long mask_mkey = ~disabled_mkey;-
830 unsigned long mask_auth = ~disabled_auth;-
831 unsigned long mask_enc = ~disabled_enc;-
832 unsigned long mask_mac = ~disabled_mac;-
833 unsigned long mask_ssl = ~disabled_ssl;-
834-
835 /*-
836 * First, add the real ciphers as already collected-
837 */-
838 ciph_curr = head;-
839 ca_curr = ca_list;-
840 while (ciph_curr != NULL) {
ciph_curr != ((void *)0)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-19728
841 *ca_curr = ciph_curr->cipher;-
842 ca_curr++;-
843 ciph_curr = ciph_curr->next;-
844 }
executed 19728 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
845-
846 /*-
847 * Now we add the available ones from the cipher_aliases[] table.-
848 * They represent either one or more algorithms, some of which-
849 * in any affected category must be supported (set in enabled_mask),-
850 * or represent a cipher strength value (will be added in any case because algorithms=0).-
851 */-
852 for (i = 0; i < num_of_group_aliases; i++) {
i < num_of_group_aliasesDescription
TRUEevaluated 14790 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-14790
853 unsigned long algorithm_mkey = cipher_aliases[i].algorithm_mkey;-
854 unsigned long algorithm_auth = cipher_aliases[i].algorithm_auth;-
855 unsigned long algorithm_enc = cipher_aliases[i].algorithm_enc;-
856 unsigned long algorithm_mac = cipher_aliases[i].algorithm_mac;-
857 unsigned long algorithm_ssl = cipher_aliases[i].algorithm_ssl;-
858-
859 if (algorithm_mkey)
algorithm_mkeyDescription
TRUEevaluated 4060 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 10730 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4060-10730
860 if ((algorithm_mkey & mask_mkey) == 0)
(algorithm_mke...ask_mkey) == 0Description
TRUEnever evaluated
FALSEevaluated 4060 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-4060
861 continue;
never executed: continue;
0
862-
863 if (algorithm_auth)
algorithm_authDescription
TRUEevaluated 4640 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 10150 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4640-10150
864 if ((algorithm_auth & mask_auth) == 0)
(algorithm_aut...ask_auth) == 0Description
TRUEnever evaluated
FALSEevaluated 4640 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-4640
865 continue;
never executed: continue;
0
866-
867 if (algorithm_enc)
algorithm_encDescription
TRUEevaluated 4350 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 10440 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4350-10440
868 if ((algorithm_enc & mask_enc) == 0)
(algorithm_enc...mask_enc) == 0Description
TRUEnever evaluated
FALSEevaluated 4350 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-4350
869 continue;
never executed: continue;
0
870-
871 if (algorithm_mac)
algorithm_macDescription
TRUEevaluated 2610 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 12180 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
2610-12180
872 if ((algorithm_mac & mask_mac) == 0)
(algorithm_mac...mask_mac) == 0Description
TRUEnever evaluated
FALSEevaluated 2610 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-2610
873 continue;
never executed: continue;
0
874-
875 if (algorithm_ssl)
algorithm_sslDescription
TRUEevaluated 870 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 13920 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
870-13920
876 if ((algorithm_ssl & mask_ssl) == 0)
(algorithm_ssl...mask_ssl) == 0Description
TRUEnever evaluated
FALSEevaluated 870 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-870
877 continue;
never executed: continue;
0
878-
879 *ca_curr = (SSL_CIPHER *)(cipher_aliases + i);-
880 ca_curr++;-
881 }
executed 14790 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
14790
882-
883 *ca_curr = NULL; /* end of list */-
884}
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
885-
886static void-
887ssl_cipher_apply_rule(unsigned long cipher_id, unsigned long alg_mkey,-
888 unsigned long alg_auth, unsigned long alg_enc, unsigned long alg_mac,-
889 unsigned long alg_ssl, unsigned long algo_strength,-
890 int rule, int strength_bits, CIPHER_ORDER **head_p, CIPHER_ORDER **tail_p)-
891{-
892 CIPHER_ORDER *head, *tail, *curr, *next, *last;-
893 const SSL_CIPHER *cp;-
894 int reverse = 0;-
895-
896-
897 if (rule == CIPHER_DEL)
rule == 3Description
TRUEevaluated 580 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 4219 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
580-4219
898 reverse = 1; /* needed to maintain sorting between currently deleted ciphers */
executed 580 times by 13 tests: reverse = 1;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
580
899-
900 head = *head_p;-
901 tail = *tail_p;-
902-
903 if (reverse) {
reverseDescription
TRUEevaluated 580 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 4219 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
580-4219
904 next = tail;-
905 last = head;-
906 } else {
executed 580 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
580
907 next = head;-
908 last = tail;-
909 }
executed 4219 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4219
910-
911 curr = NULL;-
912 for (;;) {-
913 if (curr == last)
curr == lastDescription
TRUEevaluated 4799 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 322873 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4799-322873
914 break;
executed 4799 times by 13 tests: break;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4799
915 curr = next;-
916 next = reverse ? curr->prev : curr->next;
reverseDescription
TRUEevaluated 39456 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 283417 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
39456-283417
917-
918 cp = curr->cipher;-
919-
920 /*-
921 * Selection criteria is either the value of strength_bits-
922 * or the algorithms used.-
923 */-
924 if (strength_bits >= 0) {
strength_bits >= 0Description
TRUEevaluated 78912 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 243961 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
78912-243961
925 if (strength_bits != cp->strength_bits)
strength_bits ...>strength_bitsDescription
TRUEevaluated 59184 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728-59184
926 continue;
executed 59184 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
59184
927 } else {
executed 19728 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
928-
929 if (alg_mkey && !(alg_mkey & cp->algorithm_mkey))
alg_mkeyDescription
TRUEevaluated 65359 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 178602 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(alg_mkey & c...lgorithm_mkey)Description
TRUEevaluated 44660 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 20699 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
20699-178602
930 continue;
executed 44660 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
44660
931 if (alg_auth && !(alg_auth & cp->algorithm_auth))
alg_authDescription
TRUEevaluated 36393 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 162908 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(alg_auth & c...lgorithm_auth)Description
TRUEevaluated 26639 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 9754 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
9754-162908
932 continue;
executed 26639 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26639
933 if (alg_enc && !(alg_enc & cp->algorithm_enc))
alg_encDescription
TRUEevaluated 85505 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 87157 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(alg_enc & cp->algorithm_enc)Description
TRUEevaluated 59390 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 26115 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26115-87157
934 continue;
executed 59390 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
59390
935 if (alg_mac && !(alg_mac & cp->algorithm_mac))
alg_macDescription
TRUEevaluated 20340 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 92932 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(alg_mac & cp->algorithm_mac)Description
TRUEevaluated 19365 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 975 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
975-92932
936 continue;
executed 19365 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19365
937 if (alg_ssl && !(alg_ssl & cp->algorithm_ssl))
alg_sslDescription
TRUEevaluated 339 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 93568 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(alg_ssl & cp->algorithm_ssl)Description
TRUEevaluated 104 times by 2 tests
Evaluated by:
  • libssl.so.46.0.1
  • tlsexttest
FALSEevaluated 235 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
104-93568
938 continue;
executed 104 times by 2 tests: continue;
Executed by:
  • libssl.so.46.0.1
  • tlsexttest
104
939 if ((algo_strength & SSL_STRONG_MASK) && !(algo_strength & SSL_STRONG_MASK & cp->algo_strength))
(algo_strength & 0x000001fcL)Description
TRUEevaluated 52 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 93751 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(algo_strengt...algo_strength)Description
TRUEnever evaluated
FALSEevaluated 52 times by 1 test
Evaluated by:
  • ssltest
0-93751
940 continue;
never executed: continue;
0
941 }
executed 93803 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
93803
942-
943-
944 /* add the cipher if it has not been added yet. */-
945 if (rule == CIPHER_ADD) {
rule == 1Description
TRUEevaluated 50215 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 63316 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
50215-63316
946 /* reverse == 0 */-
947 if (!curr->active) {
!curr->activeDescription
TRUEevaluated 40065 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 10150 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
10150-40065
948 ll_append_tail(&head, curr, &tail);-
949 curr->active = 1;-
950 }
executed 40065 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
40065
951 }
executed 50215 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
50215
952 /* Move the added cipher to this location */-
953 else if (rule == CIPHER_ORD) {
rule == 4Description
TRUEevaluated 31344 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 31972 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
31344-31972
954 /* reverse == 0 */-
955 if (curr->active) {
curr->activeDescription
TRUEevaluated 31344 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-31344
956 ll_append_tail(&head, curr, &tail);-
957 }
executed 31344 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
31344
958 } else if (rule == CIPHER_DEL) {
executed 31344 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
rule == 3Description
TRUEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 5135 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
5135-31344
959 /* reverse == 1 */-
960 if (curr->active) {
curr->activeDescription
TRUEevaluated 26837 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-26837
961 /* most recently deleted ciphersuites get best positions-
962 * for any future CIPHER_ADD (note that the CIPHER_DEL loop-
963 * works in reverse to maintain the order) */-
964 ll_append_head(&head, curr, &tail);-
965 curr->active = 0;-
966 }
executed 26837 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
26837
967 } else if (rule == CIPHER_KILL) {
executed 26837 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
rule == 2Description
TRUEevaluated 5135 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-26837
968 /* reverse == 0 */-
969 if (head == curr)
head == currDescription
TRUEevaluated 1504 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 3631 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1504-3631
970 head = curr->next;
executed 1504 times by 13 tests: head = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1504
971 else-
972 curr->prev->next = curr->next;
executed 3631 times by 13 tests: curr->prev->next = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
3631
973 if (tail == curr)
tail == currDescription
TRUEnever evaluated
FALSEevaluated 5135 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-5135
974 tail = curr->prev;
never executed: tail = curr->prev;
0
975 curr->active = 0;-
976 if (curr->next != NULL)
curr->next != ((void *)0)Description
TRUEevaluated 5135 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-5135
977 curr->next->prev = curr->prev;
executed 5135 times by 13 tests: curr->next->prev = curr->prev;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
5135
978 if (curr->prev != NULL)
curr->prev != ((void *)0)Description
TRUEevaluated 3631 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 1504 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1504-3631
979 curr->prev->next = curr->next;
executed 3631 times by 13 tests: curr->prev->next = curr->next;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
3631
980 curr->next = NULL;-
981 curr->prev = NULL;-
982 }
executed 5135 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
5135
983 }
executed 113531 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
113531
984-
985 *head_p = head;-
986 *tail_p = tail;-
987}
executed 4799 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
4799
988-
989static int-
990ssl_cipher_strength_sort(CIPHER_ORDER **head_p, CIPHER_ORDER **tail_p)-
991{-
992 int max_strength_bits, i, *number_uses;-
993 CIPHER_ORDER *curr;-
994-
995 /*-
996 * This routine sorts the ciphers with descending strength. The sorting-
997 * must keep the pre-sorted sequence, so we apply the normal sorting-
998 * routine as '+' movement to the end of the list.-
999 */-
1000 max_strength_bits = 0;-
1001 curr = *head_p;-
1002 while (curr != NULL) {
curr != ((void *)0)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-19728
1003 if (curr->active &&
curr->activeDescription
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
1004 (curr->cipher->strength_bits > max_strength_bits))
(curr->cipher-...strength_bits)Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 19438 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-19438
1005 max_strength_bits = curr->cipher->strength_bits;
executed 290 times by 13 tests: max_strength_bits = curr->cipher->strength_bits;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1006 curr = curr->next;-
1007 }
executed 19728 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
1008-
1009 number_uses = calloc((max_strength_bits + 1), sizeof(int));-
1010 if (!number_uses) {
!number_usesDescription
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1011 SSLerrorx(ERR_R_MALLOC_FAILURE);-
1012 return (0);
never executed: return (0);
0
1013 }-
1014-
1015 /*-
1016 * Now find the strength_bits values actually used-
1017 */-
1018 curr = *head_p;-
1019 while (curr != NULL) {
curr != ((void *)0)Description
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-19728
1020 if (curr->active)
curr->activeDescription
TRUEevaluated 19728 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19728
1021 number_uses[curr->cipher->strength_bits]++;
executed 19728 times by 13 tests: number_uses[curr->cipher->strength_bits]++;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
1022 curr = curr->next;-
1023 }
executed 19728 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19728
1024 /*-
1025 * Go through the list of used strength_bits values in descending-
1026 * order.-
1027 */-
1028 for (i = max_strength_bits; i >= 0; i--)
i >= 0Description
TRUEevaluated 74530 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-74530
1029 if (number_uses[i] > 0)
number_uses[i] > 0Description
TRUEevaluated 1160 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 73370 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1160-73370
1030 ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_ORD, i, head_p, tail_p);
executed 1160 times by 13 tests: ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, 4, i, head_p, tail_p);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
1160
1031-
1032 free(number_uses);-
1033 return (1);
executed 290 times by 13 tests: return (1);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1034}-
1035-
1036static int-
1037ssl_cipher_process_rulestr(const char *rule_str, CIPHER_ORDER **head_p,-
1038 CIPHER_ORDER **tail_p, const SSL_CIPHER **ca_list)-
1039{-
1040 unsigned long alg_mkey, alg_auth, alg_enc, alg_mac, alg_ssl;-
1041 unsigned long algo_strength;-
1042 int j, multi, found, rule, retval, ok, buflen;-
1043 unsigned long cipher_id = 0;-
1044 const char *l, *buf;-
1045 char ch;-
1046-
1047 retval = 1;-
1048 l = rule_str;-
1049 for (;;) {-
1050 ch = *l;-
1051-
1052 if (ch == '\0')
ch == '\0'Description
TRUEnever evaluated
FALSEevaluated 1616 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-1616
1053 break;
never executed: break;
0
1054-
1055 if (ch == '-') {
ch == '-'Description
TRUEnever evaluated
FALSEevaluated 1616 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-1616
1056 rule = CIPHER_DEL;-
1057 l++;-
1058 } else if (ch == '+') {
never executed: end of block
ch == '+'Description
TRUEnever evaluated
FALSEevaluated 1616 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-1616
1059 rule = CIPHER_ORD;-
1060 l++;-
1061 } else if (ch == '!') {
never executed: end of block
ch == '!'Description
TRUEevaluated 648 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 968 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-968
1062 rule = CIPHER_KILL;-
1063 l++;-
1064 } else if (ch == '@') {
executed 648 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
ch == '@'Description
TRUEnever evaluated
FALSEevaluated 968 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-968
1065 rule = CIPHER_SPECIAL;-
1066 l++;-
1067 } else {
never executed: end of block
0
1068 rule = CIPHER_ADD;-
1069 }
executed 968 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
968
1070-
1071 if (ITEM_SEP(ch)) {
((ch) == ':')Description
TRUEevaluated 663 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
((ch) == ' ')Description
TRUEnever evaluated
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
((ch) == ';')Description
TRUEnever evaluated
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
((ch) == ',')Description
TRUEnever evaluated
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-953
1072 l++;-
1073 continue;
executed 663 times by 13 tests: continue;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
663
1074 }-
1075-
1076 alg_mkey = 0;-
1077 alg_auth = 0;-
1078 alg_enc = 0;-
1079 alg_mac = 0;-
1080 alg_ssl = 0;-
1081 algo_strength = 0;-
1082-
1083 for (;;) {-
1084 ch = *l;-
1085 buf = l;-
1086 buflen = 0;-
1087 while (((ch >= 'A') && (ch <= 'Z')) ||
(ch >= 'A')Description
TRUEevaluated 4683 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 1703 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(ch <= 'Z')Description
TRUEevaluated 4004 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 679 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
679-4683
1088 ((ch >= '0') && (ch <= '9')) ||
(ch >= '0')Description
TRUEevaluated 1877 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 505 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(ch <= '9')Description
TRUEevaluated 535 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 1342 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
505-1877
1089 ((ch >= 'a') && (ch <= 'z')) ||
(ch >= 'a')Description
TRUEevaluated 679 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 1168 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(ch <= 'z')Description
TRUEevaluated 679 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-1168
1090 (ch == '-') || (ch == '.')) {
(ch == '-')Description
TRUEevaluated 114 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 1054 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
(ch == '.')Description
TRUEevaluated 35 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 1019 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
35-1054
1091 ch = *(++l);-
1092 buflen++;-
1093 }
executed 5367 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
5367
1094-
1095 if (buflen == 0) {
buflen == 0Description
TRUEnever evaluated
FALSEevaluated 1019 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-1019
1096 /*-
1097 * We hit something we cannot deal with,-
1098 * it is no command or separator nor-
1099 * alphanumeric, so we call this an error.-
1100 */-
1101 SSLerrorx(SSL_R_INVALID_COMMAND);-
1102 retval = found = 0;-
1103 l++;-
1104 break;
never executed: break;
0
1105 }-
1106-
1107 if (rule == CIPHER_SPECIAL) {
rule == 5Description
TRUEnever evaluated
FALSEevaluated 1019 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-1019
1108 /* unused -- avoid compiler warning */-
1109 found = 0;-
1110 /* special treatment */-
1111 break;
never executed: break;
0
1112 }-
1113-
1114 /* check for multi-part specification */-
1115 if (ch == '+') {
ch == '+'Description
TRUEevaluated 66 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
66-953
1116 multi = 1;-
1117 l++;-
1118 } else
executed 66 times by 5 tests: end of block
Executed by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
66
1119 multi = 0;
executed 953 times by 13 tests: multi = 0;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
953
1120-
1121 /*-
1122 * Now search for the cipher alias in the ca_list.-
1123 * Be careful with the strncmp, because the "buflen"-
1124 * limitation will make the rule "ADH:SOME" and the-
1125 * cipher "ADH-MY-CIPHER" look like a match for-
1126 * buflen=3. So additionally check whether the cipher-
1127 * name found has the correct length. We can save a-
1128 * strlen() call: just checking for the '\0' at the-
1129 * right place is sufficient, we have to strncmp()-
1130 * anyway (we cannot use strcmp(), because buf is not-
1131 * '\0' terminated.)-
1132 */-
1133 j = found = 0;-
1134 cipher_id = 0;-
1135 while (ca_list[j]) {
ca_list[j]Description
TRUEevaluated 91175 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
214-91175
1136 if (!strncmp(buf, ca_list[j]->name, buflen) &&
never executed: __result = (((const unsigned char *) (const char *) ( buf ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( ca_list[j]->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
! (__extension...e , buflen )))Description
TRUEevaluated 1424 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 89751 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
__builtin_cons...t_p ( buflen )Description
TRUEnever evaluated
FALSEevaluated 91175 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
__builtin_constant_p ( buf )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( buf )...t) ( buflen ))Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_cons...ist[j]->name )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( ca_li...t) ( buflen ))Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-91175
1137 (ca_list[j]->name[buflen] == '\0')) {
(ca_list[j]->n...flen] == '\0')Description
TRUEevaluated 805 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 619 times by 5 tests
Evaluated by:
  • configtest
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
619-805
1138 found = 1;-
1139 break;
executed 805 times by 13 tests: break;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
805
1140 } else-
1141 j++;
executed 90370 times by 13 tests: j++;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
90370
1142 }-
1143-
1144 if (!found)
!foundDescription
TRUEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 805 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
214-805
1145 break; /* ignore this entry */
executed 214 times by 13 tests: break;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
214
1146-
1147 if (ca_list[j]->algorithm_mkey) {
ca_list[j]->algorithm_mkeyDescription
TRUEevaluated 91 times by 6 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 714 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
91-714
1148 if (alg_mkey) {
alg_mkeyDescription
TRUEnever evaluated
FALSEevaluated 91 times by 6 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
0-91
1149 alg_mkey &= ca_list[j]->algorithm_mkey;-
1150 if (!alg_mkey) {
!alg_mkeyDescription
TRUEnever evaluated
FALSEnever evaluated
0
1151 found = 0;-
1152 break;
never executed: break;
0
1153 }-
1154 } else
never executed: end of block
0
1155 alg_mkey = ca_list[j]->algorithm_mkey;
executed 91 times by 6 tests: alg_mkey = ca_list[j]->algorithm_mkey;
Executed by:
  • configtest
  • libssl.so.46.0.1
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
91
1156 }-
1157-
1158 if (ca_list[j]->algorithm_auth) {
ca_list[j]->algorithm_authDescription
TRUEevaluated 307 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 498 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
307-498
1159 if (alg_auth) {
alg_authDescription
TRUEnever evaluated
FALSEevaluated 307 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-307
1160 alg_auth &= ca_list[j]->algorithm_auth;-
1161 if (!alg_auth) {
!alg_authDescription
TRUEnever evaluated
FALSEnever evaluated
0
1162 found = 0;-
1163 break;
never executed: break;
0
1164 }-
1165 } else
never executed: end of block
0
1166 alg_auth = ca_list[j]->algorithm_auth;
executed 307 times by 13 tests: alg_auth = ca_list[j]->algorithm_auth;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
307
1167 }-
1168-
1169 if (ca_list[j]->algorithm_enc) {
ca_list[j]->algorithm_encDescription
TRUEevaluated 481 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 324 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
324-481
1170 if (alg_enc) {
alg_encDescription
TRUEnever evaluated
FALSEevaluated 481 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-481
1171 alg_enc &= ca_list[j]->algorithm_enc;-
1172 if (!alg_enc) {
!alg_encDescription
TRUEnever evaluated
FALSEnever evaluated
0
1173 found = 0;-
1174 break;
never executed: break;
0
1175 }-
1176 } else
never executed: end of block
0
1177 alg_enc = ca_list[j]->algorithm_enc;
executed 481 times by 13 tests: alg_enc = ca_list[j]->algorithm_enc;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
481
1178 }-
1179-
1180 if (ca_list[j]->algorithm_mac) {
ca_list[j]->algorithm_macDescription
TRUEevaluated 84 times by 5 tests
Evaluated by:
  • configtest
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 721 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
84-721
1181 if (alg_mac) {
alg_macDescription
TRUEnever evaluated
FALSEevaluated 84 times by 5 tests
Evaluated by:
  • configtest
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
0-84
1182 alg_mac &= ca_list[j]->algorithm_mac;-
1183 if (!alg_mac) {
!alg_macDescription
TRUEnever evaluated
FALSEnever evaluated
0
1184 found = 0;-
1185 break;
never executed: break;
0
1186 }-
1187 } else
never executed: end of block
0
1188 alg_mac = ca_list[j]->algorithm_mac;
executed 84 times by 5 tests: alg_mac = ca_list[j]->algorithm_mac;
Executed by:
  • configtest
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
84
1189 }-
1190-
1191 if (ca_list[j]->algo_strength & SSL_STRONG_MASK) {
ca_list[j]->al... & 0x000001fcLDescription
TRUEevaluated 52 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 753 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
52-753
1192 if (algo_strength & SSL_STRONG_MASK) {
algo_strength & 0x000001fcLDescription
TRUEnever evaluated
FALSEevaluated 52 times by 1 test
Evaluated by:
  • ssltest
0-52
1193 algo_strength &=-
1194 (ca_list[j]->algo_strength &-
1195 SSL_STRONG_MASK) | ~SSL_STRONG_MASK;-
1196 if (!(algo_strength &
!(algo_strength & 0x000001fcL)Description
TRUEnever evaluated
FALSEnever evaluated
0
1197 SSL_STRONG_MASK)) {
!(algo_strength & 0x000001fcL)Description
TRUEnever evaluated
FALSEnever evaluated
0
1198 found = 0;-
1199 break;
never executed: break;
0
1200 }-
1201 } else
never executed: end of block
0
1202 algo_strength |=
executed 52 times by 1 test: algo_strength |= ca_list[j]->algo_strength & 0x000001fcL;
Executed by:
  • ssltest
52
1203 ca_list[j]->algo_strength &
executed 52 times by 1 test: algo_strength |= ca_list[j]->algo_strength & 0x000001fcL;
Executed by:
  • ssltest
52
1204 SSL_STRONG_MASK;
executed 52 times by 1 test: algo_strength |= ca_list[j]->algo_strength & 0x000001fcL;
Executed by:
  • ssltest
52
1205 }-
1206-
1207 if (ca_list[j]->valid) {
ca_list[j]->validDescription
TRUEevaluated 52 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 753 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
52-753
1208 /*-
1209 * explicit ciphersuite found; its protocol-
1210 * version does not become part of the search-
1211 * pattern!-
1212 */-
1213 cipher_id = ca_list[j]->id;-
1214 } else {
executed 52 times by 1 test: end of block
Executed by:
  • ssltest
52
1215 /*-
1216 * not an explicit ciphersuite; only in this-
1217 * case, the protocol version is considered-
1218 * part of the search pattern-
1219 */-
1220 if (ca_list[j]->algorithm_ssl) {
ca_list[j]->algorithm_sslDescription
TRUEevaluated 36 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 717 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
36-717
1221 if (alg_ssl) {
alg_sslDescription
TRUEnever evaluated
FALSEevaluated 36 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
0-36
1222 alg_ssl &=-
1223 ca_list[j]->algorithm_ssl;-
1224 if (!alg_ssl) {
!alg_sslDescription
TRUEnever evaluated
FALSEnever evaluated
0
1225 found = 0;-
1226 break;
never executed: break;
0
1227 }-
1228 } else
never executed: end of block
0
1229 alg_ssl =
executed 36 times by 5 tests: alg_ssl = ca_list[j]->algorithm_ssl;
Executed by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
36
1230 ca_list[j]->algorithm_ssl;
executed 36 times by 5 tests: alg_ssl = ca_list[j]->algorithm_ssl;
Executed by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
36
1231 }-
1232 }
executed 753 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
753
1233-
1234 if (!multi)
!multiDescription
TRUEevaluated 739 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 66 times by 5 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
66-739
1235 break;
executed 739 times by 13 tests: break;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
739
1236 }
executed 66 times by 5 tests: end of block
Executed by:
  • configtest
  • libssl.so.46.0.1
  • tlsexttest
  • tlstest
  • verifytest
66
1237-
1238 /*-
1239 * Ok, we have the rule, now apply it-
1240 */-
1241 if (rule == CIPHER_SPECIAL) {
rule == 5Description
TRUEnever evaluated
FALSEevaluated 953 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-953
1242 /* special command */-
1243 ok = 0;-
1244 if ((buflen == 8) && !strncmp(buf, "STRENGTH", 8))
never executed: __result = (((const unsigned char *) (const char *) ( buf ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "STRENGTH" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
(buflen == 8)Description
TRUEnever evaluated
FALSEnever evaluated
! (__extension...ENGTH" , 8 )))Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_constant_p ( 8 )Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_constant_p ( buf )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( buf )...size_t) ( 8 ))Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_cons...( "STRENGTH" )Description
TRUEnever evaluated
FALSEnever evaluated
strlen ( "STRE...size_t) ( 8 ))Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1245 ok = ssl_cipher_strength_sort(head_p, tail_p);
never executed: ok = ssl_cipher_strength_sort(head_p, tail_p);
0
1246 else-
1247 SSLerrorx(SSL_R_INVALID_COMMAND);
never executed: ERR_put_error(20,(0xfff),(280),__FILE__,1247);
0
1248 if (ok == 0)
ok == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1249 retval = 0;
never executed: retval = 0;
0
1250 /*-
1251 * We do not support any "multi" options-
1252 * together with "@", so throw away the-
1253 * rest of the command, if any left, until-
1254 * end or ':' is found.-
1255 */-
1256 while ((*l != '\0') && !ITEM_SEP(*l))
(*l != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ':')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ' ')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ';')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ',')Description
TRUEnever evaluated
FALSEnever evaluated
0
1257 l++;
never executed: l++;
0
1258 } else if (found) {
never executed: end of block
foundDescription
TRUEevaluated 739 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-739
1259 ssl_cipher_apply_rule(cipher_id, alg_mkey, alg_auth,-
1260 alg_enc, alg_mac, alg_ssl, algo_strength, rule,-
1261 -1, head_p, tail_p);-
1262 } else {
executed 739 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
739
1263 while ((*l != '\0') && !ITEM_SEP(*l))
(*l != '\0')Description
TRUEnever evaluated
FALSEevaluated 214 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
((*l) == ':')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ' ')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ';')Description
TRUEnever evaluated
FALSEnever evaluated
((*l) == ',')Description
TRUEnever evaluated
FALSEnever evaluated
0-214
1264 l++;
never executed: l++;
0
1265 }
executed 214 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
214
1266 if (*l == '\0')
*l == '\0'Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 663 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-663
1267 break; /* done */
executed 290 times by 13 tests: break;
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1268 }
executed 663 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
663
1269-
1270 return (retval);
executed 290 times by 13 tests: return (retval);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1271}-
1272-
1273static inline int-
1274ssl_aes_is_accelerated(void)-
1275{-
1276#if defined(__i386__) || defined(__x86_64__)-
1277 return ((OPENSSL_cpu_caps() & (1ULL << 57)) != 0);
executed 290 times by 13 tests: return ((OPENSSL_cpu_caps() & (1ULL << 57)) != 0);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1278#else-
1279 return (0);-
1280#endif-
1281}-
1282-
1283STACK_OF(SSL_CIPHER) *-
1284ssl_create_cipher_list(const SSL_METHOD *ssl_method,-
1285 STACK_OF(SSL_CIPHER) **cipher_list,-
1286 STACK_OF(SSL_CIPHER) **cipher_list_by_id,-
1287 const char *rule_str)-
1288{-
1289 int ok, num_of_ciphers, num_of_alias_max, num_of_group_aliases;-
1290 unsigned long disabled_mkey, disabled_auth, disabled_enc, disabled_mac, disabled_ssl;-
1291 STACK_OF(SSL_CIPHER) *cipherstack, *tmp_cipher_list;-
1292 const char *rule_p;-
1293 CIPHER_ORDER *co_list = NULL, *head = NULL, *tail = NULL, *curr;-
1294 const SSL_CIPHER **ca_list = NULL;-
1295-
1296 /*-
1297 * Return with error if nothing to do.-
1298 */-
1299 if (rule_str == NULL || cipher_list == NULL || cipher_list_by_id == NULL)
rule_str == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
cipher_list == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
cipher_list_by...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1300 return NULL;
never executed: return ((void *)0) ;
0
1301-
1302 /*-
1303 * To reduce the work to do we only want to process the compiled-
1304 * in algorithms, so we first get the mask of disabled ciphers.-
1305 */-
1306 ssl_cipher_get_disabled(&disabled_mkey, &disabled_auth, &disabled_enc, &disabled_mac, &disabled_ssl);-
1307-
1308 /*-
1309 * Now we have to collect the available ciphers from the compiled-
1310 * in ciphers. We cannot get more than the number compiled in, so-
1311 * it is used for allocation.-
1312 */-
1313 num_of_ciphers = ssl_method->num_ciphers();-
1314 co_list = reallocarray(NULL, num_of_ciphers, sizeof(CIPHER_ORDER));-
1315 if (co_list == NULL) {
co_list == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1316 SSLerrorx(ERR_R_MALLOC_FAILURE);-
1317 return(NULL); /* Failure */
never executed: return( ((void *)0) );
0
1318 }-
1319-
1320 ssl_cipher_collect_ciphers(ssl_method, num_of_ciphers,-
1321 disabled_mkey, disabled_auth, disabled_enc, disabled_mac, disabled_ssl,-
1322 co_list, &head, &tail);-
1323-
1324-
1325 /* Now arrange all ciphers by preference: */-
1326-
1327 /* Everything else being equal, prefer ephemeral ECDH over other key exchange mechanisms */-
1328 ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_ADD, -1, &head, &tail);-
1329 ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head, &tail);-
1330-
1331 if (ssl_aes_is_accelerated() == 1) {
ssl_aes_is_accelerated() == 1Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1332 /*-
1333 * We have hardware assisted AES - prefer AES as a symmetric-
1334 * cipher, with CHACHA20 second.-
1335 */-
1336 ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0,-
1337 CIPHER_ADD, -1, &head, &tail);-
1338 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305,-
1339 0, 0, 0, CIPHER_ADD, -1, &head, &tail);-
1340 } else {
never executed: end of block
0
1341 /*-
1342 * CHACHA20 is fast and safe on all hardware and is thus our-
1343 * preferred symmetric cipher, with AES second.-
1344 */-
1345 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305,-
1346 0, 0, 0, CIPHER_ADD, -1, &head, &tail);-
1347 ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0,-
1348 CIPHER_ADD, -1, &head, &tail);-
1349 }
executed 290 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1350-
1351 /* Temporarily enable everything else for sorting */-
1352 ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_ADD, -1, &head, &tail);-
1353-
1354 /* Low priority for MD5 */-
1355 ssl_cipher_apply_rule(0, 0, 0, 0, SSL_MD5, 0, 0, CIPHER_ORD, -1, &head, &tail);-
1356-
1357 /* Move anonymous ciphers to the end. Usually, these will remain disabled.-
1358 * (For applications that allow them, they aren't too bad, but we prefer-
1359 * authenticated ciphers.) */-
1360 ssl_cipher_apply_rule(0, 0, SSL_aNULL, 0, 0, 0, 0, CIPHER_ORD, -1, &head, &tail);-
1361-
1362 /* Move ciphers without forward secrecy to the end */-
1363 ssl_cipher_apply_rule(0, SSL_kRSA, 0, 0, 0, 0, 0, CIPHER_ORD, -1, &head, &tail);-
1364-
1365 /* RC4 is sort of broken - move it to the end */-
1366 ssl_cipher_apply_rule(0, 0, 0, SSL_RC4, 0, 0, 0, CIPHER_ORD, -1, &head, &tail);-
1367-
1368 /* Now sort by symmetric encryption strength. The above ordering remains-
1369 * in force within each class */-
1370 if (!ssl_cipher_strength_sort(&head, &tail)) {
!ssl_cipher_st...(&head, &tail)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1371 free(co_list);-
1372 return NULL;
never executed: return ((void *)0) ;
0
1373 }-
1374-
1375 /* Now disable everything (maintaining the ordering!) */-
1376 ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head, &tail);-
1377-
1378-
1379 /*-
1380 * We also need cipher aliases for selecting based on the rule_str.-
1381 * There might be two types of entries in the rule_str: 1) names-
1382 * of ciphers themselves 2) aliases for groups of ciphers.-
1383 * For 1) we need the available ciphers and for 2) the cipher-
1384 * groups of cipher_aliases added together in one list (otherwise-
1385 * we would be happy with just the cipher_aliases table).-
1386 */-
1387 num_of_group_aliases = sizeof(cipher_aliases) / sizeof(SSL_CIPHER);-
1388 num_of_alias_max = num_of_ciphers + num_of_group_aliases + 1;-
1389 ca_list = reallocarray(NULL, num_of_alias_max, sizeof(SSL_CIPHER *));-
1390 if (ca_list == NULL) {
ca_list == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1391 free(co_list);-
1392 SSLerrorx(ERR_R_MALLOC_FAILURE);-
1393 return(NULL); /* Failure */
never executed: return( ((void *)0) );
0
1394 }-
1395 ssl_cipher_collect_aliases(ca_list, num_of_group_aliases,-
1396 disabled_mkey, disabled_auth, disabled_enc,-
1397 disabled_mac, disabled_ssl, head);-
1398-
1399 /*-
1400 * If the rule_string begins with DEFAULT, apply the default rule-
1401 * before using the (possibly available) additional rules.-
1402 */-
1403 ok = 1;-
1404 rule_p = rule_str;-
1405 if (strncmp(rule_str, "DEFAULT", 7) == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( rule_str ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "DEFAULT" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
(__extension__..." , 7 ))) == 0Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
__builtin_constant_p ( 7 )Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
__builtin_cons...p ( rule_str )Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
strlen ( rule_...size_t) ( 7 ))Description
TRUEnever evaluated
FALSEnever evaluated
__builtin_cons... ( "DEFAULT" )Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
strlen ( "DEFA...size_t) ( 7 ))Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-290
1406 ok = ssl_cipher_process_rulestr(SSL_DEFAULT_CIPHER_LIST,-
1407 &head, &tail, ca_list);-
1408 rule_p += 7;-
1409 if (*rule_p == ':')
*rule_p == ':'Description
TRUEnever evaluated
FALSEnever evaluated
0
1410 rule_p++;
never executed: rule_p++;
0
1411 }
never executed: end of block
0
1412-
1413 if (ok && (strlen(rule_p) > 0))
okDescription
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
(strlen(rule_p) > 0)Description
TRUEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
0-290
1414 ok = ssl_cipher_process_rulestr(rule_p, &head, &tail, ca_list);
executed 290 times by 13 tests: ok = ssl_cipher_process_rulestr(rule_p, &head, &tail, ca_list);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1415-
1416 free((void *)ca_list); /* Not needed anymore */-
1417-
1418 if (!ok) {
!okDescription
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1419 /* Rule processing failure */-
1420 free(co_list);-
1421 return (NULL);
never executed: return ( ((void *)0) );
0
1422 }-
1423-
1424 /*-
1425 * Allocate new "cipherstack" for the result, return with error-
1426 * if we cannot get one.-
1427 */-
1428 if ((cipherstack = sk_SSL_CIPHER_new_null()) == NULL) {
(cipherstack =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1429 free(co_list);-
1430 return (NULL);
never executed: return ( ((void *)0) );
0
1431 }-
1432-
1433 /*-
1434 * The cipher selection for the list is done. The ciphers are added-
1435 * to the resulting precedence to the STACK_OF(SSL_CIPHER).-
1436 */-
1437 for (curr = head; curr != NULL; curr = curr->next) {
curr != ((void *)0)Description
TRUEevaluated 14593 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290-14593
1438 if (curr->active) {
curr->activeDescription
TRUEevaluated 9828 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 4765 times by 6 tests
Evaluated by:
  • configtest
  • libssl.so.46.0.1
  • ssltest
  • tlsexttest
  • tlstest
  • verifytest
4765-9828
1439 sk_SSL_CIPHER_push(cipherstack, curr->cipher);-
1440 }
executed 9828 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
9828
1441 }
executed 14593 times by 13 tests: end of block
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
14593
1442 free(co_list); /* Not needed any longer */-
1443-
1444 tmp_cipher_list = sk_SSL_CIPHER_dup(cipherstack);-
1445 if (tmp_cipher_list == NULL) {
tmp_cipher_list == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 290 times by 13 tests
Evaluated by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-290
1446 sk_SSL_CIPHER_free(cipherstack);-
1447 return NULL;
never executed: return ((void *)0) ;
0
1448 }-
1449 sk_SSL_CIPHER_free(*cipher_list);-
1450 *cipher_list = cipherstack;-
1451 sk_SSL_CIPHER_free(*cipher_list_by_id);-
1452 *cipher_list_by_id = tmp_cipher_list;-
1453 (void)sk_SSL_CIPHER_set_cmp_func(*cipher_list_by_id,-
1454 ssl_cipher_ptr_id_cmp);-
1455-
1456 sk_SSL_CIPHER_sort(*cipher_list_by_id);-
1457 return (cipherstack);
executed 290 times by 13 tests: return (cipherstack);
Executed by:
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • libssl.so.46.0.1
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
290
1458}-
1459-
1460const SSL_CIPHER *-
1461SSL_CIPHER_get_by_id(unsigned int id)-
1462{-
1463 return ssl3_get_cipher_by_id(id);
executed 45 times by 1 test: return ssl3_get_cipher_by_id(id);
Executed by:
  • cipherstest
45
1464}-
1465-
1466const SSL_CIPHER *-
1467SSL_CIPHER_get_by_value(uint16_t value)-
1468{-
1469 return ssl3_get_cipher_by_value(value);
executed 45 times by 1 test: return ssl3_get_cipher_by_value(value);
Executed by:
  • cipherstest
45
1470}-
1471-
1472char *-
1473SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len)-
1474{-
1475 unsigned long alg_mkey, alg_auth, alg_enc, alg_mac, alg_ssl, alg2;-
1476 const char *ver, *kx, *au, *enc, *mac;-
1477 char *ret;-
1478 int l;-
1479-
1480 alg_mkey = cipher->algorithm_mkey;-
1481 alg_auth = cipher->algorithm_auth;-
1482 alg_enc = cipher->algorithm_enc;-
1483 alg_mac = cipher->algorithm_mac;-
1484 alg_ssl = cipher->algorithm_ssl;-
1485-
1486 alg2 = cipher->algorithm2;-
1487-
1488 if (alg_ssl & SSL_SSLV3)
alg_ssl & 0x00000002LDescription
TRUEnever evaluated
FALSEnever evaluated
0
1489 ver = "SSLv3";
never executed: ver = "SSLv3";
0
1490 else if (alg_ssl & SSL_TLSV1_2)
alg_ssl & 0x00000004LDescription
TRUEnever evaluated
FALSEnever evaluated
0
1491 ver = "TLSv1.2";
never executed: ver = "TLSv1.2";
0
1492 else-
1493 ver = "unknown";
never executed: ver = "unknown";
0
1494-
1495 switch (alg_mkey) {-
1496 case SSL_kRSA:
never executed: case 0x00000001L:
0
1497 kx = "RSA";-
1498 break;
never executed: break;
0
1499 case SSL_kDHE:
never executed: case 0x00000008L:
0
1500 kx = "DH";-
1501 break;
never executed: break;
0
1502 case SSL_kECDHE:
never executed: case 0x00000080L:
0
1503 kx = "ECDH";-
1504 break;
never executed: break;
0
1505 case SSL_kGOST:
never executed: case 0x00000200L:
0
1506 kx = "GOST";-
1507 break;
never executed: break;
0
1508 default:
never executed: default:
0
1509 kx = "unknown";-
1510 }
never executed: end of block
0
1511-
1512 switch (alg_auth) {-
1513 case SSL_aRSA:
never executed: case 0x00000001L:
0
1514 au = "RSA";-
1515 break;
never executed: break;
0
1516 case SSL_aDSS:
never executed: case 0x00000002L:
0
1517 au = "DSS";-
1518 break;
never executed: break;
0
1519 case SSL_aNULL:
never executed: case 0x00000004L:
0
1520 au = "None";-
1521 break;
never executed: break;
0
1522 case SSL_aECDSA:
never executed: case 0x00000040L:
0
1523 au = "ECDSA";-
1524 break;
never executed: break;
0
1525 case SSL_aGOST01:
never executed: case 0x00000200L:
0
1526 au = "GOST01";-
1527 break;
never executed: break;
0
1528 default:
never executed: default:
0
1529 au = "unknown";-
1530 break;
never executed: break;
0
1531 }-
1532-
1533 switch (alg_enc) {-
1534 case SSL_3DES:
never executed: case 0x00000002L:
0
1535 enc = "3DES(168)";-
1536 break;
never executed: break;
0
1537 case SSL_RC4:
never executed: case 0x00000004L:
0
1538 enc = alg2 & SSL2_CF_8_BYTE_ENC ? "RC4(64)" : "RC4(128)";
alg2 & 0x02Description
TRUEnever evaluated
FALSEnever evaluated
0
1539 break;
never executed: break;
0
1540 case SSL_eNULL:
never executed: case 0x00000010L:
0
1541 enc = "None";-
1542 break;
never executed: break;
0
1543 case SSL_AES128:
never executed: case 0x00000020L:
0
1544 enc = "AES(128)";-
1545 break;
never executed: break;
0
1546 case SSL_AES256:
never executed: case 0x00000040L:
0
1547 enc = "AES(256)";-
1548 break;
never executed: break;
0
1549 case SSL_AES128GCM:
never executed: case 0x00000400L:
0
1550 enc = "AESGCM(128)";-
1551 break;
never executed: break;
0
1552 case SSL_AES256GCM:
never executed: case 0x00000800L:
0
1553 enc = "AESGCM(256)";-
1554 break;
never executed: break;
0
1555 case SSL_CAMELLIA128:
never executed: case 0x00000080L:
0
1556 enc = "Camellia(128)";-
1557 break;
never executed: break;
0
1558 case SSL_CAMELLIA256:
never executed: case 0x00000100L:
0
1559 enc = "Camellia(256)";-
1560 break;
never executed: break;
0
1561 case SSL_CHACHA20POLY1305:
never executed: case 0x00001000L:
0
1562 enc = "ChaCha20-Poly1305";-
1563 break;
never executed: break;
0
1564 case SSL_eGOST2814789CNT:
never executed: case 0x00000200L:
0
1565 enc = "GOST-28178-89-CNT";-
1566 break;
never executed: break;
0
1567 default:
never executed: default:
0
1568 enc = "unknown";-
1569 break;
never executed: break;
0
1570 }-
1571-
1572 switch (alg_mac) {-
1573 case SSL_MD5:
never executed: case 0x00000001L:
0
1574 mac = "MD5";-
1575 break;
never executed: break;
0
1576 case SSL_SHA1:
never executed: case 0x00000002L:
0
1577 mac = "SHA1";-
1578 break;
never executed: break;
0
1579 case SSL_SHA256:
never executed: case 0x00000010L:
0
1580 mac = "SHA256";-
1581 break;
never executed: break;
0
1582 case SSL_SHA384:
never executed: case 0x00000020L:
0
1583 mac = "SHA384";-
1584 break;
never executed: break;
0
1585 case SSL_AEAD:
never executed: case 0x00000040L:
0
1586 mac = "AEAD";-
1587 break;
never executed: break;
0
1588 case SSL_GOST94:
never executed: case 0x00000004L:
0
1589 mac = "GOST94";-
1590 break;
never executed: break;
0
1591 case SSL_GOST89MAC:
never executed: case 0x00000008L:
0
1592 mac = "GOST89IMIT";-
1593 break;
never executed: break;
0
1594 case SSL_STREEBOG256:
never executed: case 0x00000080L:
0
1595 mac = "STREEBOG256";-
1596 break;
never executed: break;
0
1597 default:
never executed: default:
0
1598 mac = "unknown";-
1599 break;
never executed: break;
0
1600 }-
1601-
1602 if (asprintf(&ret, "%-23s %s Kx=%-8s Au=%-4s Enc=%-9s Mac=%-4s\n",
asprintf(&ret,...nc, mac) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1603 cipher->name, ver, kx, au, enc, mac) == -1)
asprintf(&ret,...nc, mac) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1604 return "OPENSSL_malloc Error";
never executed: return "OPENSSL_malloc Error";
0
1605-
1606 if (buf != NULL) {
buf != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1607 l = strlcpy(buf, ret, len);-
1608 free(ret);-
1609 ret = buf;-
1610 if (l >= len)
l >= lenDescription
TRUEnever evaluated
FALSEnever evaluated
0
1611 ret = "Buffer too small";
never executed: ret = "Buffer too small";
0
1612 }
never executed: end of block
0
1613-
1614 return (ret);
never executed: return (ret);
0
1615}-
1616-
1617const char *-
1618SSL_CIPHER_get_version(const SSL_CIPHER *c)-
1619{-
1620 if (c == NULL)
c == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
0-59
1621 return("(NONE)");
never executed: return("(NONE)");
0
1622 if ((c->id >> 24) == 3)
(c->id >> 24) == 3Description
TRUEevaluated 59 times by 1 test
Evaluated by:
  • ssltest
FALSEnever evaluated
0-59
1623 return("TLSv1/SSLv3");
executed 59 times by 1 test: return("TLSv1/SSLv3");
Executed by:
  • ssltest
59
1624 else-
1625 return("unknown");
never executed: return("unknown");
0
1626}-
1627-
1628/* return the actual cipher being used */-
1629const char *-
1630SSL_CIPHER_get_name(const SSL_CIPHER *c)-
1631{-
1632 if (c != NULL)
c != ((void *)0)Description
TRUEevaluated 95 times by 3 tests
Evaluated by:
  • libssl.so.46.0.1
  • ssltest
  • tlstest
FALSEnever evaluated
0-95
1633 return (c->name);
executed 95 times by 3 tests: return (c->name);
Executed by:
  • libssl.so.46.0.1
  • ssltest
  • tlstest
95
1634 return("(NONE)");
never executed: return("(NONE)");
0
1635}-
1636-
1637/* number of bits for symmetric cipher */-
1638int-
1639SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits)-
1640{-
1641 int ret = 0;-
1642-
1643 if (c != NULL) {
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1644 if (alg_bits != NULL)
alg_bits != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1645 *alg_bits = c->alg_bits;
never executed: *alg_bits = c->alg_bits;
0
1646 ret = c->strength_bits;-
1647 }
never executed: end of block
0
1648 return (ret);
never executed: return (ret);
0
1649}-
1650-
1651unsigned long-
1652SSL_CIPHER_get_id(const SSL_CIPHER *c)-
1653{-
1654 return c->id;
executed 45 times by 1 test: return c->id;
Executed by:
  • cipherstest
45
1655}-
1656-
1657uint16_t-
1658SSL_CIPHER_get_value(const SSL_CIPHER *c)-
1659{-
1660 return ssl3_cipher_get_value(c);
executed 50 times by 2 tests: return ssl3_cipher_get_value(c);
Executed by:
  • cipher_list
  • cipherstest
50
1661}-
1662-
1663int-
1664SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c)-
1665{-
1666 switch (c->algorithm_enc) {-
1667 case SSL_eNULL:
never executed: case 0x00000010L:
0
1668 return NID_undef;
never executed: return 0;
0
1669 case SSL_3DES:
never executed: case 0x00000002L:
0
1670 return NID_des_ede3_cbc;
never executed: return 44;
0
1671 case SSL_AES128:
never executed: case 0x00000020L:
0
1672 return NID_aes_128_cbc;
never executed: return 419;
0
1673 case SSL_AES128GCM:
never executed: case 0x00000400L:
0
1674 return NID_aes_128_gcm;
never executed: return 895;
0
1675 case SSL_AES256:
never executed: case 0x00000040L:
0
1676 return NID_aes_256_cbc;
never executed: return 427;
0
1677 case SSL_AES256GCM:
never executed: case 0x00000800L:
0
1678 return NID_aes_256_gcm;
never executed: return 901;
0
1679 case SSL_CAMELLIA128:
never executed: case 0x00000080L:
0
1680 return NID_camellia_128_cbc;
never executed: return 751;
0
1681 case SSL_CAMELLIA256:
never executed: case 0x00000100L:
0
1682 return NID_camellia_256_cbc;
never executed: return 753;
0
1683 case SSL_CHACHA20POLY1305:
never executed: case 0x00001000L:
0
1684 return NID_chacha20_poly1305;
never executed: return 967;
0
1685 case SSL_DES:
never executed: case 0x00000001L:
0
1686 return NID_des_cbc;
never executed: return 31;
0
1687 case SSL_RC4:
never executed: case 0x00000004L:
0
1688 return NID_rc4;
never executed: return 5;
0
1689 case SSL_eGOST2814789CNT:
never executed: case 0x00000200L:
0
1690 return NID_gost89_cnt;
never executed: return 814;
0
1691 default:
never executed: default:
0
1692 return NID_undef;
never executed: return 0;
0
1693 }-
1694}-
1695-
1696int-
1697SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c)-
1698{-
1699 switch (c->algorithm_mac) {-
1700 case SSL_AEAD:
never executed: case 0x00000040L:
0
1701 return NID_undef;
never executed: return 0;
0
1702 case SSL_GOST89MAC:
never executed: case 0x00000008L:
0
1703 return NID_id_Gost28147_89_MAC;
never executed: return 815;
0
1704 case SSL_GOST94:
never executed: case 0x00000004L:
0
1705 return NID_id_GostR3411_94;
never executed: return 809;
0
1706 case SSL_MD5:
never executed: case 0x00000001L:
0
1707 return NID_md5;
never executed: return 4;
0
1708 case SSL_SHA1:
never executed: case 0x00000002L:
0
1709 return NID_sha1;
never executed: return 64;
0
1710 case SSL_SHA256:
never executed: case 0x00000010L:
0
1711 return NID_sha256;
never executed: return 672;
0
1712 case SSL_SHA384:
never executed: case 0x00000020L:
0
1713 return NID_sha384;
never executed: return 673;
0
1714 case SSL_STREEBOG256:
never executed: case 0x00000080L:
0
1715 return NID_id_tc26_gost3411_2012_256;
never executed: return 941;
0
1716 default:
never executed: default:
0
1717 return NID_undef;
never executed: return 0;
0
1718 }-
1719}-
1720-
1721int-
1722SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c)-
1723{-
1724 switch (c->algorithm_mkey) {-
1725 case SSL_kDHE:
never executed: case 0x00000008L:
0
1726 return NID_kx_dhe;
never executed: return 961;
0
1727 case SSL_kECDHE:
never executed: case 0x00000080L:
0
1728 return NID_kx_ecdhe;
never executed: return 960;
0
1729 case SSL_kGOST:
never executed: case 0x00000200L:
0
1730 return NID_kx_gost;
never executed: return 962;
0
1731 case SSL_kRSA:
never executed: case 0x00000001L:
0
1732 return NID_kx_rsa;
never executed: return 959;
0
1733 default:
never executed: default:
0
1734 return NID_undef;
never executed: return 0;
0
1735 }-
1736}-
1737-
1738int-
1739SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c)-
1740{-
1741 switch (c->algorithm_auth) {-
1742 case SSL_aNULL:
never executed: case 0x00000004L:
0
1743 return NID_auth_null;
never executed: return 966;
0
1744 case SSL_aECDSA:
never executed: case 0x00000040L:
0
1745 return NID_auth_ecdsa;
never executed: return 964;
0
1746 case SSL_aGOST01:
never executed: case 0x00000200L:
0
1747 return NID_auth_gost01;
never executed: return 965;
0
1748 case SSL_aRSA:
never executed: case 0x00000001L:
0
1749 return NID_auth_rsa;
never executed: return 963;
0
1750 default:
never executed: default:
0
1751 return NID_undef;
never executed: return 0;
0
1752 }-
1753}-
1754-
1755int-
1756SSL_CIPHER_is_aead(const SSL_CIPHER *c)-
1757{-
1758 return (c->algorithm_mac & SSL_AEAD) == SSL_AEAD;
never executed: return (c->algorithm_mac & 0x00000040L) == 0x00000040L;
0
1759}-
1760-
1761void *-
1762SSL_COMP_get_compression_methods(void)-
1763{-
1764 return NULL;
never executed: return ((void *)0) ;
0
1765}-
1766-
1767int-
1768SSL_COMP_add_compression_method(int id, void *cm)-
1769{-
1770 return 1;
never executed: return 1;
0
1771}-
1772-
1773const char *-
1774SSL_COMP_get_name(const void *comp)-
1775{-
1776 return NULL;
never executed: return ((void *)0) ;
0
1777}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2