wolfssl/tests/suites.c

1437 lines
44 KiB
C
Raw Normal View History

/* suites.c
*
2022-12-30 17:12:11 -07:00
* Copyright (C) 2006-2023 wolfSSL Inc.
*
2016-03-17 16:02:13 -06:00
* This file is part of wolfSSL.
*
2015-01-06 12:14:15 -07:00
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
2015-01-06 12:14:15 -07:00
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
2016-03-17 16:02:13 -06:00
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
2016-03-17 16:02:13 -06:00
2012-09-21 13:29:04 -07:00
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
2015-02-25 13:34:29 -08:00
#include <wolfssl/wolfcrypt/settings.h>
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
#ifdef NO_INLINE
#include <wolfssl/wolfcrypt/misc.h>
#else
#define WOLFSSL_MISC_INCLUDED
#include <wolfcrypt/src/misc.c>
#endif
#include <stdlib.h>
#include <stdio.h>
2012-09-21 13:29:04 -07:00
#include <string.h>
2015-02-25 13:34:29 -08:00
#include <wolfssl/ssl.h>
2012-08-06 17:14:31 -07:00
#include <tests/unit.h>
2019-10-21 09:21:46 -06:00
#if defined(HAVE_ECC) && defined(FP_ECC) && defined(HAVE_THREAD_LS) \
&& (defined(NO_MAIN_DRIVER) || defined(HAVE_STACK_SIZE))
#include <wolfssl/wolfcrypt/ecc.h>
#endif
#include <wolfssl/wolfcrypt/memory.h> /* for LARGEST_MEM_BUCKET */
#define MAX_ARGS 40
2012-08-06 17:14:31 -07:00
#define MAX_COMMAND_SZ 240
#ifdef WOLFSSL_TLS13
#define MAX_SUITE_SZ 200
#else
#define MAX_SUITE_SZ 80
#endif
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
#define NOT_BUILT_IN (-123)
#if defined(NO_OLD_TLS) || !defined(WOLFSSL_ALLOW_SSLV3) || \
!defined(WOLFSSL_ALLOW_TLSV10)
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
#define VERSION_TOO_OLD (-124)
2014-03-02 10:59:03 -08:00
#endif
2012-08-06 17:14:31 -07:00
#include "examples/client/client.h"
#include "examples/server/server.h"
2023-05-24 11:58:41 +02:00
#if !defined(NO_WOLFSSL_SERVER) && !defined(NO_WOLFSSL_CLIENT) && \
!defined(SINGLE_THREADED)
2015-01-07 13:17:57 -07:00
static WOLFSSL_CTX* cipherSuiteCtx = NULL;
2014-03-02 11:06:41 -08:00
static char nonblockFlag[] = "-N";
static char noVerifyFlag[] = "-d";
static char disableEMSFlag[] = "-n";
2014-03-02 11:06:41 -08:00
static char flagSep[] = " ";
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_TIRTOS)
static char portFlag[] = "-p";
static char svrPort[] = "0";
#endif
static char intTestFlag[] = "-H";
static char forceDefCipherListFlag[] = "defCipherList";
static char exitWithRetFlag[] = "exitWithRet";
static char disableDHPrimeTest[] = "-2";
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
#ifdef WOLFSSL_ASYNC_CRYPT
static int devId = INVALID_DEVID;
#endif
#ifdef VERSION_TOO_OLD
static int GetTlsVersion(const char* line)
2015-08-12 16:39:13 -07:00
{
int version = -1;
2015-08-12 16:39:13 -07:00
const char* find = "-v ";
2015-08-17 16:47:39 -07:00
const char* begin = strstr(line, find);
2015-08-12 16:39:13 -07:00
if (begin) {
begin += 3;
2021-04-22 14:52:57 -07:00
if (*begin == 'd' || *begin == 'e')
begin += 2;
2015-08-12 16:39:13 -07:00
version = atoi(begin);
}
return version;
}
2015-08-12 16:39:13 -07:00
#ifndef WOLFSSL_ALLOW_SSLV3
/* if the protocol version is sslv3 return 1, else 0 */
static int IsSslVersion(const char* line)
{
int version = GetTlsVersion(line);
return (version == 0) ? 1 : 0;
2015-08-12 16:39:13 -07:00
}
#endif /* !WOLFSSL_ALLOW_SSLV3 */
#ifndef WOLFSSL_ALLOW_TLSV10
/* if the protocol version is TLSv1.0 return 1, else 0 */
static int IsTls10Version(const char* line)
{
int version = GetTlsVersion(line);
return (version == 1) ? 1 : 0;
}
#endif /* !WOLFSSL_ALLOW_TLSV10 */
#ifdef NO_OLD_TLS
2013-03-12 15:56:58 -07:00
/* if the protocol version is less than tls 1.2 return 1, else 0 */
static int IsOldTlsVersion(const char* line)
{
int version = GetTlsVersion(line);
return (version < 3) ? 1 : 0;
2015-08-12 16:39:13 -07:00
}
#endif /* NO_OLD_TLS */
#endif /* VERSION_TOO_OLD */
/* if the cipher suite on line is valid store in suite and return 1, else 0 */
static int IsValidCipherSuite(const char* line, char *suite, size_t suite_spc)
{
int found = 0;
int valid = 0;
const char* find = "-l ";
const char* begin = strstr(line, find);
const char* end;
if (suite_spc < MAX_SUITE_SZ+1)
return 0;
suite[0] = '\0';
if (begin) {
begin += 3;
end = XSTRSTR(begin, " ");
if (end) {
long len = end - begin;
if (len > MAX_SUITE_SZ) {
printf("suite too long!\n");
return 0;
}
XMEMCPY(suite, begin, len);
suite[len] = '\0';
}
else
XSTRNCPY(suite, begin, MAX_SUITE_SZ);
suite[MAX_SUITE_SZ] = '\0';
found = 1;
}
if (found) {
if (wolfSSL_CTX_set_cipher_list(cipherSuiteCtx, suite) == WOLFSSL_SUCCESS)
valid = 1;
}
return valid;
}
static int IsValidCert(const char* line)
{
int ret = 1;
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
WOLFSSL_CTX* ctx;
size_t i;
const char* begin;
char cert[80];
#ifdef WOLFSSL_STATIC_MEMORY
FILE* fStream = NULL;
long chkSz = 0;
#endif
begin = XSTRSTR(line, "-c ");
if (begin == NULL)
return 1;
begin += 3;
for (i = 0; i < sizeof(cert) - 1 && *begin != ' ' && *begin != '\0'; i++)
cert[i] = *(begin++);
cert[i] = '\0';
#ifdef WOLFSSL_STATIC_MEMORY
fStream = XFOPEN(cert, "rb");
if (fStream == NULL) {
printf("Failed to open file %s\n", cert);
printf("Invalid cert, skipping test\n");
return 0;
} else {
printf("Successfully opened file\n");
}
XFSEEK(fStream, 0L, SEEK_END);
chkSz = XFTELL(fStream);
XFCLOSE(fStream);
if (chkSz > LARGEST_MEM_BUCKET) {
printf("File is larger than largest bucket, skipping this test\n");
return 0;
}
#endif
ctx = wolfSSL_CTX_new(wolfSSLv23_server_method_ex(NULL));
if (ctx == NULL)
return 0;
ret = wolfSSL_CTX_use_certificate_chain_file(ctx, cert) == WOLFSSL_SUCCESS;
wolfSSL_CTX_free(ctx);
#endif /* !NO_FILESYSTEM && !NO_CERTS */
(void)line;
return ret;
}
static int IsValidCA(const char* line)
{
int ret = 1;
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
WOLFSSL_CTX* ctx;
size_t i;
const char* begin;
char cert[80];
begin = XSTRSTR(line, "-A ");
if (begin == NULL)
return 1;
begin += 3;
for (i = 0; i < sizeof(cert) - 1 && *begin != ' ' && *begin != '\0'; i++)
cert[i] = *(begin++);
cert[i] = '\0';
ctx = wolfSSL_CTX_new(wolfSSLv23_server_method_ex(NULL));
if (ctx == NULL)
return 0;
ret = wolfSSL_CTX_use_certificate_chain_file(ctx, cert) == WOLFSSL_SUCCESS;
wolfSSL_CTX_free(ctx);
#endif /* !NO_FILESYSTEM && !NO_CERTS */
(void)line;
return ret;
}
#ifdef WOLFSSL_NO_CLIENT_AUTH
static int IsClientAuth(const char* line, int* reqClientCert)
{
const char* begin;
begin = XSTRSTR(line, "-H verifyFail");
if (begin != NULL) {
return 1;
}
begin = XSTRSTR(line, "-d");
if (begin != NULL) {
*reqClientCert = 0;
}
else {
*reqClientCert = 1;
}
return 0;
}
#endif
#ifdef NO_CERTS
static int IsUsingCert(const char* line)
{
return XSTRSTR(line, "-c ") != NULL;
}
#endif
#if defined(NO_CERTS) || defined(WOLFSSL_NO_CLIENT_AUTH)
static int IsNoClientCert(const char* line)
{
const char* begin;
begin = XSTRSTR(line, "-x");
if (begin != NULL) {
return 1;
}
return 0;
}
#endif
static int execute_test_case(int svr_argc, char** svr_argv,
int cli_argc, char** cli_argv,
int addNoVerify, int addNonBlocking,
int addDisableEMS, int forceSrvDefCipherList,
int forceCliDefCipherList)
{
#if defined(WOLFSSL_TIRTOS) || defined(WOLFSSL_SRTP)
2014-05-08 15:52:20 -07:00
func_args cliArgs = {0};
func_args svrArgs = {0};
cliArgs.argc = cli_argc;
cliArgs.argv = cli_argv;
svrArgs.argc = svr_argc;
svrArgs.argv = svr_argv;
#else
func_args cliArgs = {cli_argc, cli_argv, 0, NULL, NULL};
func_args svrArgs = {svr_argc, svr_argv, 0, NULL, NULL};
2014-05-08 15:52:20 -07:00
#endif
2012-08-06 17:14:31 -07:00
tcp_ready ready;
THREAD_TYPE serverThread;
char commandLine[MAX_COMMAND_SZ];
char cipherSuite[MAX_SUITE_SZ+1];
2012-08-06 17:14:31 -07:00
int i;
size_t added;
static int tests = 1;
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_TIRTOS)
static char portNumber[8];
#endif
int cliTestShouldFail = 0, svrTestShouldFail = 0;
#ifdef WOLFSSL_NO_CLIENT_AUTH
int reqClientCert;
#endif
2012-08-06 17:14:31 -07:00
#if defined(WOLFSSL_SRTP) && defined(WOLFSSL_COND)
srtp_test_helper srtp_helper;
#endif
/* Is Valid Cipher and Version Checks */
/* build command list for the Is checks below */
2012-08-06 17:14:31 -07:00
commandLine[0] = '\0';
added = 0;
for (i = 0; i < svrArgs.argc; i++) {
added += XSTRLEN(svr_argv[i]) + 2;
2013-02-14 14:09:41 -08:00
if (added >= MAX_COMMAND_SZ) {
printf("server command line too long\n");
2013-02-14 14:09:41 -08:00
break;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCAT(commandLine, svr_argv[i], sizeof commandLine);
XSTRLCAT(commandLine, flagSep, sizeof commandLine);
2012-08-06 17:14:31 -07:00
}
if (IsValidCipherSuite(commandLine, cipherSuite, sizeof cipherSuite) == 0) {
2013-03-11 12:12:04 -07:00
#ifdef DEBUG_SUITE_TESTS
printf("cipher suite %s not supported in build\n", cipherSuite);
#endif
return NOT_BUILT_IN;
}
if (!IsValidCert(commandLine)) {
#ifdef DEBUG_SUITE_TESTS
printf("certificate %s not supported in build\n", commandLine);
2013-03-11 12:12:04 -07:00
#endif
return NOT_BUILT_IN;
}
2015-08-12 16:39:13 -07:00
#ifndef WOLFSSL_ALLOW_SSLV3
if (IsSslVersion(commandLine) == 1) {
#ifdef DEBUG_SUITE_TESTS
printf("protocol version on line %s is too old\n", commandLine);
#endif
return VERSION_TOO_OLD;
}
#endif
#ifndef WOLFSSL_ALLOW_TLSV10
if (IsTls10Version(commandLine) == 1) {
#ifdef DEBUG_SUITE_TESTS
printf("protocol version on line %s is too old\n", commandLine);
#endif
return VERSION_TOO_OLD;
}
#endif
#ifdef NO_OLD_TLS
if (IsOldTlsVersion(commandLine) == 1) {
#ifdef DEBUG_SUITE_TESTS
printf("protocol version on line %s is too old\n", commandLine);
#endif
return VERSION_TOO_OLD;
}
#endif
#ifdef WOLFSSL_NO_CLIENT_AUTH
if (IsClientAuth(commandLine, &reqClientCert)) {
#ifdef DEBUG_SUITE_TESTS
printf("client auth on line %s not supported in build\n",
commandLine);
#endif
return NOT_BUILT_IN;
}
#endif
#ifdef NO_CERTS
if (IsUsingCert(commandLine)) {
#ifdef DEBUG_SUITE_TESTS
printf("certificate %s not supported in build\n", commandLine);
#endif
return NOT_BUILT_IN;
}
#endif
/* Build Server Command */
if (addNoVerify) {
printf("repeating test with client cert request off\n");
if (svrArgs.argc >= MAX_ARGS)
printf("server command line too long\n");
else
svr_argv[svrArgs.argc++] = noVerifyFlag;
}
if (addNonBlocking) {
printf("repeating test with non blocking on\n");
if (svrArgs.argc >= MAX_ARGS)
printf("server command line too long\n");
else
svr_argv[svrArgs.argc++] = nonblockFlag;
}
2015-01-07 13:17:57 -07:00
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_TIRTOS)
/* add port */
if (svrArgs.argc + 2 > MAX_ARGS)
printf("cannot add the magic port number flag to server\n");
else {
svr_argv[svrArgs.argc++] = portFlag;
svr_argv[svrArgs.argc++] = svrPort;
}
#endif
if (forceSrvDefCipherList) {
if (svrArgs.argc + 2 > MAX_ARGS)
printf("cannot add the force def cipher list flag to server\n");
else {
svr_argv[svrArgs.argc++] = intTestFlag;
svr_argv[svrArgs.argc++] = forceDefCipherListFlag;
}
}
#ifdef TEST_PK_PRIVKEY
svr_argv[svrArgs.argc++] = (char*)"-P";
#endif
/* update server flags list */
commandLine[0] = '\0';
2013-02-14 14:09:41 -08:00
added = 0;
for (i = 0; i < svrArgs.argc; i++) {
added += XSTRLEN(svr_argv[i]) + 2;
2013-02-14 14:09:41 -08:00
if (added >= MAX_COMMAND_SZ) {
printf("server command line too long\n");
2013-02-14 14:09:41 -08:00
break;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCAT(commandLine, svr_argv[i], sizeof commandLine);
XSTRLCAT(commandLine, flagSep, sizeof commandLine);
}
printf("trying server command line[%d]: %s\n", tests, commandLine);
tests++; /* test count */
2012-08-06 17:14:31 -07:00
/* determine based on args if this test is expected to fail */
if (XSTRSTR(commandLine, exitWithRetFlag) != NULL) {
svrTestShouldFail = 1;
}
2012-08-06 17:14:31 -07:00
InitTcpReady(&ready);
#if defined(WOLFSSL_SRTP) && defined(WOLFSSL_COND)
srtp_helper_init(&srtp_helper);
cliArgs.srtp_helper = &srtp_helper;
svrArgs.srtp_helper = &srtp_helper;
#endif
2015-01-07 13:17:57 -07:00
#ifdef WOLFSSL_TIRTOS
2014-09-08 19:40:03 -07:00
fdOpenSession(Task_self());
2014-05-08 15:52:20 -07:00
#endif
2012-08-06 17:14:31 -07:00
/* start server */
svrArgs.signal = &ready;
start_thread(server_test, &svrArgs, &serverThread);
wait_tcp_ready(&svrArgs);
/* Build Client Command */
if (addNonBlocking) {
if (cliArgs.argc >= MAX_ARGS)
printf("cannot add the non block flag to client\n");
else
cli_argv[cliArgs.argc++] = nonblockFlag;
}
if (addDisableEMS) {
printf("repeating test without extended master secret\n");
if (cliArgs.argc >= MAX_ARGS)
printf("cannot add the disable EMS flag to client\n");
else
cli_argv[cliArgs.argc++] = disableEMSFlag;
}
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_TIRTOS)
if (ready.port != 0) {
if (cliArgs.argc + 2 > MAX_ARGS)
printf("cannot add the magic port number flag to client\n");
else {
(void)snprintf(portNumber, sizeof(portNumber), "%d",
(int)ready.port);
cli_argv[cliArgs.argc++] = portFlag;
cli_argv[cliArgs.argc++] = portNumber;
}
}
#endif
if (forceCliDefCipherList) {
if (cliArgs.argc + 2 > MAX_ARGS)
printf("cannot add the force def cipher list flag to client\n");
else {
cli_argv[cliArgs.argc++] = intTestFlag;
cli_argv[cliArgs.argc++] = forceDefCipherListFlag;
}
}
#ifdef TEST_PK_PRIVKEY
cli_argv[cliArgs.argc++] = (char*)"-P";
#endif
commandLine[0] = '\0';
added = 0;
for (i = 0; i < cliArgs.argc; i++) {
added += XSTRLEN(cli_argv[i]) + 2;
if (added >= MAX_COMMAND_SZ) {
printf("client command line too long\n");
break;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCAT(commandLine, cli_argv[i], sizeof commandLine);
XSTRLCAT(commandLine, flagSep, sizeof commandLine);
}
if (!IsValidCA(commandLine)) {
#ifdef DEBUG_SUITE_TESTS
printf("certificate %s not supported in build\n", commandLine);
#endif
return NOT_BUILT_IN;
}
#ifdef WOLFSSL_NO_CLIENT_AUTH
if (reqClientCert && IsNoClientCert(commandLine)) {
#ifdef DEBUG_SUITE_TESTS
printf("client auth on line %s not supported in build\n",
commandLine);
#endif
return NOT_BUILT_IN;
}
#endif
#ifdef NO_CERTS
if (IsNoClientCert(commandLine)) {
#ifdef DEBUG_SUITE_TESTS
printf("certificate %s not supported in build\n", commandLine);
#endif
return NOT_BUILT_IN;
}
#endif
printf("trying client command line[%d]: %s\n", tests, commandLine);
tests++;
/* determine based on args if this test is expected to fail */
if (XSTRSTR(commandLine, exitWithRetFlag) != NULL) {
cliTestShouldFail = 1;
}
2012-08-06 17:14:31 -07:00
/* start client */
client_test(&cliArgs);
/* verify results */
if ((cliArgs.return_code != 0 && cliTestShouldFail == 0) ||
(cliArgs.return_code == 0 && cliTestShouldFail != 0)) {
printf("client_test failed %d %s\n", cliArgs.return_code,
cliTestShouldFail ? "(should fail)" : "");
XEXIT(EXIT_FAILURE);
2012-08-06 17:14:31 -07:00
}
join_thread(serverThread);
if ((svrArgs.return_code != 0 && svrTestShouldFail == 0) ||
(svrArgs.return_code == 0 && svrTestShouldFail != 0)) {
printf("server_test failed %d %s\n", svrArgs.return_code,
svrTestShouldFail ? "(should fail)" : "");
XEXIT(EXIT_FAILURE);
2012-08-06 17:14:31 -07:00
}
2015-01-07 13:17:57 -07:00
#ifdef WOLFSSL_TIRTOS
2014-09-08 19:40:03 -07:00
fdCloseSession(Task_self());
2014-05-08 15:52:20 -07:00
#endif
2012-08-06 17:14:31 -07:00
FreeTcpReady(&ready);
#if defined (WOLFSSL_SRTP) && defined(WOLFSSL_COND)
srtp_helper_free(&srtp_helper);
#endif
/* only run the first test for expected failure cases */
/* the example server/client are not designed to handle expected failure in
all cases, such as non-blocking, etc... */
if (svrTestShouldFail || cliTestShouldFail) {
return NOT_BUILT_IN;
}
return 0;
}
static void test_harness(void* vargs)
{
func_args* args = (func_args*)vargs;
char* script;
long sz, len;
int cliMode = 0; /* server or client command flag, server first */
int ret;
FILE* file;
char* svrArgs[MAX_ARGS];
int svrArgsSz;
char* cliArgs[MAX_ARGS];
int cliArgsSz;
char* cursor;
char* comment;
char lastChar = '\0';
int do_it = 0;
2012-09-20 15:39:15 -07:00
const char* fname = "tests/test.conf";
const char* addArgs = NULL;
if (args->argc == 1) {
printf("notice: using default file %s\n", fname);
}
else if (args->argc == 3) {
addArgs = args->argv[2];
}
else if (args->argc > 3) {
printf("usage: harness [FILE] [ARG]\n");
args->return_code = 1;
return;
}
if (args->argc >= 2) {
fname = args->argv[1];
}
2017-01-10 09:57:29 -07:00
file = fopen(fname, "rb");
if (file == NULL) {
fprintf(stderr, "unable to open %s\n", fname);
args->return_code = 1;
return;
}
if (fseek(file, 0, SEEK_END) < 0) {
fprintf(stderr, "error %d fseeking %s\n", errno, fname);
fclose(file);
args->return_code = 1;
return;
}
sz = ftell(file);
2013-02-14 14:09:41 -08:00
if (sz <= 0) {
fprintf(stderr, "%s is empty\n", fname);
fclose(file);
args->return_code = 1;
return;
}
if (fseek(file, 0, SEEK_SET) < 0) {
fprintf(stderr, "error %d fseeking %s\n", errno, fname);
fclose(file);
args->return_code = 1;
return;
}
script = (char*)malloc(sz+1);
if (script == 0) {
fprintf(stderr, "unable to allocate script buffer\n");
fclose(file);
args->return_code = 1;
return;
}
len = fread(script, 1, sz, file);
if (len != sz) {
fprintf(stderr, "read error\n");
fclose(file);
2013-02-14 14:09:41 -08:00
free(script);
args->return_code = 1;
return;
}
fclose(file);
script[sz] = 0;
cursor = script;
svrArgsSz = 1;
svrArgs[0] = args->argv[0];
cliArgsSz = 1;
cliArgs[0] = args->argv[0];
while (cursor && *cursor != 0) {
switch (*cursor) {
case '\n':
/* A blank line triggers test case execution or switches
to client mode if we don't have the client command yet */
if (lastChar != '\n' && (cliArgsSz > 1 || svrArgsSz > 1)) {
if (cliMode == 0)
cliMode = 1; /* switch to client mode processing */
else
do_it = 1; /* Do It, we have server and client */
}
#ifdef DEBUG_SUITE_TESTS
else {
/* skip extra new-lines */
printf("skipping extra new line\n");
}
#endif
lastChar = *cursor;
cursor++;
break;
case '#':
lastChar = *cursor;
/* Ignore lines that start with a # */
comment = XSTRSEP(&cursor, "\n");
#ifdef DEBUG_SUITE_TESTS
printf("%s\n", comment);
#else
(void)comment;
#endif
break;
case '-':
default:
/* Parameters start with a -. They end in either a newline
* or a space. Capture until either, save in Args list. */
lastChar = *cursor;
if (cliMode)
cliArgs[cliArgsSz++] = XSTRSEP(&cursor, " \n");
else
svrArgs[svrArgsSz++] = XSTRSEP(&cursor, " \n");
if (cursor == NULL || *cursor == '\0') /* eof */
do_it = 1;
break;
}
if (svrArgsSz == MAX_ARGS || cliArgsSz == MAX_ARGS) {
fprintf(stderr, "too many arguments, forcing test run\n");
do_it = 1;
}
if (do_it) {
/* additional arguments processing */
if (cliArgsSz+2 < MAX_ARGS && svrArgsSz+2 < MAX_ARGS) {
if (addArgs == NULL || XSTRSTR(addArgs, "doDH") == NULL) {
/* The `-2` disable DH prime check is added to all tests by default */
cliArgs[cliArgsSz++] = disableDHPrimeTest;
svrArgs[svrArgsSz++] = disableDHPrimeTest;
}
if (addArgs && XSTRSTR(addArgs, "expFail")) {
/* Tests should expect to fail */
cliArgs[cliArgsSz++] = intTestFlag;
cliArgs[cliArgsSz++] = exitWithRetFlag;
svrArgs[svrArgsSz++] = intTestFlag;
svrArgs[svrArgsSz++] = exitWithRetFlag;
}
}
ret = execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 0, 0, 0, 0);
/* don't repeat if not supported in build */
if (ret == 0) {
/* test with default cipher list on server side */
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 0, 0, 1, 0);
/* test with default cipher list on client side */
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 0, 0, 0, 1);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 1, 0, 0, 0);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 1, 0, 0, 0, 0);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 1, 1, 0, 0, 0);
#ifdef HAVE_EXTENDED_MASTER
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 0, 1, 0, 0);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 0, 1, 1, 0, 0);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 1, 0, 1, 0, 0);
execute_test_case(svrArgsSz, svrArgs,
cliArgsSz, cliArgs, 1, 1, 1, 0, 0);
#endif
}
svrArgsSz = 1;
cliArgsSz = 1;
cliMode = 0;
do_it = 0;
}
}
free(script);
args->return_code = 0;
}
#endif /* !NO_WOLFSSL_SERVER && !NO_WOLFSSL_CLIENT */
int SuiteTest(int argc, char** argv)
{
#if !defined(NO_WOLFSSL_SERVER) && !defined(NO_WOLFSSL_CLIENT) && \
2023-05-24 11:58:41 +02:00
!defined(WOLF_CRYPTO_CB_ONLY_RSA) && !defined(WOLF_CRYPTO_CB_ONLY_ECC) && \
!defined(SINGLE_THREADED)
func_args args;
char argv0[3][80];
char* myArgv[3];
2012-08-06 17:14:31 -07:00
printf(" Begin Cipher Suite Tests\n");
/* setup */
myArgv[0] = argv0[0];
myArgv[1] = argv0[1];
myArgv[2] = argv0[2];
args.argv = myArgv;
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[0], "SuiteTest", sizeof(argv0[0]));
#ifdef WOLFSSL_STATIC_MEMORY
byte memory[200000];
#endif
2018-05-17 09:08:03 +10:00
cipherSuiteCtx = wolfSSL_CTX_new(wolfSSLv23_client_method());
if (cipherSuiteCtx == NULL) {
printf("can't get cipher suite ctx\n");
args.return_code = EXIT_FAILURE;
goto exit;
}
/* load in static memory buffer if enabled */
#ifdef WOLFSSL_STATIC_MEMORY
if (wolfSSL_CTX_load_static_memory(&cipherSuiteCtx, NULL,
memory, sizeof(memory), 0, 1)
!= WOLFSSL_SUCCESS) {
printf("unable to load static memory and create ctx");
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
#ifdef WOLFSSL_ASYNC_CRYPT
if (wolfAsync_DevOpen(&devId) < 0) {
printf("Async device open failed");
args.return_code = EXIT_FAILURE;
goto exit;
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
}
wolfSSL_CTX_SetDevId(cipherSuiteCtx, devId);
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
#endif /* WOLFSSL_ASYNC_CRYPT */
/* support for custom command line tests */
if (argc > 1) {
/* Examples:
./tests/unit.test tests/test-altchains.conf
./tests/unit.test tests/test-fails.conf expFail
./tests/unit.test tests/test-dhprime.conf doDH
*/
args.argc = argc;
args.argv = argv;
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
}
goto exit;
}
2012-08-06 17:14:31 -07:00
/* default case */
args.argc = 1;
printf("starting default cipher suite tests\n");
test_harness(&args);
2012-08-06 17:14:31 -07:00
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
2012-08-06 17:14:31 -07:00
}
2012-08-06 17:14:31 -07:00
/* any extra cases will need another argument */
args.argc = 2;
#ifdef WOLFSSL_OLDTLS_SHA2_CIPHERSUITES
/* SHA-2 cipher suites in old TLS versions */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-sha2.conf", sizeof(argv0[1]));
printf("starting SHA-2 cipher suite in old TLS versions tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
2016-11-24 01:31:07 +10:00
#ifdef WOLFSSL_TLS13
/* add TLSv13 extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-tls13.conf", sizeof(argv0[1]));
2016-11-24 01:31:07 +10:00
printf("starting TLSv13 extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
2016-11-24 01:31:07 +10:00
}
#ifdef HAVE_ECC
/* add TLSv13 ECC extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-tls13-ecc.conf", sizeof(argv0[1]));
printf("starting TLSv13 ECC extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
2018-05-17 09:08:03 +10:00
#ifndef WOLFSSL_NO_TLS12
/* add TLSv13 downgrade tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-tls13-down.conf", sizeof(argv0[1]));
2018-05-17 09:08:03 +10:00
printf("starting TLSv13 Downgrade extra tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
2018-05-17 09:08:03 +10:00
}
#endif
#ifdef HAVE_PQC
/* add TLSv13 pq tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-tls13-pq.conf", sizeof(argv0[1]));
printf("starting TLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef HAVE_LIBOQS
/* add TLSv13 pq tests */
XSTRLCPY(argv0[1], "tests/test-tls13-pq-2.conf", sizeof(argv0[1]));
printf("starting TLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#endif
2022-12-14 12:46:24 -05:00
#ifdef HAVE_PQC
/* add TLSv13 pq tests */
XSTRLCPY(argv0[1], "tests/test-tls13-pq.conf", sizeof(argv0[1]));
printf("starting TLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef HAVE_LIBOQS
/* add TLSv13 pq tests */
XSTRLCPY(argv0[1], "tests/test-tls13-pq-2.conf", sizeof(argv0[1]));
printf("starting TLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#endif
#if defined(HAVE_PQC) && defined(WOLFSSL_DTLS13)
/* add DTLSv13 pq tests */
XSTRLCPY(argv0[1], "tests/test-dtls13-pq.conf", sizeof(argv0[1]));
printf("starting DTLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef HAVE_LIBOQS
/* add DTLSv13 pq tests */
XSTRLCPY(argv0[1], "tests/test-dtls13-pq-2.conf", sizeof(argv0[1]));
printf("starting DTLSv13 post-quantum groups tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#endif
2016-11-24 01:31:07 +10:00
#endif
#if defined(WC_RSA_PSS) && (!defined(HAVE_FIPS) || \
(defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION > 2))) && \
(!defined(HAVE_SELFTEST) || (defined(HAVE_SELFTEST_VERSION) && \
(HAVE_SELFTEST_VERSION > 2)))
/* add RSA-PSS certificate cipher suite tests */
XSTRLCPY(argv0[1], "tests/test-rsapss.conf", sizeof(argv0[1]));
printf("starting RSA-PSS extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#if defined(HAVE_CURVE25519) && defined(HAVE_ED25519) && \
defined(HAVE_ED25519_SIGN) && defined(HAVE_ED25519_VERIFY) && \
defined(HAVE_ED25519_KEY_IMPORT) && defined(HAVE_ED25519_KEY_EXPORT)
2017-05-30 16:04:24 +10:00
/* add ED25519 certificate cipher suite tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-ed25519.conf", sizeof(argv0[1]));
2017-05-30 16:04:24 +10:00
printf("starting ED25519 extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#if defined(HAVE_CURVE448) && defined(HAVE_ED448) && \
defined(HAVE_ED448_SIGN) && defined(HAVE_ED448_VERIFY) && \
defined(HAVE_ED448_KEY_IMPORT) && defined(HAVE_ED448_KEY_EXPORT)
/* add ED448 certificate cipher suite tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-ed448.conf", sizeof(argv0[1]));
printf("starting ED448 extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
2017-05-30 16:04:24 +10:00
}
#endif
#if defined(HAVE_ECC) && defined(WOLFSSL_SHA512) && \
(defined(HAVE_ECC521) || defined(HAVE_ALL_CURVES))
/* add P-521 certificate cipher suite tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-p521.conf", sizeof(argv0[1]));
printf("starting P-521 extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#if defined(HAVE_ECC) && !defined(NO_SHA256) && defined(WOLFSSL_CUSTOM_CURVES) && \
defined(HAVE_ECC_KOBLITZ) && defined(HAVE_ECC_BRAINPOOL) && \
/* Intel QuickAssist and Cavium Nitrox do not support custom curves */ \
!defined(HAVE_INTEL_QA) && !defined(HAVE_CAVIUM_V)
/* TLS non-NIST curves (Koblitz / Brainpool) */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-ecc-cust-curves.conf", sizeof(argv0[1]));
printf("starting TLS test of non-NIST curves (Koblitz / Brainpool)\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
2015-07-07 09:55:58 -06:00
#ifdef WOLFSSL_DTLS
2012-08-08 17:09:09 -07:00
/* add dtls extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls.conf", sizeof(argv0[1]));
2012-08-08 17:09:09 -07:00
printf("starting dtls extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
2015-07-07 09:55:58 -06:00
}
/* add dtls grouping tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-group.conf", sizeof(argv0[1]));
2020-05-26 14:38:31 +02:00
printf("starting dtls message grouping tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
/* add dtls session resumption tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-resume.conf", sizeof(argv0[1]));
printf("starting dtls session resumption tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
2020-05-26 14:38:31 +02:00
#ifdef HAVE_SECURE_RENEGOTIATION
/* add dtls renegotiation tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-reneg-client.conf", sizeof(argv0[1]));
2020-05-26 14:38:31 +02:00
printf("starting dtls secure renegotiation client tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-reneg-server.conf", sizeof(argv0[1]));
2020-05-26 14:38:31 +02:00
printf("starting dtls secure renegotiation server tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#ifdef WOLFSSL_DTLS_MTU
/* Add dtls different MTU size tests.
* These also use grouping to force wolfSSL to
* bounce off the MTU limit more */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-mtu.conf", sizeof(argv0[1]));
printf("starting dtls MTU tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
2022-07-05 10:37:12 +02:00
/* Add dtls downgrade test */
XSTRLCPY(argv0[1], "tests/test-dtls-downgrade.conf", sizeof(argv0[1]));
printf("starting dtls downgrade tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef WOLFSSL_OLDTLS_SHA2_CIPHERSUITES
/* add dtls extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-sha2.conf", sizeof(argv0[1]));
printf("starting dtls extra cipher suite tests - old TLS sha-2 cs\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#ifndef WOLFSSL_NO_DTLS_SIZE_CHECK
/* failure tests */
args.argc = 3;
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-fails.conf", sizeof(argv0[1]));
XSTRLCPY(argv0[2], "expFail", sizeof(argv0[2])); /* tests are expected to fail */
printf("starting dtls tests that expect failure\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[2], "", sizeof(argv0[2]));
#endif
#ifdef WOLFSSL_EXTRA_ALERTS
/* failure tests */
args.argc = 3;
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dtls-fails-cipher.conf", sizeof(argv0[1]));
XSTRLCPY(argv0[2], "expFail", sizeof(argv0[2])); /* tests are expected to fail */
printf("starting dtls cipher mismatch tests that expect failure\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[2], "", sizeof(argv0[2]));
#endif
#ifdef WOLFSSL_SRTP
args.argc = 2;
strcpy(argv0[1], "tests/test-dtls-srtp.conf");
printf("starting dtls srtp suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
/* failure tests */
args.argc = 3;
strcpy(argv0[1], "tests/test-dtls-srtp-fails.conf");
strcpy(argv0[2], "expFail"); /* tests are expected to fail */
printf("starting dtls srtp profile mismatch tests that expect failure\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
strcpy(argv0[2], "");
#endif
2022-05-20 10:00:40 +02:00
#ifdef WOLFSSL_DTLS13
args.argc = 2;
strcpy(argv0[1], "tests/test-dtls13.conf");
printf("starting DTLSv1.3 suite\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifndef WOLFSSL_NO_TLS12
args.argc = 2;
strcpy(argv0[1], "tests/test-dtls13-downgrade.conf");
printf("starting DTLSv1.3 suite - downgrade\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
args.argc = 3;
strcpy(argv0[1], "tests/test-dtls13-downgrade-fails.conf");
strcpy(argv0[2], "expFail");
printf("starting DTLSv1.3 suite - downgrade - (expFails)\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
args.argc = 2;
XMEMSET(argv0[2], 0, sizeof(argv0[2]));
2022-05-20 10:00:40 +02:00
#endif /* WOLFSSL_NO_TLS12 */
#ifndef NO_PSK
XSTRLCPY(argv0[1], "tests/test-dtls13-psk.conf", sizeof(argv0[1]));
printf("starting DTLS 1.3 psk suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif /* NO_PSK */
2022-08-10 16:42:08 +02:00
#ifdef WOLFSSL_DTLS_CID
XSTRLCPY(argv0[1], "tests/test-dtls13-cid.conf", sizeof(argv0[1]));
printf("starting DTLS 1.3 ConnectionID suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif /* WOLFSSL_DTLS_CID */
2022-05-20 10:00:40 +02:00
#endif /* WOLFSSL_DTLS13 */
2015-07-07 09:55:58 -06:00
#endif
#ifdef WOLFSSL_SCTP
/* add dtls-sctp extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-sctp.conf", sizeof(argv0[1]));
printf("starting dtls-sctp extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef WOLFSSL_OLDTLS_SHA2_CIPHERSUITES
/* add dtls-sctp extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-sctp-sha2.conf", sizeof(argv0[1]));
printf("starting dtls-sctp extra cipher suite tests - old TLS sha-2 cs\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#endif
#ifndef WC_STRICT_SIG
#if !defined(NO_RSA) && defined(HAVE_ECC) /* testing mixed ECC/RSA cert */
/* add extra signature test suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-sig.conf", sizeof(argv0[1]));
printf("starting sig extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif /* HAVE_RSA and HAVE_ECC */
#endif /* !WC_STRICT_SIG */
#if defined(WOLFSSL_SM2) && defined(WOLFSSL_SM3) && \
(defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM))
/* add SM2/SM3/SM4 test suites */
XSTRLCPY(argv0[1], "tests/test-sm2.conf", sizeof(argv0[1]));
printf("starting SM2/SM3/SM4 cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#ifndef NO_PSK
2018-05-17 09:08:03 +10:00
#ifndef WOLFSSL_NO_TLS12
#if !defined(NO_RSA) || defined(HAVE_ECC)
/* add psk cipher suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-psk.conf", sizeof(argv0[1]));
printf("starting psk cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
2018-05-17 09:08:03 +10:00
#endif
#ifdef WOLFSSL_TLS13
/* add psk extra suites */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-tls13-psk.conf", sizeof(argv0[1]));
2018-05-17 09:08:03 +10:00
printf("starting TLS 1.3 psk no identity extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
2018-05-17 09:08:03 +10:00
#endif
#endif
#if defined(WOLFSSL_ENCRYPTED_KEYS) && !defined(NO_DES3) && !defined(NO_MD5) &&\
!defined(NO_SHA)
/* test encrypted keys */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-enckeys.conf", sizeof(argv0[1]));
printf("starting encrypted keys extra cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#ifdef HAVE_MAX_FRAGMENT
/* Max fragment cipher suite tests */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-maxfrag.conf", sizeof(argv0[1]));
printf("starting max fragment cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#ifdef WOLFSSL_DTLS
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-maxfrag-dtls.conf", sizeof(argv0[1]));
printf("starting dtls max fragment cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#endif
#ifdef WOLFSSL_ALT_CERT_CHAINS
/* tests for alt chains */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-altchains.conf", sizeof(argv0[1]));
printf("starting certificate alternate chain cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#else
/* tests for chains */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-chains.conf", sizeof(argv0[1]));
printf("starting certificate chain cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
#ifdef WOLFSSL_TRUST_PEER_CERT
/* tests for trusted peer cert */
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-trustpeer.conf", sizeof(argv0[1]));
printf("starting trusted peer certificate cipher suite tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
#endif
/* tests for dh prime */
args.argc = 3;
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-dhprime.conf", sizeof(argv0[1]));
XSTRLCPY(argv0[2], "doDH", sizeof(argv0[2])); /* add DH prime flag */
printf("starting dh prime tests\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
/* failure tests */
args.argc = 3;
jumbo patch of fixes for clang-tidy gripes (with some bug fixes). defect/gripe statistics: configured --enable-all --enable-sp-math-all --enable-intelasm with LLVM 13 clang-tidy -checks=readability-*,bugprone-*,misc-no-recursion,misc-misplaced-const,misc-redundant-expression,misc-unused-parameters,misc-unused-using-decls,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-optin.performance.Padding,-readability-braces-around-statements,-readability-function-size,-readability-function-cognitive-complexity,-bugprone-suspicious-include,-bugprone-easily-swappable-parameters,-readability-isolate-declaration,-readability-magic-numbers,-readability-else-after-return,-bugprone-reserved-identifier,-readability-suspicious-call-argument,-bugprone-suspicious-string-compare,-bugprone-branch-clone,-misc-redundant-expression,-readability-non-const-parameter,-readability-redundant-control-flow,-readability-misleading-indentation,-bugprone-narrowing-conversions,-bugprone-implicit-widening-of-multiplication-result [note these figures don't reflect additional defects fixed in this commit for --enable-smallstack, --enable-fips, --enable-async, --enable-asn=template, and --enable-fastmath, and --disable-fastmath] pre-patch warning count per file, with suppressions: clang-analyzer-security.insecureAPI.strcpy 6 wolfssl/tests/suites.c clang-analyzer-security.insecureAPI.strcpy 2 wolfssl/testsuite/testsuite.c bugprone-suspicious-missing-comma 3 wolfssl/examples/server/server.c bugprone-suspicious-missing-comma 3 wolfssl/examples/client/client.c readability-redundant-preprocessor 2 wolfssl/wolfcrypt/src/asn.c readability-redundant-preprocessor 1 wolfssl/wolfcrypt/src/rsa.c readability-redundant-preprocessor 9 wolfssl/src/ssl.c readability-redundant-preprocessor 2 wolfssl/src/tls13.c readability-redundant-preprocessor 18 wolfssl/tests/api.c readability-redundant-preprocessor 3 wolfssl/src/internal.c readability-redundant-preprocessor 10 wolfssl/wolfcrypt/test/test.c readability-named-parameter 1 wolfssl/wolfcrypt/benchmark/benchmark.c readability-named-parameter 7 wolfssl/src/internal.c readability-named-parameter 1 wolfssl/wolfcrypt/src/ecc.c readability-named-parameter 1 wolfssl/testsuite/testsuite.c readability-named-parameter 11 wolfssl/wolfcrypt/src/ge_operations.c misc-no-recursion 3 wolfssl/src/ssl.c readability-uppercase-literal-suffix 4 wolfssl/wolfcrypt/src/asn.c readability-uppercase-literal-suffix 1 wolfssl/src/ssl.c readability-uppercase-literal-suffix 13 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-too-small-loop-variable 1 wolfssl/wolfcrypt/src/rsa.c bugprone-too-small-loop-variable 2 wolfssl/wolfcrypt/src/sha3.c bugprone-too-small-loop-variable 4 wolfssl/wolfcrypt/src/idea.c bugprone-signed-char-misuse 2 wolfssl/src/ssl.c bugprone-signed-char-misuse 3 wolfssl/wolfcrypt/src/sp_int.c bugprone-signed-char-misuse 3 wolfssl/examples/client/client.c bugprone-macro-parentheses 19 wolfssl/wolfcrypt/src/aes.c bugprone-macro-parentheses 109 wolfssl/wolfcrypt/src/camellia.c bugprone-macro-parentheses 1 wolfssl/src/tls.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/md4.c bugprone-macro-parentheses 2 wolfssl/wolfcrypt/src/asn.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2b.c bugprone-macro-parentheses 257 wolfssl/wolfcrypt/src/sha3.c bugprone-macro-parentheses 15 wolfssl/src/ssl.c bugprone-macro-parentheses 1 wolfssl/wolfcrypt/src/sha.c bugprone-macro-parentheses 8 wolfssl/tests/api.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/sp_int.c bugprone-macro-parentheses 6 wolfssl/wolfcrypt/benchmark/benchmark.c bugprone-macro-parentheses 38 wolfssl/wolfcrypt/src/hc128.c bugprone-macro-parentheses 12 wolfssl/wolfcrypt/src/md5.c bugprone-macro-parentheses 10 wolfssl/wolfcrypt/src/sha256.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/test/test.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/ecc.c bugprone-macro-parentheses 2 wolfssl/tests/suites.c bugprone-macro-parentheses 4 wolfssl/wolfcrypt/src/cpuid.c bugprone-macro-parentheses 26 wolfssl/wolfcrypt/src/blake2s.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/sha512.c bugprone-macro-parentheses 3 wolfssl/wolfcrypt/src/poly1305.c bugprone-macro-parentheses 24 wolfssl/wolfcrypt/src/ripemd.c readability-inconsistent-declaration-parameter-name 1 wolfssl/src/internal.c readability-inconsistent-declaration-parameter-name 1 wolfssl/testsuite/testsuite.c pre-patch warning count summaries, with suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-suspicious-missing-comma 6 readability-redundant-preprocessor 45 readability-named-parameter 21 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-too-small-loop-variable 7 bugprone-signed-char-misuse 8 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 pre-patch warning count summaries, without suppressions: clang-analyzer-security.insecureAPI.strcpy 8 bugprone-branch-clone 152 readability-non-const-parameter 118 bugprone-suspicious-missing-comma 6 bugprone-suspicious-include 52 readability-magic-numbers 22423 readability-redundant-preprocessor 45 readability-named-parameter 21 readability-function-cognitive-complexity 845 readability-else-after-return 398 bugprone-implicit-widening-of-multiplication-result 595 readability-function-size 21 readability-isolate-declaration 1090 misc-redundant-expression 2 bugprone-narrowing-conversions 994 misc-no-recursion 3 readability-uppercase-literal-suffix 18 bugprone-reserved-identifier 56 readability-suspicious-call-argument 74 bugprone-too-small-loop-variable 7 bugprone-easily-swappable-parameters 437 bugprone-signed-char-misuse 8 readability-misleading-indentation 94 bugprone-macro-parentheses 601 readability-inconsistent-declaration-parameter-name 2 bugprone-suspicious-string-compare 495 readability-redundant-control-flow 20 readability-braces-around-statements 11483 clang-analyzer-valist.Uninitialized 1 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling 3502
2022-01-19 23:09:50 -06:00
XSTRLCPY(argv0[1], "tests/test-fails.conf", sizeof(argv0[1]));
XSTRLCPY(argv0[2], "expFail", sizeof(argv0[2])); /* tests are expected to fail */
printf("starting tests that expect failure\n");
test_harness(&args);
if (args.return_code != 0) {
printf("error from script %d\n", args.return_code);
args.return_code = EXIT_FAILURE;
goto exit;
}
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
exit:
if (args.return_code == 0)
printf("\n Success -- All results as expected.\n");
2012-08-06 17:14:31 -07:00
printf(" End Cipher Suite Tests\n");
2015-02-25 13:34:29 -08:00
wolfSSL_CTX_free(cipherSuiteCtx);
wolfSSL_Cleanup();
#if defined(HAVE_ECC) && defined(FP_ECC) && defined(HAVE_THREAD_LS) \
&& (defined(NO_MAIN_DRIVER) || defined(HAVE_STACK_SIZE))
wc_ecc_fp_free(); /* free per thread cache */
#endif
Intel QuickAssist (QAT) support and async enhancements/fixes: * Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/). * Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC. * wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify. * wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature. * wolfCrypt test and benchmark async support added for all HW acceleration. * wolfCrypt benchmark multi-threading support. * Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA. * Refactor to make sure “heap” is available for async dev init. * Added async support for all examples for connect, accept, read and write. * Added new WC_BIGINT (in wolfmath.c) for async hardware support. * Added async simulator tests for DES3 CBC, AES CBC/GCM. * Added QAT standalone build for unit testing. * Added int return code to SHA and MD5 functions. * Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer. * Combined duplicate code for async push/pop handling. * Refactor internal.c to add AllocKey / FreeKey. * Refactor of hash init/free in TLS to use InitHashes and FreeHashes. * Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*. * Suppress error message for WC_PENDING_E. * Implemented "wolfSSL_EVP_MD_CTX_init" to do memset. * Cleanup of the openssl compat CTX sizes when async is enabled. * Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability. * Cleanup of the OPAQUE_LEN. * Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret). * Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations) * Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding". * Updated RSA un-padding error message so its different than one above it for better debugging. * Added QAT async enables for each algorithm. * Refactor of the async init to use _ex. * Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing. * Reformatted the benchmark results: PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec" Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87 * Added min execution time for all benchmarks. * Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local. * Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark. * Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async. * Added NO_SW_BENCH option to only run HW bench. * Added support for PRNG to use hardware SHA256 if _wc devId provided. * Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size. * Added the wc_*GetHash calls to the wolfCrypt tests. * Added async hardware start/stop to wolfSSL init/cleanup. * Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos. * Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`. * Added arg checks on wc_*GetHash and wc_*Copy. * Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions. * Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator. * Added checks for all hashing to verify valid ->buffLen. * Fix for SHA512 scan-build warning about un-initialized “W_X”. * Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash. * Refactor of the benchmarking to use common function for start, check and finish of the stats. * Fixed issue with ECC cache loading in multi-threading. * Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned. * Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define. * Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-07 15:46:32 -07:00
#ifdef WOLFSSL_ASYNC_CRYPT
wolfAsync_DevClose(&devId);
#endif
2012-08-06 17:14:31 -07:00
return args.return_code;
#else
return NOT_COMPILED_IN;
(void)argc;
(void)argv;
#endif /* !NO_WOLFSSL_SERVER && !NO_WOLFSSL_CLIENT */
2012-08-06 17:14:31 -07:00
}