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
|
*.gcno
|
||||||
*.gcda
|
*.gcda
|
||||||
*.gcov
|
*.gcov
|
||||||
|
*.dgcov
|
||||||
!linuxkm/Makefile
|
!linuxkm/Makefile
|
||||||
/Kbuild
|
/Kbuild
|
||||||
linuxkm/*.ko
|
linuxkm/*.ko
|
||||||
@@ -355,6 +356,12 @@ IDE/XCODE/Index
|
|||||||
/IDE/Renesas/e2studio/Projects/test/*.launch
|
/IDE/Renesas/e2studio/Projects/test/*.launch
|
||||||
/IDE/Renesas/e2studio/Projects/test/*.scfg
|
/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
|
# 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.")
|
You must delete them, or cmake will refuse to work.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
project(wolfssl VERSION 4.7.0 LANGUAGES C)
|
project(wolfssl VERSION 4.7.1 LANGUAGES C)
|
||||||
|
|
||||||
# shared library versioning
|
# shared library versioning
|
||||||
# increment if interfaces have been added, removed or changed
|
# increment if interfaces have been added, removed or changed
|
||||||
@@ -180,9 +180,21 @@ find_package(Threads)
|
|||||||
# - 32-bit mode
|
# - 32-bit mode
|
||||||
# - 16-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
|
# Support for disabling all ASM
|
||||||
set(WOLFSSL_ASM_HELP_STRING "Enables option for assembly (default: enabled)")
|
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)
|
if(NOT WOLFSSL_ASM)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS
|
list(APPEND WOLFSSL_DEFINITIONS
|
||||||
@@ -192,7 +204,7 @@ endif()
|
|||||||
|
|
||||||
# Single threaded
|
# Single threaded
|
||||||
set(WOLFSSL_SINGLE_THREADED_HELP_STRING "Enable wolfSSL single threaded (default: disabled)")
|
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)
|
# TODO: Logic here isn't complete, yet (see AX_PTHREAD)
|
||||||
if(NOT WOLFSSL_SINGLE_THREADED)
|
if(NOT WOLFSSL_SINGLE_THREADED)
|
||||||
@@ -209,7 +221,7 @@ endif()
|
|||||||
|
|
||||||
# TLS v1.3
|
# TLS v1.3
|
||||||
set(WOLFSSL_TLS13_HELP_STRING "Enable wolfSSL TLS v1.3 (default: enabled)")
|
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")
|
if("${FIPS_VERSION}" STREQUAL "v1")
|
||||||
override_cache(WOLFSSL_TLS13 "no")
|
override_cache(WOLFSSL_TLS13 "no")
|
||||||
@@ -220,7 +232,7 @@ endif()
|
|||||||
|
|
||||||
# RNG
|
# RNG
|
||||||
set(WOLFSSL_RNG_HELP_STRING "Enable compiling and using RNG (default: enabled)")
|
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)
|
if(NOT WOLFSSL_RNG)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RNG")
|
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RNG")
|
||||||
@@ -247,7 +259,7 @@ endif()
|
|||||||
|
|
||||||
# Harden, enable Timing Resistance and Blinding by default
|
# Harden, enable Timing Resistance and Blinding by default
|
||||||
set(WOLFSSL_HARDEN_HELP_STRING "Enable Hardened build, Enables Timing Resistance and Blinding (default: enabled)")
|
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)
|
if(WOLFSSL_HARDEN)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DTFM_TIMING_RESISTANT" "-DECC_TIMING_RESISTANT")
|
list(APPEND WOLFSSL_DEFINITIONS "-DTFM_TIMING_RESISTANT" "-DECC_TIMING_RESISTANT")
|
||||||
@@ -279,7 +291,7 @@ set(WOLFSSL_SLOW_MATH "yes")
|
|||||||
|
|
||||||
# AES-CBC
|
# AES-CBC
|
||||||
set(WOLFSSL_AESCBC_HELP_STRING "Enable wolfSSL AES-CBC support (default: enabled)")
|
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)
|
if(NOT WOLFSSL_AESCBC)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES_CBC")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES_CBC")
|
||||||
@@ -287,8 +299,7 @@ endif()
|
|||||||
|
|
||||||
# AES-GCM
|
# AES-GCM
|
||||||
set(WOLFSSL_AESGCM_HELP_STRING "Enable wolfSSL AES-GCM support (default: enabled)")
|
set(WOLFSSL_AESGCM_HELP_STRING "Enable wolfSSL AES-GCM support (default: enabled)")
|
||||||
set(WOLFSSL_AESGCM "yes" CACHE STRING ${WOLFSSL_AESGCM_HELP_STRING})
|
add_option("WOLFSSL_AESGCM" ${WOLFSSL_AESGCM_HELP_STRING} "yes" "yes;no;table;small;word32")
|
||||||
set_property(CACHE WOLFSSL_AESGCM PROPERTY STRINGS "yes" "no" "table" "small" "word32")
|
|
||||||
|
|
||||||
# leanpsk and leantls don't need gcm
|
# leanpsk and leantls don't need gcm
|
||||||
if(WOLFSSL_LEAN_PSK OR (WOLFSSL_LEAN_TLS AND NOT WOLFSSL_TLS13))
|
if(WOLFSSL_LEAN_PSK OR (WOLFSSL_LEAN_TLS AND NOT WOLFSSL_TLS13))
|
||||||
@@ -331,9 +342,37 @@ endif()
|
|||||||
# - RIPEMD
|
# - RIPEMD
|
||||||
# - BLAKE2
|
# - 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
|
# SHA512
|
||||||
set(WOLFSSL_SHA512_HELP_STRING "Enable wolfSSL SHA-512 support (default: enabled)")
|
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
|
# options that don't require sha512
|
||||||
if(WOLFSSL_LEAN_PSK OR
|
if(WOLFSSL_LEAN_PSK OR
|
||||||
@@ -356,7 +395,7 @@ endif()
|
|||||||
|
|
||||||
# SHA384
|
# SHA384
|
||||||
set(WOLFSSL_SHA384_HELP_STRING "Enable wolfSSL SHA-384 support (default: enabled)")
|
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
|
# options that don't require sha384
|
||||||
if(WOLFSSL_LEAN_PSK OR
|
if(WOLFSSL_LEAN_PSK OR
|
||||||
@@ -387,7 +426,7 @@ endif()
|
|||||||
|
|
||||||
# HKDF
|
# HKDF
|
||||||
set(WOLFSSL_HKDF_HELP_STRING "Enable HKDF (HMAC-KDF) support (default: disabled)")
|
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)
|
if(WOLFSSL_TLS13)
|
||||||
override_cache(WOLFSSL_HKDF "yes")
|
override_cache(WOLFSSL_HKDF "yes")
|
||||||
@@ -401,7 +440,7 @@ endif()
|
|||||||
|
|
||||||
# DSA
|
# DSA
|
||||||
set(WOLFSSL_DSA_HELP_STRING "Enable DSA (default: disabled)")
|
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)
|
if(NOT WOLFSSL_DSA AND NOT WOLFSSL_OPENSSH)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DSA")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DSA")
|
||||||
@@ -409,12 +448,11 @@ endif()
|
|||||||
|
|
||||||
# ECC Shamir
|
# ECC Shamir
|
||||||
set(WOLFSSL_ECCSHAMIR_HELP_STRING "Enable ECC Shamir (default: enabled)")
|
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
|
# ECC
|
||||||
set(WOLFSSL_ECC_HELP_STRING "Enable ECC (default: enabled)")
|
set(WOLFSSL_ECC_HELP_STRING "Enable ECC (default: enabled)")
|
||||||
set(WOLFSSL_ECC "yes" CACHE STRING ${WOLFSSL_ECC_HELP_STRING})
|
add_option("WOLFSSL_ECC" ${WOLFSSL_ECC_HELP_STRING} "yes" "yes;no;nonblock")
|
||||||
set_property(CACHE WOLFSSL_ECC PROPERTY STRINGS "yes" "no" "nonblock")
|
|
||||||
|
|
||||||
# lean psk doesn't need ecc
|
# lean psk doesn't need ecc
|
||||||
if(WOLFSSL_LEAN_PSK)
|
if(WOLFSSL_LEAN_PSK)
|
||||||
@@ -441,18 +479,105 @@ endif()
|
|||||||
|
|
||||||
# TODO: - ECC custom curves
|
# TODO: - ECC custom curves
|
||||||
# - Compressed key
|
# - Compressed key
|
||||||
# - CURVE25519
|
|
||||||
# - ED25519
|
|
||||||
# - CURVE448
|
|
||||||
# - ED448
|
|
||||||
# - FP ECC, fixed point cache ECC
|
# - FP ECC, fixed point cache ECC
|
||||||
# - ECC encrypt
|
# - ECC encrypt
|
||||||
# - PSK
|
# - PSK
|
||||||
# - Single PSK identity
|
# - 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
|
# Error strings
|
||||||
set(WOLFSSL_ERROR_STRINGS_HELP_STRING "Enable error strings table (default: enabled)")
|
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)
|
if(NOT WOLFSSL_ERROR_STRINGS)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_STRINGS")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_STRINGS")
|
||||||
@@ -466,7 +591,7 @@ endif()
|
|||||||
|
|
||||||
# Error queue
|
# Error queue
|
||||||
set(WOLFSSL_ERROR_QUEUE_HELP_STRING "Enables adding nodes to error queue when compiled with OPENSSL_EXTRA (default: enabled)")
|
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)
|
if(NOT WOLFSSL_ERROR_QUEUE)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_QUEUE")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ERROR_QUEUE")
|
||||||
@@ -474,7 +599,7 @@ endif()
|
|||||||
|
|
||||||
# Old TLS
|
# Old TLS
|
||||||
set(WOLFSSL_OLD_TLS_HELP_STRING "Enable old TLS versions < 1.2 (default: enabled)")
|
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)
|
if(NOT WOLFSSL_OLD_TLS)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_OLD_TLS")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_OLD_TLS")
|
||||||
@@ -488,7 +613,7 @@ endif()
|
|||||||
|
|
||||||
# TLSv1.2
|
# TLSv1.2
|
||||||
set(WOLFSSL_TLSV12_HELP_STRING "Enable TLS versions 1.2 (default: enabled)")
|
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)
|
if(NOT WOLFSSL_TLSV12)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS
|
list(APPEND WOLFSSL_DEFINITIONS
|
||||||
@@ -503,7 +628,7 @@ endif()
|
|||||||
|
|
||||||
# Memory
|
# Memory
|
||||||
set(WOLFSSL_MEMORY_HELP_STRING "Enable memory callbacks (default: enabled)")
|
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)
|
if(NOT WOLFSSL_MEMORY)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_WOLFSSL_MEMORY")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_WOLFSSL_MEMORY")
|
||||||
@@ -521,7 +646,7 @@ endif()
|
|||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
set(WOLFSSL_RSA_HELP_STRING "Enable RSA (default: enabled)")
|
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)
|
if(NOT WOLFSSL_RSA)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_RSA")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_RSA")
|
||||||
@@ -534,7 +659,7 @@ endif()
|
|||||||
|
|
||||||
# OAEP
|
# OAEP
|
||||||
set(WOLFSSL_OAEP_HELP_STRING "Enable RSA OAEP (default: enabled)")
|
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)
|
if(NOT WOLFSSL_OAEP)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RSA_OAEP")
|
list(APPEND WOLFSSL_DEFINITIONS "-DWC_NO_RSA_OAEP")
|
||||||
@@ -545,7 +670,7 @@ endif()
|
|||||||
|
|
||||||
# RSA-PSS
|
# RSA-PSS
|
||||||
set(WOLFSSL_RSA_PSS_HELP_STRING "Enable RSA-PSS (default: disabled)")
|
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)
|
if(NOT WOLFSSL_RSA)
|
||||||
override_cache(WOLFSSL_RSA_PSS "no")
|
override_cache(WOLFSSL_RSA_PSS "no")
|
||||||
@@ -560,7 +685,7 @@ endif()
|
|||||||
|
|
||||||
# DH
|
# DH
|
||||||
set(WOLFSSL_DH_HELP_STRING "Enable DH (default: enabled)")
|
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)
|
if(WOLFSSL_OPENSSH)
|
||||||
override_cache(WOLFSSL_DH "yes")
|
override_cache(WOLFSSL_DH "yes")
|
||||||
@@ -581,7 +706,7 @@ endif()
|
|||||||
# turn off asn, which means no certs, no rsa, no dsa, no ecc,
|
# turn off asn, which means no certs, no rsa, no dsa, no ecc,
|
||||||
# and no big int (unless dh is on)
|
# and no big int (unless dh is on)
|
||||||
set(WOLFSSL_ASN_HELP_STRING "Enable ASN (default: enabled)")
|
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)
|
if(NOT WOLFSSL_ASN)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ASN" "-DNO_CERTS")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_ASN" "-DNO_CERTS")
|
||||||
@@ -626,7 +751,7 @@ endif()
|
|||||||
|
|
||||||
# AES
|
# AES
|
||||||
set(WOLFSSL_AES_HELP_STRING "Enable AES (default: enabled)")
|
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)
|
if(NOT WOLFSSL_AES)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_AES")
|
||||||
@@ -655,7 +780,7 @@ endif()
|
|||||||
|
|
||||||
# Coding
|
# Coding
|
||||||
set(WOLFSSL_CODING_HELP_STRING "Enable coding base 16/64 (default: enabled)")
|
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)
|
if(NOT WOLFSSL_CODING)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CODING")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_CODING")
|
||||||
@@ -674,7 +799,7 @@ if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_BASE64_ENCODE_HELP_STRING "Enable Base64 encoding (default: enabled on x86_64)")
|
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)
|
if(WOLFSSL_BASE64_ENCODE)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_BASE64_ENCODE")
|
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_BASE64_ENCODE")
|
||||||
@@ -684,7 +809,7 @@ endif()
|
|||||||
|
|
||||||
# DES3
|
# DES3
|
||||||
set(WOLFSSL_DES3_HELP_STRING "Enable DES3 (default: disabled)")
|
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
|
if(WOLFSSL_OPENSSH OR
|
||||||
WOLFSSL_QT OR
|
WOLFSSL_QT OR
|
||||||
@@ -697,7 +822,7 @@ endif()
|
|||||||
|
|
||||||
# ARC4
|
# ARC4
|
||||||
set(WOLFSSL_ARC4_HELP_STRING "Enable ARC4 (default: disabled)")
|
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)
|
if(WOLFSSL_OPENSSH OR WOLFSSL_WPAS)
|
||||||
override_cache(WOLFSSL_ARC4 "yes")
|
override_cache(WOLFSSL_ARC4 "yes")
|
||||||
@@ -715,7 +840,7 @@ endif()
|
|||||||
|
|
||||||
# MD5
|
# MD5
|
||||||
set(WOLFSSL_MD5_HELP_STRING "Enable MD5 (default: enabled)")
|
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)
|
if(NOT WOLFSSL_MD5)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS")
|
||||||
@@ -729,7 +854,7 @@ endif()
|
|||||||
|
|
||||||
# SHA
|
# SHA
|
||||||
set(WOLFSSL_SHA_HELP_STRING "Enable SHA (default: enabled)")
|
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)
|
if(NOT WOLFSSL_SHA)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_SHA" "-DNO_OLD_TLS")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_SHA" "-DNO_OLD_TLS")
|
||||||
@@ -748,7 +873,7 @@ endif()
|
|||||||
|
|
||||||
# HC128
|
# HC128
|
||||||
set(WOLFSSL_HC128_HELP_STRING "Enable HC-128 (default: disabled)")
|
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)
|
if(NOT WOLFSSL_HC128)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_HC128")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_HC128")
|
||||||
@@ -768,35 +893,11 @@ endif()
|
|||||||
# - Selftest
|
# - Selftest
|
||||||
|
|
||||||
# SHA224
|
# 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)
|
if(WOLFSSL_SHA224)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA224")
|
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA224")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# SHA3
|
# 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")
|
if("${WOLFSSL_SHA3}" STREQUAL "small")
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA3_SMALL")
|
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_SHA3_SMALL")
|
||||||
override_cache(WOLFSSL_SHA3 "yes")
|
override_cache(WOLFSSL_SHA3 "yes")
|
||||||
@@ -807,10 +908,6 @@ if(WOLFSSL_SHA3 AND NOT WOLFSSL_32BIT)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# SHAKE256
|
# 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)
|
if(NOT WOLFSSL_SHAKE256)
|
||||||
override_cache(WOLFSSL_SHAKE256 ${WOLFSSL_SHA3})
|
override_cache(WOLFSSL_SHAKE256 ${WOLFSSL_SHA3})
|
||||||
endif()
|
endif()
|
||||||
@@ -832,7 +929,7 @@ if(WOLFSSL_FIPS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_POLY1305_HELP_STRING "Enable wolfSSL POLY1305 support (default: enabled)")
|
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
|
# leanpsk and leantls don't need poly1305
|
||||||
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
||||||
@@ -852,8 +949,7 @@ if(WOLFSSL_FIPS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_CHACHA_HELP_STRING "Enable CHACHA (default: enabled). Use `=noasm` to disable ASM AVX/AVX2 speedups")
|
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})
|
add_option("WOLFSSL_CHACHA" ${WOLFSSL_CHACHA_HELP_STRING} ${CHACHA_DEFAULT} "yes;no;noasm")
|
||||||
set_property(CACHE WOLFSSL_CHACHA PROPERTY STRINGS "yes" "no" "noasm")
|
|
||||||
|
|
||||||
# leanpsk and leantls don't need chacha
|
# leanpsk and leantls don't need chacha
|
||||||
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS)
|
||||||
@@ -872,7 +968,7 @@ endif()
|
|||||||
|
|
||||||
# Hash DRBG
|
# Hash DRBG
|
||||||
set(WOLFSSL_HASH_DRBG_HELP_STRING "Enable Hash DRBG support (default: enabled)")
|
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)
|
if(WOLFSSL_HASH_DRBG)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_HASHDRBG")
|
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_HASHDRBG")
|
||||||
@@ -894,7 +990,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_FILESYSTEM_HELP_STRING "Enable Filesystem support (default: enabled)")
|
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)
|
if(NOT WOLFSSL_FILESYSTEM)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_FILESYSTEM")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_FILESYSTEM")
|
||||||
@@ -907,7 +1003,7 @@ endif()
|
|||||||
|
|
||||||
# Inline function support
|
# Inline function support
|
||||||
set(WOLFSSL_INLINE_HELP_STRING "Enable inline functions (default: enabled)")
|
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)
|
if(NOT WOLFSSL_INLINE)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE")
|
list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE")
|
||||||
@@ -933,7 +1029,7 @@ endif()
|
|||||||
|
|
||||||
# Supported elliptic curves extensions
|
# Supported elliptic curves extensions
|
||||||
set(WOLFSSL_SUPPORTED_CURVES_HELP_STRING "Enable Supported Elliptic Curves (default: enabled)")
|
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(WOLFSSL_SUPPORTED_CURVES)
|
||||||
if(NOT WOLFSSL_ECC AND NOT WOLFSSL_CURVE25519 AND NOT WOLFSSL_CURVE448)
|
if(NOT WOLFSSL_ECC AND NOT WOLFSSL_CURVE25519 AND NOT WOLFSSL_CURVE448)
|
||||||
@@ -968,11 +1064,23 @@ if (WOLFSSL_TLS13)
|
|||||||
"-DHAVE_SUPPORTED_CURVES")
|
"-DHAVE_SUPPORTED_CURVES")
|
||||||
endif()
|
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
|
# Extended master secret extension
|
||||||
set(WOLFSSL_EXTENDED_MASTER_HELP_STRING "Enable Extended Master Secret (default: enabled)")
|
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)
|
if(WOLFSSL_EXTENDED_MASTER)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_EXTENDED_MASTER")
|
list(APPEND WOLFSSL_DEFINITIONS "-DHAVE_EXTENDED_MASTER")
|
||||||
@@ -998,7 +1106,7 @@ endif()
|
|||||||
|
|
||||||
# Encrypt-then-mac
|
# Encrypt-then-mac
|
||||||
set(WOLFSSL_ENC_THEN_MAC_HELP_STRING "Enable Encryptr-Then-Mac extension (default: enabled)")
|
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)
|
if(WOLFSSL_APACHE_HTTPD)
|
||||||
override_cache(WOLFSSL_ENC_THEN_MAC "no")
|
override_cache(WOLFSSL_ENC_THEN_MAC "no")
|
||||||
@@ -1015,7 +1123,7 @@ endif()
|
|||||||
# stunnel Support
|
# stunnel Support
|
||||||
# TODO: rest of stunnel support
|
# TODO: rest of stunnel support
|
||||||
set(WOLFSSL_STUNNEL_HELP_STRING "Enable stunnel (default: disabled)")
|
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
|
if(NOT WOLFSSL_PSK AND
|
||||||
NOT WOLFSSL_LEAN_PSK AND
|
NOT WOLFSSL_LEAN_PSK AND
|
||||||
@@ -1029,7 +1137,7 @@ endif()
|
|||||||
|
|
||||||
# MD4
|
# MD4
|
||||||
set(WOLFSSL_MD4_HELP_STRING "Enable MD4 (default: disabled)")
|
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)
|
if(NOT WOLFSSL_MD4)
|
||||||
# turn on MD4 if using stunnel
|
# 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 has to come after certservice since we want it on w/o explicit on
|
||||||
# PWDBASED
|
# PWDBASED
|
||||||
set(WOLFSSL_PWDBASED_HELP_STRING "Enable PWDBASED (default: disabled)")
|
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(NOT WOLFSSL_PWDBASED)
|
||||||
if(WOLFSSL_OPENSSLEXTRA OR
|
if(WOLFSSL_OPENSSLEXTRA OR
|
||||||
@@ -1079,7 +1187,7 @@ if(WOLFSSL_SP_MATH)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_FAST_MATH_HELP_STRING "Enable fast math ops (default: enabled on x86_64/aarch64)")
|
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)
|
if(WOLFSSL_FAST_MATH)
|
||||||
# turn off fastmath if leanpsk on or asn off (w/o DH and ECC)
|
# turn off fastmath if leanpsk on or asn off (w/o DH and ECC)
|
||||||
@@ -1113,7 +1221,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_EXAMPLES_HELP_STRING "Enable examples (default: enabled)")
|
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
|
if(NOT WOLFSSL_FILESYSTEM OR
|
||||||
NOT WOLFSSL_INLINE OR
|
NOT WOLFSSL_INLINE OR
|
||||||
@@ -1129,7 +1237,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_CRYPT_TESTS_HELP_STRING "Enable Crypt Bench/Test (default: enabled)")
|
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
|
# TODO: - LIBZ
|
||||||
# - PKCS#11
|
# - PKCS#11
|
||||||
@@ -1146,7 +1254,7 @@ option(WOLFSSL_CRYPT_TESTS ${WOLFSSL_CRYPT_TESTS_HELP_STRING} ${CRYPT_TESTS_DEFA
|
|||||||
|
|
||||||
# Asynchronous threading
|
# Asynchronous threading
|
||||||
set(WOLFSSL_ASYNC_THREADS_HELP_STRING "Enable Asynchronous Threading (default: enabled)")
|
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(WOLFSSL_ASYNC_CRYPT AND WOLFSSL_ASYNC_THREADS)
|
||||||
if(CMAKE_USE_PTHREADS_INIT)
|
if(CMAKE_USE_PTHREADS_INIT)
|
||||||
@@ -1171,7 +1279,7 @@ endif()
|
|||||||
# - AES key wrap
|
# - AES key wrap
|
||||||
|
|
||||||
set(WOLFSSL_OLD_NAMES_HELP_STRING "Keep backwards compat with old names (default: enabled)")
|
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)
|
if(NOT WOLFSSL_OLD_NAMES AND NOT WOLFSSL_OPENSSL_COEXIST)
|
||||||
list(APPEND WOLFSSL_DEFINITIONS
|
list(APPEND WOLFSSL_DEFINITIONS
|
||||||
@@ -1186,7 +1294,7 @@ endif()
|
|||||||
|
|
||||||
# Support for enabling setting default DH parameters
|
# Support for enabling setting default DH parameters
|
||||||
set(WOLFSSL_DH_DEFAULT_PARAMS_HELP_STRING "Enables option for default dh parameters (default: disabled)")
|
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)
|
if(WOLFSSL_DH_DEFAULT_PARAMS OR NOT WOLFSSL_QT)
|
||||||
override_cache(WOLFSSL_DH_DEFAULT_PARAMS "yes")
|
override_cache(WOLFSSL_DH_DEFAULT_PARAMS "yes")
|
||||||
@@ -1204,10 +1312,10 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WOLFSSL_USER_SETTINGS_HELP_STRING "Use your own user_settings.h and do not add Makefile CFLAGS (default: disabled)")
|
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)")
|
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
|
# Generates the BUILD_* flags. These control what source files are included in
|
||||||
# the library. A series of AM_CONDITIONALs handle this in configure.ac.
|
# the library. A series of AM_CONDITIONALs handle this in configure.ac.
|
||||||
@@ -1227,7 +1335,7 @@ endif()
|
|||||||
add_definitions(${WOLFSSL_DEFINITIONS})
|
add_definitions(${WOLFSSL_DEFINITIONS})
|
||||||
|
|
||||||
set(WOLFSSL_CONFIG_H_HELP_STRING "Enable generation of config.h and define HAVE_CONFIG_H (default: enabled)")
|
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)
|
if(WOLFSSL_CONFIG_H)
|
||||||
add_definitions("-DHAVE_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} "extern \"C\" {\n")
|
||||||
file(APPEND ${OPTION_FILE} "#endif\n\n")
|
file(APPEND ${OPTION_FILE} "#endif\n\n")
|
||||||
|
|
||||||
|
list(REMOVE_DUPLICATES WOLFSSL_DEFINITIONS)
|
||||||
|
|
||||||
foreach(DEF IN LISTS WOLFSSL_DEFINITIONS)
|
foreach(DEF IN LISTS WOLFSSL_DEFINITIONS)
|
||||||
if(DEF MATCHES "^-D")
|
if(DEF MATCHES "^-D")
|
||||||
if(DEF MATCHES "^-D(N)?DEBUG(=.+)?")
|
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
|
* 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
|
* Implement RFC 5705: Keying Material Exporters for TLS
|
||||||
* Added --enable-reproducible-build flag for making more deterministic library outputs to assist debugging
|
* 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
|
### Fixes
|
||||||
* Fix to free mutex when cert manager is free’d
|
* 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
|
* Out of directory builds resolved, wolfSSL can now be built in a separate directory than the root wolfssl directory
|
||||||
|
|
||||||
### Vulnerabilities
|
### 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] 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.
|
* [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
|
/* wolfssl_client.ino
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfssl_server.ino
|
/* wolfssl_server.ino
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
#include <wolfcrypt/test/test.h>
|
#include <wolfcrypt/test/test.h>
|
||||||
#include <wolfcrypt/benchmark/benchmark.h>
|
#include <wolfcrypt/benchmark/benchmark.h>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -41,6 +41,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_CRYPTOCELL)
|
#if defined(WOLFSSL_CRYPTOCELL)
|
||||||
|
/* see SASI_AES_KEY_MAX_SIZE_IN_BYTES in the nRF5 SDK */
|
||||||
#define AES_MAX_KEY_SIZE 128
|
#define AES_MAX_KEY_SIZE 128
|
||||||
#endif /* WOLFSSL_CRYPTOCELL*/
|
#endif /* WOLFSSL_CRYPTOCELL*/
|
||||||
|
|
||||||
@@ -137,6 +138,9 @@ extern "C" {
|
|||||||
#if 1
|
#if 1
|
||||||
#define HAVE_ECC
|
#define HAVE_ECC
|
||||||
|
|
||||||
|
#include <strings.h>
|
||||||
|
/* strings.h required for strncasecmp */
|
||||||
|
|
||||||
/* Manually define enabled curves */
|
/* Manually define enabled curves */
|
||||||
#undef ECC_USER_CURVES
|
#undef ECC_USER_CURVES
|
||||||
#define ECC_USER_CURVES
|
#define ECC_USER_CURVES
|
||||||
|
@@ -1,71 +1,64 @@
|
|||||||
|
|
||||||
|
|
||||||
# Deos Port
|
# Deos Port
|
||||||
|
|
||||||
## Overview
|
## 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
|
## 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.
|
### Importing the project
|
||||||
```
|
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
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
|
1. Launch the OpenArbor IDE as an administrator
|
||||||
2. In the Workspace Launcher dialog, in the Workspace field, enter your
|
2. In the Workspace Launcher dialog, in the Workspace field, enter
|
||||||
workspace
|
your workspace
|
||||||
3. Right-click in the Project Explorer view and select Import
|
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.
|
4. In the Import dialog, select General > Existing Projects into
|
||||||
5. In the Import Projects dialog, select Select archive file, then browse to `IDE/ECLIPSE/DEOS/` and double-click `deosWolfssl.zip` file
|
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
|
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
|
#undef NO_CRYPT_TEST
|
||||||
|-- IDE
|
#undef NO_CRYPT_BENCHMARK
|
||||||
| -- ECLIPSE
|
#undef NO_WOLFSSL_CLIENT
|
||||||
| -- DEOS
|
#undef NO_WOLFSSL_SERVER
|
||||||
|-- src
|
|
||||||
|-- wolfcrypt
|
|
||||||
| -- benchmark
|
|
||||||
| -- src
|
|
||||||
| -- test
|
|
||||||
|-- wolfssl
|
|
||||||
|-- openssl
|
|
||||||
|-- wolfcrypt
|
|
||||||
|-- port
|
|
||||||
```
|
```
|
||||||
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
|
1. Launch the OpenArbor IDE
|
||||||
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
|
|
||||||
|
|
||||||
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
|
<processTemplate
|
||||||
mutexQuota = "5"
|
mutexQuota = "5"
|
||||||
@@ -90,35 +83,54 @@ wolfsslPort
|
|||||||
|
|
||||||
</processTemplate>
|
</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:
|
Here's an example:
|
||||||
|
|
||||||
```
|
```
|
||||||
#include <deos.h>
|
#include <deos.h>
|
||||||
#include <printx.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
|
transportConfigurationId
|
||||||
2 # Client thread quota - for client and server TCP
|
2 # Client thread quota - for client and server TCP
|
||||||
@@ -166,45 +181,62 @@ userServiceThread # Server thread template name
|
|||||||
/
|
/
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Building and Running
|
#### 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.
|
|
||||||
|
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()`
|
||||||
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!
|
error test passed!
|
||||||
base64 test passed!
|
base64 test passed!
|
||||||
asn test passed!
|
asn test passed!
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
This example doesn't show the whole output.
|
This example doesn't show the whole output.
|
||||||
|
|
||||||
### `benchmark_test()`
|
### `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)
|
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||||
RNG 225 KB tooks 1.026 seconds, 219.313 KB/s
|
RNG 2 MB took 1.000 seconds, 2.124 MB/s
|
||||||
AES-128-CBC-enc 250 KB toks 1.105 seconds 226.210 KB/s
|
AES-128-CBC-enc 5 MB took 1.000 seconds, 5.127 MB/s
|
||||||
AES-128-CBC-dec 225 KB tooks 1.005 seconds, 223.922 KB/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.
|
This example doesn't show the whole output.
|
||||||
|
|
||||||
### `wolfssl_client_test()`
|
### `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()`
|
### `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.
|
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to
|
||||||
Once you start the TLS server and `Listening for client connection` displays on the serial console, the server is ready to accept client connections.
|
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
|
$ ./examples/client/client.exe -h TLS_SERVER_IP_ADDRESS
|
||||||
|
|
||||||
@@ -218,8 +250,10 @@ I hear ya fa shizzle!
|
|||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
The test results were collected from the qemu-x86 reference platform target with the following software and tool chains:
|
The following software and tool chains were used for testing:
|
||||||
- OpenArbor, eclipse based IDE, toolVersion = "3.31.0"
|
|
||||||
|
- OpenArbor 7.0.0
|
||||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
- 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
|
/* deos_malloc.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -19,27 +19,11 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
*/
|
*/
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
#include <wolfssl/ssl.h>
|
#include <wolfssl/wolfcrypt/types.h>
|
||||||
|
#include <deos.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. */
|
|
||||||
|
|
||||||
void free_deos(void *ptr) {
|
void free_deos(void *ptr) {
|
||||||
//printf("fake free_deos()\n");
|
free(ptr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,10 +35,6 @@ void *realloc_deos(void *ptr, size_t size) {
|
|||||||
newptr = malloc_deos(size);
|
newptr = malloc_deos(size);
|
||||||
|
|
||||||
if (ptr != NULL && newptr != NULL) {
|
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);
|
XMEMCPY((char *) newptr, (const char *) ptr, size);
|
||||||
free_deos(ptr);
|
free_deos(ptr);
|
||||||
}
|
}
|
||||||
@@ -63,46 +43,5 @@ void *realloc_deos(void *ptr, size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void *malloc_deos(size_t size) {
|
void *malloc_deos(size_t size) {
|
||||||
PDEOS_SYSTEM_INFO systemInfoPtr;
|
return malloc(size);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
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/user_settings.h \
|
||||||
IDE/ECLIPSE/DEOS/tls_wolfssl.h \
|
IDE/ECLIPSE/DEOS/tls_wolfssl.h \
|
||||||
IDE/ECLIPSE/DEOS/tls_wolfssl.c \
|
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
|
/* tls_wolfssl.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* tls_wolfssl.h
|
/* tls_wolfssl.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_setting.h
|
/* user_setting.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* 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 HAVE_ED25519
|
||||||
#define ED25519_SMALL
|
#define ED25519_SMALL
|
||||||
|
|
||||||
|
#define WOLFSSL_DTLS
|
||||||
|
|
||||||
/* TLS 1.3 */
|
/* TLS 1.3 */
|
||||||
#if 0
|
#if 0
|
||||||
#define WOLFSSL_TLS13
|
#define WOLFSSL_TLS13
|
||||||
@@ -103,8 +105,6 @@ You can get the current time from https://www.unixtimestamp.com/
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define printf printx
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* client_wolfssl.c
|
/* client_wolfssl.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* client_wolfssl.h
|
/* client_wolfssl.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* server_wolfssl.c
|
/* server_wolfssl.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* server_wolfssl.h
|
/* server_wolfssl.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_setting.h
|
/* user_setting.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfsslRunTests.c
|
/* wolfsslRunTests.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_setting.h
|
/* user_setting.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfsslRunTests.c
|
/* wolfsslRunTests.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* config.h - dummy
|
/* config.h - dummy
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* helper.c
|
/* helper.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -118,7 +118,7 @@ int construct_argv()
|
|||||||
|
|
||||||
__argv[cnt] = malloc(10);
|
__argv[cnt] = malloc(10);
|
||||||
sprintf(__argv[cnt], "benchmark");
|
sprintf(__argv[cnt], "benchmark");
|
||||||
__argv[9] = '\0';
|
__argv[cnt][9] = '\0';
|
||||||
cnt = 1;
|
cnt = 1;
|
||||||
|
|
||||||
while (*ch != '\0')
|
while (*ch != '\0')
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* client-tls-callback.c
|
/* client-tls-callback.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wifi_connect.c
|
/* wifi_connect.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -51,10 +51,10 @@ static void set_time()
|
|||||||
time_t now;
|
time_t now;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
char strftime_buf[64];
|
char strftime_buf[64];
|
||||||
/* please update the time if seeing unknown failure. */
|
/* please update the time if seeing unknown failure when loading cert. */
|
||||||
/* this could cause TLS communication failure due to time expiration */
|
/* this could cause TLS communication failure due to time expiration */
|
||||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||||
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
|
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
|
||||||
utctime.tv_usec = 0;
|
utctime.tv_usec = 0;
|
||||||
tz.tz_minuteswest = 0;
|
tz.tz_minuteswest = 0;
|
||||||
tz.tz_dsttime = 0;
|
tz.tz_dsttime = 0;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wifi_connect.h
|
/* wifi_connect.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* server-tls-callback.c
|
/* server-tls-callback.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wifi_connect.c
|
/* wifi_connect.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -48,10 +48,10 @@ static void set_time()
|
|||||||
time_t now;
|
time_t now;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
char strftime_buf[64];
|
char strftime_buf[64];
|
||||||
/* please update the time if seeing unknown failure. */
|
/* please update the time if seeing unknown failure when loading cert. */
|
||||||
/* this could cause TLS communication failure due to time expiration */
|
/* this could cause TLS communication failure due to time expiration */
|
||||||
/* incleasing 31536000 seconds is close to spend 356 days. */
|
/* incleasing 31536000 seconds is close to spend 356 days. */
|
||||||
utctime.tv_sec = 1598661910; /* dummy time: Fri Aug 29 09:45:00 2020 */
|
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
|
||||||
utctime.tv_usec = 0;
|
utctime.tv_usec = 0;
|
||||||
tz.tz_minuteswest = 0;
|
tz.tz_minuteswest = 0;
|
||||||
tz.tz_dsttime = 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\*.c %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
|
||||||
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.i %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\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\test %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
|
||||||
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark\ %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
|
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
|
||||||
xcopy /Y/Q %BASEDIR%\wolfssl\*.h %WOLFSSLLIB_TRG_DIR%\wolfssl\
|
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
|
rem user_settings.h
|
||||||
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\user_settings.h %WOLFSSLLIB_TRG_DIR%\include\
|
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()");
|
ESP_LOGI(TAG, "sha256_test()");
|
||||||
TEST_ASSERT_EQUAL(0, sha256_test());
|
TEST_ASSERT_EQUAL(0, sha256_test());
|
||||||
#endif
|
#endif
|
||||||
#ifdef WOLSSL_SHA384
|
#ifdef WOLFSSL_SHA384
|
||||||
ESP_LOGI(TAG, "sha384_test()");
|
ESP_LOGI(TAG, "sha384_test()");
|
||||||
TEST_ASSERT_EQUAL(0, sha384_test());
|
TEST_ASSERT_EQUAL(0, sha384_test());
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* armtarget.c
|
/* armtarget.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* benchmark_main.c
|
/* benchmark_main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* test_main.c
|
/* test_main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* tls_client.c
|
/* tls_client.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolf_main.c
|
/* wolf_main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Makefile
|
# Makefile
|
||||||
#
|
#
|
||||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
#
|
#
|
||||||
# This file is part of wolfSSL.
|
# This file is part of wolfSSL.
|
||||||
#
|
#
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
|
#/
|
||||||
|
|
||||||
ENVI=hexagon
|
ENVI=hexagon
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Makefile
|
# Makefile
|
||||||
#
|
#
|
||||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
#
|
#
|
||||||
# This file is part of wolfSSL.
|
# This file is part of wolfSSL.
|
||||||
#
|
#
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
|
#/
|
||||||
|
|
||||||
ENVI=UbuntuARM
|
ENVI=UbuntuARM
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* ecc-verify-benchmark.c
|
/* ecc-verify-benchmark.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* ecc-verify.c
|
/* ecc-verify.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* benchmark-main.c
|
/* benchmark-main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* current-time.c
|
/* current-time.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* minimum-startup.c
|
/* minimum-startup.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* test-main.c
|
/* test-main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -14,7 +14,7 @@ extern "C" {
|
|||||||
#define INTIME_RTOS
|
#define INTIME_RTOS
|
||||||
|
|
||||||
#undef WOLF_EXAMPLES_STACK
|
#undef WOLF_EXAMPLES_STACK
|
||||||
#define WOLF_EXAMPLES_STACK 65536
|
#define WOLF_EXAMPLES_STACK (1<<17)
|
||||||
|
|
||||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||||
@@ -27,7 +27,7 @@ extern "C" {
|
|||||||
|
|
||||||
/* disable directory support */
|
/* disable directory support */
|
||||||
#undef NO_WOLFSSL_DIR
|
#undef NO_WOLFSSL_DIR
|
||||||
#define NO_WOLFSSL_DIR
|
//#define NO_WOLFSSL_DIR
|
||||||
|
|
||||||
/* disable writev */
|
/* disable writev */
|
||||||
#undef NO_WRITEV
|
#undef NO_WRITEV
|
||||||
|
@@ -66,7 +66,7 @@
|
|||||||
</Link>
|
</Link>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* lpc_18xx_port.c
|
/* lpc_18xx_port.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* lpc_18xx_startup.c
|
/* lpc_18xx_startup.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* time.c
|
/* time.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* certs_test.c
|
/* certs_test.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* config-BEREFOOT.h
|
/* config-BEREFOOT.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* config-FS.h
|
/* config-FS.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* config-RTX-TCP-FS.h
|
/* config-RTX-TCP-FS.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* config.h
|
/* config.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*shell.c
|
/*shell.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* time-STM32F2.c
|
/* time-STM32F2.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* time-dummy.c.c
|
/* time-dummy.c.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfssl_KEIL_RL.c
|
/* wolfssl_KEIL_RL.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
@@ -197,6 +197,7 @@ FILE * wolfSSL_fopen(const char *name, const char *openmode)
|
|||||||
#define PATHSIZE 100
|
#define PATHSIZE 100
|
||||||
char path[PATHSIZE] ; char *p ;
|
char path[PATHSIZE] ; char *p ;
|
||||||
|
|
||||||
|
if (name == NULL) return NULL;
|
||||||
if(strlen(name) > PATHSIZE)return(NULL) ;
|
if(strlen(name) > PATHSIZE)return(NULL) ;
|
||||||
|
|
||||||
for(i = 0; i<= strlen(name); i++) {
|
for(i = 0; i<= strlen(name); i++) {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfssl_KEIL_RL.h
|
/* wolfssl_KEIL_RL.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* time-STM32F2xx.c
|
/* time-STM32F2xx.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* wolfssl_KEIL_ARM.h
|
/* wolfssl_KEIL_ARM.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*shell.c
|
/*shell.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* time-STM32F2.c
|
/* time-STM32F2.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* user_settings.h
|
/* user_settings.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* ssl-dummy.c
|
/* ssl-dummy.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
* This file is part of wolfSSL.
|
* This file is part of wolfSSL.
|
||||||
*
|
*
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
/* client-tls.c
|
/* 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
|
* wolfSSL is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* 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
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* 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 */
|
/* wolfSSL */
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
/* server-tls.c
|
/* 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
|
* wolfSSL is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* 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
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* 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 */
|
/* wolfSSL */
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# CMakeLists.txt
|
# CMakeLists.txt
|
||||||
#
|
#
|
||||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
#
|
#
|
||||||
# This file is part of wolfSSL.
|
# This file is part of wolfSSL.
|
||||||
#
|
#
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
#/
|
#/
|
||||||
|
#/
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${CMAKE_SOURCE_DIR}/include
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# CMakeLists.txt
|
# CMakeLists.txt
|
||||||
#
|
#
|
||||||
# Copyright (C) 2006-2020 wolfSSL Inc.
|
# Copyright (C) 2006-2021 wolfSSL Inc.
|
||||||
#
|
#
|
||||||
# This file is part of wolfSSL.
|
# This file is part of wolfSSL.
|
||||||
#
|
#
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
#/
|
#/
|
||||||
|
#/
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${CMAKE_SOURCE_DIR}/include
|
${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