forked from wolfSSL/wolfssl
Merge remote-tracking branch 'upstream/master' into os_base64
This commit is contained in:
28
.github/workflows/macos-check.yml
vendored
Normal file
28
.github/workflows/macos-check.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: macOS Build Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ '*' ]
|
||||
pull_request:
|
||||
branches: [ '*' ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: brew
|
||||
run: brew install automake libtool
|
||||
- name: autogen
|
||||
run: ./autogen.sh
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: make check
|
||||
run: make check
|
||||
- name: make distcheck
|
||||
run: make distcheck
|
||||
|
26
.github/workflows/ubuntu-check.yml
vendored
Normal file
26
.github/workflows/ubuntu-check.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Ubuntu Build Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ '*' ]
|
||||
pull_request:
|
||||
branches: [ '*' ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: autogen
|
||||
run: ./autogen.sh
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: make check
|
||||
run: make check
|
||||
- name: make distcheck
|
||||
run: make distcheck
|
||||
|
38
.github/workflows/windows-check.yml
vendored
Normal file
38
.github/workflows/windows-check.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Windows Build Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ '*' ]
|
||||
pull_request:
|
||||
branches: [ '*' ]
|
||||
|
||||
env:
|
||||
# Path to the solution file relative to the root of the project.
|
||||
SOLUTION_FILE_PATH: wolfssl64.sln
|
||||
|
||||
# Configuration type to build.
|
||||
# You can convert this to a build matrix if you need coverage of multiple configuration types.
|
||||
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
BUILD_CONFIGURATION: Release
|
||||
BUILD_PLATFORM: x64
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Add MSBuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
|
||||
- name: Restore NuGet packages
|
||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||
# Add additional options to the MSBuild command line here (like platform or verbosity level).
|
||||
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
||||
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@@ -230,6 +230,7 @@ IDE/MDK-ARM/LPC43xx/LPC43xx/
|
||||
*.gcno
|
||||
*.gcda
|
||||
*.gcov
|
||||
*.dgcov
|
||||
!linuxkm/Makefile
|
||||
/Kbuild
|
||||
linuxkm/*.ko
|
||||
@@ -355,6 +356,12 @@ IDE/XCODE/Index
|
||||
/IDE/Renesas/e2studio/Projects/test/*.launch
|
||||
/IDE/Renesas/e2studio/Projects/test/*.scfg
|
||||
|
||||
# QNX CAAM
|
||||
/IDE/QNX/example-server/server-tls
|
||||
/IDE/QNX/example-client/client-tls
|
||||
/IDE/QNX/example-cmac/cmac-test
|
||||
/IDE/QNX/CAAM-DRIVER/wolfCrypt
|
||||
|
||||
# Emacs
|
||||
*~
|
||||
|
||||
|
286
CMakeLists.txt
286
CMakeLists.txt
@@ -28,7 +28,7 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||
You must delete them, or cmake will refuse to work.")
|
||||
endif()
|
||||
|
||||
project(wolfssl VERSION 4.7.0 LANGUAGES C)
|
||||
project(wolfssl VERSION 4.7.1 LANGUAGES C)
|
||||
|
||||
# shared library versioning
|
||||
# increment if interfaces have been added, removed or changed
|
||||
@@ -180,9 +180,21 @@ find_package(Threads)
|
||||
# - 32-bit mode
|
||||
# - 16-bit mode
|
||||
|
||||
# For reproducible build, gate out from the build anything that might
|
||||
# introduce semantically frivolous jitter, maximizing chance of
|
||||
# identical object files.
|
||||
set(WOLFSSL_REPRODUCIBLE_BUILD_HELP_STRING "Enable maximally reproducible build (default: disabled)")
|
||||
add_option("WOLFSSL_REPRODUCIBLE_BUILD" ${WOLFSSL_REPRODUCIBLE_BUILD_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_REPRODUCIBLE_BUILD)
|
||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Dqc <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> Dq <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -D <TARGET>")
|
||||
endif()
|
||||
|
||||
# Support for disabling all ASM
|
||||
set(WOLFSSL_ASM_HELP_STRING "Enables option for assembly (default: enabled)")
|
||||
option(WOLFSSL_ASM ${WOLFSSL_ASM_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ASM" ${WOLFSSL_ASM_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_ASM)
|
||||
list(APPEND WOLFSSL_DEFINITIONS
|
||||
@@ -192,7 +204,7 @@ endif()
|
||||
|
||||
# Single threaded
|
||||
set(WOLFSSL_SINGLE_THREADED_HELP_STRING "Enable wolfSSL single threaded (default: disabled)")
|
||||
option(WOLFSSL_SINGLE_THREADED ${WOLFSSL_SINGLE_THREADED_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_SINGLE_THREADED" ${WOLFSSL_SINGLE_THREADED_HELP_STRING} "no" "yes;no")
|
||||
|
||||
# TODO: Logic here isn't complete, yet (see AX_PTHREAD)
|
||||
if(NOT WOLFSSL_SINGLE_THREADED)
|
||||
@@ -209,7 +221,7 @@ endif()
|
||||
|
||||
# TLS v1.3
|
||||
set(WOLFSSL_TLS13_HELP_STRING "Enable wolfSSL TLS v1.3 (default: enabled)")
|
||||
option(WOLFSSL_TLS13 ${WOLFSSL_TLS13_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_TLS13" ${WOLFSSL_TLS13_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if("${FIPS_VERSION}" STREQUAL "v1")
|
||||
override_cache(WOLFSSL_TLS13 "no")
|
||||
@@ -220,7 +232,7 @@ endif()
|
||||
|
||||
# RNG
|
||||
set(WOLFSSL_RNG_HELP_STRING "Enable compiling and using RNG (default: enabled)")
|
||||
option(WOLFSSL_RNG ${WOLFSSL_RNG_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_RNG" ${WOLFSSL_RNG_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_RNG)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RNG")
|
||||
@@ -247,7 +259,7 @@ endif()
|
||||
|
||||
# Harden, enable Timing Resistance and Blinding by default
|
||||
set(WOLFSSL_HARDEN_HELP_STRING "Enable Hardened build, Enables Timing Resistance and Blinding (default: enabled)")
|
||||
option(WOLFSSL_HARDEN ${WOLFSSL_HARDEN_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_HARDEN" ${WOLFSSL_HARDEN_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_HARDEN)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DTFM_TIMING_RESISTANT" "-DECC_TIMING_RESISTANT")
|
||||
@@ -279,7 +291,7 @@ set(WOLFSSL_SLOW_MATH "yes")
|
||||
|
||||
# AES-CBC
|
||||
set(WOLFSSL_AESCBC_HELP_STRING "Enable wolfSSL AES-CBC support (default: enabled)")
|
||||
option(WOLFSSL_AESCBC ${WOLFSSL_AESCBC_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_AESCBC" ${WOLFSSL_AESCBC_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_AESCBC)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES_CBC")
|
||||
@@ -287,8 +299,7 @@ endif()
|
||||
|
||||
# AES-GCM
|
||||
set(WOLFSSL_AESGCM_HELP_STRING "Enable wolfSSL AES-GCM support (default: enabled)")
|
||||
set(WOLFSSL_AESGCM "yes" CACHE STRING ${WOLFSSL_AESGCM_HELP_STRING})
|
||||
set_property(CACHE WOLFSSL_AESGCM PROPERTY STRINGS "yes" "no" "table" "small" "word32")
|
||||
add_option("WOLFSSL_AESGCM" ${WOLFSSL_AESGCM_HELP_STRING} "yes" "yes;no;table;small;word32")
|
||||
|
||||
# leanpsk and leantls don't need gcm
|
||||
if(WOLFSSL_LEAN_PSK OR (WOLFSSL_LEAN_TLS AND NOT WOLFSSL_TLS13))
|
||||
@@ -331,9 +342,37 @@ endif()
|
||||
# - RIPEMD
|
||||
# - BLAKE2
|
||||
|
||||
|
||||
# SHA224
|
||||
set(SHA224_DEFAULT "no")
|
||||
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
|
||||
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
|
||||
if(NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
|
||||
(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2")))
|
||||
set(SHA224_DEFAULT "yes")
|
||||
endif()
|
||||
endif()
|
||||
set(WOLFSSL_SHA224_HELP_STRING "Enable wolfSSL SHA-224 support (default: enabled on x86_64/aarch64)")
|
||||
add_option("WOLFSSL_SHA224" ${WOLFSSL_SHA224_HELP_STRING} ${SHA224_DEFAULT} "yes;no")
|
||||
|
||||
# SHA3
|
||||
set(SHA3_DEFAULT "no")
|
||||
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
|
||||
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
|
||||
if(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2"))
|
||||
set(SHA3_DEFAULT "yes")
|
||||
endif()
|
||||
endif()
|
||||
set(WOLFSSL_SHA3_HELP_STRING "Enable wolfSSL SHA-3 support (default: enabled on x86_64/aarch64)")
|
||||
add_option("WOLFSSL_SHA3" ${WOLFSSL_SHA3_HELP_STRING} ${SHA3_DEFAULT} "yes;no;small")
|
||||
|
||||
# SHAKE256
|
||||
set(WOLFSSL_SHAKE256_HELP_STRING "Enable wolfSSL SHAKE256 support (default: enabled on x86_64/aarch64)")
|
||||
add_option("WOLFSSL_SHAKE256" ${WOLFSSL_SHAKE256_HELP_STRING} "no" "yes;no;small")
|
||||
|
||||
# SHA512
|
||||
set(WOLFSSL_SHA512_HELP_STRING "Enable wolfSSL SHA-512 support (default: enabled)")
|
||||
option(WOLFSSL_SHA512 ${WOLFSSL_SHA512_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_SHA512" ${WOLFSSL_SHA512_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
# options that don't require sha512
|
||||
if(WOLFSSL_LEAN_PSK OR
|
||||
@@ -356,7 +395,7 @@ endif()
|
||||
|
||||
# SHA384
|
||||
set(WOLFSSL_SHA384_HELP_STRING "Enable wolfSSL SHA-384 support (default: enabled)")
|
||||
option(WOLFSSL_SHA384 ${WOLFSSL_SHA384_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_SHA384" ${WOLFSSL_SHA384_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
# options that don't require sha384
|
||||
if(WOLFSSL_LEAN_PSK OR
|
||||
@@ -387,7 +426,7 @@ endif()
|
||||
|
||||
# HKDF
|
||||
set(WOLFSSL_HKDF_HELP_STRING "Enable HKDF (HMAC-KDF) support (default: disabled)")
|
||||
option(WOLFSSL_HKDF ${WOLFSSL_HKDF_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_HKDF" ${WOLFSSL_HKDF_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_TLS13)
|
||||
override_cache(WOLFSSL_HKDF "yes")
|
||||
@@ -401,7 +440,7 @@ endif()
|
||||
|
||||
# DSA
|
||||
set(WOLFSSL_DSA_HELP_STRING "Enable DSA (default: disabled)")
|
||||
option(WOLFSSL_DSA ${WOLFSSL_DSA_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_DSA" ${WOLFSSL_DSA_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_DSA AND NOT WOLFSSL_OPENSSH)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DSA")
|
||||
@@ -409,12 +448,11 @@ endif()
|
||||
|
||||
# ECC Shamir
|
||||
set(WOLFSSL_ECCSHAMIR_HELP_STRING "Enable ECC Shamir (default: enabled)")
|
||||
option(WOLFSSL_ECCSHAMIR ${WOLFSSL_ECCSHAMIR_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ECCSHAMIR" ${WOLFSSL_ECCSHAMIR_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
# ECC
|
||||
set(WOLFSSL_ECC_HELP_STRING "Enable ECC (default: enabled)")
|
||||
set(WOLFSSL_ECC "yes" CACHE STRING ${WOLFSSL_ECC_HELP_STRING})
|
||||
set_property(CACHE WOLFSSL_ECC PROPERTY STRINGS "yes" "no" "nonblock")
|
||||
add_option("WOLFSSL_ECC" ${WOLFSSL_ECC_HELP_STRING} "yes" "yes;no;nonblock")
|
||||
|
||||
# lean psk doesn't need ecc
|
||||
if(WOLFSSL_LEAN_PSK)
|
||||
@@ -441,18 +479,105 @@ endif()
|
||||
|
||||
# TODO: - ECC custom curves
|
||||
# - Compressed key
|
||||
# - CURVE25519
|
||||
# - ED25519
|
||||
# - CURVE448
|
||||
# - ED448
|
||||
# - FP ECC, fixed point cache ECC
|
||||
# - ECC encrypt
|
||||
# - PSK
|
||||
# - Single PSK identity
|
||||
|
||||
# CURVE25519
|
||||
set(WOLFSSL_CURVE25519_SMALL "no")
|
||||
set(WOLFSSL_CURVE25519_HELP_STRING "Enable Curve25519 (default: disabled)")
|
||||
add_option("WOLFSSL_CURVE25519" ${WOLFSSL_CURVE25519_HELP_STRING} "no" "yes;no;small;no128bit")
|
||||
|
||||
if(WOLFSSL_OPENSSH)
|
||||
override_cache(WOLFSSL_CURVE25519 "yes")
|
||||
endif()
|
||||
|
||||
if(WOLFSSL_CURVE25519)
|
||||
if("${WOLFSSL_CURVE25519}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DCURVE25519_SMALL")
|
||||
set(WOLFSSL_CURVE25519_SMALL "yes")
|
||||
endif()
|
||||
|
||||
if("${WOLFSSL_CURVE25519}" STREQUAL "no128bit" OR WOLFSSL_32BIT)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CURVED25519_128BIT")
|
||||
endif()
|
||||
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_CURVE25519")
|
||||
set(WOLFSSL_FEMATH "yes")
|
||||
endif()
|
||||
|
||||
# ED25519
|
||||
set(WOLFSSL_ED25519_SMALL "no")
|
||||
set(WOLFSSL_ED25519_HELP_STRING "Enable ED25519 (default: disabled)")
|
||||
add_option("WOLFSSL_ED25519" ${WOLFSSL_ED25519_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_OPENSSH)
|
||||
override_cache(WOLFSSL_ED25519 "yes")
|
||||
endif()
|
||||
|
||||
if(WOLFSSL_ED25519 AND NOT WOLFSSL_32BIT)
|
||||
if("${WOLFSSL_ED25519}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DED25519_SMALL")
|
||||
set(WOLFSSL_ED25519_SMALL "yes")
|
||||
set(WOLFSSL_CURVE25519_SMALL "yes")
|
||||
endif()
|
||||
|
||||
if(NOT WOLFSSL_SHA512)
|
||||
message(FATAL_ERROR "cannot enable ed25519 without enabling sha512.")
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_FEMATH "yes")
|
||||
set(WOLFSSL_GEMATH "yes")
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_ED25519")
|
||||
endif()
|
||||
|
||||
# CURVE448
|
||||
set(WOLFSSL_CURVE448_SMALL "no")
|
||||
set(WOLFSSL_CURVE448_HELP_STRING "Enable Curve448 (default: disabled)")
|
||||
add_option("WOLFSSL_CURVE448" ${WOLFSSL_CURVE448_HELP_STRING} "no" "yes;no;small")
|
||||
|
||||
if(WOLFSSL_CURVE448)
|
||||
if("${WOLFSSL_CURVE448}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DCURVE448_SMALL")
|
||||
set(WOLFSSL_CURVE448_SMALL "yes")
|
||||
endif()
|
||||
|
||||
if("${WOLFSSL_CURVE448}" STREQUAL "no128bit" OR WOLFSSL_32BIT)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CURVED448_128BIT")
|
||||
endif()
|
||||
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_CURVE448")
|
||||
set(WOLFSSL_FE448 "yes")
|
||||
endif()
|
||||
|
||||
# ED448
|
||||
set(WOLFSSL_ED448_SMALL "no")
|
||||
set(WOLFSSL_ED448_HELP_STRING "Enable ED448 (default: disabled)")
|
||||
add_option("WOLFSSL_ED448" ${WOLFSSL_ED448_HELP_STRING} "no" "yes;no;small")
|
||||
|
||||
if(WOLFSSL_ED448 AND NOT WOLFSSL_32BIT)
|
||||
if("${WOLFSSL_ED448}" STREQUAL "small" OR WOLFSSL_LOW_RESOURCE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DED448_SMALL")
|
||||
set(WOLFSSL_ED448_SMALL "yes")
|
||||
set(WOLFSSL_CURVE448_SMALL "yes")
|
||||
endif()
|
||||
|
||||
if(NOT WOLFSSL_SHA512)
|
||||
message(FATAL_ERROR "cannot enable ed448 without enabling sha512.")
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_FE448 "yes")
|
||||
set(WOLFSSL_GE448 "yes")
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_ED448")
|
||||
|
||||
# EdDSA448 requires SHAKE256 which requires SHA-3
|
||||
override_cache(WOLFSSL_SHAKE256 "yes")
|
||||
endif()
|
||||
|
||||
# Error strings
|
||||
set(WOLFSSL_ERROR_STRINGS_HELP_STRING "Enable error strings table (default: enabled)")
|
||||
option(WOLFSSL_ERROR_STRINGS ${WOLFSSL_ERROR_STRINGS_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ERROR_STRINGS" ${WOLFSSL_ERROR_STRINGS_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_ERROR_STRINGS)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_STRINGS")
|
||||
@@ -466,7 +591,7 @@ endif()
|
||||
|
||||
# Error queue
|
||||
set(WOLFSSL_ERROR_QUEUE_HELP_STRING "Enables adding nodes to error queue when compiled with OPENSSL_EXTRA (default: enabled)")
|
||||
option(WOLFSSL_ERROR_QUEUE ${WOLFSSL_DISABLE_ERROR_QUEUE_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ERROR_QUEUE" ${WOLFSSL_ERROR_QUEUE_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_ERROR_QUEUE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_QUEUE")
|
||||
@@ -474,7 +599,7 @@ endif()
|
||||
|
||||
# Old TLS
|
||||
set(WOLFSSL_OLD_TLS_HELP_STRING "Enable old TLS versions < 1.2 (default: enabled)")
|
||||
option(WOLFSSL_OLD_TLS ${WOLFSSL_OLD_TLS_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_OLD_TLS" ${WOLFSSL_OLD_TLS_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_OLD_TLS)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_OLD_TLS")
|
||||
@@ -488,7 +613,7 @@ endif()
|
||||
|
||||
# TLSv1.2
|
||||
set(WOLFSSL_TLSV12_HELP_STRING "Enable TLS versions 1.2 (default: enabled)")
|
||||
option(WOLFSSL_TLSV12 ${WOLFSSL_TLSV12_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_TLSV12" ${WOLFSSL_TLSV12_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_TLSV12)
|
||||
list(APPEND WOLFSSL_DEFINITIONS
|
||||
@@ -503,7 +628,7 @@ endif()
|
||||
|
||||
# Memory
|
||||
set(WOLFSSL_MEMORY_HELP_STRING "Enable memory callbacks (default: enabled)")
|
||||
option(WOLFSSL_MEMORY ${WOLFSSL_MEMORY_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_MEMORY" ${WOLFSSL_MEMORY_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_MEMORY)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_WOLFSSL_MEMORY")
|
||||
@@ -521,7 +646,7 @@ endif()
|
||||
|
||||
# RSA
|
||||
set(WOLFSSL_RSA_HELP_STRING "Enable RSA (default: enabled)")
|
||||
option(WOLFSSL_RSA ${WOLFSSL_RSA_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_RSA" ${WOLFSSL_RSA_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_RSA)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_RSA")
|
||||
@@ -534,7 +659,7 @@ endif()
|
||||
|
||||
# OAEP
|
||||
set(WOLFSSL_OAEP_HELP_STRING "Enable RSA OAEP (default: enabled)")
|
||||
option(WOLFSSL_OAEP ${WOLFSSL_OAEP_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_OAEP" ${WOLFSSL_OAEP_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_OAEP)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RSA_OAEP")
|
||||
@@ -545,7 +670,7 @@ endif()
|
||||
|
||||
# RSA-PSS
|
||||
set(WOLFSSL_RSA_PSS_HELP_STRING "Enable RSA-PSS (default: disabled)")
|
||||
option(WOLFSSL_RSA_PSS ${WOLFSSL_RSA_PSS_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_RSA_PSS" ${WOLFSSL_RSA_PSS_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_RSA)
|
||||
override_cache(WOLFSSL_RSA_PSS "no")
|
||||
@@ -560,7 +685,7 @@ endif()
|
||||
|
||||
# DH
|
||||
set(WOLFSSL_DH_HELP_STRING "Enable DH (default: enabled)")
|
||||
option(WOLFSSL_DH ${WOLFSSL_DH_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_DH" ${WOLFSSL_DH_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_OPENSSH)
|
||||
override_cache(WOLFSSL_DH "yes")
|
||||
@@ -581,7 +706,7 @@ endif()
|
||||
# turn off asn, which means no certs, no rsa, no dsa, no ecc,
|
||||
# and no big int (unless dh is on)
|
||||
set(WOLFSSL_ASN_HELP_STRING "Enable ASN (default: enabled)")
|
||||
option(WOLFSSL_ASN ${WOLFSSL_ASN_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ASN" ${WOLFSSL_ASN_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_ASN)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ASN" "-DNO_CERTS")
|
||||
@@ -626,7 +751,7 @@ endif()
|
||||
|
||||
# AES
|
||||
set(WOLFSSL_AES_HELP_STRING "Enable AES (default: enabled)")
|
||||
option(WOLFSSL_AES ${WOLFSSL_AES_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_AES" ${WOLFSSL_AES_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_AES)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES")
|
||||
@@ -655,7 +780,7 @@ endif()
|
||||
|
||||
# Coding
|
||||
set(WOLFSSL_CODING_HELP_STRING "Enable coding base 16/64 (default: enabled)")
|
||||
option(WOLFSSL_CODING ${WOLFSSL_CODING_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_CODING" ${WOLFSSL_CODING_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_CODING)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CODING")
|
||||
@@ -674,7 +799,7 @@ if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_BASE64_ENCODE_HELP_STRING "Enable Base64 encoding (default: enabled on x86_64)")
|
||||
option(WOLFSSL_BASE64_ENCODE ${WOLFSSL_BASE64_ENCODE_HELP_STRING} ${BASE64_ENCODE_DEFAULT})
|
||||
add_option("WOLFSSL_BASE64_ENCODE" ${WOLFSSL_BASE64_ENCODE_HELP_STRING} ${BASE64_ENCODE_DEFAULT} "yes;no")
|
||||
|
||||
if(WOLFSSL_BASE64_ENCODE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_BASE64_ENCODE")
|
||||
@@ -684,7 +809,7 @@ endif()
|
||||
|
||||
# DES3
|
||||
set(WOLFSSL_DES3_HELP_STRING "Enable DES3 (default: disabled)")
|
||||
option(WOLFSSL_DES3 ${WOLFSSL_DES3_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_DES3" ${WOLFSSL_DES3_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_OPENSSH OR
|
||||
WOLFSSL_QT OR
|
||||
@@ -697,7 +822,7 @@ endif()
|
||||
|
||||
# ARC4
|
||||
set(WOLFSSL_ARC4_HELP_STRING "Enable ARC4 (default: disabled)")
|
||||
option(WOLFSSL_ARC4 ${WOLFSSL_ARC4_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_ARC4" ${WOLFSSL_ARC4_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_OPENSSH OR WOLFSSL_WPAS)
|
||||
override_cache(WOLFSSL_ARC4 "yes")
|
||||
@@ -715,7 +840,7 @@ endif()
|
||||
|
||||
# MD5
|
||||
set(WOLFSSL_MD5_HELP_STRING "Enable MD5 (default: enabled)")
|
||||
option(WOLFSSL_MD5 ${WOLFSSL_MD5_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_MD5" ${WOLFSSL_MD5_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_MD5)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS")
|
||||
@@ -729,7 +854,7 @@ endif()
|
||||
|
||||
# SHA
|
||||
set(WOLFSSL_SHA_HELP_STRING "Enable SHA (default: enabled)")
|
||||
option(WOLFSSL_SHA ${WOLFSSL_SHA_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_SHA" ${WOLFSSL_SHA_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_SHA)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_SHA" "-DNO_OLD_TLS")
|
||||
@@ -748,7 +873,7 @@ endif()
|
||||
|
||||
# HC128
|
||||
set(WOLFSSL_HC128_HELP_STRING "Enable HC-128 (default: disabled)")
|
||||
option(WOLFSSL_HC128 ${WOLFSSL_HC128_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_HC128" ${WOLFSSL_HC128_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_HC128)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_HC128")
|
||||
@@ -768,35 +893,11 @@ endif()
|
||||
# - Selftest
|
||||
|
||||
# SHA224
|
||||
set(SHA224_DEFAULT "no")
|
||||
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
|
||||
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
|
||||
if(NOT WOLFSSL_AFALG AND NOT WOLFSSL_DEVCRYPTO AND
|
||||
(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2")))
|
||||
set(SHA224_DEFAULT "yes")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_SHA224_HELP_STRING "Enable wolfSSL SHA-224 support (default: enabled on x86_64/aarch64)")
|
||||
option(WOLFSSL_SHA224 ${WOLFSSL_SHA224_HELP_STRING} ${SHA224_DEFAULT})
|
||||
|
||||
if(WOLFSSL_SHA224)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA224")
|
||||
endif()
|
||||
|
||||
# SHA3
|
||||
set(SHA3_DEFAULT "no")
|
||||
if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR
|
||||
("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64"))
|
||||
if(NOT WOLFSSL_FIPS OR ("${FIPS_VERSION}" STREQUAL "v2"))
|
||||
set(SHA3_DEFAULT "yes")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_SHA3_HELP_STRING "Enable wolfSSL SHA-3 support (default: enabled on x86_64/aarch64)")
|
||||
set(WOLFSSL_SHA3 ${SHA3_DEFAULT} CACHE STRING ${WOLFSSL_SHA3_HELP_STRING})
|
||||
set_property(CACHE WOLFSSL_SHA3 PROPERTY STRINGS "yes" "no" "small")
|
||||
|
||||
if("${WOLFSSL_SHA3}" STREQUAL "small")
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA3_SMALL")
|
||||
override_cache(WOLFSSL_SHA3 "yes")
|
||||
@@ -807,10 +908,6 @@ if(WOLFSSL_SHA3 AND NOT WOLFSSL_32BIT)
|
||||
endif()
|
||||
|
||||
# SHAKE256
|
||||
set(WOLFSSL_SHAKE256_HELP_STRING "Enable wolfSSL SHAKE256 support (default: enabled on x86_64/aarch64)")
|
||||
set(WOLFSSL_SHAKE256 "no" CACHE STRING ${WOLFSSL_SHAKE256_HELP_STRING})
|
||||
set_property(CACHE WOLFSSL_SHAKE256 PROPERTY STRINGS "yes" "no" "small")
|
||||
|
||||
if(NOT WOLFSSL_SHAKE256)
|
||||
override_cache(WOLFSSL_SHAKE256 ${WOLFSSL_SHA3})
|
||||
endif()
|
||||
@@ -832,7 +929,7 @@ if(WOLFSSL_FIPS)
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_POLY1305_HELP_STRING "Enable wolfSSL POLY1305 support (default: enabled)")
|
||||
option(WOLFSSL_POLY1305 ${WOLFSSL_POLY1305_HELP_STRING} ${POLY1305_DEFAULT})
|
||||
add_option("WOLFSSL_POLY1305" ${WOLFSSL_POLY1305_HELP_STRING} ${POLY1305_DEFAULT} "yes;no")
|
||||
|
||||
# leanpsk and leantls don't need poly1305
|
||||
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
||||
@@ -852,8 +949,7 @@ if(WOLFSSL_FIPS)
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_CHACHA_HELP_STRING "Enable CHACHA (default: enabled). Use `=noasm` to disable ASM AVX/AVX2 speedups")
|
||||
set(WOLFSSL_CHACHA ${CHACHA_DEFAULT} CACHE STRING ${WOLFSSL_CHACHA_HELP_STRING})
|
||||
set_property(CACHE WOLFSSL_CHACHA PROPERTY STRINGS "yes" "no" "noasm")
|
||||
add_option("WOLFSSL_CHACHA" ${WOLFSSL_CHACHA_HELP_STRING} ${CHACHA_DEFAULT} "yes;no;noasm")
|
||||
|
||||
# leanpsk and leantls don't need chacha
|
||||
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
||||
@@ -872,7 +968,7 @@ endif()
|
||||
|
||||
# Hash DRBG
|
||||
set(WOLFSSL_HASH_DRBG_HELP_STRING "Enable Hash DRBG support (default: enabled)")
|
||||
option(WOLFSSL_HASH_DRBG ${WOLFSSL_HASH_DRBG_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_HASH_DRBG" ${WOLFSSL_HASH_DRBG_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_HASH_DRBG)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_HASHDRBG")
|
||||
@@ -894,7 +990,7 @@ else()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_FILESYSTEM_HELP_STRING "Enable Filesystem support (default: enabled)")
|
||||
option(WOLFSSL_FILESYSTEM ${WOLFSSL_FILESYSTEM_HELP_STRING} ${FILESYSTEM_DEFAULT})
|
||||
add_option("WOLFSSL_FILESYSTEM" ${WOLFSSL_FILESYSTEM_HELP_STRING} ${FILESYSTEM_DEFAULT} "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_FILESYSTEM)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_FILESYSTEM")
|
||||
@@ -907,7 +1003,7 @@ endif()
|
||||
|
||||
# Inline function support
|
||||
set(WOLFSSL_INLINE_HELP_STRING "Enable inline functions (default: enabled)")
|
||||
option(WOLFSSL_INLINE ${WOLFSSL_INLINE_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_INLINE" ${WOLFSSL_INLINE_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_INLINE)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE")
|
||||
@@ -933,7 +1029,7 @@ endif()
|
||||
|
||||
# Supported elliptic curves extensions
|
||||
set(WOLFSSL_SUPPORTED_CURVES_HELP_STRING "Enable Supported Elliptic Curves (default: enabled)")
|
||||
option(WOLFSSL_SUPPORTED_CURVES ${WOLFSSL_SUPPORTED_CURVES_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_SUPPORTED_CURVES" ${WOLFSSL_SUPPORTED_CURVES_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_SUPPORTED_CURVES)
|
||||
if(NOT WOLFSSL_ECC AND NOT WOLFSSL_CURVE25519 AND NOT WOLFSSL_CURVE448)
|
||||
@@ -968,11 +1064,23 @@ if (WOLFSSL_TLS13)
|
||||
"-DHAVE_SUPPORTED_CURVES")
|
||||
endif()
|
||||
|
||||
# TODO: - Session ticket
|
||||
# Session Ticket Extension
|
||||
set(WOLFSSL_SESSION_TICKET_HELP_STRING "Enable Session Ticket (default: disabled)")
|
||||
add_option("WOLFSSL_SESSION_TICKET" ${WOLFSSL_SESSION_TICKET_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_NGINX OR WOLFSSL_WPAS OR WOLFSSL_HAPROXY OR WOLFSSL_LIGHTY)
|
||||
override_cache(WOLFSSL_SESSION_TICKET "yes")
|
||||
endif()
|
||||
|
||||
if(WOLFSSL_SESSION_TICKET)
|
||||
list(APPEND WOLFSSL_DEFINITIONS
|
||||
"-DHAVE_TLS_EXTENSIONS"
|
||||
"-DHAVE_SESSION_TICKET")
|
||||
endif()
|
||||
|
||||
# Extended master secret extension
|
||||
set(WOLFSSL_EXTENDED_MASTER_HELP_STRING "Enable Extended Master Secret (default: enabled)")
|
||||
option(WOLFSSL_EXTENDED_MASTER ${WOLFSSL_EXTENDED_MASTER_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_EXTENDED_MASTER" ${WOLFSSL_EXTENDED_MASTER_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_EXTENDED_MASTER)
|
||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_EXTENDED_MASTER")
|
||||
@@ -998,7 +1106,7 @@ endif()
|
||||
|
||||
# Encrypt-then-mac
|
||||
set(WOLFSSL_ENC_THEN_MAC_HELP_STRING "Enable Encryptr-Then-Mac extension (default: enabled)")
|
||||
option(WOLFSSL_ENC_THEN_MAC ${WOLFSSL_ENC_THEN_MAC_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ENC_THEN_MAC" ${WOLFSSL_ENC_THEN_MAC_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_APACHE_HTTPD)
|
||||
override_cache(WOLFSSL_ENC_THEN_MAC "no")
|
||||
@@ -1015,7 +1123,7 @@ endif()
|
||||
# stunnel Support
|
||||
# TODO: rest of stunnel support
|
||||
set(WOLFSSL_STUNNEL_HELP_STRING "Enable stunnel (default: disabled)")
|
||||
option(WOLFSSL_STUNNEL ${WOLFSSL_STUNNEL_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_STUNNEL" ${WOLFSSL_STUNNEL_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_PSK AND
|
||||
NOT WOLFSSL_LEAN_PSK AND
|
||||
@@ -1029,7 +1137,7 @@ endif()
|
||||
|
||||
# MD4
|
||||
set(WOLFSSL_MD4_HELP_STRING "Enable MD4 (default: disabled)")
|
||||
option(WOLFSSL_MD4 ${WOLFSSL_MD4_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_MD4" ${WOLFSSL_MD4_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_MD4)
|
||||
# turn on MD4 if using stunnel
|
||||
@@ -1045,7 +1153,7 @@ endif()
|
||||
# PWDBASED has to come after certservice since we want it on w/o explicit on
|
||||
# PWDBASED
|
||||
set(WOLFSSL_PWDBASED_HELP_STRING "Enable PWDBASED (default: disabled)")
|
||||
option(WOLFSSL_PWDBASED ${WOLFSSL_PWDBASED_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_PWDBASED" ${WOLFSSL_PWDBASED_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_PWDBASED)
|
||||
if(WOLFSSL_OPENSSLEXTRA OR
|
||||
@@ -1079,7 +1187,7 @@ if(WOLFSSL_SP_MATH)
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_FAST_MATH_HELP_STRING "Enable fast math ops (default: enabled on x86_64/aarch64)")
|
||||
option(WOLFSSL_FAST_MATH ${WOLFSSL_FAST_MATH_HELP_STRING} ${FASTMATH_DEFAULT})
|
||||
add_option("WOLFSSL_FAST_MATH" ${WOLFSSL_FAST_MATH_HELP_STRING} ${FASTMATH_DEFAULT} "yes;no")
|
||||
|
||||
if(WOLFSSL_FAST_MATH)
|
||||
# turn off fastmath if leanpsk on or asn off (w/o DH and ECC)
|
||||
@@ -1113,7 +1221,7 @@ else()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_EXAMPLES_HELP_STRING "Enable examples (default: enabled)")
|
||||
option(WOLFSSL_EXAMPLES ${WOLFSSL_EXAMPLES_HELP_STRING} ${EXAMPLES_DEFAULT})
|
||||
add_option("WOLFSSL_EXAMPLES" ${WOLFSSL_EXAMPLES_HELP_STRING} ${EXAMPLES_DEFAULT} "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_FILESYSTEM OR
|
||||
NOT WOLFSSL_INLINE OR
|
||||
@@ -1129,7 +1237,7 @@ else()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_CRYPT_TESTS_HELP_STRING "Enable Crypt Bench/Test (default: enabled)")
|
||||
option(WOLFSSL_CRYPT_TESTS ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFAULT})
|
||||
add_option("WOLFSSL_CRYPT_TESTS" ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFAULT} "yes;no")
|
||||
|
||||
# TODO: - LIBZ
|
||||
# - PKCS#11
|
||||
@@ -1146,7 +1254,7 @@ option(WOLFSSL_CRYPT_TESTS ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFA
|
||||
|
||||
# Asynchronous threading
|
||||
set(WOLFSSL_ASYNC_THREADS_HELP_STRING "Enable Asynchronous Threading (default: enabled)")
|
||||
option(WOLFSSL_ASYNC_THREADS ${WOLFSSL_ASYNC_THREADS_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_ASYNC_THREADS" ${WOLFSSL_ASYNC_THREADS_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_ASYNC_CRYPT AND WOLFSSL_ASYNC_THREADS)
|
||||
if(CMAKE_USE_PTHREADS_INIT)
|
||||
@@ -1171,7 +1279,7 @@ endif()
|
||||
# - AES key wrap
|
||||
|
||||
set(WOLFSSL_OLD_NAMES_HELP_STRING "Keep backwards compat with old names (default: enabled)")
|
||||
option(WOLFSSL_OLD_NAMES ${WOLFSSL_OLD_NAMES_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_OLD_NAMES" ${WOLFSSL_OLD_NAMES_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(NOT WOLFSSL_OLD_NAMES AND NOT WOLFSSL_OPENSSL_COEXIST)
|
||||
list(APPEND WOLFSSL_DEFINITIONS
|
||||
@@ -1186,7 +1294,7 @@ endif()
|
||||
|
||||
# Support for enabling setting default DH parameters
|
||||
set(WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING "Enables option for default dh parameters (default: disabled)")
|
||||
option(WOLFSSL_DH_DEFAULT_PARAMS ${WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_DH_DEFAULT_PARAMS" ${WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING} "no" "yes;no")
|
||||
|
||||
if(WOLFSSL_DH_DEFAULT_PARAMS OR NOT WOLFSSL_QT)
|
||||
override_cache(WOLFSSL_DH_DEFAULT_PARAMS "yes")
|
||||
@@ -1204,10 +1312,10 @@ else()
|
||||
endif()
|
||||
|
||||
set(WOLFSSL_USER_SETTINGS_HELP_STRING "Use your own user_settings.h and do not add Makefile CFLAGS (default: disabled)")
|
||||
option(WOLFSSL_USER_SETTINGS ${WOLFSSL_USER_SETTINGS_HELP_STRING} "no")
|
||||
add_option("WOLFSSL_USER_SETTINGS" ${WOLFSSL_USER_SETTINGS_HELP_STRING} "no" "yes;no")
|
||||
|
||||
set(WOLFSSL_OPTFLAGS_HELP_STRING "Enable default optimization CFLAGS for the compiler (default: enabled)")
|
||||
option(WOLFSSL_OPTFLAGS ${WOLFSSL_OPTFLAGS_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_OPTFLAGS" ${WOLFSSL_OPTFLAGS_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
# Generates the BUILD_* flags. These control what source files are included in
|
||||
# the library. A series of AM_CONDITIONALs handle this in configure.ac.
|
||||
@@ -1227,7 +1335,7 @@ endif()
|
||||
add_definitions(${WOLFSSL_DEFINITIONS})
|
||||
|
||||
set(WOLFSSL_CONFIG_H_HELP_STRING "Enable generation of config.h and define HAVE_CONFIG_H (default: enabled)")
|
||||
option(WOLFSSL_CONFIG_H ${WOLFSSL_CONFIG_H_HELP_STRING} "yes")
|
||||
add_option("WOLFSSL_CONFIG_H" ${WOLFSSL_CONFIG_H_HELP_STRING} "yes" "yes;no")
|
||||
|
||||
if(WOLFSSL_CONFIG_H)
|
||||
add_definitions("-DHAVE_CONFIG_H")
|
||||
@@ -1261,6 +1369,8 @@ file(APPEND ${OPTION_FILE} "#ifdef __cplusplus\n")
|
||||
file(APPEND ${OPTION_FILE} "extern \"C\" {\n")
|
||||
file(APPEND ${OPTION_FILE} "#endif\n\n")
|
||||
|
||||
list(REMOVE_DUPLICATES WOLFSSL_DEFINITIONS)
|
||||
|
||||
foreach(DEF IN LISTS WOLFSSL_DEFINITIONS)
|
||||
if(DEF MATCHES "^-D")
|
||||
if(DEF MATCHES "^-D(N)?DEBUG(=.+)?")
|
||||
|
@@ -7,6 +7,7 @@ Release 4.7.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
* Function wolfSSL_CTX_NoTicketTLSv12 added to enable turning off session tickets with TLS 1.2 while keeping TLS 1.3 session tickets available
|
||||
* Implement RFC 5705: Keying Material Exporters for TLS
|
||||
* Added --enable-reproducible-build flag for making more deterministic library outputs to assist debugging
|
||||
* Added support for S/MIME (Secure/Multipurpose Internet Mail Extensions) bundles
|
||||
|
||||
### Fixes
|
||||
* Fix to free mutex when cert manager is free’d
|
||||
@@ -44,7 +45,7 @@ Release 4.7.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
* Out of directory builds resolved, wolfSSL can now be built in a separate directory than the root wolfssl directory
|
||||
|
||||
### Vulnerabilities
|
||||
* [HIGH] CVE-2021-3336: In earlier versions of wolfSSL there exists a potential man in the middle attack on TLS 1.3 clients. Malicious attackers with a privileged network position can impersonate TLS 1.3 servers and bypass authentication. Users that have applications with client side code and have TLS 1.3 turned on, should update to the latest version of wolfSSL. Users that do not have TLS 1.3 turned on, or that are server side only, are NOT affected by this report. For the code change see https://github.com/wolfSSL/wolfssl/pull/3676.
|
||||
* [HIGH] CVE-2021-3336: In earlier versions of wolfSSL there exists a potential man in the middle attack on TLS 1.3 clients. Malicious attackers with a privileged network position can impersonate TLS 1.3 servers and bypass authentication. Users that have applications with client side code and have TLS 1.3 turned on, should update to the latest version of wolfSSL. Users that do not have TLS 1.3 turned on, or that are server side only, are NOT affected by this report. For the code change see https://github.com/wolfSSL/wolfssl/pull/3676. Thanks to Aina Toky Rasoamanana and Olivier Levillain from Télécom SudParis for the report.
|
||||
* [LOW] In the case of using custom ECC curves there is the potential for a crafted compressed ECC key that has a custom prime value to cause a hang when imported. This only affects applications that are loading in ECC keys with wolfSSL builds that have compressed ECC keys and custom ECC curves enabled.
|
||||
* [LOW] With TLS 1.3 authenticated-only ciphers a section of the server hello could contain 16 bytes of uninitialized data when sent to the connected peer. This affects only a specific build of wolfSSL with TLS 1.3 early data enabled and using authenticated-only ciphers with TLS 1.3.
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_client.ino
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_server.ino
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,6 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -41,6 +41,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_CRYPTOCELL)
|
||||
/* see SASI_AES_KEY_MAX_SIZE_IN_BYTES in the nRF5 SDK */
|
||||
#define AES_MAX_KEY_SIZE 128
|
||||
#endif /* WOLFSSL_CRYPTOCELL*/
|
||||
|
||||
@@ -137,6 +138,9 @@ extern "C" {
|
||||
#if 1
|
||||
#define HAVE_ECC
|
||||
|
||||
#include <strings.h>
|
||||
/* strings.h required for strncasecmp */
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
@@ -1,71 +1,64 @@
|
||||
|
||||
|
||||
# Deos Port
|
||||
|
||||
## Overview
|
||||
You can enable the wolfSSL support for Deos RTOS available [here](https://www.ddci.com/products_deos_do_178c_arinc_653/) using the `#define WOLFSSL_DEOS`.
|
||||
Deos is a time & space partitioned, multi-core enabled, DO-178C DAL A certifiable RTOS.
|
||||
|
||||
You can enable the wolfSSL support for Deos RTOS available
|
||||
[here](https://www.ddci.com/products_deos_do_178c_arinc_653/) using
|
||||
the `#define WOLFSSL_DEOS`. Deos is a time & space partitioned,
|
||||
multi-core enabled, DO-178C DAL A certifiable RTOS.
|
||||
|
||||
## Usage
|
||||
|
||||
You can start with your OpenArbor IDE-based example project for Deos with the network stack (lwip) to integrate wolfSSL source code.
|
||||
You can start with your OpenArbor IDE-based example project for Deos
|
||||
with the network stack (lwip) to integrate wolfSSL source code.
|
||||
|
||||
wolfSSL supports a compile-time user configurable options in the `IDE/ECLIPSE/DEOS/user_settings.h` file.
|
||||
wolfSSL supports a compile-time user configurable options in the
|
||||
`IDE/ECLIPSE/DEOS/user_settings.h` file.
|
||||
|
||||
The `tls_wolfssl.c` example application provides a simple function to run the selected examples at compile time through the following four #defines in user_settings.h. You can undefine any of these macro options to run a test.
|
||||
```
|
||||
1. #undef NO_CRYPT_TEST
|
||||
2. #undef NO_CRYPT_BENCHMARK
|
||||
3. #undef NO_WOLFSSL_CLIENT
|
||||
4. #undef NO_WOLFSSL_SERVER
|
||||
```
|
||||
Do one of the following steps for building and running wolfSSL with the Deos kernel examples, which are included in the DDS release:
|
||||
If you want to create a project from scratch, skip the Importing the project section and follow the steps in the other sections.
|
||||
### Importing the project
|
||||
|
||||
If you want to use an pre-configured example project, go to the Importing the project section, skip the other sections and follow the Building and Running section.
|
||||
|
||||
#### Importing the project
|
||||
In this section you will import a pre-configured example project.
|
||||
|
||||
Note: To work wolfssl directory must not be under the workspace directory.
|
||||
|
||||
1. Launch the OpenArbor IDE as an administrator
|
||||
2. In the Workspace Launcher dialog, in the Workspace field, enter your
|
||||
workspace
|
||||
2. In the Workspace Launcher dialog, in the Workspace field, enter
|
||||
your workspace
|
||||
3. Right-click in the Project Explorer view and select Import
|
||||
4. In the Import dialog, select General > Existing Projects into Workspace, then click Next.
|
||||
5. In the Import Projects dialog, select Select archive file, then browse to `IDE/ECLIPSE/DEOS/` and double-click `deosWolfssl.zip` file
|
||||
4. In the Import dialog, select General > Existing Projects into
|
||||
Workspace, then click Next.
|
||||
5. In the Import Projects dialog, select `Select root directory` and
|
||||
browse to `IDE/ECLIPSE/DEOS/deos_wolfssl` and select the wolfssl
|
||||
project
|
||||
6. In the Import Projects dialog, click Finish
|
||||
|
||||
#### Dependencies
|
||||
|
||||
* ansi
|
||||
* gnu-language
|
||||
* deos-time
|
||||
|
||||
### Setting up a Deos project with wolfSSL
|
||||
|
||||
The `tls_wolfssl.c` example application provides a simple function to
|
||||
run the selected examples at compile time through the following four
|
||||
`#defines` in `user_settings.h`. You can undefine any of these macro
|
||||
options to run a test.
|
||||
|
||||
#### Setting up a Deos project with wolfSSL
|
||||
1. Download the wolfSSL source code or a zip file from GitHub. You can remove all of the files except for these folders and its contents. The top folder for this example is wolfsslPort.
|
||||
```
|
||||
wolfsslPort
|
||||
|-- IDE
|
||||
| -- ECLIPSE
|
||||
| -- DEOS
|
||||
|-- src
|
||||
|-- wolfcrypt
|
||||
| -- benchmark
|
||||
| -- src
|
||||
| -- test
|
||||
|-- wolfssl
|
||||
|-- openssl
|
||||
|-- wolfcrypt
|
||||
|-- port
|
||||
#undef NO_CRYPT_TEST
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
```
|
||||
2. Remove these two platform specific assembly source files:
|
||||
- wolfsslPort/wolfcrypt/src/aes_asm.asm
|
||||
- wolfsslPort/wolfcrypt/src/aes_asm.S
|
||||
|
||||
3. Launch the OpenArbor IDE as an administrator
|
||||
4. Create a DDC-I Deos example project. In the main menu, go to File >DDC-I Deos example project > socket > udp-vs-tcp
|
||||
5. Import the `wolfSSLPort` source code into your project.
|
||||
- Right-click the ` udp-vs-tcp` project and choose File -> Import.
|
||||
- Expand the General folder and select File System, then click Next. You should now see the Import File system dialog.
|
||||
- Browse to the location containing the wolfSSL code and choose OK. Select the `wolfsslPort` folder and check the `Create top-level folder` button, then select Finish. You should see the folder hierarchy the same as wolfSSL folder structures.
|
||||
6. Review the configuration in $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h
|
||||
1. Launch the OpenArbor IDE
|
||||
|
||||
7. Review the custom malloc/realloc/free configuration $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/deos_malloc.c . Memory allocated with malloc() is never freed.
|
||||
2. Create a DDC-I Deos example project. In the main menu, go to File >
|
||||
DDC-I Deos example project > socket > udp-vs-tcp
|
||||
|
||||
3. Customize your config/udp-vs-tcp.pd.xml with the following changes:
|
||||
|
||||
#### Configuring the Deos Project
|
||||
1. Customize your config/udp-vs-tcp.pd.xml with the following changes:
|
||||
```
|
||||
<processTemplate
|
||||
mutexQuota = "5"
|
||||
@@ -90,35 +83,54 @@ wolfsslPort
|
||||
|
||||
</processTemplate>
|
||||
```
|
||||
Depending on your configuration, wolfSSL uses upto four mutexes. You also need to configure enough memory for the stack of each threads and the process logical memory pool.
|
||||
|
||||
Depending on your configuration, wolfSSL uses upto four mutexes. You
|
||||
also need to configure enough memory for the stack of each threads and
|
||||
the process logical memory pool.
|
||||
|
||||
4. Right click on the `udp-vs-tcp` project, select properties and add
|
||||
the following macros in the DDC-I Options > C Compile >
|
||||
Preprocessor
|
||||
|
||||
* WOLFSSL_USER_SETTINGS
|
||||
|
||||
5. Add the following directory paths in the DDC-I Options > C Compile >
|
||||
Directories and in the DDC-I Options > C++ Compile > Directories
|
||||
|
||||
* $(PROJECT_DIR.wolfssl)/../../../..
|
||||
* $(PROJECT_DIR.wolfssl)/..
|
||||
* $(PROJECT_DIR.printx)/code
|
||||
|
||||
6. Add the following library dependencies in the
|
||||
DDC-I Options > Deos > Dependencies
|
||||
|
||||
* math
|
||||
* ansi
|
||||
* deos-time
|
||||
|
||||
For benchmark and test code:
|
||||
|
||||
* printx - You must add printx into your workspace, File >DDC-I
|
||||
Deos example project > training > printx
|
||||
|
||||
7. Edit $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h to
|
||||
customize your configuration. For example, you can undef or define
|
||||
these tests.
|
||||
|
||||
* `#undef NO_CRYPT_TEST`
|
||||
* `#undef NO_CRYPT_BENCHMARK`
|
||||
* `#undef NO_WOLFSSL_CLIENT`
|
||||
* `#undef NO_WOLFSSL_SERVER`
|
||||
|
||||
8. Edit your application source file where main() thread is defined
|
||||
and add the following:
|
||||
|
||||
* #include "printx.h"
|
||||
* #include "tls_wolfssl.h"
|
||||
* and a call to `wolfsslRunTests()`
|
||||
|
||||
2. Right click on the `udp-vs-tcp` project, select properties and add the following macros in the DDC-I Options > C Compile > Preprocessor
|
||||
- DEOS_ALLOW_OBSOLETE_DEFINITIONS
|
||||
- WOLFSSL_USER_SETTINGS
|
||||
3. Add the following directory paths in the DDC-I Options > C Compile > Directories and in the DDC-I Options > C++ Compile > Directories
|
||||
- $(PROJECT_DIR)/wolfsslPort
|
||||
- $(PROJECT_DIR)/wolfsslPort/wolfssl
|
||||
- $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS
|
||||
- $(PROJECT_DIR.printx)/code
|
||||
4. Change the optimization level in the DDC-I Options > C Compile > Code Generation > Optimization level:g
|
||||
- g
|
||||
5. Add the following library dependencies in the DDC-I Options > Deos > Dependencies
|
||||
- math
|
||||
- dart
|
||||
- ansi
|
||||
- printx
|
||||
- You must add printx into your workspace, File >DDC-I Deos example project > training > printx
|
||||
6. Edit $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h to customize your configuration. For example, you can undef or define these tests.
|
||||
- #undef NO_CRYPT_TEST
|
||||
- #undef NO_CRYPT_BENCHMARK
|
||||
- #undef NO_WOLFSSL_CLIENT
|
||||
- #undef NO_WOLFSSL_SERVER
|
||||
7. Edit your application source file where main() thread is defined and add the following:
|
||||
- #include "printx.h"
|
||||
- #include "tls_wolfssl.h"
|
||||
- and a call to `wolfsslRunTests()`
|
||||
Here's an example:
|
||||
|
||||
```
|
||||
#include <deos.h>
|
||||
#include <printx.h>
|
||||
@@ -137,7 +149,10 @@ int main(void)
|
||||
}
|
||||
|
||||
```
|
||||
8. Review $(PROJECT_DIR)/udp-vs-tcp/mailbox-transport.config configuration.
|
||||
|
||||
9. Review `$(PROJECT_DIR)/udp-vs-tcp/mailbox-transport.config`
|
||||
configuration.
|
||||
|
||||
```
|
||||
transportConfigurationId
|
||||
2 # Client thread quota - for client and server TCP
|
||||
@@ -166,45 +181,62 @@ userServiceThread # Server thread template name
|
||||
/
|
||||
```
|
||||
|
||||
#### Building and Running
|
||||
1. Build your project, then load and run your image on a target platform. Review the test results on the console output.
|
||||
#### Building and Running
|
||||
|
||||
1. Build your project, then load and run your image on a target
|
||||
platform. Review the test results on the console output.
|
||||
|
||||
|
||||
### `wolfcrypt_test()`
|
||||
wolfcrypt_test() prints a message on the target console similar to the following output:
|
||||
|
||||
`wolfcrypt_test()` prints a message on similar to the following:
|
||||
|
||||
```
|
||||
error test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
...
|
||||
```
|
||||
|
||||
This example doesn't show the whole output.
|
||||
|
||||
### `benchmark_test()`
|
||||
benchmark_test() prints a message on the target console similar to the following output.
|
||||
|
||||
`benchmark_test()` prints a message on the similar to the following:
|
||||
|
||||
```
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 3.15.5
|
||||
wolfSSL version 4.6.0
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 225 KB tooks 1.026 seconds, 219.313 KB/s
|
||||
AES-128-CBC-enc 250 KB toks 1.105 seconds 226.210 KB/s
|
||||
AES-128-CBC-dec 225 KB tooks 1.005 seconds, 223.922 KB/s
|
||||
RNG 2 MB took 1.000 seconds, 2.124 MB/s
|
||||
AES-128-CBC-enc 5 MB took 1.000 seconds, 5.127 MB/s
|
||||
AES-128-CBC-dec 5 MB took 1.000 seconds, 4.907 MB/s
|
||||
AES-192-CBC-enc 5 MB took 1.000 seconds, 4.736 MB/s
|
||||
AES-192-CBC-dec 5 MB took 1.000 seconds, 4.761 MB/s
|
||||
...
|
||||
```
|
||||
|
||||
This example doesn't show the whole output.
|
||||
|
||||
### `wolfssl_client_test()`
|
||||
|
||||
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros in the `tls_wolfssl.c` file to configure the host address and port. You will also need to define the server certificate. The example client uses the GET request to get a web resource from the server at https://google.com.
|
||||
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros
|
||||
in the `tls_wolfssl.c` file to configure the host address and
|
||||
port. You will also need to define the server certificate. The example
|
||||
client uses the GET request to get a web resource from the server at
|
||||
https://google.com.
|
||||
|
||||
### `wolfssl_server_test()`
|
||||
|
||||
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to configure the port number to listen on a local-host.
|
||||
Once you start the TLS server and `Listening for client connection` displays on the serial console, the server is ready to accept client connections.
|
||||
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to
|
||||
configure the port number to listen on a local-host. Once you start
|
||||
the TLS server and `Listening for client connection` displays on the
|
||||
serial console, the server is ready to accept client connections.
|
||||
|
||||
You can connect to the server using the wolfssl TLS client example
|
||||
from your Linux or Windows host as follows:
|
||||
|
||||
You can connect to the server using the wolfssl TLS client example from your Linux or Windows host as follows:
|
||||
```
|
||||
$ ./examples/client/client.exe -h TLS_SERVER_IP_ADDRESS
|
||||
|
||||
@@ -218,8 +250,10 @@ I hear ya fa shizzle!
|
||||
|
||||
## References
|
||||
|
||||
The test results were collected from the qemu-x86 reference platform target with the following software and tool chains:
|
||||
- OpenArbor, eclipse based IDE, toolVersion = "3.31.0"
|
||||
The following software and tool chains were used for testing:
|
||||
|
||||
- OpenArbor 7.0.0
|
||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
||||
|
||||
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
For more information or questions, please email
|
||||
[support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* deos_malloc.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,27 +19,11 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
#define ROUND_UP(x, align) (((int) (x) + (align - 1)) & ~(align - 1))
|
||||
#define SIZEOF_HEADER sizeof(size_t) /* tracks size of allocated block */
|
||||
|
||||
#define HEAP_SIZE_MAX (1*1024*1024)
|
||||
|
||||
static size_t allocatedMemory = 0;
|
||||
|
||||
size_t getMemAllocatedSize_deos(size_t* size){
|
||||
|
||||
if (size)
|
||||
*size = allocatedMemory;
|
||||
|
||||
return allocatedMemory;
|
||||
}
|
||||
|
||||
/* Simply returns without freeing any memory. */
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <deos.h>
|
||||
|
||||
void free_deos(void *ptr) {
|
||||
//printf("fake free_deos()\n");
|
||||
free(ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -51,10 +35,6 @@ void *realloc_deos(void *ptr, size_t size) {
|
||||
newptr = malloc_deos(size);
|
||||
|
||||
if (ptr != NULL && newptr != NULL) {
|
||||
|
||||
if ( *((char *)ptr - SIZEOF_HEADER) < *((char *)newptr - SIZEOF_HEADER))
|
||||
size = *((char *)ptr - SIZEOF_HEADER);
|
||||
|
||||
XMEMCPY((char *) newptr, (const char *) ptr, size);
|
||||
free_deos(ptr);
|
||||
}
|
||||
@@ -63,46 +43,5 @@ void *realloc_deos(void *ptr, size_t size) {
|
||||
}
|
||||
|
||||
void *malloc_deos(size_t size) {
|
||||
PDEOS_SYSTEM_INFO systemInfoPtr;
|
||||
static VirtualAddressTYP heapAddr = NULL;
|
||||
static VirtualAddressTYP freeAddr = NULL;
|
||||
VirtualAddressTYP retAddr = NULL;
|
||||
DWORD allocationSize = 0;
|
||||
static int initialized = 0;
|
||||
|
||||
if (size <= 0)
|
||||
return NULL;
|
||||
|
||||
if (!initialized) {
|
||||
systemInfoPtr = (PDEOS_SYSTEM_INFO)getSystemInfoDEOS();
|
||||
freeAddr = (VirtualAddressTYP)getNextLibraryStartAddress();
|
||||
allocationSize = (((HEAP_SIZE_MAX - 1) / systemInfoPtr->dwPageSize) + 1) *
|
||||
systemInfoPtr->dwPageSize;
|
||||
|
||||
if (virtualAllocDEOS(freeAddr, allocationSize) != allocSuccess){
|
||||
printf("ERROR: virtualAllocDEOS failed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
setNextLibraryStartAddress(freeAddr + allocationSize);
|
||||
heapAddr = freeAddr;
|
||||
|
||||
initialized = 1;
|
||||
}
|
||||
|
||||
size = ROUND_UP(size, sizeof(size_t));
|
||||
|
||||
if ((size + SIZEOF_HEADER) > (HEAP_SIZE_MAX - (freeAddr - heapAddr))){
|
||||
printf("ERROR: malloc_deos cannot allocate from heap memory anymore\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
*freeAddr = size;
|
||||
freeAddr += SIZEOF_HEADER;
|
||||
retAddr = freeAddr;
|
||||
XMEMSET(retAddr, 0, size);
|
||||
freeAddr += size;
|
||||
allocatedMemory += size;
|
||||
|
||||
return retAddr;
|
||||
return malloc(size);
|
||||
}
|
||||
|
344
IDE/ECLIPSE/DEOS/deos_wolfssl/.cproject
Normal file
344
IDE/ECLIPSE/DEOS/deos_wolfssl/.cproject
Normal file
@@ -0,0 +1,344 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="org.eclipse.cdt.core.default.config.472844465">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.472844465" moduleId="org.eclipse.cdt.core.settings" name="Configuration">
|
||||
<externalSettings/>
|
||||
<extensions/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.pathentry">
|
||||
<pathentry base-path="C:/DDC-I/desk/ppc/include" include="./" kind="inc" path="" system="true"/>
|
||||
<pathentry base-path="C:/DDC-I/desk/include" include="./" kind="inc" path="" system="true"/>
|
||||
<pathentry base-path="C:/" include="./" kind="inc" path="" system="true"/>
|
||||
<pathentry kind="mac" name="DIAGNOSTIC" path="" value=""/>
|
||||
<pathentry kind="mac" name="WOLFSSL_USER_SETTINGS" path="" value=""/>
|
||||
<pathentry kind="mac" name="__OpenArbor_editor" path="" value=""/>
|
||||
<pathentry kind="mac" name="__DBL_MIN_EXP__" path="" value="(-1021)"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MAX_EXP__" path="" value="1024"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmsubmsp" path="" value="__builtin_vsx_xvmsubsp"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST16_MAX__" path="" value="0xffff"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_ACQUIRE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__FLT_MIN__" path="" value="1.1754943508222875e-38F"/>
|
||||
<pathentry kind="mac" name="__GCC_IEC_559_COMPLEX" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST8_TYPE__" path="" value="unsigned char"/>
|
||||
<pathentry kind="mac" name="__INTMAX_C(c)" path="" value="c ## LL"/>
|
||||
<pathentry kind="mac" name="__CHAR_BIT__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="__UINT8_MAX__" path="" value="0xff"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmaddadp" path="" value="__builtin_vsx_xvnmadddp"/>
|
||||
<pathentry kind="mac" name="__WINT_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__FLT32_MIN_EXP__" path="" value="(-125)"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxlnor" path="" value="__builtin_vec_nor"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmdp" path="" value="__builtin_vsx_xvnmsubdp"/>
|
||||
<pathentry kind="mac" name="__ORDER_LITTLE_ENDIAN__" path="" value="1234"/>
|
||||
<pathentry kind="mac" name="__SIZE_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__WCHAR_MAX__" path="" value="0x7fffffffL"/>
|
||||
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__DBL_DENORM_MIN__" path="" value="((double)4.9406564584124654e-324L)"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__GCC_IEC_559" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__FLT32X_DECIMAL_DIG__" path="" value="17"/>
|
||||
<pathentry kind="mac" name="__FLT_EVAL_METHOD__" path="" value="0"/>
|
||||
<pathentry kind="mac" name="__unix__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_DECIMAL_DIG__" path="" value="17"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR32_T_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="pixel" path="" value="pixel"/>
|
||||
<pathentry kind="mac" name="bool" path="" value="bool"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
|
||||
<pathentry kind="mac" name="__SIG_ATOMIC_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__DBL_MIN_10_EXP__" path="" value="(-307)"/>
|
||||
<pathentry kind="mac" name="__FINITE_MATH_ONLY__" path="" value="0"/>
|
||||
<pathentry kind="mac" name="__GNUC_PATCHLEVEL__" path="" value="0"/>
|
||||
<pathentry kind="mac" name="__FLT32_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmaddasp" path="" value="__builtin_vsx_xvnmaddsp"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST8_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__has_include(STR)" path="" value="__has_include__(STR)"/>
|
||||
<pathentry kind="mac" name="__DEC64_MAX_EXP__" path="" value="385"/>
|
||||
<pathentry kind="mac" name="__INT8_C(c)" path="" value="c"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST8_WIDTH__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
|
||||
<pathentry kind="mac" name="__SHRT_MAX__" path="" value="0x7fff"/>
|
||||
<pathentry kind="mac" name="__LDBL_MAX__" path="" value="1.7976931348623157e+308L"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST8_MAX__" path="" value="0xff"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_BOOL_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="_ARCH_PPC" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__UINTMAX_TYPE__" path="" value="long long unsigned int"/>
|
||||
<pathentry kind="mac" name="__DEC32_EPSILON__" path="" value="1E-6DF"/>
|
||||
<pathentry kind="mac" name="__FLT_EVAL_METHOD_TS_18661_3__" path="" value="0"/>
|
||||
<pathentry kind="mac" name="__CHAR_UNSIGNED__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__UINT32_MAX__" path="" value="0xffffffffUL"/>
|
||||
<pathentry kind="mac" name="__LDBL_MAX_EXP__" path="" value="1024"/>
|
||||
<pathentry kind="mac" name="__WINT_MIN__" path="" value="0U"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmaddmdp" path="" value="__builtin_vsx_xvmadddp"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_vperm" path="" value="__builtin_vec_perm"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST16_WIDTH__" path="" value="16"/>
|
||||
<pathentry kind="mac" name="__SCHAR_MAX__" path="" value="0x7f"/>
|
||||
<pathentry kind="mac" name="__WCHAR_MIN__" path="" value="(-__WCHAR_MAX__ - 1)"/>
|
||||
<pathentry kind="mac" name="vector" path="" value="vector"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmsp" path="" value="__builtin_vsx_xvnmsubsp"/>
|
||||
<pathentry kind="mac" name="__INT64_C(c)" path="" value="c ## LL"/>
|
||||
<pathentry kind="mac" name="__DBL_DIG__" path="" value="15"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_POINTER_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_INT__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_POINTER__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__USER_LABEL_PREFIX__" path="" value=""/>
|
||||
<pathentry kind="mac" name="__STDC_HOSTED__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__LDBL_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmaddmsp" path="" value="__builtin_vsx_xvmaddsp"/>
|
||||
<pathentry kind="mac" name="__FLT32_DIG__" path="" value="6"/>
|
||||
<pathentry kind="mac" name="__FLT_EPSILON__" path="" value="1.1920928955078125e-7F"/>
|
||||
<pathentry kind="mac" name="__SHRT_WIDTH__" path="" value="16"/>
|
||||
<pathentry kind="mac" name="_CALL_SYSV" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__LDBL_MIN__" path="" value="2.2250738585072014e-308L"/>
|
||||
<pathentry kind="mac" name="__STDC_UTF_16__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__DEC32_MAX__" path="" value="9.999999E96DF"/>
|
||||
<pathentry kind="mac" name="__FLT32X_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT32_MAX__" path="" value="0x7fffffffL"/>
|
||||
<pathentry kind="mac" name="__INT_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_LONG__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__UINT16_C(c)" path="" value="c"/>
|
||||
<pathentry kind="mac" name="__PTRDIFF_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__DECIMAL_DIG__" path="" value="17"/>
|
||||
<pathentry kind="mac" name="__FLT64_EPSILON__" path="" value="2.2204460492503131e-16F64"/>
|
||||
<pathentry kind="mac" name="__INTMAX_WIDTH__" path="" value="64"/>
|
||||
<pathentry kind="mac" name="__has_include_next(STR)" path="" value="__has_include_next__(STR)"/>
|
||||
<pathentry kind="mac" name="__LDBL_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_MANT_DIG__" path="" value="53"/>
|
||||
<pathentry kind="mac" name="__GNUC__" path="" value="7"/>
|
||||
<pathentry kind="mac" name="__FLT_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_LONG_DOUBLE__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="__BIGGEST_ALIGNMENT__" path="" value="16"/>
|
||||
<pathentry kind="mac" name="__FLT64_MAX_10_EXP__" path="" value="308"/>
|
||||
<pathentry kind="mac" name="__DBL_MAX__" path="" value="((double)1.7976931348623157e+308L)"/>
|
||||
<pathentry kind="mac" name="__INT_FAST32_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__DBL_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmdp" path="" value="__builtin_vsx_xvnmadddp"/>
|
||||
<pathentry kind="mac" name="__DEC32_MIN_EXP__" path="" value="(-94)"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxlandc" path="" value="__builtin_vec_andc"/>
|
||||
<pathentry kind="mac" name="__INTPTR_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__FLT32X_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT_FAST16_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__LDBL_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__DEC128_MAX__" path="" value="9.999999999999999999999999999999999E6144DL"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST32_MAX__" path="" value="0x7fffffffL"/>
|
||||
<pathentry kind="mac" name="__DEC32_MIN__" path="" value="1E-95DF"/>
|
||||
<pathentry kind="mac" name="__DBL_MAX_EXP__" path="" value="1024"/>
|
||||
<pathentry kind="mac" name="__WCHAR_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__FLT32_MAX__" path="" value="3.4028234663852886e+38F32"/>
|
||||
<pathentry kind="mac" name="__DEC128_EPSILON__" path="" value="1E-33DL"/>
|
||||
<pathentry kind="mac" name="__PTRDIFF_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__FLT32_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__LONG_LONG_MAX__" path="" value="0x7fffffffffffffffLL"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_SIZE_T__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmsp" path="" value="__builtin_vsx_xvnmaddsp"/>
|
||||
<pathentry kind="mac" name="__PPC__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_WINT_T__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__LONG_LONG_WIDTH__" path="" value="64"/>
|
||||
<pathentry kind="mac" name="__FLT32_MAX_EXP__" path="" value="128"/>
|
||||
<pathentry kind="mac" name="__GXX_ABI_VERSION" path="" value="1011"/>
|
||||
<pathentry kind="mac" name="__FLT_MIN_EXP__" path="" value="(-125)"/>
|
||||
<pathentry kind="mac" name="__INT_FAST64_TYPE__" path="" value="long long int"/>
|
||||
<pathentry kind="mac" name="__FP_FAST_FMAF" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FP_FAST_FMAL" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_DENORM_MIN__" path="" value="4.9406564584124654e-324F64"/>
|
||||
<pathentry kind="mac" name="__DBL_MIN__" path="" value="((double)2.2250738585072014e-308L)"/>
|
||||
<pathentry kind="mac" name="__FLT32X_EPSILON__" path="" value="2.2204460492503131e-16F32x"/>
|
||||
<pathentry kind="mac" name="__FLT64_MIN_EXP__" path="" value="(-1021)"/>
|
||||
<pathentry kind="mac" name="__FLT64_MIN_10_EXP__" path="" value="(-307)"/>
|
||||
<pathentry kind="mac" name="__DEC128_MIN__" path="" value="1E-6143DL"/>
|
||||
<pathentry kind="mac" name="__REGISTER_PREFIX__" path="" value=""/>
|
||||
<pathentry kind="mac" name="__UINT16_MAX__" path="" value="0xffff"/>
|
||||
<pathentry kind="mac" name="__DBL_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxland" path="" value="__builtin_vec_and"/>
|
||||
<pathentry kind="mac" name="__FLT32_MIN__" path="" value="1.1754943508222875e-38F32"/>
|
||||
<pathentry kind="mac" name="__UINT8_TYPE__" path="" value="unsigned char"/>
|
||||
<pathentry kind="mac" name="__NO_INLINE__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT_MANT_DIG__" path="" value="24"/>
|
||||
<pathentry kind="mac" name="__LDBL_DECIMAL_DIG__" path="" value="17"/>
|
||||
<pathentry kind="mac" name="__VERSION__" path="" value=""7.3.0""/>
|
||||
<pathentry kind="mac" name="__UINT64_C(c)" path="" value="c ## ULL"/>
|
||||
<pathentry kind="mac" name="__BIG_ENDIAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_INT_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__pixel" path="" value="__attribute__((altivec(pixel__))) unsigned short"/>
|
||||
<pathentry kind="mac" name="__FLT32_MANT_DIG__" path="" value="24"/>
|
||||
<pathentry kind="mac" name="__FLOAT_WORD_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
|
||||
<pathentry kind="mac" name="__SCHAR_WIDTH__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="__INT32_C(c)" path="" value="c ## L"/>
|
||||
<pathentry kind="mac" name="__DEC64_EPSILON__" path="" value="1E-15DD"/>
|
||||
<pathentry kind="mac" name="__ORDER_PDP_ENDIAN__" path="" value="3412"/>
|
||||
<pathentry kind="mac" name="__DEC128_MIN_EXP__" path="" value="(-6142)"/>
|
||||
<pathentry kind="mac" name="__FLT32_MAX_10_EXP__" path="" value="38"/>
|
||||
<pathentry kind="mac" name="__INT_FAST32_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST16_TYPE__" path="" value="short unsigned int"/>
|
||||
<pathentry kind="mac" name="unix" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT16_MAX__" path="" value="0x7fff"/>
|
||||
<pathentry kind="mac" name="__SIZE_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__UINT64_MAX__" path="" value="0xffffffffffffffffULL"/>
|
||||
<pathentry kind="mac" name="__INT8_TYPE__" path="" value="signed char"/>
|
||||
<pathentry kind="mac" name="__ELF__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__HAVE_BSWAP__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT_RADIX__" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST16_TYPE__" path="" value="short int"/>
|
||||
<pathentry kind="mac" name="__LDBL_EPSILON__" path="" value="2.2204460492503131e-16L"/>
|
||||
<pathentry kind="mac" name="__UINTMAX_C(c)" path="" value="c ## ULL"/>
|
||||
<pathentry kind="mac" name="__SIG_ATOMIC_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_WCHAR_T_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_PTRDIFF_T__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MANT_DIG__" path="" value="53"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MIN_EXP__" path="" value="(-1021)"/>
|
||||
<pathentry kind="mac" name="__DEC32_SUBNORMAL_MIN__" path="" value="0.000001E-95DF"/>
|
||||
<pathentry kind="mac" name="__INT_FAST16_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__vector" path="" value="__attribute__((altivec(vector__)))"/>
|
||||
<pathentry kind="mac" name="__FLT64_DIG__" path="" value="15"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST32_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST64_TYPE__" path="" value="long long unsigned int"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmsubadp" path="" value="__builtin_vsx_xvmsubdp"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxsel" path="" value="__builtin_vec_sel"/>
|
||||
<pathentry kind="mac" name="__FLT_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__bool" path="" value="__attribute__((altivec(bool__))) unsigned"/>
|
||||
<pathentry kind="mac" name="__FLT_MAX_10_EXP__" path="" value="38"/>
|
||||
<pathentry kind="mac" name="__LONG_MAX__" path="" value="0x7fffffffL"/>
|
||||
<pathentry kind="mac" name="__DEC128_SUBNORMAL_MIN__" path="" value="0.000000000000000000000000000000001E-6143DL"/>
|
||||
<pathentry kind="mac" name="__FLT_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__unix" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST16_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__DEC64_MAX__" path="" value="9.999999999999999E384DD"/>
|
||||
<pathentry kind="mac" name="__INT_FAST32_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__CHAR16_TYPE__" path="" value="short unsigned int"/>
|
||||
<pathentry kind="mac" name="__PRAGMA_REDEFINE_EXTNAME" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__SIZE_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST16_MAX__" path="" value="0x7fff"/>
|
||||
<pathentry kind="mac" name="__DEC64_MANT_DIG__" path="" value="16"/>
|
||||
<pathentry kind="mac" name="__INT64_MAX__" path="" value="0x7fffffffffffffffLL"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST32_MAX__" path="" value="0xffffffffUL"/>
|
||||
<pathentry kind="mac" name="__FLT32_DENORM_MIN__" path="" value="1.4012984643248171e-45F32"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_LONG_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__SIG_ATOMIC_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST64_TYPE__" path="" value="long long int"/>
|
||||
<pathentry kind="mac" name="__INT16_TYPE__" path="" value="short int"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST8_TYPE__" path="" value="signed char"/>
|
||||
<pathentry kind="mac" name="__STDC_VERSION__" path="" value="201112L"/>
|
||||
<pathentry kind="mac" name="__DEC32_MAX_EXP__" path="" value="97"/>
|
||||
<pathentry kind="mac" name="_BIG_ENDIAN" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT_FAST8_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__INTPTR_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__FLT64_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__PPC" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT32_MIN_10_EXP__" path="" value="(-37)"/>
|
||||
<pathentry kind="mac" name="__FLT32X_DIG__" path="" value="15"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmsubasp" path="" value="__builtin_vsx_xvmsubsp"/>
|
||||
<pathentry kind="mac" name="__LDBL_MANT_DIG__" path="" value="53"/>
|
||||
<pathentry kind="mac" name="__svr4__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__DBL_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__SIG_ATOMIC_MIN__" path="" value="(-__SIG_ATOMIC_MAX__ - 1)"/>
|
||||
<pathentry kind="mac" name="__INTPTR_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__UINT16_TYPE__" path="" value="short unsigned int"/>
|
||||
<pathentry kind="mac" name="__WCHAR_TYPE__" path="" value="long int"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_FLOAT__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__UINTPTR_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__INT_FAST64_WIDTH__" path="" value="64"/>
|
||||
<pathentry kind="mac" name="__DEC64_MIN_EXP__" path="" value="(-382)"/>
|
||||
<pathentry kind="mac" name="__FLT32_DECIMAL_DIG__" path="" value="9"/>
|
||||
<pathentry kind="mac" name="__INT_FAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_TEST_AND_SET_TRUEVAL" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT_DIG__" path="" value="6"/>
|
||||
<pathentry kind="mac" name="__FLT32_HAS_INFINITY__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST64_TYPE__" path="" value="long long unsigned int"/>
|
||||
<pathentry kind="mac" name="__INT_MAX__" path="" value="0x7fffffff"/>
|
||||
<pathentry kind="mac" name="__INT64_TYPE__" path="" value="long long int"/>
|
||||
<pathentry kind="mac" name="__FLT_MAX_EXP__" path="" value="128"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxlor" path="" value="__builtin_vec_or"/>
|
||||
<pathentry kind="mac" name="__DBL_MANT_DIG__" path="" value="53"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR16_T_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xxlxor" path="" value="__builtin_vec_xor"/>
|
||||
<pathentry kind="mac" name="__DEC64_MIN__" path="" value="1E-383DD"/>
|
||||
<pathentry kind="mac" name="__WINT_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__UINT_LEAST32_TYPE__" path="" value="long unsigned int"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_SHORT__" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__LDBL_MIN_EXP__" path="" value="(-1021)"/>
|
||||
<pathentry kind="mac" name="__FLT64_MAX__" path="" value="1.7976931348623157e+308F64"/>
|
||||
<pathentry kind="mac" name="__WINT_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST8_MAX__" path="" value="0x7f"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MAX_10_EXP__" path="" value="308"/>
|
||||
<pathentry kind="mac" name="__LDBL_MAX_10_EXP__" path="" value="308"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_RELAXED" path="" value="0"/>
|
||||
<pathentry kind="mac" name="__DBL_EPSILON__" path="" value="((double)2.2204460492503131e-16L)"/>
|
||||
<pathentry kind="mac" name="__UINT8_C(c)" path="" value="c"/>
|
||||
<pathentry kind="mac" name="PPC" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_MAX_EXP__" path="" value="1024"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST32_TYPE__" path="" value="long int"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_WCHAR_T__" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__UINT64_TYPE__" path="" value="long long unsigned int"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmsubadp" path="" value="__builtin_vsx_xvnmsubdp"/>
|
||||
<pathentry kind="mac" name="__INT_FAST8_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__GNUC_STDC_INLINE__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT64_HAS_DENORM__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT32_EPSILON__" path="" value="1.1920928955078125e-7F32"/>
|
||||
<pathentry kind="mac" name="__DBL_DECIMAL_DIG__" path="" value="17"/>
|
||||
<pathentry kind="mac" name="__STDC_UTF_32__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT_FAST8_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__DEC_EVAL_METHOD__" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MAX__" path="" value="1.7976931348623157e+308F32x"/>
|
||||
<pathentry kind="mac" name="__VEC_ELEMENT_REG_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmaddadp" path="" value="__builtin_vsx_xvmadddp"/>
|
||||
<pathentry kind="mac" name="__ORDER_BIG_ENDIAN__" path="" value="4321"/>
|
||||
<pathentry kind="mac" name="__UINT32_C(c)" path="" value="c ## UL"/>
|
||||
<pathentry kind="mac" name="__INTMAX_MAX__" path="" value="0x7fffffffffffffffLL"/>
|
||||
<pathentry kind="mac" name="__BYTE_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
|
||||
<pathentry kind="mac" name="__FLT_DENORM_MIN__" path="" value="1.4012984643248171e-45F"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvnmsubasp" path="" value="__builtin_vsx_xvnmsubsp"/>
|
||||
<pathentry kind="mac" name="__INT8_MAX__" path="" value="0x7f"/>
|
||||
<pathentry kind="mac" name="__LONG_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST32_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__CHAR32_TYPE__" path="" value="long unsigned int"/>
|
||||
<pathentry kind="mac" name="__FLT_MAX__" path="" value="3.4028234663852886e+38F"/>
|
||||
<pathentry kind="mac" name="__FP_FAST_FMA" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__INT32_TYPE__" path="" value="long int"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_DOUBLE__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="__FLT_MIN_10_EXP__" path="" value="(-37)"/>
|
||||
<pathentry kind="mac" name="__FLT64_MIN__" path="" value="2.2250738585072014e-308F64"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST32_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__INTMAX_TYPE__" path="" value="long long int"/>
|
||||
<pathentry kind="mac" name="__DEC128_MAX_EXP__" path="" value="6145"/>
|
||||
<pathentry kind="mac" name="__FLT32X_HAS_QUIET_NAN__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_CONSUME" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__GNUC_MINOR__" path="" value="3"/>
|
||||
<pathentry kind="mac" name="__INT_FAST16_WIDTH__" path="" value="32"/>
|
||||
<pathentry kind="mac" name="__UINTMAX_MAX__" path="" value="0xffffffffffffffffULL"/>
|
||||
<pathentry kind="mac" name="__DEC32_MANT_DIG__" path="" value="7"/>
|
||||
<pathentry kind="mac" name="__FLT32X_DENORM_MIN__" path="" value="4.9406564584124654e-324F32x"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmaddasp" path="" value="__builtin_vsx_xvmaddsp"/>
|
||||
<pathentry kind="mac" name="__DBL_MAX_10_EXP__" path="" value="308"/>
|
||||
<pathentry kind="mac" name="__LDBL_DENORM_MIN__" path="" value="4.9406564584124654e-324L"/>
|
||||
<pathentry kind="mac" name="__INT16_C(c)" path="" value="c"/>
|
||||
<pathentry kind="mac" name="__STDC__" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__builtin_vsx_xvmsubmdp" path="" value="__builtin_vsx_xvmsubdp"/>
|
||||
<pathentry kind="mac" name="__PTRDIFF_TYPE__" path="" value="int"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_SEQ_CST" path="" value="5"/>
|
||||
<pathentry kind="mac" name="__UINT32_TYPE__" path="" value="long unsigned int"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MIN_10_EXP__" path="" value="(-307)"/>
|
||||
<pathentry kind="mac" name="__UINTPTR_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__DEC64_SUBNORMAL_MIN__" path="" value="0.000000000000001E-383DD"/>
|
||||
<pathentry kind="mac" name="__DEC128_MANT_DIG__" path="" value="34"/>
|
||||
<pathentry kind="mac" name="__LDBL_MIN_10_EXP__" path="" value="(-307)"/>
|
||||
<pathentry kind="mac" name="__SIZEOF_LONG_LONG__" path="" value="8"/>
|
||||
<pathentry kind="mac" name="_Bool" path="" value="_Bool"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_LLONG_LOCK_FREE" path="" value="1"/>
|
||||
<pathentry kind="mac" name="__FLT32X_MIN__" path="" value="2.2250738585072014e-308F32x"/>
|
||||
<pathentry kind="mac" name="__LDBL_DIG__" path="" value="15"/>
|
||||
<pathentry kind="mac" name="__FLT_DECIMAL_DIG__" path="" value="9"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST16_MAX__" path="" value="0xffffffffU"/>
|
||||
<pathentry kind="mac" name="__GCC_ATOMIC_SHORT_LOCK_FREE" path="" value="2"/>
|
||||
<pathentry kind="mac" name="__INT_LEAST64_WIDTH__" path="" value="64"/>
|
||||
<pathentry kind="mac" name="__UINT_FAST8_TYPE__" path="" value="unsigned int"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_ACQ_REL" path="" value="4"/>
|
||||
<pathentry kind="mac" name="__ATOMIC_RELEASE" path="" value="3"/>
|
||||
</storageModule>
|
||||
</cproject>
|
36
IDE/ECLIPSE/DEOS/deos_wolfssl/.options
Normal file
36
IDE/ECLIPSE/DEOS/deos_wolfssl/.options
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project xmlns="http://www.ddci.com/DEOS_SHARED_OBJECToptions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ddci:/xsd/DEOS_SHARED_OBJECT.xsd http://www.ddci.com/DEOS_SHARED_OBJECToptions">
|
||||
<version>26</version>
|
||||
<targetArch>ppc</targetArch>
|
||||
<variant>diagnostic</variant>
|
||||
<depend>kernel</depend>
|
||||
<depend variant="diagnostic">video</depend>
|
||||
<depend>ansi</depend>
|
||||
<depend>math</depend>
|
||||
<depend>deos-time</depend>
|
||||
<depend>sal</depend>
|
||||
<depend>mtl</depend>
|
||||
<depend>printx</depend>
|
||||
<depend>gnu-language</depend>
|
||||
<kernelFile kfs="hypstart">lib$(PROJECT_NAME).so</kernelFile>
|
||||
<copyToAppbin>$(BINARY)</copyToAppbin>
|
||||
<copyToAppbin>$(BINARY).dbg</copyToAppbin>
|
||||
<gccCCompileDirectories targetArch="arm">$(DESK_DIR)/arm/include</gccCCompileDirectories>
|
||||
<gccCCompileDirectories targetArch="ppc">$(DESK_DIR)/ppc/include</gccCCompileDirectories>
|
||||
<gccCCompileDirectories targetArch="x86">$(DESK_DIR)/x86/include</gccCCompileDirectories>
|
||||
<gccCCompileDirectories>$(DESK_DIR)/include</gccCCompileDirectories>
|
||||
<gccCCompileDirectories>$(PROJECT_DIR)/../../../..</gccCCompileDirectories>
|
||||
<gccCCompileDirectories>$(PROJECT_DIR)/../../../../fips</gccCCompileDirectories>
|
||||
<gccCCompileDirectories>$(PROJECT_DIR)/..</gccCCompileDirectories>
|
||||
<gccCCompileDirectories>$(PROJECT_DIR.printx)/code</gccCCompileDirectories>
|
||||
<gccCCompileDefinedMacros>WOLFSSL_USER_SETTINGS</gccCCompileDefinedMacros>
|
||||
<gccCppLinkDirectories targetArch="arm">$(DESK_DIR)/arm/appbin</gccCppLinkDirectories>
|
||||
<gccCppLinkDirectories targetArch="ppc">$(DESK_DIR)/ppc/appbin</gccCppLinkDirectories>
|
||||
<gccCppLinkDirectories targetArch="x86">$(DESK_DIR)/x86/appbin</gccCppLinkDirectories>
|
||||
<gccCppLinkUseIntermediateArchive>true</gccCppLinkUseIntermediateArchive>
|
||||
<gccCppLinkAdditionalOptions>-L $(PROJECT_DIR.printx)/output/powerpc-motorola-elf/diagnostic</gccCppLinkAdditionalOptions>
|
||||
<fpuType>none</fpuType>
|
||||
<ignore>fips.c</ignore>
|
||||
<ignore>fips_test.c</ignore>
|
||||
<ignore>selftest.c</ignore>
|
||||
</project>
|
629
IDE/ECLIPSE/DEOS/deos_wolfssl/.project
Normal file
629
IDE/ECLIPSE/DEOS/deos_wolfssl/.project
Normal file
@@ -0,0 +1,629 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>wolfssl</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.ddci.common.ide.Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.ddci.common.ide.DdciNature</nature>
|
||||
<nature>com.ddci.common.ide.ExecutableNature</nature>
|
||||
<nature>com.ddci.deos.common.deosLoadListNature</nature>
|
||||
<nature>com.ddci.common.ide.DEOS_SHARED_OBJECT</nature>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>deos_malloc.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/deos_malloc.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>fips.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/fips/fips.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>fips_test.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/fips/fips_test.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>selftest.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/fips/selftest.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>user_settings.h</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/user_settings.h</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfssl</name>
|
||||
<type>2</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfssl</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/crl.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/crl.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/internal.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/internal.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/keys.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/keys.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/ocsp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/ocsp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/sniffer.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/sniffer.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/ssl.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/ssl.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/tls.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/tls.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/tls13.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/tls13.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>src/wolfio.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/src/wolfio.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/benchmark</name>
|
||||
<type>2</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/benchmark</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/test</name>
|
||||
<type>2</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/test</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/aes.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/aes.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/arc4.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/arc4.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/asm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/asn.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asn.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/blake2b.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2b.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/blake2s.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2s.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/camellia.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/camellia.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/chacha.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/chacha20_poly1305.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha20_poly1305.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/cmac.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cmac.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/coding.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/coding.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/compress.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/compress.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/cpuid.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cpuid.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/cryptocb.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cryptocb.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/curve25519.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve25519.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/curve448.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve448.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/des3.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/des3.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/dh.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dh.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/dsa.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dsa.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ecc.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ecc_fp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc_fp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ed25519.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed25519.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ed448.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed448.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/error.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/error.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fe_448.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_448.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fe_low_mem.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_low_mem.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fe_operations.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_operations.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fe_x25519_128.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_x25519_128.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mont_small.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mont_small.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_12.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_12.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_17.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_17.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_20.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_20.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_24.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_24.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_28.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_28.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_3.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_3.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_32.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_32.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_4.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_4.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_48.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_48.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_6.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_6.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_64.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_64.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_7.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_7.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_8.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_8.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_9.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_9.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_mul_comba_small_set.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_small_set.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_12.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_12.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_17.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_17.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_20.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_20.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_24.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_24.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_28.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_28.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_3.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_3.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_32.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_32.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_4.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_4.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_48.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_48.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_6.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_6.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_64.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_64.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_7.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_7.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_8.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_8.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_9.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_9.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/fp_sqr_comba_small_set.i</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_small_set.i</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ge_448.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_448.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ge_low_mem.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_low_mem.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ge_operations.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_operations.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/hash.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hash.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/hc128.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hc128.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/hmac.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hmac.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/idea.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/idea.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/integer.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/integer.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/logging.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/logging.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/md2.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md2.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/md4.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md4.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/md5.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md5.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/memory.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/memory.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/pkcs12.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs12.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/pkcs7.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs7.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/poly1305.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/poly1305.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/pwdbased.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pwdbased.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/rabbit.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rabbit.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/random.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/random.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/rc2.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rc2.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/ripemd.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ripemd.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/rsa.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rsa.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sha.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sha256.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha256.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sha3.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha3.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sha512.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha512.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/signature.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/signature.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_arm32.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm32.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_arm64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_armthumb.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_armthumb.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_c32.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c32.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_c64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_cortexm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_cortexm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_dsp32.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_dsp32.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_int.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_int.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/sp_x86_64.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_x86_64.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/srp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/srp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/tfm.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/tfm.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wc_dsp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_dsp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wc_encrypt.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_encrypt.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wc_pkcs11.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_pkcs11.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wc_port.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_port.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wolfevent.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfevent.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt/src/wolfmath.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfmath.c</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>WOLFSSL_ROOT</name>
|
||||
<value>$%7BPARENT-4-PROJECT_LOC%7D</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
@@ -7,4 +7,7 @@ EXTRA_DIST += \
|
||||
IDE/ECLIPSE/DEOS/user_settings.h \
|
||||
IDE/ECLIPSE/DEOS/tls_wolfssl.h \
|
||||
IDE/ECLIPSE/DEOS/tls_wolfssl.c \
|
||||
IDE/ECLIPSE/DEOS/deos_malloc.c
|
||||
IDE/ECLIPSE/DEOS/deos_malloc.c \
|
||||
IDE/ECLIPSE/DEOS/deos_wolfssl/.cproject \
|
||||
IDE/ECLIPSE/DEOS/deos_wolfssl/.options \
|
||||
IDE/ECLIPSE/DEOS/deos_wolfssl/.project
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -65,6 +65,8 @@ You can get the current time from https://www.unixtimestamp.com/
|
||||
#define HAVE_ED25519
|
||||
#define ED25519_SMALL
|
||||
|
||||
#define WOLFSSL_DTLS
|
||||
|
||||
/* TLS 1.3 */
|
||||
#if 0
|
||||
#define WOLFSSL_TLS13
|
||||
@@ -103,8 +105,6 @@ You can get the current time from https://www.unixtimestamp.com/
|
||||
|
||||
#endif
|
||||
|
||||
#define printf printx
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfsslRunTests.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfsslRunTests.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* config.h - dummy
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* helper.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -118,7 +118,7 @@ int construct_argv()
|
||||
|
||||
__argv[cnt] = malloc(10);
|
||||
sprintf(__argv[cnt], "benchmark");
|
||||
__argv[9] = '\0';
|
||||
__argv[cnt][9] = '\0';
|
||||
cnt = 1;
|
||||
|
||||
while (*ch != '\0')
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* client-tls-callback.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -51,10 +51,10 @@ static void set_time()
|
||||
time_t now;
|
||||
struct tm timeinfo;
|
||||
char strftime_buf[64];
|
||||
/* please update the time if seeing unknown failure. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
|
||||
/* please update the time if seeing unknown failure when loading cert. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
|
||||
utctime.tv_usec = 0;
|
||||
tz.tz_minuteswest = 0;
|
||||
tz.tz_dsttime = 0;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* server-tls-callback.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -48,10 +48,10 @@ static void set_time()
|
||||
time_t now;
|
||||
struct tm timeinfo;
|
||||
char strftime_buf[64];
|
||||
/* please update the time if seeing unknown failure. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
|
||||
/* please update the time if seeing unknown failure when loading cert. */
|
||||
/* this could cause TLS communication failure due to time expiration */
|
||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
|
||||
utctime.tv_usec = 0;
|
||||
tz.tz_minuteswest = 0;
|
||||
tz.tz_dsttime = 0;
|
||||
|
@@ -32,10 +32,10 @@ xcopy /Y/Q %BASEDIR%\src\*.c %WOLFSSLLIB_TRG_DIR%\src\
|
||||
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.c %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
|
||||
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.i %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\src\port %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src\port\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\test\ %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark\ %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\test %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
|
||||
xcopy /Y/Q %BASEDIR%\wolfssl\*.h %WOLFSSLLIB_TRG_DIR%\wolfssl\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfssl\wolfcrypt\ %WOLFSSLLIB_TRG_DIR%\wolfssl\wolfcrypt\
|
||||
xcopy /E/Y/Q %BASEDIR%\wolfssl\wolfcrypt %WOLFSSLLIB_TRG_DIR%\wolfssl\wolfcrypt\
|
||||
|
||||
rem user_settings.h
|
||||
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\user_settings.h %WOLFSSLLIB_TRG_DIR%\include\
|
||||
|
@@ -666,7 +666,7 @@ TEST_CASE("wolfssl sha crypt-test", "[wolfssl]")
|
||||
ESP_LOGI(TAG, "sha256_test()");
|
||||
TEST_ASSERT_EQUAL(0, sha256_test());
|
||||
#endif
|
||||
#ifdef WOLSSL_SHA384
|
||||
#ifdef WOLFSSL_SHA384
|
||||
ESP_LOGI(TAG, "sha384_test()");
|
||||
TEST_ASSERT_EQUAL(0, sha384_test());
|
||||
#endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* armtarget.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* benchmark_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* test_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* tls_client.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolf_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Makefile
|
||||
#
|
||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
#
|
||||
# This file is part of wolfSSL.
|
||||
#
|
||||
@@ -17,6 +17,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
#/
|
||||
|
||||
ENVI=hexagon
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Makefile
|
||||
#
|
||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
#
|
||||
# This file is part of wolfSSL.
|
||||
#
|
||||
@@ -17,6 +17,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
#/
|
||||
|
||||
ENVI=UbuntuARM
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* ecc-verify-benchmark.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* ecc-verify.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* benchmark-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* current-time.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* minimum-startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* test-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -14,7 +14,7 @@ extern "C" {
|
||||
#define INTIME_RTOS
|
||||
|
||||
#undef WOLF_EXAMPLES_STACK
|
||||
#define WOLF_EXAMPLES_STACK 65536
|
||||
#define WOLF_EXAMPLES_STACK (1<<17)
|
||||
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
@@ -27,7 +27,7 @@ extern "C" {
|
||||
|
||||
/* disable directory support */
|
||||
#undef NO_WOLFSSL_DIR
|
||||
#define NO_WOLFSSL_DIR
|
||||
//#define NO_WOLFSSL_DIR
|
||||
|
||||
/* disable writev */
|
||||
#undef NO_WRITEV
|
||||
|
@@ -66,7 +66,7 @@
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_port.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* time.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* certs_test.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* config-BEREFOOT.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* config-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* time-dummy.c.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -197,6 +197,7 @@ FILE * wolfSSL_fopen(const char *name, const char *openmode)
|
||||
#define PATHSIZE 100
|
||||
char path[PATHSIZE] ; char *p ;
|
||||
|
||||
if (name == NULL) return NULL;
|
||||
if(strlen(name) > PATHSIZE)return(NULL) ;
|
||||
|
||||
for(i = 0; i<= strlen(name); i++) {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2xx.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_ARM.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* ssl-dummy.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/* client-tls.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,8 +16,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* wolfSSL */
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/* server-tls.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,8 +16,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
/* wolfSSL */
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# CMakeLists.txt
|
||||
#
|
||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
#
|
||||
# This file is part of wolfSSL.
|
||||
#
|
||||
@@ -18,6 +18,7 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
#/
|
||||
#/
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# CMakeLists.txt
|
||||
#
|
||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
#
|
||||
# This file is part of wolfSSL.
|
||||
#
|
||||
@@ -18,6 +18,7 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
#/
|
||||
#/
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
|
34
IDE/QNX/CAAM-DRIVER/Makefile
Normal file
34
IDE/QNX/CAAM-DRIVER/Makefile
Normal file
@@ -0,0 +1,34 @@
|
||||
ARTIFACT = wolfCrypt
|
||||
|
||||
#Build architecture/variant string, possible values: x86, armv7le, etc...
|
||||
PLATFORM = armv7le
|
||||
OUTPUT_DIR = build
|
||||
TARGET = $(ARTIFACT)
|
||||
|
||||
CC = qcc -Vgcc_nto$(PLATFORM)
|
||||
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
|
||||
LD = $(CC)
|
||||
|
||||
INCLUDES += -I../../../wolfssl/wolfcrypt/port/caam/
|
||||
CCFLAGS += -O2 -Wall
|
||||
|
||||
SRCS = \
|
||||
../../../wolfcrypt/src/port/caam/caam_driver.c \
|
||||
../../../wolfcrypt/src/port/caam/caam_error.c \
|
||||
../../../wolfcrypt/src/port/caam/caam_qnx.c \
|
||||
|
||||
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
|
||||
|
||||
$(OUTPUT_DIR)/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
|
||||
|
||||
$(TARGET):$(OBJS)
|
||||
$(LD) -o $(TARGET) $(LDFLAGS) $(OBJS) $(LIBS)
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
clean:
|
||||
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
|
||||
|
||||
rebuild: clean all
|
28
IDE/QNX/README.md
Normal file
28
IDE/QNX/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# QNX CAAM Driver And Examples
|
||||
|
||||
This directory contains;
|
||||
- A Makefile for creating the QNX CAAM driver located at IDE/QNX/CAAM-DRIVER/Makefile
|
||||
- An example TLS server located at IDE/QNX/example-server/
|
||||
- An example client located at IDE/QNX/example-client
|
||||
- An example CMAC use located at IDE/QNX/example-cmac
|
||||
|
||||
To build either of these, first build wolfSSL with support for use with QNX CAAM. To do this use the configure option --enable-caam=qnx
|
||||
|
||||
```
|
||||
bash
|
||||
source ~/qnx700/qnxsdp-env.sh
|
||||
./configure --host=arm-unknown-nto-qnx7.0.0eabi --enable-caam=qnx
|
||||
make
|
||||
```
|
||||
|
||||
Once the wolfSSL library has been built cd to IDE/QNX/CAAM-DRIVER and run "make". This will produce the wolfCrypt resource manager. It should be started on the device with root permisions. Once wolfCrypt is running on the device with root permisions then any user with access to open a connection to wolfCrypt can make use of the driver.
|
||||
|
||||
|
||||
### Supported Operations By CAAM Driver
|
||||
- ECC black key creation
|
||||
- ECC black key sign / verify / ecdh
|
||||
- Black blob creation and open
|
||||
- Red blob creation and open
|
||||
- Cover keys (turn to black key)
|
||||
- CMAC with and without black keys
|
||||
- TRNG used by default to seed Hash DRBG
|
33
IDE/QNX/example-client/Makefile
Normal file
33
IDE/QNX/example-client/Makefile
Normal file
@@ -0,0 +1,33 @@
|
||||
ARTIFACT = client-tls
|
||||
|
||||
#Build architecture/variant string, possible values: x86, armv7le, etc...
|
||||
PLATFORM = armv7le
|
||||
OUTPUT_DIR = build
|
||||
TARGET = $(ARTIFACT)
|
||||
|
||||
CC = qcc -Vgcc_nto$(PLATFORM)
|
||||
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
|
||||
LD = $(CC)
|
||||
|
||||
INCLUDES += -I../../../
|
||||
LIBS += -L../../../src/.libs/ -lwolfssl
|
||||
LIBS += -lsocket -lm
|
||||
CCFLAGS += -O2 -Wall
|
||||
|
||||
SRCS = client-tls.c
|
||||
|
||||
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
|
||||
|
||||
$(OUTPUT_DIR)/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
|
||||
|
||||
$(TARGET):$(OBJS)
|
||||
$(LD) -o $(TARGET) $(OBJS) $(LIBS)
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
clean:
|
||||
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
|
||||
|
||||
rebuild: clean all
|
266
IDE/QNX/example-client/client-tls.c
Normal file
266
IDE/QNX/example-client/client-tls.c
Normal file
@@ -0,0 +1,266 @@
|
||||
/* client-tls.c
|
||||
*
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
/* socket includes */
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* wolfSSL */
|
||||
#include <wolfssl/options.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
/* malloc out buffer and fill it with converted DER to PEM
|
||||
* returns pem size on success
|
||||
*/
|
||||
static int convertDerToPem(int type, char* file, unsigned char **out)
|
||||
{
|
||||
int derSz, pemSz;
|
||||
unsigned char der[4096];
|
||||
unsigned char *pem;
|
||||
FILE* f;
|
||||
|
||||
f = fopen(file, "rb");
|
||||
if (f == NULL) {
|
||||
fprintf(stderr, "unable to open cert file %s\n", file);
|
||||
return -1;
|
||||
}
|
||||
derSz = fread(der, 1, sizeof(der), f);
|
||||
fclose(f);
|
||||
|
||||
pemSz = wc_DerToPemEx(der, derSz, NULL, 0, NULL, type);
|
||||
if (pemSz <= 0) {
|
||||
fprintf(stderr, "issue getting pem size needed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
pem = (unsigned char*)malloc(pemSz);
|
||||
if (pem == NULL) {
|
||||
fprintf(stderr, "issue malloc'ing pem size needed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
pemSz = wc_DerToPemEx(der, derSz, pem, pemSz, NULL, type);
|
||||
if (pemSz <= 0) {
|
||||
fprintf(stderr, "issue %d converting der to pem\n", pemSz);
|
||||
free(pem);
|
||||
return -1;
|
||||
}
|
||||
*out = pem;
|
||||
return pemSz;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int sockfd;
|
||||
struct sockaddr_in servAddr;
|
||||
char buff[256];
|
||||
size_t len;
|
||||
int ret;
|
||||
int port;
|
||||
|
||||
int pemSz;
|
||||
unsigned char *pem;
|
||||
FILE* f;
|
||||
|
||||
/* declare wolfSSL objects */
|
||||
WOLFSSL_CTX* ctx;
|
||||
WOLFSSL* ssl;
|
||||
|
||||
/* Check for proper calling convention */
|
||||
if (argc != 6) {
|
||||
printf("usage: %s <port> <IPv4 address> <CA PEM> <cert DER> <key DER>\n",
|
||||
argv[0]);
|
||||
return 0;
|
||||
}
|
||||
port = atoi(argv[1]);
|
||||
|
||||
/* Create a socket that uses an internet IPv4 address,
|
||||
* Sets the socket to be stream based (TCP),
|
||||
* 0 means choose the default protocol. */
|
||||
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to create the socket\n");
|
||||
ret = -1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* Initialize the server address struct with zeros */
|
||||
memset(&servAddr, 0, sizeof(servAddr));
|
||||
|
||||
/* Fill in the server address */
|
||||
servAddr.sin_family = AF_INET; /* using IPv4 */
|
||||
servAddr.sin_port = htons(port); /* on DEFAULT_PORT */
|
||||
|
||||
/* Get the server IPv4 address from the command line call */
|
||||
if (inet_pton(AF_INET, argv[2], &servAddr.sin_addr) != 1) {
|
||||
fprintf(stderr, "ERROR: invalid address\n");
|
||||
ret = -1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* Connect to the server */
|
||||
if ((ret = connect(sockfd, (struct sockaddr*) &servAddr, sizeof(servAddr)))
|
||||
== -1) {
|
||||
fprintf(stderr, "ERROR: failed to connect\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
/*---------------------------------*/
|
||||
/* Start of security */
|
||||
/*---------------------------------*/
|
||||
/* Initialize wolfSSL */
|
||||
if ((ret = wolfSSL_Init()) != WOLFSSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: Failed to initialize the library\n");
|
||||
goto socket_cleanup;
|
||||
}
|
||||
|
||||
/* Create and initialize WOLFSSL_CTX */
|
||||
if ((ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL_CTX\n");
|
||||
ret = -1;
|
||||
goto socket_cleanup;
|
||||
}
|
||||
|
||||
/* load cert and convert DER to PEM using dynamic length */
|
||||
pemSz = convertDerToPem(CERT_TYPE, argv[4], &pem);
|
||||
if (pemSz <= 0) {
|
||||
fprintf(stderr, "ERROR: converting DER cert to PEM\n");
|
||||
ret = -1;
|
||||
goto socket_cleanup;
|
||||
}
|
||||
|
||||
if (wolfSSL_CTX_use_certificate_buffer(ctx, pem, pemSz,
|
||||
WOLFSSL_FILETYPE_PEM) != WOLFSSL_SUCCESS) {
|
||||
fprintf(stderr, "issue loading in pem cert\n");
|
||||
ret = -1;
|
||||
free(pem);
|
||||
goto socket_cleanup;
|
||||
}
|
||||
free(pem);
|
||||
|
||||
/* load key and convert DER to PEM using dynamic length */
|
||||
pemSz = convertDerToPem(PRIVATEKEY_TYPE, argv[5], &pem);
|
||||
if (pemSz <= 0) {
|
||||
fprintf(stderr, "ERROR: converting DER key to PEM\n");
|
||||
ret = -1;
|
||||
goto socket_cleanup;
|
||||
}
|
||||
|
||||
if (wolfSSL_CTX_use_PrivateKey_buffer(ctx, pem, pemSz,
|
||||
WOLFSSL_FILETYPE_PEM) != WOLFSSL_SUCCESS) {
|
||||
fprintf(stderr, "issue loading in pem key\n");
|
||||
ret = -1;
|
||||
free(pem);
|
||||
goto socket_cleanup;
|
||||
}
|
||||
free(pem);
|
||||
|
||||
/* Load client certificates into WOLFSSL_CTX */
|
||||
f = fopen(argv[3], "rb");
|
||||
if (f == NULL) {
|
||||
fprintf(stderr, "unable to open %s\n", argv[3]);
|
||||
ret = -1;
|
||||
goto socket_cleanup;
|
||||
}
|
||||
fseek(f, 0, SEEK_END);
|
||||
pemSz = ftell(f);
|
||||
rewind(f);
|
||||
pem = malloc(pemSz);
|
||||
if (pem == NULL) {
|
||||
fclose(f);
|
||||
ret = -1;
|
||||
goto socket_cleanup;
|
||||
}
|
||||
pemSz = fread(pem, 1, pemSz, f);
|
||||
fclose(f);
|
||||
|
||||
ret = wolfSSL_CTX_load_verify_buffer(ctx, pem, pemSz, WOLFSSL_FILETYPE_PEM);
|
||||
if (ret != SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR %d: failed to load %s, please check the file.\n",
|
||||
ret, argv[3]);
|
||||
free(pem);
|
||||
goto ctx_cleanup;
|
||||
}
|
||||
free(pem);
|
||||
|
||||
/* Create a WOLFSSL object */
|
||||
if ((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to create WOLFSSL object\n");
|
||||
ret = -1;
|
||||
goto ctx_cleanup;
|
||||
}
|
||||
|
||||
/* Attach wolfSSL to the socket */
|
||||
if ((ret = wolfSSL_set_fd(ssl, sockfd)) != WOLFSSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: Failed to set the file descriptor\n");
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Connect to wolfSSL on the server side */
|
||||
if ((ret = wolfSSL_connect(ssl)) != SSL_SUCCESS) {
|
||||
fprintf(stderr, "ERROR: failed to connect to wolfSSL\n");
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Get a message for the server from stdin */
|
||||
printf("Message for server: ");
|
||||
memset(buff, 0, sizeof(buff));
|
||||
if (fgets(buff, sizeof(buff), stdin) == NULL) {
|
||||
fprintf(stderr, "ERROR: failed to get message for server\n");
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
len = strnlen(buff, sizeof(buff));
|
||||
|
||||
/* Send the message to the server */
|
||||
if ((ret = wolfSSL_write(ssl, buff, len)) != len) {
|
||||
fprintf(stderr, "ERROR: failed to write entire message\n");
|
||||
fprintf(stderr, "%d bytes of %d bytes were sent", ret, (int) len);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Read the server data into our buff array */
|
||||
memset(buff, 0, sizeof(buff));
|
||||
if ((ret = wolfSSL_read(ssl, buff, sizeof(buff)-1)) == -1) {
|
||||
fprintf(stderr, "ERROR: failed to read\n");
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Print to stdout any data the server sends */
|
||||
printf("Server: %s\n", buff);
|
||||
|
||||
/* Cleanup and return */
|
||||
cleanup:
|
||||
wolfSSL_free(ssl); /* Free the wolfSSL object */
|
||||
ctx_cleanup:
|
||||
wolfSSL_CTX_free(ctx); /* Free the wolfSSL context object */
|
||||
wolfSSL_Cleanup(); /* Cleanup the wolfSSL environment */
|
||||
socket_cleanup:
|
||||
close(sockfd); /* Close the connection to the server */
|
||||
end:
|
||||
return ret; /* Return reporting a success */
|
||||
}
|
33
IDE/QNX/example-cmac/Makefile
Normal file
33
IDE/QNX/example-cmac/Makefile
Normal file
@@ -0,0 +1,33 @@
|
||||
ARTIFACT = cmac-test
|
||||
|
||||
#Build architecture/variant string, possible values: x86, armv7le, etc...
|
||||
PLATFORM = armv7le
|
||||
OUTPUT_DIR = build
|
||||
TARGET = $(ARTIFACT)
|
||||
|
||||
CC = qcc -Vgcc_nto$(PLATFORM)
|
||||
CXX = qcc -lang-c++ -Vgcc_nto$(PLATFORM)
|
||||
LD = $(CC)
|
||||
|
||||
INCLUDES += -I../../../
|
||||
LIBS += -L../../../src/.libs/ -lwolfssl
|
||||
LIBS += -lsocket -lm
|
||||
CCFLAGS += -O2 -Wall
|
||||
|
||||
SRCS = cmac-test.c
|
||||
|
||||
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
|
||||
|
||||
$(OUTPUT_DIR)/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c -o $@ $(INCLUDES) $(CCFLAGS) $<
|
||||
|
||||
$(TARGET):$(OBJS)
|
||||
$(LD) -o $(TARGET) $(OBJS) $(LIBS)
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
clean:
|
||||
rm -rf $(OUTPUT_DIR) $(ARTIFACT)
|
||||
|
||||
rebuild: clean all
|
113
IDE/QNX/example-cmac/cmac-test.c
Normal file
113
IDE/QNX/example-cmac/cmac-test.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/* cmac-test.c
|
||||
*
|
||||
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#include <wolfssl/options.h>
|
||||
#include <wolfssl/wolfcrypt/cmac.h>
|
||||
#include <wolfssl/wolfcrypt/port/caam/wolfcaam.h>
|
||||
|
||||
#include <sys/mman.h>
|
||||
#include <hw/inout.h>
|
||||
#include <sys/iofunc.h>
|
||||
#include <sys/neutrino.h>
|
||||
|
||||
static const byte k256[] =
|
||||
{
|
||||
0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe,
|
||||
0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
|
||||
0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
|
||||
0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4
|
||||
};
|
||||
|
||||
|
||||
static int createTag(const byte* key, int keySz, byte* msg, int msgSz,
|
||||
byte* msg2, int msg2Sz)
|
||||
{
|
||||
Cmac cmac;
|
||||
byte tag[AES_BLOCK_SIZE];
|
||||
word32 i, tagSz;
|
||||
byte out[48];
|
||||
word32 outSz;
|
||||
|
||||
XMEMSET(tag, 0, sizeof(tag));
|
||||
tagSz = AES_BLOCK_SIZE;
|
||||
|
||||
outSz = 48;
|
||||
wc_caamCoverKey((byte*)key, keySz, out, &outSz, 0);
|
||||
|
||||
if (wc_InitCmac(&cmac, NULL, keySz, WC_CMAC_AES, out) != 0) {
|
||||
printf("Cmac init error\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (wc_CmacUpdate(&cmac, msg, msgSz) != 0) {
|
||||
printf("message update error\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (msg2Sz > 0) {
|
||||
if (wc_CmacUpdate(&cmac, msg2, msg2Sz) != 0) {
|
||||
printf("message2 update error\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (wc_CmacFinal(&cmac, tag, &tagSz) != 0) {
|
||||
printf("create tag error\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("TAG :");
|
||||
for (i = 0; i < tagSz; i++)
|
||||
printf("%02X", tag[i]);
|
||||
printf("\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
uintptr_t virtual_base;
|
||||
byte msg[256];
|
||||
byte msg2[256];
|
||||
int i;
|
||||
|
||||
printf("checking out permissions, can we call mmap_device_io?\n");
|
||||
virtual_base = mmap_device_io(0x00010000, 0x02140000);
|
||||
if (virtual_base == (uintptr_t)MAP_FAILED) {
|
||||
perror("mmap_device_io failed for base address ");
|
||||
}
|
||||
else {
|
||||
munmap_device_io(virtual_base, 0x00010000);
|
||||
}
|
||||
|
||||
wolfCrypt_Init();
|
||||
|
||||
XMEMSET(msg, 1, sizeof(msg));
|
||||
XMEMSET(msg2, 9, sizeof(msg2));
|
||||
|
||||
for (i = 0; i < 256; i+=8) {
|
||||
if (createTag(k256, sizeof(k256), msg, i, NULL, 0) != 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
wolfCrypt_Cleanup();
|
||||
return 0;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user