mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-07 08:50:48 +02:00
Merge remote-tracking branch 'upstream/master' into zd19563_verify
This commit is contained in:
@@ -0,0 +1,325 @@
|
||||
name: Arduino CI Build (1 of 4) wolfssl
|
||||
|
||||
#
|
||||
# Test fetches wolfssl-examples/Arduino and uses local, latest github master branch wolfssl
|
||||
#
|
||||
# These 4 workflows across 3 repos are interdependent for the current $REPO_OWNER:
|
||||
#
|
||||
# THIS Arduino CI Build 1: https://github.com/$REPO_OWNER/wolfssl # /.github/workflows/arduino.yml
|
||||
# - Builds Arduino library from local clone of wolfssl master branch
|
||||
# - Fetches examples from https://github.com/$REPO_OWNER/wolfssl-examples
|
||||
#
|
||||
# Arduino CI Build 2: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino-release.yml
|
||||
# - Tests examples based on latest published release of Arduino library, NOT latest on wolfssl github.
|
||||
# - Should be identical to Arduino CI Build 3 in every way but wolfssl install.
|
||||
# - Copies only compile script from wolfssl-examples
|
||||
# - Builds local examples
|
||||
# - No other repos used
|
||||
#
|
||||
# Arduino CI Build 3: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino.yml
|
||||
# - Fetches current wolfSSL from https://github.com/$REPO_OWNER/wolfssl
|
||||
# - Creates an updated Arduino library
|
||||
# - Compiles local examples
|
||||
# - Contains the source of `compile-all-examples.sh` and respective board-list.txt
|
||||
#
|
||||
# Arduino CI Build 4: https://github.com/$REPO_OWNER/Arduino-wolfssl # /.github/workflows/arduino.yml
|
||||
# - Assembles and installs an updated Arduino wolfssl library from LOCAL wolfssl master source
|
||||
# - Copies only compile script copied from wolfssl-examples
|
||||
# - Builds local examples
|
||||
# - No other repos used
|
||||
#
|
||||
#
|
||||
# ** NOTE TO MAINTAINERS **
|
||||
#
|
||||
# Consider using winmerge or similar tool to keep the 4 arduino[-release].yml files in relative sync.
|
||||
# Although there are some specific differences, most of the contents are otherwise identical.
|
||||
#
|
||||
# See https://github.com/wolfSSL/Arduino-wolfSSL
|
||||
#
|
||||
# To test locally:
|
||||
# cd [your WOLFSSL_ROOT], e.g. cd /mnt/c/workspace/wolfssl-$USER
|
||||
# [optional checkout] e.g. git checkout tags/v5.8.2-stable
|
||||
# pushd ./IDE/ARDUINO
|
||||
# export ARDUINO_ROOT="$HOME/Arduino/libraries"
|
||||
# ./wolfssl-arduino.sh INSTALL
|
||||
# cd [your WOLFSSL_EXAMPLES_ROOT] e.g. /mnt/c/workspace/wolfssl-examples-$USER
|
||||
#
|
||||
|
||||
# START OF COMMON SECTION
|
||||
on:
|
||||
push:
|
||||
branches: [ '**', 'master', 'main', 'release/**' ]
|
||||
paths:
|
||||
- '.github/workflows/arduino.yml'
|
||||
- 'IDE/ARDUINO/**'
|
||||
- 'src/**'
|
||||
- 'wolfcrypt/**'
|
||||
- 'wolfssl/**'
|
||||
pull_request:
|
||||
branches: [ '**' ]
|
||||
paths:
|
||||
- 'github/workflows/arduino.yml'
|
||||
- 'IDE/ARDUINO/**'
|
||||
- 'src/**'
|
||||
- 'wolfcrypt/**'
|
||||
- 'wolfssl/**'
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
# END OF COMMON SECTION
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
REPO_OWNER: ${{ github.repository_owner }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Arduino CLI
|
||||
run: |
|
||||
# Script to fetch and run install.sh from arduino/arduino-cli
|
||||
|
||||
# The install script will test to see if the recently installed apps in in the path
|
||||
# So set it up in advance:
|
||||
mkdir -p "${PWD}/bin"
|
||||
echo "${PWD}/bin" >> $GITHUB_PATH
|
||||
|
||||
# Sets the install directory to a consistent path at the repo root.
|
||||
ROOT_BIN="$GITHUB_WORKSPACE/bin"
|
||||
|
||||
# Ensures that BINDIR exists before the installer runs
|
||||
mkdir -p "$ROOT_BIN"
|
||||
|
||||
# Save as a lobal environment variable
|
||||
echo "$ROOT_BIN" >> "$GITHUB_PATH"
|
||||
|
||||
# Download and run install script from Arduino:
|
||||
# -S show errors; -L follow redirects; -v Verbose
|
||||
set +e # don't abort on error
|
||||
set -o pipefail
|
||||
|
||||
curl -vSL --retry 5 --retry-delay 10 \
|
||||
https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh \
|
||||
| sh -x
|
||||
rc=$?
|
||||
c_rc=${PIPESTATUS[0]} # curl's exit code
|
||||
s_rc=${PIPESTATUS[1]} # sh's exit code
|
||||
|
||||
set -e # restore default abort-on-error
|
||||
|
||||
# If there was a curl error, we have our own local copy that is more reliable and can add our own debugging
|
||||
if [ "$rc" -ne 0 ]; then
|
||||
echo "Primary install failed: curl=$c_rc, sh=$s_rc. Falling back..." >&2
|
||||
echo "Using local copy of arduino_install.sh"
|
||||
pushd ./Arduino/sketches
|
||||
chmod +x ./arduino_install.sh
|
||||
|
||||
# Mimic curl install, does not use current directory:
|
||||
BINDIR="$ROOT_BIN" sh -x ./arduino_install.sh
|
||||
popd
|
||||
else
|
||||
echo "Alternative install script not needed."
|
||||
fi
|
||||
|
||||
- name: Confirm Arduino CLI install
|
||||
run: arduino-cli version
|
||||
|
||||
- name: Setup Arduino CLI
|
||||
run: |
|
||||
arduino-cli config init
|
||||
arduino-cli core update-index
|
||||
arduino-cli config add board_manager.additional_urls https://www.pjrc.com/teensy/package_teensy_index.json
|
||||
arduino-cli core update-index
|
||||
arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
|
||||
arduino-cli core update-index
|
||||
arduino-cli core install esp32:esp32 # ESP32
|
||||
arduino-cli core install arduino:avr # Arduino Uno, Mega, Nano
|
||||
arduino-cli core install arduino:sam # Arduino Due
|
||||
arduino-cli core install arduino:samd # Arduino Zero
|
||||
arduino-cli core install teensy:avr # PJRC Teensy
|
||||
arduino-cli core install esp8266:esp8266 # ESP8266
|
||||
arduino-cli core install arduino:mbed_nano # nanorp2040connect
|
||||
arduino-cli core install arduino:mbed_portenta # portenta_h7_m7
|
||||
arduino-cli core install arduino:mbed_edge
|
||||
# sudo "/home/$USER/.arduino15/packages/arduino/hardware/mbed_nano/4.2.4/post_install.sh"
|
||||
arduino-cli core install arduino:renesas_uno
|
||||
arduino-cli lib install "ArduinoJson" # Example dependency
|
||||
arduino-cli lib install "WiFiNINA" # ARDUINO_SAMD_NANO_33_IOT
|
||||
arduino-cli lib install "Ethernet" # Install Ethernet library
|
||||
arduino-cli lib install "Bridge" # Pseudo-network for things like arduino:samd:tian
|
||||
|
||||
- name: Set job environment variables
|
||||
run: |
|
||||
# Script to assign some common environment variables after everything is installed
|
||||
|
||||
ICON_OK=$(printf "\xE2\x9C\x85")
|
||||
ICON_FAIL=$(printf "\xE2\x9D\x8C")
|
||||
|
||||
echo "GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")" >> "$GITHUB_ENV"
|
||||
echo "ARDUINO_ROOT=$(realpath "$HOME/Arduino/libraries")" >> "$GITHUB_ENV"
|
||||
|
||||
# Show predefined summary:
|
||||
echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE"
|
||||
|
||||
# Show assigned build:env values (e.g. "wolfssl", "gojimmpi" or other owners):
|
||||
echo "REPO_OWNER = $REPO_OWNER"
|
||||
|
||||
echo "GITHUB_ENV=$GITHUB_ENV"
|
||||
|
||||
# Show our custom values:
|
||||
echo "GITHUB_WORK = $GITHUB_WORK"
|
||||
echo "ARDUINO_ROOT = $ARDUINO_ROOT"
|
||||
|
||||
# WOLFSSL_EXAMPLES_ROOT is the repo root, not example location
|
||||
echo "WOLFSSL_EXAMPLES_ROOT = $WOLFSSL_EXAMPLES_ROOT"
|
||||
|
||||
- name: Get wolfssl-examples
|
||||
run: |
|
||||
# Fetch Arduino examples from the wolfssl-examples repo
|
||||
echo "Start pwd:"
|
||||
pwd
|
||||
# we're typically in $GITHUB_WORKSPACE=/home/runner/work/wolfssl/wolfssl
|
||||
# goto /home/runner/work to fetch wolfssl-examples
|
||||
|
||||
echo "Current pwd for wolfssl-examples clone fetch: $(pwd)"
|
||||
GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")
|
||||
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
|
||||
|
||||
# Typically /home/runner/work
|
||||
echo "GITHUB_WORK=$GITHUB_WORK"
|
||||
|
||||
pushd "$GITHUB_WORK"
|
||||
echo "Updated pwd for wolfssl-examples clone fetch: $(pwd)"
|
||||
|
||||
git clone --depth 1 https://github.com/$REPO_OWNER/wolfssl-examples.git wolfssl-examples-publish
|
||||
|
||||
cd ./wolfssl-examples-publish
|
||||
echo "WOLFSSL_EXAMPLES_ROOT=$(pwd)"
|
||||
|
||||
echo "Path for wolfssl-examples-publish: $(pwd)"
|
||||
popd # GITHUB_WORK
|
||||
|
||||
|
||||
# ** END ** Get wolfssl-examples
|
||||
|
||||
- name: Install wolfSSL Arduino library
|
||||
run: |
|
||||
# Run the local wolfssl-arduino.sh install script to install wolfssl Arduino library.
|
||||
|
||||
# Methods of installing Arduino library:
|
||||
# 1) arduino-cli lib install "wolfSSL"
|
||||
# 2) manual copy of files (typical of the Arduino-wolfssl repo)
|
||||
# 3) run ./wolfssl-arduino.sh INSTALL (typical of the wolfssl repo)
|
||||
|
||||
echo "Current pwd for wolfssl-examples clone fetch: $(pwd)"
|
||||
GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")
|
||||
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
|
||||
|
||||
# Typically /home/runner/work
|
||||
echo "GITHUB_WORK=$GITHUB_WORK"
|
||||
pwd
|
||||
pushd ./IDE/ARDUINO
|
||||
|
||||
# Set default ARDUINO_ROOT to Arduino library.
|
||||
export ARDUINO_ROOT="$HOME/Arduino/libraries"
|
||||
export WOLFSSL_EXAMPLES_ROOT="$GITHUB_WORK/wolfssl-examples-publish"
|
||||
|
||||
echo "ARDUINO_ROOT: $WOLFSSL_EXAMPLES_ROOT"
|
||||
echo "WOLFSSL_EXAMPLES_ROOT: $WOLFSSL_EXAMPLES_ROOT"
|
||||
|
||||
bash ./wolfssl-arduino.sh INSTALL # Install wolfSSL library
|
||||
popd
|
||||
|
||||
# ** END ** Install wolfSSL Arduino library
|
||||
|
||||
- name: List installed Arduino libraries
|
||||
run: arduino-cli lib list
|
||||
|
||||
- name: Get compile-all-examples.sh
|
||||
run: |
|
||||
# Fetch compile script FROM THE CURRENT OWNER.
|
||||
# This repo is Arduino-wolfssl; we'll fetch the script from the wolfssl-examples for the same repository owner.
|
||||
echo "Repository owner: $REPO_OWNER"
|
||||
echo "Current directory: $PWD"
|
||||
echo "Current pwd for wolfssl-examples clone fetch: $PWD"
|
||||
WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples"
|
||||
THIS_BOARD_LIST="board_list.txt"
|
||||
echo "WOLFSSL_EXAMPLES_DIRECTORY=$WOLFSSL_EXAMPLES_DIRECTORY"
|
||||
|
||||
# Fetch script and board list into WOLFSSL_EXAMPLES_DIRECTORY
|
||||
echo "Fetching board_list.txt from REPO_OWNER=$REPO_OWNER"
|
||||
curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/board_list.txt" -o "$WOLFSSL_EXAMPLES_DIRECTORY/$THIS_BOARD_LIST"
|
||||
|
||||
# Check if the first line is "404: Not Found" - which would indicate the curl path above is bad.
|
||||
FILE="$WOLFSSL_EXAMPLES_DIRECTORY/board_list.txt"
|
||||
|
||||
# Ensure the file exists
|
||||
if [[ ! -f "$FILE" ]]; then
|
||||
echo "File not found: $FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if the first line is "404: Not Found"
|
||||
if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then
|
||||
echo "The first line is '404: Not Found'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Fetch the compile script from repo: https://github.com/[$USER]/wolfssl-examples/
|
||||
echo "Fetching compile-all-examples.sh from REPO_OWNER=$REPO_OWNER"
|
||||
curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/compile-all-examples.sh" -o "$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh"
|
||||
|
||||
# Check if the first line is "404: Not Found" - which would indicate the curl path above is bad.
|
||||
FILE="$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh"
|
||||
|
||||
# Ensure the file exists
|
||||
if [[ ! -f "$FILE" ]]; then
|
||||
echo "File not found: $FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if the first line is "404: Not Found"
|
||||
if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then
|
||||
echo "The first line is '404: Not Found'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd "$WOLFSSL_EXAMPLES_DIRECTORY"
|
||||
echo "Current directory: $PWD"
|
||||
|
||||
echo "Current directory $PWD"
|
||||
echo "Contents:"
|
||||
ls -al
|
||||
find ./ -type f | sort
|
||||
|
||||
# ensure we can execute the script here (permissions lost during curl fetch)
|
||||
chmod +x ./compile-all-examples.sh
|
||||
echo "Found compile script: $(ls -al ./compile-all-examples.sh ./$THIS_BOARD_LIST)"
|
||||
popd
|
||||
|
||||
# ** END ** Get compile-all-examples.sh
|
||||
|
||||
# This will fail with Arduino published wolfSSL v5.7.6 and older
|
||||
# as the examples moved. See https://github.com/wolfSSL/wolfssl/pull/8514
|
||||
#
|
||||
- name: Compile Arduino Sketches for Various Boards
|
||||
run: |
|
||||
# Call the compile-all-examples.sh script to compile all the examples for each of the fqbn names in the local copy of board_list.txt
|
||||
|
||||
echo "Current directory: $PWD"
|
||||
echo "ARDUINO_ROOT: $ARDUINO_ROOT"
|
||||
WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples"
|
||||
echo "WOLFSSL_EXAMPLES_DIRECTORY: $WOLFSSL_EXAMPLES_DIRECTORY"
|
||||
|
||||
echo "Change directory to Arduino examples..."
|
||||
pushd "$WOLFSSL_EXAMPLES_DIRECTORY"
|
||||
echo "Current directory: $PWD"
|
||||
echo "Calling ./compile-all-examples.sh"
|
||||
bash ./compile-all-examples.sh
|
||||
popd
|
||||
# End Compile Arduino Sketches for Various Boards
|
||||
@@ -79,6 +79,7 @@ jobs:
|
||||
lookup-only: true
|
||||
|
||||
- name: Checkout hostap
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: git clone git://w1.fi/hostap.git hostap
|
||||
|
||||
build_uml_linux:
|
||||
|
||||
@@ -14,8 +14,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
make_check:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
runs-on: macos-latest
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 5
|
||||
|
||||
@@ -59,6 +59,7 @@ jobs:
|
||||
'--enable-lms=small,verify-only --enable-xmss=small,verify-only',
|
||||
'--disable-sys-ca-certs',
|
||||
'--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ',
|
||||
'--enable-all CFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"',
|
||||
]
|
||||
name: make check
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
|
||||
@@ -45,8 +45,8 @@ jobs:
|
||||
- name: Confirm packages built
|
||||
run: |
|
||||
DEB_COUNT=$(find -name 'libwolfssl*.deb' | wc -l)
|
||||
if [ "$DEB_COUNT" != "2" ]; then
|
||||
echo Did not find exactly two deb packages!!!
|
||||
if [ "$DEB_COUNT" != "3" ]; then
|
||||
echo Did not find exactly three deb packages!!!
|
||||
exit 1
|
||||
fi
|
||||
# disabled 20240919 -- broken target.
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
name: Build Rust Wrapper
|
||||
|
||||
# START OF COMMON SECTION
|
||||
on:
|
||||
push:
|
||||
branches: [ 'master', 'main', 'release/**' ]
|
||||
pull_request:
|
||||
branches: [ '*' ]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
# END OF COMMON SECTION
|
||||
|
||||
jobs:
|
||||
build_wolfssl:
|
||||
name: Build wolfSSL Rust Wrapper
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
runs-on: ubuntu-24.04
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Build wolfSSL
|
||||
uses: wolfSSL/actions-build-autotools-project@v1
|
||||
with:
|
||||
path: wolfssl
|
||||
configure: --enable-all
|
||||
- name: Build Rust Wrapper
|
||||
working-directory: wolfssl
|
||||
run: make -C wrapper/rust
|
||||
- name: Run Rust Wrapper Tests
|
||||
working-directory: wolfssl
|
||||
run: make -C wrapper/rust test
|
||||
@@ -62,6 +62,9 @@ jobs:
|
||||
uses: open-watcom/setup-watcom@v0
|
||||
with:
|
||||
version: ${{ matrix.platform.owimage }}
|
||||
tag: 2025-09-01-Build
|
||||
# Currently fixed to this build because of latest compiler error:
|
||||
# file clbrdll.lib(fltuse80): undefined symbol _SetLD80bit_
|
||||
|
||||
- name: Checkout wolfSSL
|
||||
uses: actions/checkout@v4
|
||||
|
||||
+5
-1
@@ -33,7 +33,7 @@ aclocal.m4
|
||||
aminclude.am
|
||||
lt*.m4
|
||||
Makefile.in
|
||||
Makefile
|
||||
/Makefile
|
||||
depcomp
|
||||
missing
|
||||
libtool
|
||||
@@ -449,6 +449,7 @@ MagicCrypto
|
||||
# debian packaging
|
||||
debian/changelog
|
||||
debian/control
|
||||
debian/rules
|
||||
*.deb
|
||||
|
||||
# Ada/Alire files
|
||||
@@ -457,6 +458,9 @@ wrapper/Ada/config/
|
||||
wrapper/Ada/lib/
|
||||
wrapper/Ada/obj/
|
||||
|
||||
# Rust wrapper files
|
||||
/wrapper/rust/*/target/
|
||||
|
||||
# PlatformIO
|
||||
/**/.pio
|
||||
/**/.vscode/.browse.c_cpp.db*
|
||||
|
||||
@@ -2,6 +2,7 @@ AES_GCM_GMULT_NCT
|
||||
AFX_RESOURCE_DLL
|
||||
AFX_TARG_ENU
|
||||
ALLOW_BINARY_MISMATCH_INTROSPECTION
|
||||
ALLOW_SELFSIGNED_INVALID_CERTSIGN
|
||||
ALLOW_V1_EXTENSIONS
|
||||
ANDROID
|
||||
APP_ESP_HTTP_CLIENT
|
||||
@@ -16,9 +17,14 @@ ARDUINO_ARCH_NRF52
|
||||
ARDUINO_ARCH_RP2040
|
||||
ARDUINO_ARCH_SAMD
|
||||
ARDUINO_ARCH_STM32
|
||||
ARDUINO_AVR_ETHERNET
|
||||
ARDUINO_AVR_LEONARDO_ETH
|
||||
ARDUINO_SAMD_MKR1000
|
||||
ARDUINO_SAMD_NANO_33_IOT
|
||||
ARDUINO_SAMD_ZERO
|
||||
ARDUINO_SAM_DUE
|
||||
ARDUINO_SEEED_XIAO
|
||||
ARDUINO_TEENSY40
|
||||
ARDUINO_TEENSY41
|
||||
ASN_DUMP_OID
|
||||
ASN_TEMPLATE_SKIP_ISCA_CHECK
|
||||
@@ -206,17 +212,20 @@ ENABLE_SECURE_SOCKETS_LOGS
|
||||
ESP32
|
||||
ESP8266
|
||||
ESP_ENABLE_WOLFSSH
|
||||
ESP_IDF_VERSION
|
||||
ESP_IDF_VERSION_MAJOR
|
||||
ESP_IDF_VERSION_MINOR
|
||||
ESP_PLATFORM
|
||||
ESP_TASK_MAIN_STACK
|
||||
ETHERNET_AVAILABLE
|
||||
ETHERNET_H
|
||||
EV_TRIGGER
|
||||
EXTERNAL_LOADER_APP
|
||||
FORCE_FAILURE_GETRANDOM
|
||||
FP_ECC_CONTROL
|
||||
FREERTOS_TCP_WINSIM
|
||||
FREESCALE
|
||||
FREESCALE_MQX
|
||||
FREESCALE_RNGB
|
||||
FREESCALE_USE_MMCAU_CLASSIC
|
||||
FSL_FEATURE_HAS_L1CACHE
|
||||
@@ -559,6 +568,7 @@ USE_SECRET_CALLBACK
|
||||
USE_STSAFE_RNG_SEED
|
||||
USE_STSAFE_VERBOSE
|
||||
USE_TLSV13
|
||||
USE_WINDOWS_API
|
||||
USE_WOLF_STRNSTR
|
||||
USS_API
|
||||
WC_AESXTS_STREAM_NO_REQUEST_ACCOUNTING
|
||||
@@ -604,11 +614,15 @@ WC_RSA_NO_FERMAT_CHECK
|
||||
WC_SHA384
|
||||
WC_SHA384_DIGEST_SIZE
|
||||
WC_SHA512
|
||||
WC_SKIP_INCLUDED_C_FILES
|
||||
WC_SSIZE_TYPE
|
||||
WC_STRICT_SIG
|
||||
WC_WANT_FLAG_DONT_USE_AESNI
|
||||
WC_XMSS_FULL_HASH
|
||||
WIFIESPAT
|
||||
WIFI_101
|
||||
WIFI_AVAILABLE
|
||||
WIFI_NINA
|
||||
WIN_REUSE_CRYPT_HANDLE
|
||||
WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
|
||||
WOLFSENTRY_H
|
||||
@@ -660,7 +674,6 @@ WOLFSSL_CAAM_BLACK_KEY_SM
|
||||
WOLFSSL_CAAM_NO_BLACK_KEY
|
||||
WOLFSSL_CALLBACKS
|
||||
WOLFSSL_CHECK_DESKEY
|
||||
WOLFSSL_CHECK_MEM_ZERO
|
||||
WOLFSSL_CHIBIOS
|
||||
WOLFSSL_CLANG_TIDY
|
||||
WOLFSSL_CLIENT_EXAMPLE
|
||||
@@ -756,7 +769,6 @@ WOLFSSL_MULTICIRCULATE_ALTNAMELIST
|
||||
WOLFSSL_NONBLOCK_OCSP
|
||||
WOLFSSL_NOSHA3_384
|
||||
WOLFSSL_NOT_WINDOWS_API
|
||||
WOLFSSL_NO_ATOMIC
|
||||
WOLFSSL_NO_BIO_ADDR_IN
|
||||
WOLFSSL_NO_CLIENT
|
||||
WOLFSSL_NO_CLIENT_CERT_ERROR
|
||||
@@ -952,6 +964,7 @@ __ARM_ARCH_7M__
|
||||
__ARM_FEATURE_CRYPTO
|
||||
__ASSEMBLER__
|
||||
__ATOMIC_RELAXED
|
||||
__AVR_ARCH__
|
||||
__AVR__
|
||||
__BCPLUSPLUS__
|
||||
__BIG_ENDIAN__
|
||||
@@ -984,6 +997,7 @@ __LINUX__
|
||||
__LP64
|
||||
__LP64__
|
||||
__MACH__
|
||||
__MEGAAVR__
|
||||
__MICROBLAZE__
|
||||
__MINGW32__
|
||||
__MINGW64_VERSION_MAJOR
|
||||
@@ -1006,6 +1020,8 @@ __SAM3X4C__
|
||||
__SAM3X4E__
|
||||
__SAM3X8C__
|
||||
__SAM3X8E__
|
||||
__SAMD21__
|
||||
__SAMD51__
|
||||
__SANITIZE_ADDRESS__
|
||||
__SDCC_VERSION_MAJOR
|
||||
__SDCC_VERSION_MINOR
|
||||
|
||||
@@ -2689,6 +2689,7 @@ if(WOLFSSL_EXAMPLES)
|
||||
tests/api/test_ossl_ec.c
|
||||
tests/api/test_ossl_ecx.c
|
||||
tests/api/test_ossl_dsa.c
|
||||
tests/api/test_tls13.c
|
||||
tests/srp.c
|
||||
tests/suites.c
|
||||
tests/w64wrapper.c
|
||||
|
||||
+4
-4
@@ -9,7 +9,7 @@ NOTE: * wolfSSL is now GPLv3 instead of GPLv2
|
||||
* MD5 is now disabled by default
|
||||
|
||||
|
||||
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request number where the code change was added.
|
||||
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added.
|
||||
|
||||
## Vulnerabilities
|
||||
|
||||
@@ -208,7 +208,7 @@ https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assur
|
||||
|
||||
NOTE: * --enable-heapmath is deprecated
|
||||
|
||||
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
|
||||
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
|
||||
number where the code change was added.
|
||||
|
||||
|
||||
@@ -424,7 +424,7 @@ NOTE:
|
||||
user_settings.h.
|
||||
|
||||
|
||||
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
|
||||
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
|
||||
number where the code change was added.
|
||||
|
||||
|
||||
@@ -544,7 +544,7 @@ https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assur
|
||||
|
||||
NOTE: * --enable-heapmath is being deprecated and will be removed by end of 2024
|
||||
|
||||
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request
|
||||
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request
|
||||
number where the code change was added.
|
||||
|
||||
|
||||
|
||||
@@ -2,5 +2,4 @@ FROM debian:latest
|
||||
|
||||
RUN apt-get -y update
|
||||
RUN apt-get -y upgrade
|
||||
RUN apt-get install -y build-essential autoconf gawk debhelper lintian
|
||||
|
||||
RUN apt-get install -y build-essential autoconf gawk debhelper lintian dpkg-dev
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# wolfSSL with Arduino
|
||||
|
||||
See the [example sketches](./sketches/README.md):
|
||||
|
||||
NOTE: Moving; See https://github.com/wolfSSL/wolfssl-examples/pull/499
|
||||
See the [example sketches](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino):
|
||||
|
||||
Bare-bones templates:
|
||||
|
||||
- [sketches/wolfssl_version](./sketches/wolfssl_version/README.md) single file.
|
||||
- [sketches/template](./sketches/template/README.md) multiple file example.
|
||||
- [sketches/wolfssl_version](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_version/README.md) single file.
|
||||
- [sketches/template](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/template/README.md) multiple file example.
|
||||
|
||||
Functional examples:
|
||||
- [sketches/wolfssl_AES_CTR](./sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt.
|
||||
- [sketches/wolfssl_client](./sketches/wolfssl_client/README.md) TLS Client.
|
||||
- [sketches/wolfssl_server](./sketches/wolfssl_server/README.md) TLS Server.
|
||||
- [sketches/wolfssl_AES_CTR](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt.
|
||||
- [sketches/wolfssl_client](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client/README.md) TLS Client.
|
||||
- [sketches/wolfssl_server](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server/README.md) TLS Server.
|
||||
- [sketches/wolfssl_client_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client_dtls/README.md) DTLS Client.
|
||||
- [sketches/wolfssl_server_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server_dtls/README.md) DTLS Server.
|
||||
|
||||
Both the `template` and `wolfssl_AES_CTR` examples include VisualGDB project files.
|
||||
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
# The Arduino library include file is "wolfssl.h" (all lower case)
|
||||
# The Published wolfSSL Arduino Registry is at https://github.com/wolfSSL/Arduino-wolfSSL.git
|
||||
# See https://downloads.arduino.cc/libraries/logs/github.com/wolfSSL/Arduino-wolfSSL/
|
||||
#
|
||||
echo "wolfssl-arduino.sh v5.8.2 rev B"
|
||||
|
||||
ROOT_DIR="/wolfssl"
|
||||
|
||||
# The Arduino Version will initially have a suffix appended during fine tuning stage.
|
||||
@@ -70,18 +73,24 @@ if [ "$ROOT_DIR" = "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$ARDUINO_ROOT" = "" ]; then
|
||||
echo "No ARDUINO_ROOT export... detecting..."
|
||||
ARDUINO_ROOT="$HOME/Arduino/libraries"
|
||||
|
||||
ARDUINO_ROOT="$HOME/Arduino/libraries"
|
||||
|
||||
# Check environment
|
||||
if [ -n "$WSL_DISTRO_NAME" ]; then
|
||||
# we found a non-blank WSL environment distro name
|
||||
current_path="$(pwd)"
|
||||
pattern="/mnt/?"
|
||||
if echo "$current_path" | grep -Eq "^$pattern"; then
|
||||
# if we are in WSL and shared Windows file system, 'ln' does not work.
|
||||
ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries"
|
||||
# Check environment
|
||||
if [ -n "$WSL_DISTRO_NAME" ]; then
|
||||
# we found a non-blank WSL environment distro name
|
||||
echo "Found WSL: $WSL_DISTRO_NAME"
|
||||
current_path="$(pwd)"
|
||||
pattern="/mnt/?"
|
||||
if echo "$current_path" | grep -Eq "^$pattern"; then
|
||||
# if we are in WSL and shared Windows file system, 'ln' does not work.
|
||||
ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries"
|
||||
echo "ARDUINO_ROOT set to $ARDUINO_ROOT"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Using export ARDUINO_ROOT"
|
||||
fi
|
||||
echo "The Arduino library root is: $ARDUINO_ROOT"
|
||||
|
||||
@@ -173,7 +182,7 @@ THIS_DIR=${PWD##*/}
|
||||
if [ "$THIS_DIR" = "ARDUINO" ]; then
|
||||
# mkdir ./wolfssl
|
||||
if [ -d ".${ROOT_DIR}" ]; then
|
||||
echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty"
|
||||
echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty; failed prior install? Please remove."
|
||||
exit 1
|
||||
else
|
||||
echo "Step 01: mkdir .${ROOT_DIR}"
|
||||
@@ -267,6 +276,7 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
|
||||
echo "Destination EXAMPLES_DIR=.${EXAMPLES_DIR}"
|
||||
echo "EXAMPLES_DIR_REAL_PATH=${EXAMPLES_DIR_REAL_PATH}"
|
||||
|
||||
# Only explicit source code is copied to the Arduino library. Edit with caution, no automation:
|
||||
if [ -n "$WOLFSSL_EXAMPLES_ROOT" ]; then
|
||||
echo "Copy template example...."
|
||||
mkdir -p ".${EXAMPLES_DIR}"/template/wolfssl_library/src
|
||||
@@ -279,23 +289,33 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
|
||||
|
||||
echo "Copy wolfssl_AES_CTR example...."
|
||||
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_AES_CTR
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1
|
||||
|
||||
echo "Copy wolfssl_client example...."
|
||||
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1
|
||||
|
||||
echo "Copy wolfssl_client_dtls example...."
|
||||
mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client_dtls
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/wolfssl_client_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_client_dtls/wolfssl_client_dtls.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_client_dtls/README.md || exit 1
|
||||
|
||||
echo "Copy wolfssl_server example...."
|
||||
mkdir -p .${EXAMPLES_DIR}/wolfssl_server
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1
|
||||
|
||||
echo "Copy wolfssl_server_dtls example...."
|
||||
mkdir -p .${EXAMPLES_DIR}/wolfssl_server_dtls
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/wolfssl_server_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_server_dtls/wolfssl_server_dtls.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_server_dtls/README.md || exit 1
|
||||
|
||||
echo "Copy wolfssl_version example...."
|
||||
mkdir -p .${EXAMPLES_DIR}/wolfssl_version
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1
|
||||
$CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1
|
||||
else
|
||||
NO_ARDUINO_EXAMPLES=1
|
||||
fi
|
||||
@@ -364,27 +384,39 @@ if [ "$THIS_OPERATION" = "INSTALL" ]; then
|
||||
# Nearly an ordinary copy, but we remove any lines with ">>" (typically edit with caution warning in comments)
|
||||
grep -v '>>' ../../examples/configs/user_settings_arduino.h > ".${ROOT_SRC_DIR}"/user_settings.h || exit 1
|
||||
|
||||
# Show the user_settings.h revision string:
|
||||
echo "This user_settings.h revision string:"
|
||||
grep "WOLFSSL_USER_SETTINGS_ID" ."${ROOT_SRC_DIR}/user_settings.h"
|
||||
echo ""
|
||||
|
||||
if [ "$THIS_INSTALL_IS_GITHUB" = "true" ]; then
|
||||
echo "Installing to GitHub directory: $THIS_INSTALL_DIR"
|
||||
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
|
||||
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
|
||||
echo "Removing workspace library directory: .$ROOT_DIR"
|
||||
rm -rf ".$ROOT_DIR"
|
||||
rm -rf ".$ROOT_DIR" || exit 1
|
||||
else
|
||||
|
||||
echo "Installing to local directory:"
|
||||
if [ "$THIS_INSTALL_DIR" = "" ]; then
|
||||
echo "mv .$ROOT_DIR $ARDUINO_ROOT"
|
||||
mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
|
||||
if [ -n "$WSL_DISTRO_NAME" ]; then
|
||||
# setfattr not installed by default
|
||||
# echo "Set system.wsl_case_sensitive .$ROOT_DIR"
|
||||
# setfattr -x system.wsl_case_sensitive .$ROOT_DIR
|
||||
#
|
||||
# use copy instead of move to avoid possible system.wsl_case_sensitive warnings
|
||||
echo "cp -r .\"$ROOT_DIR\" \"$ARDUINO_ROOT\""
|
||||
cp -r ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
|
||||
|
||||
echo "rm -rf .\"$ROOT_DIR\""
|
||||
rm -rf ."$ROOT_DIR" || exit 1
|
||||
else
|
||||
echo "mv .$ROOT_DIR $ARDUINO_ROOT"
|
||||
mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1
|
||||
fi
|
||||
echo "Arduino wolfSSL Version: $WOLFSSL_VERSION$WOLFSSL_VERSION_ARUINO_SUFFIX"
|
||||
else
|
||||
echo "cp -r .\"$ROOT_DIR\"/* \"$THIS_INSTALL_DIR\""
|
||||
mkdir -p "$THIS_INSTALL_DIR" || exit 1
|
||||
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
|
||||
mkdir -p "$THIS_INSTALL_DIR" || exit 1
|
||||
cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# For the main project using ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "Adding mlongcalls")
|
||||
add_compile_options(-mlongcalls)
|
||||
add_link_options(-mlongcalls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Optional no watchdog typically used for test & benchmark
|
||||
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
|
||||
@@ -144,5 +157,15 @@ endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "mlongcalls for all components")
|
||||
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
project(wolfssl_template)
|
||||
message(STATUS "end project")
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
/* This user_settings.h is for Espressif ESP-IDF
|
||||
*
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
|
||||
*
|
||||
* Do not include any wolfssl headers here.
|
||||
*
|
||||
@@ -257,11 +257,6 @@
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* Pick a cert buffer size: */
|
||||
/* #define USE_CERT_BUFFERS_2048 */
|
||||
/* #define USE_CERT_BUFFERS_1024 */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* The Espressif sdkconfig will have chipset info.
|
||||
**
|
||||
** Some possible values:
|
||||
@@ -377,10 +372,6 @@
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
#define DEBUG_WOLFSSL_MALLOC
|
||||
|
||||
/* See test.c that sets cert buffers; we'll set them here: */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
@@ -678,9 +669,6 @@
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
#else
|
||||
/* default settings */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* Chipset detection from sdkconfig.h
|
||||
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
/* Optionally define custom cert arrays, sizes, and types here */
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#endif
|
||||
#endif /* Conditional key and cert constant names */
|
||||
|
||||
|
||||
@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# For the main project using ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "Adding mlongcalls")
|
||||
add_compile_options(-mlongcalls)
|
||||
add_link_options(-mlongcalls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Optional no watchdog typically used for test & benchmark
|
||||
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
|
||||
@@ -144,5 +157,15 @@ endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "mlongcalls for all components")
|
||||
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
project(wolfssl_benchmark)
|
||||
message(STATUS "end project")
|
||||
|
||||
+5
-20
@@ -30,7 +30,7 @@
|
||||
|
||||
/* This user_settings.h is for Espressif ESP-IDF
|
||||
*
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
|
||||
*
|
||||
* Do not include any wolfssl headers here.
|
||||
*
|
||||
@@ -257,11 +257,6 @@
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* Pick a cert buffer size: */
|
||||
/* #define USE_CERT_BUFFERS_2048 */
|
||||
/* #define USE_CERT_BUFFERS_1024 */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* The Espressif sdkconfig will have chipset info.
|
||||
**
|
||||
** Some possible values:
|
||||
@@ -377,10 +372,6 @@
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
#define DEBUG_WOLFSSL_MALLOC
|
||||
|
||||
/* See test.c that sets cert buffers; we'll set them here: */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
@@ -678,9 +669,6 @@
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
#else
|
||||
/* default settings */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* Chipset detection from sdkconfig.h
|
||||
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
/* Optionally define custom cert arrays, sizes, and types here */
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#endif
|
||||
#endif /* Conditional key and cert constant names */
|
||||
|
||||
|
||||
@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# For the main project using ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "Adding mlongcalls")
|
||||
add_compile_options(-mlongcalls)
|
||||
add_link_options(-mlongcalls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Optional no watchdog typically used for test & benchmark
|
||||
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
|
||||
@@ -144,5 +157,15 @@ endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "mlongcalls for all components")
|
||||
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
project(wolfssl_client)
|
||||
message(STATUS "end project")
|
||||
|
||||
+5
-20
@@ -30,7 +30,7 @@
|
||||
|
||||
/* This user_settings.h is for Espressif ESP-IDF
|
||||
*
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
|
||||
*
|
||||
* Do not include any wolfssl headers here.
|
||||
*
|
||||
@@ -257,11 +257,6 @@
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* Pick a cert buffer size: */
|
||||
/* #define USE_CERT_BUFFERS_2048 */
|
||||
/* #define USE_CERT_BUFFERS_1024 */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* The Espressif sdkconfig will have chipset info.
|
||||
**
|
||||
** Some possible values:
|
||||
@@ -377,10 +372,6 @@
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
#define DEBUG_WOLFSSL_MALLOC
|
||||
|
||||
/* See test.c that sets cert buffers; we'll set them here: */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
@@ -678,9 +669,6 @@
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
#else
|
||||
/* default settings */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* Chipset detection from sdkconfig.h
|
||||
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
/* Optionally define custom cert arrays, sizes, and types here */
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#endif
|
||||
#endif /* Conditional key and cert constant names */
|
||||
|
||||
|
||||
@@ -21,8 +21,23 @@
|
||||
#ifndef _CLIENT_TLS_H_
|
||||
#define _CLIENT_TLS_H_
|
||||
|
||||
/* Local project, auto-generated configuration */
|
||||
#include "sdkconfig.h"
|
||||
/* This example uses wolfssl test certificates */
|
||||
#if 1
|
||||
/* See wolfssl/certs_test.h */
|
||||
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
|
||||
defined(CONFIG_IDF_TARGET_ESP8684) || \
|
||||
defined(CONFIG_IDF_TARGET_ESP8266)
|
||||
/* Use smaller certs for low-memory devices */
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#else
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* always include smallest testing 32 byte RSA/ECC keys */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#else
|
||||
/* define your own certificate macros; see user_settings.h */
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# For the main project using ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "Adding mlongcalls")
|
||||
add_compile_options(-mlongcalls)
|
||||
add_link_options(-mlongcalls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Optional no watchdog typically used for test & benchmark
|
||||
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
|
||||
@@ -144,5 +157,15 @@ endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "mlongcalls for all components")
|
||||
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
project(wolfssl_server)
|
||||
message(STATUS "end project")
|
||||
|
||||
+5
-20
@@ -30,7 +30,7 @@
|
||||
|
||||
/* This user_settings.h is for Espressif ESP-IDF
|
||||
*
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
|
||||
*
|
||||
* Do not include any wolfssl headers here.
|
||||
*
|
||||
@@ -257,11 +257,6 @@
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* Pick a cert buffer size: */
|
||||
/* #define USE_CERT_BUFFERS_2048 */
|
||||
/* #define USE_CERT_BUFFERS_1024 */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* The Espressif sdkconfig will have chipset info.
|
||||
**
|
||||
** Some possible values:
|
||||
@@ -377,10 +372,6 @@
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
#define DEBUG_WOLFSSL_MALLOC
|
||||
|
||||
/* See test.c that sets cert buffers; we'll set them here: */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
@@ -678,9 +669,6 @@
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
#else
|
||||
/* default settings */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* Chipset detection from sdkconfig.h
|
||||
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
/* Optionally define custom cert arrays, sizes, and types here */
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#endif
|
||||
#endif /* Conditional key and cert constant names */
|
||||
|
||||
|
||||
@@ -21,6 +21,24 @@
|
||||
#ifndef _SERVER_TLS_
|
||||
#define _SERVER_TLS_
|
||||
|
||||
/* This example uses wolfssl test certificates */
|
||||
#if 1
|
||||
/* See wolfssl/certs_test.h */
|
||||
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
|
||||
defined(CONFIG_IDF_TARGET_ESP8684) || \
|
||||
defined(CONFIG_IDF_TARGET_ESP8266)
|
||||
/* Use smaller certs for low-memory devices */
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#else
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* always include smallest testing 32 byte RSA/ECC keys */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#else
|
||||
/* define your own certificate macros; see user_settings.h */
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h> /* includes wolfSSL user-settings.h */
|
||||
#include <wolfssl/ssl.h>
|
||||
#include "sdkconfig.h"
|
||||
|
||||
@@ -7,6 +7,19 @@ message(STATUS "Begin project ${CMAKE_PROJECT_NAME}")
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# For the main project using ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "Adding mlongcalls")
|
||||
add_compile_options(-mlongcalls)
|
||||
add_link_options(-mlongcalls)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Optional no watchdog typically used for test & benchmark
|
||||
if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1")
|
||||
@@ -144,5 +157,15 @@ endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# Once the project is loaded, next check for ESP-IDF version 6 or greater.
|
||||
# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered
|
||||
# So we'll allow long calls with the `-mlongcalls` compiler option for all components.
|
||||
if(IDF_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3")
|
||||
message(STATUS "mlongcalls for all components")
|
||||
idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
project(wolfssl_test)
|
||||
message(STATUS "end project")
|
||||
|
||||
+5
-20
@@ -30,7 +30,7 @@
|
||||
|
||||
/* This user_settings.h is for Espressif ESP-IDF
|
||||
*
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1
|
||||
* Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs
|
||||
*
|
||||
* Do not include any wolfssl headers here.
|
||||
*
|
||||
@@ -257,11 +257,6 @@
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* Pick a cert buffer size: */
|
||||
/* #define USE_CERT_BUFFERS_2048 */
|
||||
/* #define USE_CERT_BUFFERS_1024 */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* The Espressif sdkconfig will have chipset info.
|
||||
**
|
||||
** Some possible values:
|
||||
@@ -377,10 +372,6 @@
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
#define DEBUG_WOLFSSL_MALLOC
|
||||
|
||||
/* See test.c that sets cert buffers; we'll set them here: */
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* RSA_LOW_MEM: Half as much memory but twice as slow. */
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
@@ -678,9 +669,6 @@
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
#else
|
||||
/* default settings */
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
|
||||
/* Chipset detection from sdkconfig.h
|
||||
@@ -1058,10 +1046,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1085,10 +1072,9 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
#include <wolfssl/certs_test.h>
|
||||
/* Be sure to include in app, not here, when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@@ -1108,7 +1094,6 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
/* Optionally define custom cert arrays, sizes, and types here */
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#endif
|
||||
#endif /* Conditional key and cert constant names */
|
||||
|
||||
|
||||
@@ -0,0 +1,516 @@
|
||||
# Makefile for the INtime wolfSSL library component
|
||||
#
|
||||
SWENGENV := $(RMX_SRC_BASE)/tools/swenghg
|
||||
#
|
||||
# makefile -- defines the macros, directives and rules necessary to build the
|
||||
# wolfSSL library.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. This makefile is a "wrapper" makefile for the Visual Studio 80
|
||||
# INtime package project. The makefile provides RCS and component
|
||||
# release support not provided by the project's native visual Studio
|
||||
# makefile.
|
||||
#
|
||||
# 2. The SWENG environment assumes makefile execution from a Windows NT
|
||||
# environment.
|
||||
#
|
||||
# 3. The SWENG environment assumes that a user has Microsoft Network
|
||||
# access to the ESO server directories.
|
||||
#
|
||||
# 4. A SWENG makefile makes no assumptions concerning a user's command
|
||||
# path. All command pathnames are explicit. Furthermore, the
|
||||
# directory component of a pathname is defined by a macro that can be
|
||||
# overridden at makefile invocation.
|
||||
#
|
||||
# The same cannot be said for MS Developer Studio makefiles -- they
|
||||
# assume MSVC and Windows NT commands are in the user's path.
|
||||
#
|
||||
# 5. A SWENG makefile makes no assumptions concerning a user's environment
|
||||
# variable definitions.
|
||||
#
|
||||
# The same cannot be said for MS Developer Studio makefiles -- they
|
||||
# assume various environment variables are set properly to build their
|
||||
# components.
|
||||
#
|
||||
# 6. A SWENG makefile executes standard MKS and MSVC tools. Other tool
|
||||
# sets require additional macro and rule definition.
|
||||
#
|
||||
|
||||
# Default macros and directives.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. These files must always be included before all component-specific
|
||||
# macros and directives.
|
||||
|
||||
.INCLUDE:$(SWENGENV)/macros.wnt
|
||||
.INCLUDE:$(SWENGENV)/intimemacros.wnt
|
||||
|
||||
# Component and version number macros:
|
||||
#
|
||||
# COMPONENT: The name of the product component built by this makefile.
|
||||
# DUE TO THE IDIOSYNCRATIC NATURE OF RCS, THIS MACRO MUST NOT
|
||||
# CONTAIN ANY SPECIAL CHARACTERS, INCLUDING " " AND "."! For
|
||||
# example, the macro for the Real-Time Application Loader
|
||||
# could be defined as:
|
||||
#
|
||||
# COMPONENT := Real_Time_Application_Loader
|
||||
#
|
||||
# In the SWENG environment, a PRODUCT is the complete software
|
||||
# package sent to a customer (e.g., INtime V1.00). A PRODUCT
|
||||
# is composed of one or more COMPONENTs (e.g., Real-Time
|
||||
# Application Loader, NTX Library, etc.)
|
||||
#
|
||||
# When choosing names for new components, ensure that they
|
||||
# are unique.
|
||||
#
|
||||
# VERSION: The version number associated with the component(s) built
|
||||
# by this makefile. DUE TO THE IDIOSYNCRATIC NATURE OF RCS,
|
||||
# THIS MACRO MUST NOT CONTAIN ANY SPECIAL CHARACTERS,
|
||||
# INCLUDING " " AND "."! For example, the macro for version
|
||||
# 1.00 is defined:
|
||||
#
|
||||
# VERSION := 100
|
||||
#
|
||||
# NAME: A string used to name both the engineering version of the
|
||||
# component built by this makefile and the source files used
|
||||
# to build it.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. These macros must not be deleted or renamed. Their values should be
|
||||
# modified to match the components built by this makefile.
|
||||
#
|
||||
# 2. The "engineer" target will not complete unless the COMPONENT,
|
||||
# VERSION, and NAME macros are defined.
|
||||
|
||||
COMPONENT := wolfssl_intime
|
||||
VERSION := 572
|
||||
NAME := $(COMPONENT)_$(VERSION)
|
||||
|
||||
# MS Developer Studio project name and directory macros.
|
||||
#
|
||||
# PROJECT: The project name for this component.
|
||||
#
|
||||
# SUB_PROJECTS: The sub-project name(s) for this component.
|
||||
#
|
||||
# TARG_DIR: The target directory for component files, relative to the
|
||||
# project and sub-project directories (generally, "Debug" or
|
||||
# "Release").
|
||||
#
|
||||
# TARG_TYPE: The target type for the project and sub-projects
|
||||
# (generally, "Debug" or "Release").
|
||||
#
|
||||
# NOTES:
|
||||
# 1. These macros must not be deleted or renamed. Their values should be
|
||||
# modified to match the project/directory structure of the component(s)
|
||||
# built by this makefile. Unused macros values should be defined as
|
||||
# $(NULL).
|
||||
|
||||
PROJECT := wolfssl
|
||||
SUB_PROJECTS := $(NULL)
|
||||
.IF $(DEBUG)
|
||||
TARG_DIR := Debug
|
||||
TARG_TYPE := Debug
|
||||
.ELSE
|
||||
TARG_DIR := Release
|
||||
TARG_TYPE := Release
|
||||
.END
|
||||
|
||||
# MKS make search path for machine-generated files.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. All machine-generated target files that do not reside in the current
|
||||
# working directory require a .SOURCE directive. Otherwise, a .SOURCE
|
||||
# directive is optional (but will improve makefile performance).
|
||||
|
||||
.SOURCE.lib: $(TARG_DIR)
|
||||
|
||||
# File list macros:
|
||||
#
|
||||
# TARGETS: The component(s) built by this makefile. These are the files
|
||||
# built by the default rule ("make" or "make all").
|
||||
# LOGFILE: A log file containing revision data for the project members
|
||||
# (files) used to build the TARGETS. The file is built by the
|
||||
# "engineer" rule.
|
||||
# MAKEFILE: Makefile used to build the TARGETS (this file).
|
||||
# ASM: Assembly source code files used to build the TARGETS (.asm).
|
||||
# C: C source code files used to build the TARGETS (.c)
|
||||
# CPP: C++ source code files used to build the TARGETS (.cpp).
|
||||
# SRCS: The concatenation of ASM, C, and CPP.
|
||||
# HDRS: Header files used to build the TARGETS (.h, .hpp, .inc).
|
||||
# OBJ: Object files used to build the TARGETS (.obj).
|
||||
# DEBRIS: Machine-generated files to be deleted by the "clean" rule.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. These macros must not be deleted or renamed. Their values may be
|
||||
# modified to match the files used to build the component(s) associated
|
||||
# with this makefile.
|
||||
#
|
||||
# 2. The "engineer" rule will not complete unless the LOGFILE macro is
|
||||
# defined.
|
||||
|
||||
EXEC_TARGS := libwolfssl572.lib
|
||||
|
||||
SRC_TARGS := user_settings.h
|
||||
TARGETS := $(EXEC_TARGS)
|
||||
LOGFILE := $(PROJECT).txt
|
||||
MAKEFILE := makefile
|
||||
ASM :=
|
||||
C :=
|
||||
CPP :=
|
||||
RCFILE :=
|
||||
|
||||
SRCS :=
|
||||
OBJ :=
|
||||
CFGS :=
|
||||
|
||||
DEBRIS := $(LOGFILE) release* debug* *.sdf *.user *.aps *.bak *~
|
||||
|
||||
INCL_TARGS := wolfssl/callbacks.h \
|
||||
wolfssl/certs_test.h \
|
||||
wolfssl/crl.h \
|
||||
wolfssl/error-ssl.h \
|
||||
wolfssl/include.am \
|
||||
wolfssl/internal.h \
|
||||
wolfssl/ocsp.h \
|
||||
wolfssl/options.h \
|
||||
wolfssl/options.h.in \
|
||||
wolfssl/quic.h \
|
||||
wolfssl/sniffer.h \
|
||||
wolfssl/sniffer_error.h \
|
||||
wolfssl/sniffer_error.rc \
|
||||
wolfssl/ssl.h \
|
||||
wolfssl/test.h \
|
||||
wolfssl/version.h \
|
||||
wolfssl/version.h.in \
|
||||
wolfssl/wolfio.h \
|
||||
wolfssl/openssl/aes.h \
|
||||
wolfssl/openssl/asn1.h \
|
||||
wolfssl/openssl/asn1t.h \
|
||||
wolfssl/openssl/bio.h \
|
||||
wolfssl/openssl/bn.h \
|
||||
wolfssl/openssl/buffer.h \
|
||||
wolfssl/openssl/camellia.h \
|
||||
wolfssl/openssl/cmac.h \
|
||||
wolfssl/openssl/cms.h \
|
||||
wolfssl/openssl/compat_types.h \
|
||||
wolfssl/openssl/conf.h \
|
||||
wolfssl/openssl/crypto.h \
|
||||
wolfssl/openssl/des.h \
|
||||
wolfssl/openssl/dh.h \
|
||||
wolfssl/openssl/dsa.h \
|
||||
wolfssl/openssl/ec.h \
|
||||
wolfssl/openssl/ec448.h \
|
||||
wolfssl/openssl/ec25519.h \
|
||||
wolfssl/openssl/ecdh.h \
|
||||
wolfssl/openssl/ecdsa.h \
|
||||
wolfssl/openssl/ecdh.h \
|
||||
wolfssl/openssl/ecdsa.h \
|
||||
wolfssl/openssl/ed448.h \
|
||||
wolfssl/openssl/ed25519.h \
|
||||
wolfssl/openssl/engine.h \
|
||||
wolfssl/openssl/err.h \
|
||||
wolfssl/openssl/evp.h \
|
||||
wolfssl/openssl/fips_rand.h \
|
||||
wolfssl/openssl/hmac.h \
|
||||
wolfssl/openssl/include.am \
|
||||
wolfssl/openssl/kdf.h \
|
||||
wolfssl/openssl/lhash.h \
|
||||
wolfssl/openssl/md4.h \
|
||||
wolfssl/openssl/md5.h \
|
||||
wolfssl/openssl/modes.h \
|
||||
wolfssl/openssl/obj_mac.h \
|
||||
wolfssl/openssl/objects.h \
|
||||
wolfssl/openssl/ocsp.h \
|
||||
wolfssl/openssl/opensslconf.h \
|
||||
wolfssl/openssl/opensslv.h \
|
||||
wolfssl/openssl/ossl_typ.h \
|
||||
wolfssl/openssl/pem.h \
|
||||
wolfssl/openssl/pkcs7.h \
|
||||
wolfssl/openssl/pkcs12.h \
|
||||
wolfssl/openssl/rand.h \
|
||||
wolfssl/openssl/rc4.h \
|
||||
wolfssl/openssl/ripemd.h \
|
||||
wolfssl/openssl/rsa.h \
|
||||
wolfssl/openssl/sha.h \
|
||||
wolfssl/openssl/sha3.h \
|
||||
wolfssl/openssl/srp.h \
|
||||
wolfssl/openssl/ssl.h \
|
||||
wolfssl/openssl/ssl23.h \
|
||||
wolfssl/openssl/stack.h \
|
||||
wolfssl/openssl/tls1.h \
|
||||
wolfssl/openssl/txt_db.h \
|
||||
wolfssl/openssl/ui.h \
|
||||
wolfssl/openssl/x509.h \
|
||||
wolfssl/openssl/x509_vfy.h \
|
||||
wolfssl/openssl/x509v3.h \
|
||||
wolfssl/wolfcrypt/aes.h \
|
||||
wolfssl/wolfcrypt/arc4.h \
|
||||
wolfssl/wolfcrypt/asn.h \
|
||||
wolfssl/wolfcrypt/asn_public.h \
|
||||
wolfssl/wolfcrypt/async.h \
|
||||
wolfssl/wolfcrypt/blake2.h \
|
||||
wolfssl/wolfcrypt/blake2-impl.h \
|
||||
wolfssl/wolfcrypt/blake2-int.h \
|
||||
wolfssl/wolfcrypt/camellia.h \
|
||||
wolfssl/wolfcrypt/chacha.h \
|
||||
wolfssl/wolfcrypt/chacha20_poly1305.h \
|
||||
wolfssl/wolfcrypt/cmac.h \
|
||||
wolfssl/wolfcrypt/coding.h \
|
||||
wolfssl/wolfcrypt/compress.h \
|
||||
wolfssl/wolfcrypt/cpuid.h \
|
||||
wolfssl/wolfcrypt/cryptocb.h \
|
||||
wolfssl/wolfcrypt/curve448.h \
|
||||
wolfssl/wolfcrypt/curve25519.h \
|
||||
wolfssl/wolfcrypt/des3.h \
|
||||
wolfssl/wolfcrypt/dh.h \
|
||||
wolfssl/wolfcrypt/dilithium.h \
|
||||
wolfssl/wolfcrypt/dsa.h \
|
||||
wolfssl/wolfcrypt/ecc.h \
|
||||
wolfssl/wolfcrypt/eccsi.h \
|
||||
wolfssl/wolfcrypt/ed448.h \
|
||||
wolfssl/wolfcrypt/ed25519.h \
|
||||
wolfssl/wolfcrypt/error-crypt.h \
|
||||
wolfssl/wolfcrypt/ext_kyber.h \
|
||||
wolfssl/wolfcrypt/ext_lms.h \
|
||||
wolfssl/wolfcrypt/ext_xmss.h \
|
||||
wolfssl/wolfcrypt/falcon.h \
|
||||
wolfssl/wolfcrypt/fe_448.h \
|
||||
wolfssl/wolfcrypt/fe_operations.h \
|
||||
wolfssl/wolfcrypt/fips.h \
|
||||
wolfssl/wolfcrypt/fips_test.h \
|
||||
wolfssl/wolfcrypt/ge_448.h \
|
||||
wolfssl/wolfcrypt/ge_operations.h \
|
||||
wolfssl/wolfcrypt/hash.h \
|
||||
wolfssl/wolfcrypt/hmac.h \
|
||||
wolfssl/wolfcrypt/hpke.h \
|
||||
wolfssl/wolfcrypt/include.am \
|
||||
wolfssl/wolfcrypt/integer.h \
|
||||
wolfssl/wolfcrypt/kdf.h \
|
||||
wolfssl/wolfcrypt/kyber.h \
|
||||
wolfssl/wolfcrypt/lms.h \
|
||||
wolfssl/wolfcrypt/logging.h \
|
||||
wolfssl/wolfcrypt/md2.h \
|
||||
wolfssl/wolfcrypt/md4.h \
|
||||
wolfssl/wolfcrypt/md5.h \
|
||||
wolfssl/wolfcrypt/mem_track.h \
|
||||
wolfssl/wolfcrypt/memory.h \
|
||||
wolfssl/wolfcrypt/misc.h \
|
||||
wolfssl/wolfcrypt/mpi_class.h \
|
||||
wolfssl/wolfcrypt/mpi_superclass.h \
|
||||
wolfssl/wolfcrypt/pkcs7.h \
|
||||
wolfssl/wolfcrypt/pkcs11.h \
|
||||
wolfssl/wolfcrypt/pkcs12.h \
|
||||
wolfssl/wolfcrypt/poly1305.h \
|
||||
wolfssl/wolfcrypt/pwdbased.h \
|
||||
wolfssl/wolfcrypt/random.h \
|
||||
wolfssl/wolfcrypt/rc2.h \
|
||||
wolfssl/wolfcrypt/ripemd.h \
|
||||
wolfssl/wolfcrypt/rsa.h \
|
||||
wolfssl/wolfcrypt/sakke.h \
|
||||
wolfssl/wolfcrypt/selftest.h \
|
||||
wolfssl/wolfcrypt/settings.h \
|
||||
wolfssl/wolfcrypt/sha.h \
|
||||
wolfssl/wolfcrypt/sha3.h \
|
||||
wolfssl/wolfcrypt/sha256.h \
|
||||
wolfssl/wolfcrypt/sha512.h \
|
||||
wolfssl/wolfcrypt/signature.h \
|
||||
wolfssl/wolfcrypt/siphash.h \
|
||||
wolfssl/wolfcrypt/sm2.h \
|
||||
wolfssl/wolfcrypt/sm3.h \
|
||||
wolfssl/wolfcrypt/sm4.h \
|
||||
wolfssl/wolfcrypt/sp.h \
|
||||
wolfssl/wolfcrypt/sp_int.h \
|
||||
wolfssl/wolfcrypt/sphincs.h \
|
||||
wolfssl/wolfcrypt/srp.h \
|
||||
wolfssl/wolfcrypt/tfm.h \
|
||||
wolfssl/wolfcrypt/types.h \
|
||||
wolfssl/wolfcrypt/visibility.h \
|
||||
wolfssl/wolfcrypt/wc_encrypt.h \
|
||||
wolfssl/wolfcrypt/wc_kyber.h \
|
||||
wolfssl/wolfcrypt/wc_pkcs11.h \
|
||||
wolfssl/wolfcrypt/wc_port.h \
|
||||
wolfssl/wolfcrypt/wolfevent.h \
|
||||
wolfssl/wolfcrypt/wolfmath.h \
|
||||
wolfssl/wolfcrypt/xmss.h \
|
||||
wolfssl/wolfcrypt/port/nrf51.h \
|
||||
wolfssl/wolfcrypt/port/af_alg/afalg_hash.h \
|
||||
wolfssl/wolfcrypt/port/af_alg/wc_afalg.h \
|
||||
wolfssl/wolfcrypt/port/aria/aria-crypt.h \
|
||||
wolfssl/wolfcrypt/port/aria/aria-cryptocb.h \
|
||||
wolfssl/wolfcrypt/port/arm/cryptoCell.h \
|
||||
wolfssl/wolfcrypt/port/atmel/atmel.h \
|
||||
wolfssl/wolfcrypt/port/autosar/CryIf.h \
|
||||
wolfssl/wolfcrypt/port/autosar/Crypto.h \
|
||||
wolfssl/wolfcrypt/port/autosar/Csm.h \
|
||||
wolfssl/wolfcrypt/port/autosar/StandardTypes.h \
|
||||
wolfssl/wolfcrypt/port/caam/caam_driver.h \
|
||||
wolfssl/wolfcrypt/port/caam/caam_error.h \
|
||||
wolfssl/wolfcrypt/port/caam/caam_qnx.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_aes.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_cmac.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_ecdsa.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_fsl_nxp.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_hash.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_qnx.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_rsa.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_seco.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_sha.h \
|
||||
wolfssl/wolfcrypt/port/caam/wolfcaam_x25519.h \
|
||||
wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h \
|
||||
wolfssl/wolfcrypt/port/cavium/cavium_octeon_sync.h \
|
||||
wolfssl/wolfcrypt/port/cypress/psoc6_crypto.h \
|
||||
wolfssl/wolfcrypt/port/devcrypto/wc_devcrypto.h \
|
||||
wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h \
|
||||
wolfssl/wolfcrypt/port/Espressif/esp-sdk-lib.h \
|
||||
wolfssl/wolfcrypt/port/intel/quickassist.h \
|
||||
wolfssl/wolfcrypt/port/intel/quickassist_mem.h \
|
||||
wolfssl/wolfcrypt/port/intel/quickassist_sync.h \
|
||||
wolfssl/wolfcrypt/port/iotsafe/iotsafe.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/kcapi_dh.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/kcapi_ecc.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/kcapi_hash.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/kcapi_hmac.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/kcapi_rsa.h \
|
||||
wolfssl/wolfcrypt/port/kcapi/wc_kcapi.h \
|
||||
wolfssl/wolfcrypt/port/liboqs/liboqs.h \
|
||||
wolfssl/wolfcrypt/port/maxim/maxq10xx.h \
|
||||
wolfssl/wolfcrypt/port/nxp/dcp_port.h \
|
||||
wolfssl/wolfcrypt/port/nxp/ksdk_port.h \
|
||||
wolfssl/wolfcrypt/port/nxp/se050_port.h \
|
||||
wolfssl/wolfcrypt/port/pic32/pic32mz-crypt.h \
|
||||
wolfssl/wolfcrypt/port/psa/psa.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas_cmn.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas_sync.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas_tsip_types.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h \
|
||||
wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h \
|
||||
wolfssl/wolfcrypt/port/riscv/riscv-64-asm.h \
|
||||
wolfssl/wolfcrypt/port/silabs/silabs_aes.h \
|
||||
wolfssl/wolfcrypt/port/silabs/silabs_ecc.h \
|
||||
wolfssl/wolfcrypt/port/silabs/silabs_hash.h \
|
||||
wolfssl/wolfcrypt/port/silabs/silabs_random.h \
|
||||
wolfssl/wolfcrypt/port/st/stm32.h \
|
||||
wolfssl/wolfcrypt/port/st/stsafe.h \
|
||||
wolfssl/wolfcrypt/port/ti/ti-ccm.h \
|
||||
wolfssl/wolfcrypt/port/ti/ti-hash.h \
|
||||
wolfssl/wolfcrypt/port/xilinx/xil-sha3.h \
|
||||
wolfssl/wolfcrypt/port/xilinx/xil-versal-glue.h \
|
||||
wolfssl/wolfcrypt/port/xilinx/xil-versal-trng.h
|
||||
|
||||
|
||||
# Default rules.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. These files must always be included after the macro definitions and
|
||||
# before the component-specific rules.
|
||||
|
||||
.INCLUDE:$(SWENGENV)/rules.wnt
|
||||
.INCLUDE:$(SWENGENV)/intimerules.wnt
|
||||
|
||||
# Component-specific rules, including:
|
||||
#
|
||||
# prodeng: checks TARGETS into an engineering release directory using the
|
||||
# "puttarg.ksh" script.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. The "prodeng" rule must not be renamed or deleted! It should,
|
||||
# however, be modified to reflect the engineering release requirements
|
||||
# of the TARGETS.
|
||||
#
|
||||
# 2. Rules for each of the TARGETS should be added here.
|
||||
#
|
||||
# 3. Additional rules may be added as necessary. Care should be taken so
|
||||
# that rules defined in the rules.wnt file are not redefined here.
|
||||
|
||||
prodeng: "$(PROD_ENG)/rt/include/wolfssl572/wolfssl" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/af_alg" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \
|
||||
"$(PROD_ENG)/rt/lib"
|
||||
[@
|
||||
for f in $(EXEC_TARGS); do
|
||||
$(SWENGENV)/puttarg $(PROD_ENG)/rt/lib $(TARG_DIR)/$$f Engineer $(NAME) "$(MESSAGE)"
|
||||
done
|
||||
for f in $(SRC_TARGS); do
|
||||
$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572 $$f Engineer $(NAME) "$(MESSAGE)"
|
||||
done
|
||||
|
||||
for f in $(INCL_TARGS); do
|
||||
dir=`dirname $$f | gres "wolfssl(.*)" "\1"`
|
||||
if [ ! -d $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ] ; then
|
||||
mkdir $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir
|
||||
fi
|
||||
$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ../../$$f Engineer $(NAME) "$(MESSAGE)"
|
||||
done
|
||||
]
|
||||
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfcrypt/port/af_alg" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" \
|
||||
"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \
|
||||
"$(PROD_ENG)/rt/lib":
|
||||
$(MKSBIN)/mkdir -p $@
|
||||
|
||||
# Build project binaries, project help files, and sub-project binaries.
|
||||
#
|
||||
# NOTES:
|
||||
# 1. To ensure that the correct environment is present when invoking a MS
|
||||
# Developer Studio makefile, the rule initializes the required
|
||||
# environment variables in a sub-shell before invoking the makefile.
|
||||
#
|
||||
# 2. Path vectors are converted to Microsoft-style pathname slashes
|
||||
# via 'redmond.ksh' before passing them as environment variables to
|
||||
# Microsoft tools.
|
||||
|
||||
SOLUTIONFILE = wolfssl-lib.sln
|
||||
.INCLUDE: $(SWENGENV)/vs2019.wnt
|
||||
|
||||
$(EXEC_TARGS) .PROLOG: rt_tree
|
||||
[@
|
||||
rm -f msbuild.log
|
||||
msbuild $(SOLUTIONFILE) /t:Rebuild /p:Configuration=$(TARG_TYPE) /fileLogger
|
||||
ec=$$?
|
||||
if [ $$ec -ne 0 ]; then
|
||||
echo Failed to build $(@)
|
||||
else
|
||||
echo Success!
|
||||
fi
|
||||
exit $$ec
|
||||
]
|
||||
|
||||
@@ -10,4 +10,7 @@ EXTRA_DIST += \
|
||||
IDE/INTIME-RTOS/wolfExamples.c \
|
||||
IDE/INTIME-RTOS/wolfExamples.h \
|
||||
IDE/INTIME-RTOS/wolfExamples.vcxproj \
|
||||
IDE/INTIME-RTOS/wolfExamples.sln
|
||||
IDE/INTIME-RTOS/wolfExamples.sln \
|
||||
IDE/INTIME-RTOS/wolfssl-lib.sln \
|
||||
IDE/INTIME-RTOS/wolfssl-lib.vcxproj \
|
||||
IDE/INTIME-RTOS/Makefile
|
||||
|
||||
Executable → Regular
+234
-210
@@ -1,210 +1,234 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|INtime">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|INtime">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libwolfssl.c" />
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\sniffer.c" />
|
||||
<ClCompile Include="..\..\src\ssl.c" />
|
||||
<ClCompile Include="..\..\src\tls.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
<ClInclude Include="..\..\wolfssl\callbacks.h" />
|
||||
<ClInclude Include="..\..\wolfssl\certs_test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\crl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\error-ssl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\internal.h" />
|
||||
<ClInclude Include="..\..\wolfssl\ocsp.h" />
|
||||
<ClInclude Include="..\..\wolfssl\options.h" />
|
||||
<ClInclude Include="..\..\wolfssl\sniffer.h" />
|
||||
<ClInclude Include="..\..\wolfssl\sniffer_error.h" />
|
||||
<ClInclude Include="..\..\wolfssl\ssl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\version.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\aes.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\arc4.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn_public.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\async.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-impl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-int.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\camellia.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha20_poly1305.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\cmac.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\coding.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\compress.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\curve25519.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\des3.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\dh.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\dsa.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ecc.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ed25519.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\error-crypt.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\fe_operations.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\fips_test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ge_operations.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\hash.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\hmac.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\integer.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\logging.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md2.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md4.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md5.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\memory.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mem_track.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\misc.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_class.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_superclass.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs12.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs7.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\poly1305.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pwdbased.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\random.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ripemd.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\rsa.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\settings.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha256.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha512.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\signature.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\srp.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\tfm.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\types.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\visibility.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_encrypt.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_port.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfevent.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfmath.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{1731767D-573F-45C9-A466-191DA0D180CF}</ProjectGuid>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20052</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20052</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|INtime">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|INtime">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libwolfssl.c" />
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\dtls13.c" />
|
||||
<ClCompile Include="..\..\src\dtls.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\sniffer.c" />
|
||||
<ClCompile Include="..\..\src\ssl.c" />
|
||||
<ClCompile Include="..\..\src\tls.c" />
|
||||
<ClCompile Include="..\..\src\tls13.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2s.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cpuid.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cryptocb.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dilithium.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
|
||||
<!--ClCompile Include="..\..\wolfcrypt\src\ext_kyber.c" /-->
|
||||
<ClCompile Include="..\..\wolfcrypt\src\falcon.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
|
||||
<!--ClCompile Include="..\..\wolfcrypt\src\wc_kyber.c" /-->
|
||||
<!--ClCompile Include="..\..\wolfcrypt\src\wc_kyber_poly.c" /-->
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rc2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sphincs.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_c32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_c64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_int.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_x86_64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_pkcs11.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\port\liboqs\liboqs.c" />
|
||||
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
<ClInclude Include="..\..\wolfssl\callbacks.h" />
|
||||
<ClInclude Include="..\..\wolfssl\certs_test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\crl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\error-ssl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\internal.h" />
|
||||
<ClInclude Include="..\..\wolfssl\ocsp.h" />
|
||||
<ClInclude Include="..\..\wolfssl\options.h" />
|
||||
<ClInclude Include="..\..\wolfssl\sniffer.h" />
|
||||
<ClInclude Include="..\..\wolfssl\sniffer_error.h" />
|
||||
<ClInclude Include="..\..\wolfssl\ssl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\version.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\aes.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\arc4.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\asn_public.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\async.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-impl.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2-int.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\blake2.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\camellia.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\chacha20_poly1305.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\cmac.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\coding.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\compress.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\curve25519.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\des3.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\dh.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\dsa.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ecc.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ed25519.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\error-crypt.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\fe_operations.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\fips_test.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ge_operations.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\hash.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\hmac.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\integer.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\logging.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md2.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md4.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\md5.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\memory.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mem_track.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\misc.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_class.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\mpi_superclass.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs12.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pkcs7.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\poly1305.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\pwdbased.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\random.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\ripemd.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\rsa.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\settings.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha256.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\sha512.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\signature.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\srp.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\tfm.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\types.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\visibility.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_encrypt.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wc_port.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfevent.h" />
|
||||
<ClInclude Include="..\..\wolfssl\wolfcrypt\wolfmath.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{1731767D-573F-45C9-A466-191DA0D180CF}</ProjectGuid>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20052</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20052</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\libwolfssl.rsl</OutputFile>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -284,6 +284,9 @@ extern "C" {
|
||||
#undef OPENSSL_EXTRA
|
||||
#define OPENSSL_EXTRA
|
||||
|
||||
#undef OPENSSL_ALL
|
||||
#define OPENSSL_ALL
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
|
||||
Executable → Regular
+93
-93
@@ -1,93 +1,93 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|INtime">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|INtime">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="wolfExamples.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\test\test.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\benchmark\benchmark.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
<ClInclude Include="wolfExamples.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{557A7EFD-2627-478A-A855-50F518DD13EE}</ProjectGuid>
|
||||
<ProjectName>wolfExamples</ProjectName>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20053</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20053</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|INtime">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|INtime">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="wolfExamples.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\test\test.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\benchmark\benchmark.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
<ClInclude Include="wolfExamples.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{557A7EFD-2627-478A-A855-50F518DD13EE}</ProjectGuid>
|
||||
<ProjectName>wolfExamples</ProjectName>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<IntDir>$(Configuration)_$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20053</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<ClCompile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<Version>21076.20053</Version>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib</AdditionalDependencies>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\\wolfExamples.rta</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl-lib", "wolfssl-lib.vcxproj", "{3BBA3633-A077-4A57-A242-0A22328E5CF6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|INtime = Debug|INtime
|
||||
Release|INtime = Release|INtime
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.ActiveCfg = Debug|INtime
|
||||
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.Build.0 = Debug|INtime
|
||||
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.ActiveCfg = Release|INtime
|
||||
{3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.Build.0 = Release|INtime
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,363 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|INtime">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|INtime">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>INtime</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bio.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\conf.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\dtls.c" />
|
||||
<ClCompile Include="..\..\src\dtls13.c" />
|
||||
<ClCompile Include="..\..\src\pk.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\quic.c" />
|
||||
<ClCompile Include="..\..\src\ssl_asn1.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_bn.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_certman.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_crypto.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_load.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_misc.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_p7p12.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ssl_sess.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\tls13.c" />
|
||||
<ClCompile Include="..\..\src\x509.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\x509_str.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\wolfcrypt\src\async.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2s.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cpuid.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cryptocb.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dilithium.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\eccsi.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\evp.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ext_kyber.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ext_lms.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ext_xmss.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\falcon.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fips.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fips_test.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_448.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hpke.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\kdf.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\misc.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rc2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sakke.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\selftest.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\siphash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sm2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sm3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sm4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sphincs.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_arm32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_arm64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_armthumb.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_c32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_c64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_cortexm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_dsp32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_int.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_arm32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_arm64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_armthumb.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_c32.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_c64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_cortexm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_sm2_x86_64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sp_x86_64.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_dsp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_kyber.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_kyber_poly.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_lms.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_lms_impl.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_pkcs11.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_xmss.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_xmss_impl.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_first.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_last.c" />
|
||||
<ClCompile Include="libwolfssl.c" />
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\sniffer.c" />
|
||||
<ClCompile Include="..\..\src\ssl.c" />
|
||||
<ClCompile Include="..\..\src\tls.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\compress.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc_fp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\wolfcrypt\src\chacha_asm.asm" />
|
||||
<None Include="..\..\wolfcrypt\src\chacha_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\fe_x25519_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mont_small.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_12.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_17.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_20.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_24.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_28.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_3.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_32.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_4.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_48.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_6.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_64.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_7.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_8.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_9.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_mul_comba_small_set.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_12.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_17.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_20.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_24.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_28.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_3.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_32.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_4.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_48.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_6.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_64.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_7.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_8.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_9.i" />
|
||||
<None Include="..\..\wolfcrypt\src\fp_sqr_comba_small_set.i" />
|
||||
<None Include="..\..\wolfcrypt\src\include.am" />
|
||||
<None Include="..\..\wolfcrypt\src\poly1305_asm.asm" />
|
||||
<None Include="..\..\wolfcrypt\src\poly1305_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sha256_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sha3_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sha512_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sm3_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sp_sm2_x86_64_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\sp_x86_64_asm.asm" />
|
||||
<None Include="..\..\wolfcrypt\src\sp_x86_64_asm.S" />
|
||||
<None Include="..\..\wolfcrypt\src\wc_kyber_asm.S" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\wolfcrypt\src\fe_x25519_128.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3BBA3633-A077-4A57-A242-0A22328E5CF6}</ProjectGuid>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<INtimeDseg>0</INtimeDseg>
|
||||
<INtimeNode>Local</INtimeNode>
|
||||
<INtimeOdir>0</INtimeOdir>
|
||||
<TargetName>libwolfssl572</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<INtimeDseg>0</INtimeDseg>
|
||||
<INtimeNode>Local</INtimeNode>
|
||||
<INtimeOdir>0</INtimeOdir>
|
||||
<TargetName>libwolfssl572</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|INtime'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>DEBUG_WOLFSSL;_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_DEBUG;INTIME_RTOS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<HeapReserveSize>0</HeapReserveSize>
|
||||
<Version>21076.20052</Version>
|
||||
<DelayLoadDLLs>
|
||||
</DelayLoadDLLs>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<AssemblyDebug>false</AssemblyDebug>
|
||||
<HeapCommitSize>0</HeapCommitSize>
|
||||
<StackReserveSize>0</StackReserveSize>
|
||||
<StackCommitSize>0</StackCommitSize>
|
||||
<TurnOffAssemblyGeneration>false</TurnOffAssemblyGeneration>
|
||||
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
<Lib>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\$(TargetName).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;INTIME_RTOS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalDependencies>rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib</AdditionalDependencies>
|
||||
<HeapReserveSize>0</HeapReserveSize>
|
||||
<Version>21076.20052</Version>
|
||||
<DelayLoadDLLs>
|
||||
</DelayLoadDLLs>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<AssemblyDebug>false</AssemblyDebug>
|
||||
<HeapCommitSize>0</HeapCommitSize>
|
||||
<StackReserveSize>0</StackReserveSize>
|
||||
<StackCommitSize>0</StackCommitSize>
|
||||
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
<Lib>
|
||||
<OutputFile>$(SolutionDir)$(Configuration)\$(TargetName).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -5,6 +5,11 @@ CFLAGS_NEW="-DDEBUG_WOLFSSL -I/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/
|
||||
export CFLAGS="${CFLAGS} ${CFLAGS_NEW}"
|
||||
echo ${CFLAGS}
|
||||
|
||||
# create an empty options.h file if none exist
|
||||
if [ ! -f ../../wolfssl/options.h ]; then
|
||||
touch ../../wolfssl/options.h
|
||||
fi
|
||||
|
||||
NEW_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include"
|
||||
export C_INCLUDE_PATH="$NEW_INCLUDE_PATH"
|
||||
|
||||
|
||||
@@ -21,25 +21,25 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
|Board|EK-RA6M3|
|
||||
|Device|R7FA6M3AH3CFC|
|
||||
|Toolchain|GCC ARM Embedded|
|
||||
|FSP Version|3.5.0|
|
||||
|FSP Version|6.1.0|
|
||||
|
||||
#### Selected software components
|
||||
|
||||
|Components|Version|
|
||||
|:--|:--|
|
||||
|Board Support Package Common Files|v3.5.0|
|
||||
|Arm CMSIS Version 5 - Core (M)|v5.8.0+renesas.0.fsp.3.5.0|
|
||||
|FreeRTOS|v10.4.3-LTS.Patch.2+fsp.3.5.0|
|
||||
|RA6M3-EK Board Support Files|v3.5.0|
|
||||
|Board support package for R7FA6M3AH3CFC|v3.5.0|
|
||||
|Board support package for RA6M3|v3.5.0|
|
||||
|Board support package for RA6M3 - FSP Data|v3.5.0|
|
||||
|FreeRTOS - Memory Management - Heap 4|v10.4.3-LTS.Patch.2+fsp.3.5.0|
|
||||
|r_ether to FreeRTOS+TCP Wrapper|v3.5.0|
|
||||
|Ethernet|v3.5.0|
|
||||
|Ethernet PHY|v3.5.0|
|
||||
|FreeRTOS+TCP|v2.3.2-LTS.Patch.1+fsp.3.5.0|
|
||||
|FreeRTOS - Buffer Allocation 2|v2.3.2-LTS.Patch.1+fsp.3.5.0|
|
||||
|Board Support Package Common Files|v6.1.0|
|
||||
|Arm CMSIS Version 5 - Core (M)|v6.1.0+renesas.0.fsp.6.1.0|
|
||||
|FreeRTOS|v11.1.0+fsp.6.1.0|
|
||||
|RA6M3-EK Board Support Files|v6.1.0|
|
||||
|Board support package for R7FA6M3AH3CFC|v6.1.0|
|
||||
|Board support package for RA6M3|v6.1.0|
|
||||
|Board support package for RA6M3 - FSP Data|v6.1.0|
|
||||
|FreeRTOS - Memory Management - Heap 4|v11.1.0+fsp.6.1.0|
|
||||
|r_ether to FreeRTOS+TCP Wrapper|v6.1.0|
|
||||
|Ethernet|v6.1.0|
|
||||
|Ethernet PHY|v6.1.0|
|
||||
|FreeRTOS+TCP|v4.3.3+fsp.6.1.0|
|
||||
|FreeRTOS - Buffer Allocation 2|v4.3.3+fsp.6.1.0|
|
||||
|
||||
|
||||
## Setup Steps
|
||||
@@ -51,11 +51,11 @@ The following steps explain how to generate the missing files and where to place
|
||||
1.) Create a 'dummy' Renesas RA C Library Project.
|
||||
|
||||
+ Click File->New->`RA C/C++ Project`
|
||||
+ Click `Renesas RA C Library Project`. Click Next
|
||||
+ Enter `dummy_library` as the project name. Click Next.
|
||||
+ Under `Board: Custom User Board`, select `EK-RA6M3`.
|
||||
+ Under `RTOS: No RTOS`, select `FreeRTOS`.
|
||||
+ Click Next. Select `FreeRTOS - Minimal - Static Allocation`
|
||||
+ Select `None`. Click Next.
|
||||
+ Select `Static Library`. Under `RTOS: No RTOS`, select `FreeRTOS`. Click Next
|
||||
+ Select `FreeRTOS - Minimal - Static Allocation`
|
||||
+ Click Finish.
|
||||
+ Open Smart Configurator by clicking configuration.xml in the project
|
||||
+ Go to `BSP` tab and increase Heap Size under `RA Common` on Properties page, e.g. 0x1000
|
||||
@@ -64,17 +64,18 @@ The following steps explain how to generate the missing files and where to place
|
||||
|
||||
|Property|Value|
|
||||
|:--|:--|
|
||||
|Thread Symbol|wolfssl_tst_thread|
|
||||
|Thread Name|wolf_tst_thread|
|
||||
|Thread Symbol|wolfssl_tst_thd|
|
||||
|Thread Name|wolf_tst_thd|
|
||||
|Thread Stack size|increase depending on your environment<br> e.g. 0xA000|
|
||||
|Thread MemoryAllocation|Dynamic|
|
||||
|Thread Memory Allocation Support Dynamic Allocation|Enabled|
|
||||
|Memory Allocation Total Heap Size|increase depending on your environment<br> e.g. 0x20000|
|
||||
|Common General Use Mutexes|Enabled|
|
||||
|Common General Enable Backward Compatibility|Enabled|
|
||||
|Common Memory Allocation Support Dynamic Allocation|Enabled|
|
||||
|Common Memory Allocation Total Heap Size|increase depending on your environment<br> e.g. 0x20000|
|
||||
|
||||
|
||||
+ Add `Heap 4` stack to sce_tst_thread from `New Stack` -> `RTOS` -> `FreeRTOS Heap 4`
|
||||
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties
|
||||
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties. Go to `Add Ethernet Driver` box, and click the box to select `New` -> `Ethernet (r_ether)`
|
||||
. Set properties.
|
||||
|
||||
|Property|Value|
|
||||
|:--|:--|
|
||||
@@ -84,9 +85,10 @@ The following steps explain how to generate the missing files and where to place
|
||||
2.) Create a 'dummy' Renesas RA C Project Using RA Library.
|
||||
|
||||
+ Click File->New->`RA C/C++ Project`
|
||||
+ Click `Renesas RA C Project Using RA Library`. Click Next
|
||||
+ Enter `dummy_app` as the project name. Click Next.
|
||||
+ Under `Executable Using an RA Static library`
|
||||
+ Under `Board: Custom User Board`, select `EK-RA6M3`.
|
||||
+ Select `None`. Click Next.
|
||||
+ Select `Executable Using an RA Static library`, and `No RTOS`. Click Finish
|
||||
+ Enter `dummy_app` as the project name. Click Next
|
||||
+ Select `dummy_library` from Select Renesas RA library project.
|
||||
+ Click Finish.
|
||||
@@ -125,6 +127,7 @@ The following steps explain how to generate the missing files and where to place
|
||||
+ Select and Copy the following folder inside dummy_app\
|
||||
|
||||
`script/`
|
||||
`Debug/`
|
||||
|
||||
+ Paste the copied folders into each executable projects which are Crypt test, benchmark, client and server projects\
|
||||
+ The `dummy_app` project can now be deleted.
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1066354393" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1749606599" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1387289429" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.101353899" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.101353899" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.117420076" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1915546252" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.541441314" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
@@ -93,6 +93,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/Debug}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.2089894925" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
@@ -205,7 +209,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.860211730" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1408755248" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.836244175" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1745155981" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/benchmark_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1745155981" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1499452602" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1733850904" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.121988378" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
int benchmark_test(void *args);
|
||||
|
||||
void wolfssl_thread_entry(void *pvParameters) {
|
||||
void wolfssl_tst_thd_entry(void *pvParameters) {
|
||||
FSP_PARAMETER_NOT_USED(pvParameters);
|
||||
initialise_monitor_handles();
|
||||
benchmark_test(0);
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.944256802" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1728690592" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.847055546" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.2111237750" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.2111237750" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1877074676" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1521871638" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1475977607" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
@@ -99,6 +99,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/Debug}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.11889101" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
@@ -206,7 +210,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1224145047" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.850599989" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.171223350" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.8777288" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/client_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.8777288" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.342148693" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1084564839" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1173403640" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
|
||||
@@ -34,20 +34,7 @@
|
||||
#include <stdio.h>
|
||||
#include "hal_data.h"
|
||||
|
||||
/* the function is called just before main() to set up pins */
|
||||
/* this needs to be called to setup IO Port */
|
||||
void R_BSP_WarmStart (bsp_warm_start_event_t event)
|
||||
{
|
||||
|
||||
if (BSP_WARM_START_POST_C == event) {
|
||||
/* C runtime environment and system clocks are setup. */
|
||||
/* Configure pins. */
|
||||
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wolfssl_thread_entry(void *pvParameters) {
|
||||
void wolfssl_tst_thd_entry(void *pvParameters) {
|
||||
FSP_PARAMETER_NOT_USED(pvParameters);
|
||||
|
||||
/* FreeRTOS+TCP Objects */
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.971503214" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.580641031" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.213566214" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.967969835" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.967969835" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.79325762" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1806607058" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.828777158" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
@@ -99,6 +99,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/fsp/src/rm_freertos_plus_tcp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/Debug}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.924310622" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
@@ -207,7 +211,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.284360640" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.534529996" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.683276783" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.606246866" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/server_wolfSSL_RA6M3}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.606246866" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.399996946" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.617058558" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1734515939" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
|
||||
@@ -32,20 +32,8 @@
|
||||
#include <stdio.h>
|
||||
#include "hal_data.h"
|
||||
|
||||
/* the function is called just before main() to set up pins */
|
||||
/* this needs to be called to setup IO Port */
|
||||
void R_BSP_WarmStart (bsp_warm_start_event_t event)
|
||||
{
|
||||
|
||||
if (BSP_WARM_START_POST_C == event) {
|
||||
/* C runtime environment and system clocks are setup. */
|
||||
/* Configure pins. */
|
||||
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wolfssl_thread_entry(void *pvParameters) {
|
||||
void wolfssl_tst_thd_entry(void *pvParameters) {
|
||||
FSP_PARAMETER_NOT_USED(pvParameters);
|
||||
|
||||
/* FreeRTOS+TCP parameters and objects */
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1533237073" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1986600717" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.330510769" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.381371815" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Debug" id="com.renesas.cdt.managedbuild.gnuarm.builder.381371815" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.563593978" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.9644899" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1207837318" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
@@ -78,6 +78,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.97449013" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1182988840" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../common""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/Debug}""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../../../../../""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/fsp/inc}""/>
|
||||
@@ -91,6 +92,9 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/aws}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1484906637" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
@@ -199,7 +203,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.226581298" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1814264128" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1908205217" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1012539774" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<builder buildPath="${workspace_loc:/test_wolfCrypt_RA6M3G}/Release" id="com.renesas.cdt.managedbuild.gnuarm.builder.1012539774" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make ビルダー" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gnuarm.builder"/>
|
||||
<tool commandLinePattern="${SECURE_BUILD_COMMAND} ${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1216775450" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1297918163" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.228561926" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include "wolfcrypt/test/test.h"
|
||||
|
||||
void wolfssl_thread_entry(void* pvParameters)
|
||||
void wolfssl_tst_thd_entry(void* pvParameters)
|
||||
{
|
||||
FSP_PARAMETER_NOT_USED (pvParameters);
|
||||
/* Benchmark output is displayed to Renesas Debug Virtual Console */
|
||||
|
||||
@@ -67,6 +67,8 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.816669574" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1258533267" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
|
||||
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1781159522" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/fsp/inc}""/>
|
||||
@@ -84,6 +86,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||
<listOptionValue builtIn="false" value="".""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1944945543" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
@@ -92,6 +98,8 @@
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RA6M3G"/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
|
||||
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.1681064330" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.891615582" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
@@ -113,6 +121,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M3G/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/source/portable}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||
<listOptionValue builtIn="false" value="".""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1304089417" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
@@ -151,6 +163,116 @@
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.debug.1761706989./ra/aws" name="aws" resourcePath="ra/aws">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug.91030017" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug" unusedChildren="">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505.1108024184" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243.1900454493" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735.165034946" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455.752800906" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729.1450135011" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944.1219290554" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576.473553102" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835.1042603563" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679.202628566" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944.794330601" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237.1688476763" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303.979675815" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886.1415411329" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466.1385698993" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284.293508603" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818.1218186697" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856.2065255469" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825.1167692129" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995.1511521612" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130.426559080" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133.1442105199" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657.667334624" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654.108668343" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133.884135613" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565.389236246" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720.573498222" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467.1653210091" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107.2053737810" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457.1328782573" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170.1594918566" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678.1050407566" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971.2040735761" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269.1758863180" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928.58240205" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701.414810561" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1540347333" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1937788536">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1964016942" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1440201808" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1195007717">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.1444318747" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1814244990" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1435664558" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1212762249">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.1974426833" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.880285696" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1185911797"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.12606855" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.311751680"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1475653493" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.273078254"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1416259339" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.227390892"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.282020455" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.545796882"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1865404358" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.699161355"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.debug.1761706989./ra/arm" name="arm" resourcePath="ra/arm">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug.343535006" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.debug" unusedChildren="">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505.1450147824" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.2001249505"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243.1675348043" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.377600243"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735.835209035" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.2017676735"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455.344641597" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.576805455"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729.2035890685" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.45850729"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944.2063211290" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.686367944"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576.1819176375" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1933780576"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835.777780299" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1119124835"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679.1925510550" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1672302679"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944.943958585" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.804524944"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237.1145217310" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.639185237"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303.640847764" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.713463303"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886.1322257809" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1410723886"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466.1442097510" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1060276466"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284.839224690" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.165975284"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818.1097605179" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1060167818"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856.1579147089" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.481833856"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825.480644907" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526590825"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995.166049991" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1723421995"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130.119724110" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.6541130"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133.318895847" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1151421133"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657.669835270" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1881347657"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654.1469939414" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1076035654"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133.955906304" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.185856133"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565.497506214" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.310685565"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720.1949570024" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.739177720"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467.1484626281" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.901972467"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107.747698365" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1056252107"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457.547912405" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.588700457"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170.1779195624" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.1597869170"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678.1810713340" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1142953678"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971.1147375845" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1255373971"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269.1851840902" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.74885269"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928.2104300534" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.624464928"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701.1410330719" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.2007958701"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1683495442" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1937788536">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1845970605" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1652269700" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1195007717">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.953419839" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.331909678" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.735151687" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1212762249">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.2121414228" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.232454180" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1185911797"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1276557083" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.311751680"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1705617811" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.273078254"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.909620799" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.227390892"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1096946542" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.545796882"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.510843886" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.699161355"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="common|wolfcrypt|src|src/crl.c|src/bio.c|ra|ra_gen" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="ra"/>
|
||||
@@ -230,6 +352,8 @@
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.564659763" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="_RENESAS_RA_"/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RA6M3G"/>
|
||||
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
|
||||
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.373460777" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/fsp/inc}""/>
|
||||
@@ -248,6 +372,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||
<listOptionValue builtIn="false" value="".""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1333795089" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
@@ -260,6 +388,8 @@
|
||||
<listOptionValue builtIn="false" value="configUSE_MUTEXES=1"/>
|
||||
<listOptionValue builtIn="false" value="configSUPPORT_STATIC_ALLOCATION=1"/>
|
||||
<listOptionValue builtIn="false" value="configMEMORY_DYNAMIC_ALLOCATION=1"/>
|
||||
<listOptionValue builtIn="false" value="_RA_CORE=CM4"/>
|
||||
<listOptionValue builtIn="false" value="_RA_ORDINAL=1"/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.4825216" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.947802473" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
@@ -278,6 +408,10 @@
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/amazon-freertos/libraries/freertos_plus/standard/freertos_plus_tcp/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra_cfg/fsp_cfg/driver}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||
<listOptionValue builtIn="false" value="".""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS/Source/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/arm/CMSIS_6/CMSIS/Core/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/ra/aws/FreeRTOS/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/include}""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.179918099" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
@@ -316,6 +450,116 @@
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.release.764611173./ra/aws" name="aws" resourcePath="ra/aws">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release.841262386" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release" unusedChildren="">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741.268489898" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718.595308363" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687.185182196" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115.1754931245" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481.222621468" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339.38834977" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593.953158158" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395.688900980" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095.1559633018" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360.105365571" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652.1806828881" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856.1777921757" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203.1029662828" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071.623619160" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456.669770466" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790.999346301" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294.309178141" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324.1502596531" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333.412791702" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091.1732565883" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920.101713400" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829.880634767" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071.676068018" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921.1992175329" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347.2002697044" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983.543790376" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543.70059659" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850.977893998" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596.481834515" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649.2070603189" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077.1946313977" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808.290542154" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177.1021894556" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558.1691638130" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611.1736056155" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.174676040" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.315036765">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.746965816" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1200455962" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1007215142">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.453274674" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.99032971" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1968377712" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.619807753">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.470700972" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.851780040" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.918399890"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1866494507" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1156606973"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1864013800" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.219033935"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.408871102" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.840367062"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1594321218" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1457763339"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1270950787" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.993906098"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="com.renesas.cdt.managedbuild.gnuarm.config.lib.release.764611173./ra/arm" name="arm" resourcePath="ra/arm">
|
||||
<toolChain id="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release.1304302803" name="GCC ARM Embedded" superClass="com.renesas.cdt.managedbuild.gnuarm.toolchain.lib.release" unusedChildren="">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741.724359540" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.108708741"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718.409707622" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.493159718"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687.223231316" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.510155687"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115.1425950636" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1446253115"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481.1840680707" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.799994481"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339.156648222" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.807491339"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593.703235600" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.295018593"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395.1067049168" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1246069395"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095.469915089" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.490030095"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360.824278182" name="Arm family (-mcpu)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.2103553360"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652.1981233456" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1893374652"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856.1327471490" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.469714856"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203.1783964207" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.2016546203"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071.1509550005" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.118965071"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456.971576282" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2079701456"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790.1186674688" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564469790"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294.1087918809" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1768209294"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324.1065544037" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1832870324"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333.1694531840" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.674776333"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091.1609130535" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.477658091"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920.2023387958" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1191230920"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829.2036079893" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.108292829"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071.1379940229" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1112374071"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921.101483448" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1555340921"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347.1969593843" name="Warn on various unused elements (-Wunused)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unused.586319347"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983.601301996" name="Warn on uninitialized variables (-Wuninitialised)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.uninitialized.99678983"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543.520690415" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1599378543"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850.278085474" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.635741850"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596.989240394" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1565105596"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649.990632019" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.902138649"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077.1488784842" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.438745077"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808.1452456768" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.2007533808"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177.239403668" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.1202316177"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558.1096318820" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1438675558"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611.777405987" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1570502611"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.815468667" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.315036765">
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1447635171" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.423579013" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1007215142">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.1744967881" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" value="-w" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.333027275" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.930430993" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.619807753">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.1898228441" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" value="-w" valueType="string"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.220065215" name="GNU ARM Cross C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.918399890"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.921229835" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1156606973"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1275848948" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.219033935"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.2073472652" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.840367062"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1016269343" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1457763339"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.354014570" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.993906098"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="ra"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="ra_gen"/>
|
||||
|
||||
@@ -24,29 +24,29 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
|Board|EK-RA6M4|
|
||||
|Device|R7FA6M4AF3CFB|
|
||||
|Toolchain|GCC ARM Embedded|
|
||||
|FSP Version|5.4.0|
|
||||
|FSP Version|6.1.0|
|
||||
|
||||
#### Selected software components
|
||||
|
||||
|Components|Version|
|
||||
|:--|:--|
|
||||
|Board Support Package Common Files|v5.4.0|
|
||||
|Secure Cryptography Engine on RA6 Protected Mode|v5.4.0|
|
||||
|I/O Port|v5.4.0|
|
||||
|Arm CMSIS Version 5 - Core (M)|v6.1.0+fsp.5.4.0|
|
||||
|RA6M4-EK Board Support Files|v5.4.0|
|
||||
|Board support package for R7FA6M4AF3CFB|v5.4.0|
|
||||
|Board support package for RA6M4 - Events|v5.4.0|
|
||||
|Board support package for RA6M4|v5.4.0|
|
||||
|Board support package for RA6M4 - FSP Data|v5.4.0|
|
||||
|FreeRTOS|v10.6.1+fsp.5.4.0|
|
||||
|FreeRTOS - Memory Management - Heap 4|v10.6.1+fsp.5.4.0|
|
||||
|r_ether to FreeRTOS+TCP Wrapper|v5.4.0|
|
||||
|Ethernet|v5.4.0|
|
||||
|Ethernet PHY|v5.4.0|
|
||||
|FreeRTOS+TCP|v4.0.0+fsp.5.4.0|
|
||||
|FreeRTOS - Buffer Allocation 2|v4.0.0+fsp.5.4.0|
|
||||
|FreeRTOS Port|v5.4.0|
|
||||
|Board Support Package Common Files|v6.1.0|
|
||||
|Secure Cryptography Engine on RA6 Protected Mode|v6.1.0|
|
||||
|I/O Port|v6.1.0|
|
||||
|Arm CMSIS Version 5 - Core (M)|v6.1.0+fsp.6.1.0|
|
||||
|RA6M4-EK Board Support Files|v6.1.0|
|
||||
|Board support package for R7FA6M4AF3CFB|v6.1.0|
|
||||
|Board support package for RA6M4 - Events|v6.1.0|
|
||||
|Board support package for RA6M4|v6.1.0|
|
||||
|Board support package for RA6M4 - FSP Data|v6.1.0|
|
||||
|FreeRTOS|v11.1.0+fsp.6.1.0|
|
||||
|FreeRTOS - Memory Management - Heap 4|v11.1.0+fsp.6.1.0|
|
||||
|r_ether to FreeRTOS+TCP Wrapper|v6.1.0|
|
||||
|Ethernet|v6.1.0|
|
||||
|Ethernet PHY|v6.1.0|
|
||||
|FreeRTOS+TCP|v4.3.3+fsp.6.1.0|
|
||||
|FreeRTOS - Buffer Allocation 2|v4.3.3+fsp.6.1.0|
|
||||
|FreeRTOS Port|v6.1.0|
|
||||
|
||||
## Setup Steps and Build wolfSSL Library
|
||||
|
||||
@@ -58,10 +58,11 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
|
||||
2.) Create a `dummy_library` Static Library.
|
||||
|
||||
+ Click File->New->`RA C/C++ Project`.
|
||||
+ Select `EK-RA6M4` from Drop-down list.
|
||||
+ Check `Static Library`.
|
||||
+ Select FreeRTOS from RTOS selection. Click Next.
|
||||
+ Click File->New->`RA C/C++ Project`. Select `EK-RA6M4` from Drop-down list.
|
||||
+ Select `Flat(Non-TrustZone) Project`. Click Next.
|
||||
+ Select `None`. Click Next.
|
||||
+ Check `Static Library`. Click Next.
|
||||
+ Select `FreeRTOS` from RTOS selection. Click Next.
|
||||
+ Check `FreeRTOS minimal - Static Allocation`. Click Finish.
|
||||
+ Open Smart Configurator by clicking configuration.xml in the project
|
||||
+ Go to `BSP` tab and increase Heap Size under `RA Common` on Properties page, e.g. 0x1000
|
||||
@@ -82,7 +83,8 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
|
||||
+ Add `Heap 4` stack to sce_tst_thread from `New Stack` -> `RTOS` -> `FreeRTOS Heap 4`
|
||||
+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties
|
||||
|
||||
+ Add Ethernet Driver by clicking `Add Ethernet Driver` element and select `New` -> `Ethernet(r_ether)`
|
||||
+ Increase Heap size of `RA Common`. Go to `BSP` tab and inclease `RA Common` -> `Heap size (bytes)` to 0x2000
|
||||
|Property|Value|
|
||||
|:--|:--|
|
||||
|Network Events call vApplicationIPNetworkEventHook|Disable|
|
||||
@@ -97,15 +99,15 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
|
||||
4.) Create a 'dummy_application' Renesas RA C Project Using RA Library.
|
||||
|
||||
+ Click File->New->`RA C/C++ Project`.
|
||||
+ Select `EK-RA6M4` from Drop-down list.
|
||||
+ Check `Executable Using an RA Static Library`.
|
||||
+ Select FreeRTOS from RTOS selection. Click Finish.
|
||||
+ Click File->New->`RA C/C++ Project`. Select `EK-RA6M4` from Drop-down list. Click Next.
|
||||
+ Select `Flat(Non-TrustZone) Project`. Click Next
|
||||
+ Select `None`. Click Next
|
||||
+ Check `Executable Using an RA Static Library`. Select FreeRTOS from RTOS selection. Click Finish.
|
||||
+ Enter `dummy_application` as the project name. Click Next.
|
||||
+ Under `RA library project`, select `wolfSSL_RA6M4`.
|
||||
+ Click Finish.
|
||||
+ Under `RA library project`, select `wolfSSL_RA6M4`. Click Finish.
|
||||
+ Copy the following folder and file at `dummy_application` to `test_RA6M4`\
|
||||
script/\
|
||||
Debug/\
|
||||
src/sce_tst_thread_entry.c
|
||||
|
||||
+ Add `sce_test()` call under /* TODO: add your own code here */ line at sce_tst_thread_entry.c
|
||||
@@ -131,29 +133,33 @@ The wolfssl Project Summary is listed below and is relevant for every project.
|
||||
+ To place RTT block specific area, you can add the following line to `fsp.ld`:
|
||||
|
||||
```
|
||||
.bss :
|
||||
__ram_from_flash$$ :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
__bss_start__ = .;
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
KEEP(*(.rtt_block)) /* <-- for SEGGER_RTT control block */
|
||||
. = ALIGN(4);
|
||||
__bss_end__ = .;
|
||||
} > RAM
|
||||
__ram_from_flash$$Base = .;__ram_from_flash$$Load = LOADADDR(__ram_from_flash$$);
|
||||
/* section.ram.from_flash */
|
||||
*(.ram_from_flash)
|
||||
/* section.ram.code_from_flash */
|
||||
*(.txt.rtt_block) /* <-- for SEGGER_RTT control block */
|
||||
*(.ram_code_from_flash)
|
||||
*(.data*)
|
||||
*(vtable)
|
||||
__ram_from_flash$$Limit = .;
|
||||
}> RAM AT > FLASH
|
||||
```
|
||||
Also, adding the following line to `SEGGER_RTT.c`:
|
||||
|
||||
```
|
||||
SEGGER_RTT_CB _SEGGER_RTT __attribute__((section(".rtt_block")));
|
||||
SEGGER_RTT_CB _SEGGER_RTT __attribute__((section(".txt.rtt_block")));
|
||||
```
|
||||
|
||||
As the result, you can find the following similar line in the map file.
|
||||
e.g.
|
||||
[test_RA6M4.map]
|
||||
```
|
||||
.rtt_block 0x20023648 0xa8 ./src/SEGGER_RTT/SEGGER_RTT.o
|
||||
0x20023648 _SEGGER_RTT
|
||||
*(.txt.rtt_block)
|
||||
.txt.rtt_block
|
||||
0x20000000 0xa8 ./src/SEGGER_RTT/SEGGER_RTT.o
|
||||
0x20000000 _SEGGER_RTT
|
||||
````
|
||||
you can specify "RTT control block" to 0x20023648 by Address
|
||||
OR
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.1084991557" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.2023903025" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/key_data}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M4/Debug}""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../common""/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../../../../../""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/wolfSSL_RA6M4/src}""/>
|
||||
|
||||
@@ -50,19 +50,6 @@ void abort(void);
|
||||
int sce_crypt_test();
|
||||
#endif
|
||||
|
||||
void R_BSP_WarmStart(bsp_warm_start_event_t event);
|
||||
|
||||
/* the function is called just before main() to set up pins */
|
||||
/* this needs to be called to setup IO Port */
|
||||
void R_BSP_WarmStart (bsp_warm_start_event_t event)
|
||||
{
|
||||
|
||||
if (BSP_WARM_START_POST_C == event) {
|
||||
/* C runtime environment and system clocks are setup. */
|
||||
/* Configure pins. */
|
||||
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(TLS_CLIENT)
|
||||
|
||||
|
||||
@@ -1830,7 +1830,7 @@ double current_time(void)
|
||||
(void) date;
|
||||
|
||||
/* return seconds.milliseconds */
|
||||
return ((double) time.Hours * 24) + ((double) time.Minutes * 60)
|
||||
return ((double) time.Hours * 3600) + ((double) time.Minutes * 60)
|
||||
+ (double) time.Seconds + ((double) subsec / 1000);
|
||||
}
|
||||
#endif /* HAL_RTC_MODULE_ENABLED */
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
Use this file for FIPS 140-3 upcoming UPDT+OEUP and module v5.2.3, not intended
|
||||
for use with any other module version, v5.2.3 exclusive (certificate # will be
|
||||
add here upon issuance):
|
||||
|
||||
user_settings.h
|
||||
|
||||
This is now a legacy file used under the 140-2 program for module v4.6.2 under
|
||||
now historical certificate #3389:
|
||||
|
||||
user_settings.h.140-2-deprecated
|
||||
@@ -3,3 +3,5 @@
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/WINCE/user_settings.h
|
||||
EXTRA_DIST+= IDE/WINCE/README.md
|
||||
EXTRA_DIST+= IDE/WINCE/user_settings.h.140-2-deprecated
|
||||
|
||||
+791
-75
@@ -1,63 +1,780 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2025 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 3 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
|
||||
*/
|
||||
#if 1
|
||||
#define OPENSSL_COEXIST
|
||||
|
||||
/* HKDF for engine */
|
||||
#undef HAVE_HKDF
|
||||
#if 1
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_X963_KDF
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_PUBLIC_MP
|
||||
#define WOLFSSL_PUBLIC_MP
|
||||
|
||||
#undef NO_OLD_RNGNAME
|
||||
#define NO_OLD_RNGNAME
|
||||
|
||||
#undef NO_OLD_WC_NAMES
|
||||
#define NO_OLD_WC_NAMES
|
||||
|
||||
#undef NO_OLD_SSL_NAMES
|
||||
#define NO_OLD_SSL_NAMES
|
||||
|
||||
#undef NO_OLD_SHA_NAMES
|
||||
#define NO_OLD_SHA_NAMES
|
||||
|
||||
#undef NO_OLD_MD5_NAME
|
||||
#define NO_OLD_MD5_NAME
|
||||
|
||||
#undef NO_OLD_SHA256_NAMES
|
||||
#define NO_OLD_SHA256_NAMES
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_SYS_CA_CERTS
|
||||
#define WOLFSSL_SYS_CA_CERTS
|
||||
|
||||
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
|
||||
#undef HAVE_SERVER_RENEGOTIATION_INFO
|
||||
#define HAVE_SERVER_RENEGOTIATION_INFO
|
||||
* Copyright (C) 2006-2025 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
|
||||
*/
|
||||
|
||||
|
||||
/* Custom wolfSSL user settings for GCC ARM */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
/* Multi-threaded support */
|
||||
#undef SINGLE_THREADED
|
||||
#if 0
|
||||
#define SINGLE_THREADED
|
||||
#else
|
||||
#define ERROR_QUEUE_PER_THREAD /* if applicable otherwise comment out */
|
||||
#endif
|
||||
|
||||
#ifdef SINGLE_THREADED
|
||||
#undef NO_THREAD_LS
|
||||
#define NO_THREAD_LS
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_USER_IO
|
||||
//#define WOLFSSL_USER_IO
|
||||
|
||||
#undef NO_WRITE_TEMP_FILES
|
||||
#define NO_WRITE_TEMP_FILES
|
||||
|
||||
/* FIPS 140-3 OE specific section(s) */
|
||||
|
||||
/* Uncomment for Android devices */
|
||||
#undef ANDROID_V454
|
||||
/* #define ANDROID_V454 */
|
||||
#ifdef ANDROID_V454
|
||||
#if 1
|
||||
/* To have all printouts go to the app view on the device use: */
|
||||
extern int appendToTextView(const char* fmt, ...);
|
||||
#undef printf
|
||||
#define printf(format, ...) appendToTextView(format, ## __VA_ARGS__)
|
||||
#else
|
||||
#include <android/log.h>
|
||||
#define WOLFLOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "wolfCrypt_android", __VA_ARGS__)
|
||||
#undef printf
|
||||
#define printf WOLFLOGV
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Uncomment for WINCE 6.0 devices. NOTE: _WIN32_WCE defined by system */
|
||||
#if 1
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_ATOMICS
|
||||
#define WC_NO_ASYNC_THREADING
|
||||
#define USE_WINDOWS_API
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
#define MAX_SUPPORTED_THREADS 1024
|
||||
#define MAX_SUPPORTED_PRIV_KEYS 1024
|
||||
#define MAX_CONFIGURED_THREAD 512
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
#undef USE_FAST_MATH
|
||||
#if 1
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#undef TFM_NO_ASM
|
||||
#define TFM_NO_ASM
|
||||
|
||||
/* Optimizations */
|
||||
//#define TFM_ARM
|
||||
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 16384
|
||||
#else
|
||||
#define WOLFSSL_SP_MATH_ALL
|
||||
#define WOLFSSL_SP_INT_NEGATIVE
|
||||
/* Maximum math bits (largest supported key bits) */
|
||||
#undef SP_INT_BITS
|
||||
#define SP_INT_BITS 8192
|
||||
#endif
|
||||
|
||||
/* Wolf Single Precision Math */
|
||||
#undef WOLFSSL_SP
|
||||
#if 0 /* SP Assembly Speedups (wPAA) */
|
||||
//#define WOLFSSL_SP
|
||||
//#define WOLFSSL_SP_SMALL /* use smaller version of code */
|
||||
//#define WOLFSSL_SP_1024
|
||||
//#define WOLFCRYPT_HAVE_SAKKE /* Note: Sakke can be enabled with 1024-bit support */
|
||||
//#define WOLFSSL_SP_4096 /* Explicitly enable 4096-bit support (2048/3072 on by default) */
|
||||
//#define WOLFSSL_SP_384 /* Explicitly enable 384-bit support (others on by default) */
|
||||
//#define WOLFSSL_SP_521 /* Explicitly enable 521-bit support (others on by default) */
|
||||
//#define WOLFSSL_HAVE_SP_RSA
|
||||
//#define WOLFSSL_HAVE_SP_DH
|
||||
//#define WOLFSSL_HAVE_SP_ECC
|
||||
/* If no PAA, leave out */
|
||||
//#define WOLFSSL_ARMASM
|
||||
//#define WOLFSSL_SP_ARM64_ASM
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* FIPS - Requires eval or license from wolfSSL */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef HAVE_FIPS
|
||||
#if 1
|
||||
|
||||
#define WOLFCRYPT_FIPS_CORE_HASH_VALUE \
|
||||
C149F3285397DFBD0C6720E14818475C3A50B10880EF9619463173A6D5ED15E7
|
||||
/* 0F3FB6F60279949E88901E852EADF3746E92162EB3D279E4C1052FB145FB04B6 */ /* Primary Run */
|
||||
/* F952A96D70E630665F11D9933C46546063FD70108E39AB62C0886F0888B656ED */ /* Cases 206, 208 and 209 */
|
||||
/* BADBADBADBADBADBADBADDEADBEEFDEADBEEFDEADBEEFDEADBEEFBADBADBADBD */ /* TE05.05.07 */
|
||||
/* D371272290903FB9EB78FACD3504306EC8F12342CC195950E0F516A03AA51A39 */ /* harness */
|
||||
|
||||
#ifdef _WIN32_WCE
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
#include <windows.h>
|
||||
/* Inline function for WOLFLOGV */
|
||||
static int wolf_logv_internal(const char* fmt, ...) {
|
||||
int n;
|
||||
va_list args;
|
||||
|
||||
Sleep(1); /* Sleep for 1 millisecond before printing */
|
||||
/* Ensure all previous buffered output is flushed */
|
||||
fflush(stdout);
|
||||
fflush(stderr);
|
||||
|
||||
va_start(args, fmt);
|
||||
/* Use vfprintf for va_list arguments */
|
||||
n = vfprintf(stdout, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
/* Flush immediately after printing */
|
||||
fflush(stdout);
|
||||
fflush(stderr);
|
||||
|
||||
Sleep(1); /* Sleep for 1 millisecond before printing */
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
/* Ensure printf is not defined before redefining it */
|
||||
#ifdef printf
|
||||
#undef printf
|
||||
#endif
|
||||
|
||||
/* Define WOLFLOGV as the wrapper */
|
||||
#define WOLFLOGV wolf_logv_internal
|
||||
|
||||
/* Redirect printf to WOLFLOGV (effectively wolf_logv_internal) */
|
||||
#define printf WOLFLOGV
|
||||
#endif
|
||||
|
||||
#define HAVE_FIPS
|
||||
|
||||
#undef HAVE_FIPS_VERSION
|
||||
#define HAVE_FIPS_VERSION 5
|
||||
#define HAVE_FIPS_VERSION_MAJOR HAVE_FIPS_VERSION
|
||||
|
||||
#undef HAVE_FIPS_VERSION_MINOR
|
||||
#define HAVE_FIPS_VERSION_MINOR 2
|
||||
#define HAVE_FIPS_VERSION_PATCH 3
|
||||
|
||||
#undef WOLFSSL_WOLFSSH
|
||||
#define WOLFSSL_WOLFSSH
|
||||
|
||||
#undef WC_RNG_SEED_CB
|
||||
#define WC_RNG_SEED_CB
|
||||
|
||||
#if 0
|
||||
#undef NO_ATTRIBUTE_CONSTRUCTOR
|
||||
#define NO_ATTRIBUTE_CONSTRUCTOR
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Crypto */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
#undef NO_RSA
|
||||
#if 1
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#if 1
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
#else
|
||||
#undef WC_NO_HARDEN
|
||||
#define WC_NO_HARDEN
|
||||
#endif
|
||||
|
||||
/* RSA PSS Support */
|
||||
#if 1
|
||||
#undef WC_RSA_PSS
|
||||
#define WC_RSA_PSS
|
||||
|
||||
#undef WOLFSSL_PSS_LONG_SALT
|
||||
#define WOLFSSL_PSS_LONG_SALT
|
||||
|
||||
#undef WOLFSSL_PSS_SALT_LEN_DISCOVER
|
||||
#define WOLFSSL_PSS_SALT_LEN_DISCOVER
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define WC_RSA_NO_PADDING
|
||||
#endif
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* ECC */
|
||||
#undef HAVE_ECC
|
||||
#if 1
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
//#define ECC_USER_CURVES
|
||||
|
||||
#ifdef ECC_USER_CURVES
|
||||
/* Manual Curve Selection */
|
||||
#define HAVE_ECC192
|
||||
#define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
#define HAVE_ECC256
|
||||
#define HAVE_ECC384
|
||||
#define HAVE_ECC521
|
||||
#endif
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
#ifdef HAVE_FIPS
|
||||
#undef HAVE_ECC_CDH
|
||||
#define HAVE_ECC_CDH /* Enable cofactor support */
|
||||
|
||||
#undef NO_STRICT_ECDSA_LEN
|
||||
#define NO_STRICT_ECDSA_LEN /* Do not force fixed len w/ FIPS */
|
||||
|
||||
#undef WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
#define WOLFSSL_VALIDATE_ECC_IMPORT /* Validate import */
|
||||
|
||||
#undef WOLFSSL_VALIDATE_ECC_KEYGEN
|
||||
#define WOLFSSL_VALIDATE_ECC_KEYGEN /* Validate generated keys */
|
||||
|
||||
#undef WOLFSSL_ECDSA_SET_K
|
||||
#define WOLFSSL_ECDSA_SET_K
|
||||
|
||||
#endif
|
||||
|
||||
/* Compressed Key Support */
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
/* Use alternate ECC size for ECC math */
|
||||
#ifdef USE_FAST_MATH
|
||||
/* MAX ECC BITS = ROUND8(MAX ECC) * 2 */
|
||||
#ifdef NO_RSA
|
||||
/* Custom fastmath size if not using RSA */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS (256 * 2)
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
#define ALT_ECC_SIZE
|
||||
/* wolfSSL will compute the FP_MAX_BITS_ECC, but it can be overridden */
|
||||
//#undef FP_MAX_BITS_ECC
|
||||
//#define FP_MAX_BITS_ECC (256 * 2)
|
||||
#endif
|
||||
|
||||
/* Speedups specific to curve */
|
||||
#ifndef NO_ECC256
|
||||
#undef TFM_ECC256
|
||||
#define TFM_ECC256
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* DH */
|
||||
#undef NO_DH
|
||||
#if 1
|
||||
/* Use table for DH instead of -lm (math) lib dependency */
|
||||
#if 1
|
||||
#define HAVE_DH_DEFAULT_PARAMS
|
||||
#define WOLFSSL_DH_CONST
|
||||
#define HAVE_FFDHE_2048
|
||||
#define HAVE_FFDHE_3072
|
||||
#define HAVE_FFDHE_4096
|
||||
#define HAVE_FFDHE_6144
|
||||
#define HAVE_FFDHE_8192
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FIPS
|
||||
#define WOLFSSL_VALIDATE_FFC_IMPORT
|
||||
#define HAVE_FFDHE_Q
|
||||
#endif
|
||||
#else
|
||||
#define NO_DH
|
||||
#endif
|
||||
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
/* GCM Method (slowest to fastest): GCM_SMALL, GCM_WORD32, GCM_TABLE or
|
||||
* GCM_TABLE_4BIT */
|
||||
#define GCM_TABLE_4BIT
|
||||
|
||||
#undef WOLFSSL_AES_DIRECT
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
|
||||
#undef HAVE_AES_ECB
|
||||
#define HAVE_AES_ECB
|
||||
|
||||
#undef WOLFSSL_AES_COUNTER
|
||||
#define WOLFSSL_AES_COUNTER
|
||||
|
||||
#undef HAVE_AESCCM
|
||||
#define HAVE_AESCCM
|
||||
|
||||
#undef WOLFSSL_AES_OFB
|
||||
#define WOLFSSL_AES_OFB
|
||||
#else
|
||||
#define NO_AES
|
||||
#endif
|
||||
|
||||
|
||||
/* DES3 */
|
||||
#undef NO_DES3
|
||||
#if 0
|
||||
#if 1
|
||||
#undef WOLFSSL_DES_ECB
|
||||
#define WOLFSSL_DES_ECB
|
||||
#endif
|
||||
#else
|
||||
#define NO_DES3
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 0
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 0
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
/* not unrolled - ~2k smaller and ~25% slower */
|
||||
//#define USE_SLOW_SHA256
|
||||
|
||||
/* Sha224 */
|
||||
#if 1
|
||||
#define WOLFSSL_SHA224
|
||||
#endif
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 1
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
#undef WOLFSSL_NOSHA512_224 /* Not in FIPS mode */
|
||||
#undef WOLFSSL_NOSHA512_256 /* Not in FIPS mode */
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
//#define USE_SLOW_SHA512
|
||||
#endif
|
||||
|
||||
/* Sha3 */
|
||||
#undef WOLFSSL_SHA3
|
||||
#if 1
|
||||
#define WOLFSSL_SHA3
|
||||
#define Sha3 wc_Sha3
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 1
|
||||
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
/* HKDF / PRF */
|
||||
#undef HAVE_HKDF
|
||||
#if 1
|
||||
#define HAVE_HKDF
|
||||
#define WOLFSSL_HAVE_PRF
|
||||
#endif
|
||||
|
||||
/* CMAC */
|
||||
#undef WOLFSSL_CMAC
|
||||
#if 1
|
||||
#define WOLFSSL_CMAC
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
#undef USE_CERT_BUFFERS_1024
|
||||
//#define USE_CERT_BUFFERS_1024
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef DEBUG_WOLFSSL
|
||||
#undef NO_ERROR_STRINGS
|
||||
#if 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#else
|
||||
#if 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Memory */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Memory API's */
|
||||
#if 0
|
||||
#undef XMALLOC_OVERRIDE
|
||||
#define XMALLOC_OVERRIDE
|
||||
|
||||
/* prototypes for user heap override functions */
|
||||
/* Note: Realloc only required for normal math */
|
||||
/* Note2: XFREE(NULL) must be properly handled */
|
||||
#include <stddef.h> /* for size_t */
|
||||
extern void *myMalloc(size_t n, void* heap, int type);
|
||||
extern void myFree(void *p, void* heap, int type);
|
||||
extern void *myRealloc(void *p, size_t n, void* heap, int type);
|
||||
|
||||
#define XMALLOC(n, h, t) myMalloc(n, h, t)
|
||||
#define XFREE(p, h, t) myFree(p, h, t)
|
||||
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* Static memory requires fast math */
|
||||
#define WOLFSSL_STATIC_MEMORY
|
||||
|
||||
/* Disable fallback malloc/free */
|
||||
#define WOLFSSL_NO_MALLOC
|
||||
#if 1
|
||||
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Memory callbacks */
|
||||
#if 1
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 0
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
// #define WOLFSSL_TRACK_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY
|
||||
//#define WOLFSSL_DEBUG_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY_PRINT
|
||||
//#define WOLFSSL_DEBUG_MEMORY_PRINT
|
||||
#endif
|
||||
#else
|
||||
#ifndef WOLFSSL_STATIC_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
/* Otherwise we will use stdlib malloc, free and realloc */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
//#define WOLFSSL_USER_CURRTIME
|
||||
//#define WOLFSSL_GMTIME
|
||||
//#define USER_TICKS
|
||||
//extern unsigned long my_time(unsigned long* timer);
|
||||
//#define XTIME my_time
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Seed Source */
|
||||
/* Seed Source */
|
||||
// extern int my_rng_generate_seed(unsigned char* output, int sz);
|
||||
// #undef CUSTOM_RAND_GENERATE_SEED
|
||||
// #define CUSTOM_RAND_GENERATE_SEED my_rng_generate_seed
|
||||
|
||||
/* Choose RNG method */
|
||||
#if 1
|
||||
/* Use built-in P-RNG (SHA256 based) with HW RNG */
|
||||
/* P-RNG + HW RNG (P-RNG is ~8K) */
|
||||
//#define WOLFSSL_GENSEED_FORTEST
|
||||
#undef HAVE_HASHDRBG
|
||||
#define HAVE_HASHDRBG
|
||||
#else
|
||||
#undef WC_NO_HASHDRBG
|
||||
#define WC_NO_HASHDRBG
|
||||
|
||||
/* Bypass P-RNG and use only HW RNG */
|
||||
extern int my_rng_gen_block(unsigned char* output, unsigned int sz);
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK my_rng_gen_block
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Custom Standard Lib */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Allows override of all standard library functions */
|
||||
#undef STRING_USER
|
||||
#if 0
|
||||
#define STRING_USER
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#undef USE_WOLF_STRSEP
|
||||
#define USE_WOLF_STRSEP
|
||||
#define XSTRSEP(s1,d) wc_strsep((s1),(d))
|
||||
|
||||
#undef USE_WOLF_STRTOK
|
||||
#define USE_WOLF_STRTOK
|
||||
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
|
||||
|
||||
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
|
||||
|
||||
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
|
||||
#define XMEMSET(b,c,l) memset((b),(c),(l))
|
||||
#define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n))
|
||||
#define XMEMMOVE(d,s,l) memmove((d),(s),(l))
|
||||
|
||||
#define XSTRLEN(s1) strlen((s1))
|
||||
#define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
|
||||
#define XSTRSTR(s1,s2) strstr((s1),(s2))
|
||||
|
||||
#define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n))
|
||||
#define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n))
|
||||
#define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n))
|
||||
|
||||
#define XSNPRINTF snprintf
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_ASN_TEMPLATE
|
||||
#define WOLFSSL_ASN_TEMPLATE
|
||||
|
||||
#undef WOLFSSL_ASN_PRINT
|
||||
#define WOLFSSL_ASN_PRINT
|
||||
|
||||
#undef WOLFSSL_TLS13
|
||||
#if 1
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_KEY_GEN
|
||||
#if 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_EXTENDED_MASTER
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
#undef WOLFSSL_NO_HASH_RAW
|
||||
#define WOLFSSL_NO_HASH_RAW
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_EXTRA
|
||||
//#define OPENSSL_EXTRA
|
||||
|
||||
#undef WOLFSSL_DER_LOAD
|
||||
#define WOLFSSL_DER_LOAD
|
||||
|
||||
#undef HAVE_SESSION_TICKET
|
||||
#define HAVE_SESSION_TICKET
|
||||
|
||||
#undef HAVE_EX_DATA
|
||||
#define HAVE_EX_DATA
|
||||
|
||||
#undef HAVE_ENCRYPT_THEN_MAC
|
||||
#define HAVE_ENCRYPT_THEN_MAC
|
||||
|
||||
#undef WOLFSSL_CERT_GEN
|
||||
//#define WOLFSSL_CERT_GEN
|
||||
|
||||
#undef ATOMIC_USER
|
||||
#define ATOMIC_USER
|
||||
|
||||
#undef HAVE_SECRET_CALLBACK
|
||||
#define HAVE_SECRET_CALLBACK
|
||||
|
||||
/* wolfEngine */
|
||||
#if 1
|
||||
#define OPENSSL_COEXIST
|
||||
|
||||
/* HKDF for engine */
|
||||
#undef HAVE_HKDF
|
||||
#if 1
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_X963_KDF
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_PUBLIC_MP
|
||||
#define WOLFSSL_PUBLIC_MP
|
||||
|
||||
#undef NO_OLD_RNGNAME
|
||||
#define NO_OLD_RNGNAME
|
||||
|
||||
#undef NO_OLD_WC_NAMES
|
||||
#define NO_OLD_WC_NAMES
|
||||
|
||||
#undef NO_OLD_SSL_NAMES
|
||||
#define NO_OLD_SSL_NAMES
|
||||
|
||||
#undef NO_OLD_SHA_NAMES
|
||||
#define NO_OLD_SHA_NAMES
|
||||
|
||||
#undef NO_OLD_MD5_NAME
|
||||
#define NO_OLD_MD5_NAME
|
||||
|
||||
#undef NO_OLD_SHA256_NAMES
|
||||
#define NO_OLD_SHA256_NAMES
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_SYS_CA_CERTS
|
||||
#define WOLFSSL_SYS_CA_CERTS
|
||||
|
||||
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
|
||||
#undef HAVE_SERVER_RENEGOTIATION_INFO
|
||||
#define HAVE_SERVER_RENEGOTIATION_INFO
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
@@ -135,27 +852,26 @@
|
||||
#define WOLFSSL_NO_SHAKE256
|
||||
|
||||
/* wolfSSL engineering ACVP algo and operational testing only (Default: Off) */
|
||||
#if 1
|
||||
#undef WOLFSSL_PUBLIC_MP
|
||||
#if 0
|
||||
#define WOLFSSL_PUBLIC_MP
|
||||
|
||||
#undef OPTEST_LOGGING_ENABLED
|
||||
//#define OPTEST_LOGGING_ENABLED
|
||||
|
||||
#undef OPTEST_INVALID_LOGGING_ENABLED
|
||||
//#define OPTEST_INVALID_LOGGING_ENABLED
|
||||
|
||||
#undef NO_MAIN_OPTEST_DRIVER
|
||||
#define NO_MAIN_OPTEST_DRIVER
|
||||
|
||||
#undef DEBUG_FIPS_VERBOSE
|
||||
#define NO_WRITE_TEMP_FILES
|
||||
#define WORKING_WITH_AEGISOLVE
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define OPTEST_LOGGING_ENABLED
|
||||
#define DEBUG_FIPS_VERBOSE
|
||||
|
||||
#undef HAVE_FORCE_FIPS_FAILURE
|
||||
#define OPTEST_RUNNING_ORGANIC
|
||||
#define OPTEST_INVALID_LOGGING_ENABLED
|
||||
#define HAVE_FORCE_FIPS_FAILURE
|
||||
|
||||
#undef NO_WRITE_TEMP_FILES
|
||||
#define NO_WRITE_TEMPT_FILES
|
||||
#define DEEPLY_EMBEDDED
|
||||
#define OPTEST_LOG_TE_MAPPING
|
||||
#define OEUP_V523
|
||||
#define FULL_SUBMISSION
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WC_DECLARE_NOTOK
|
||||
#define PRINTING_ZS_CRASHES
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2025 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 3 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
|
||||
*/
|
||||
#if 1
|
||||
#define OPENSSL_COEXIST
|
||||
|
||||
/* HKDF for engine */
|
||||
#undef HAVE_HKDF
|
||||
#if 1
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_X963_KDF
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_PUBLIC_MP
|
||||
#define WOLFSSL_PUBLIC_MP
|
||||
|
||||
#undef NO_OLD_RNGNAME
|
||||
#define NO_OLD_RNGNAME
|
||||
|
||||
#undef NO_OLD_WC_NAMES
|
||||
#define NO_OLD_WC_NAMES
|
||||
|
||||
#undef NO_OLD_SSL_NAMES
|
||||
#define NO_OLD_SSL_NAMES
|
||||
|
||||
#undef NO_OLD_SHA_NAMES
|
||||
#define NO_OLD_SHA_NAMES
|
||||
|
||||
#undef NO_OLD_MD5_NAME
|
||||
#define NO_OLD_MD5_NAME
|
||||
|
||||
#undef NO_OLD_SHA256_NAMES
|
||||
#define NO_OLD_SHA256_NAMES
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_SYS_CA_CERTS
|
||||
#define WOLFSSL_SYS_CA_CERTS
|
||||
|
||||
#undef LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
#define LIBWOLFSSL_GLOBAL_EXTRA_CFLAGS
|
||||
|
||||
#undef HAVE_SERVER_RENEGOTIATION_INFO
|
||||
#define HAVE_SERVER_RENEGOTIATION_INFO
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
#undef WOLFCRYPT_ONLY
|
||||
#define WOLFCRYPT_ONLY
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
//#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
//#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
//#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
//#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
//#define NO_CODING
|
||||
|
||||
#undef NO_ASN_TIME
|
||||
//#define NO_ASN_TIME
|
||||
|
||||
#undef NO_CERTS
|
||||
//#define NO_CERTS
|
||||
|
||||
#undef NO_SIG_WRAPPER
|
||||
//#define NO_SIG_WRAPPER
|
||||
|
||||
#undef NO_DO178
|
||||
#define NO_DO178
|
||||
|
||||
#undef WOLFSSL_NO_SHAKE128
|
||||
#define WOLFSSL_NO_SHAKE128
|
||||
|
||||
#undef WOLFSSL_NO_SHAKE256
|
||||
#define WOLFSSL_NO_SHAKE256
|
||||
|
||||
/* wolfSSL engineering ACVP algo and operational testing only (Default: Off) */
|
||||
#if 1
|
||||
#undef WOLFSSL_PUBLIC_MP
|
||||
#define WOLFSSL_PUBLIC_MP
|
||||
|
||||
#undef OPTEST_LOGGING_ENABLED
|
||||
//#define OPTEST_LOGGING_ENABLED
|
||||
|
||||
#undef OPTEST_INVALID_LOGGING_ENABLED
|
||||
//#define OPTEST_INVALID_LOGGING_ENABLED
|
||||
|
||||
#undef NO_MAIN_OPTEST_DRIVER
|
||||
#define NO_MAIN_OPTEST_DRIVER
|
||||
|
||||
#undef DEBUG_FIPS_VERBOSE
|
||||
#define DEBUG_FIPS_VERBOSE
|
||||
|
||||
#undef HAVE_FORCE_FIPS_FAILURE
|
||||
#define HAVE_FORCE_FIPS_FAILURE
|
||||
|
||||
#undef NO_WRITE_TEMP_FILES
|
||||
#define NO_WRITE_TEMPT_FILES
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
@@ -225,6 +225,9 @@ if BUILD_LINUXKM
|
||||
module:
|
||||
+$(MAKE) -C linuxkm libwolfssl.ko
|
||||
|
||||
module-update-fips-hash:
|
||||
+$(MAKE) -C linuxkm module-update-fips-hash
|
||||
|
||||
clean_module:
|
||||
+$(MAKE) -C linuxkm clean
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ NOTE: * wolfSSL is now GPLv3 instead of GPLv2
|
||||
* MD5 is now disabled by default
|
||||
|
||||
|
||||
PR stands for Pull Request, and PR <NUMBER> references a GitHub pull request number where the code change was added.
|
||||
PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added.
|
||||
|
||||
## Vulnerabilities
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ openssl x509 -req -in server-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.c
|
||||
check_result $? "Generate certificate"
|
||||
rm server-sm2.csr
|
||||
|
||||
openssl x509 -in server-sm2-cert.pem -outform DER > server-sm2.der
|
||||
openssl x509 -in server-sm2-cert.pem -outform DER > server-sm2-cert.der
|
||||
check_result $? "Convert to DER"
|
||||
openssl x509 -in server-sm2-cert.pem -text > tmp.pem
|
||||
check_result $? "Add text"
|
||||
|
||||
Binary file not shown.
+87
-6
@@ -46,6 +46,10 @@ AC_ARG_VAR(EXTRA_LDFLAGS, [Extra LDFLAGS to add to end of autoconf-computed arg
|
||||
WOLFSSL_CONFIG_ARGS=$ac_configure_args
|
||||
AC_SUBST([WOLFSSL_CONFIG_ARGS])
|
||||
|
||||
# Store configure options and CFLAGS for debian rules generation
|
||||
CONFIGURE_OPTIONS="$ac_configure_args"
|
||||
AC_SUBST([CONFIGURE_OPTIONS])
|
||||
|
||||
# shared library versioning
|
||||
# The three numbers in the libwolfssl.so.*.*.* file name. Unfortunately
|
||||
|
||||
@@ -437,6 +441,8 @@ AS_CASE([$ENABLED_WOLFENGINE],
|
||||
# rand - wolfRand
|
||||
# v5 - FIPS 140-3 Cert 4718
|
||||
# cert4718 - alias for v5
|
||||
# v5.2.3 -- FIPS 140-3 with support for ARM acceleration, derived from Cert 4718
|
||||
# v5.2.4 -- FIPS 140-3 with support for Linux kernel mode, derived from v5.2.3
|
||||
# ready - FIPS 140-3 settings with in-tree wolfcrypt sources, feature locked
|
||||
# dev - FIPS 140-3 settings with in-tree wolfcrypt sources, features freely adjustable
|
||||
# v5-ready - Alias for ready.
|
||||
@@ -493,6 +499,24 @@ AS_CASE([$ENABLED_FIPS],
|
||||
DEF_SP_MATH="no"
|
||||
DEF_FAST_MATH="yes"
|
||||
],
|
||||
[v5.2.3],[
|
||||
FIPS_VERSION="v5"
|
||||
HAVE_FIPS_VERSION_MAJOR=5
|
||||
HAVE_FIPS_VERSION_MINOR=2
|
||||
HAVE_FIPS_VERSION_PATCH=3
|
||||
ENABLED_FIPS="yes"
|
||||
DEF_SP_MATH="yes"
|
||||
DEF_FAST_MATH="no"
|
||||
],
|
||||
[v5.2.4],[
|
||||
FIPS_VERSION="v5"
|
||||
HAVE_FIPS_VERSION_MAJOR=5
|
||||
HAVE_FIPS_VERSION_MINOR=2
|
||||
HAVE_FIPS_VERSION_PATCH=4
|
||||
ENABLED_FIPS="yes"
|
||||
DEF_SP_MATH="yes"
|
||||
DEF_FAST_MATH="no"
|
||||
],
|
||||
[v5-RC12],[
|
||||
FIPS_VERSION="v5-RC12"
|
||||
HAVE_FIPS_VERSION_MAJOR=5
|
||||
@@ -1101,6 +1125,7 @@ then
|
||||
AC_MSG_ERROR([--enable-all-osp is incompatible with --enable-linuxkm-defaults])
|
||||
fi
|
||||
|
||||
test "$enable_wolfguard" = "" && enable_wolfguard=yes
|
||||
test "$enable_webserver" = "" && enable_webserver=yes
|
||||
|
||||
if test "$ENABLED_SP_MATH" != "yes"
|
||||
@@ -1293,7 +1318,6 @@ then
|
||||
test "$enable_certext" = "" && enable_certext=yes
|
||||
test "$enable_sep" = "" && enable_sep=yes
|
||||
test "$enable_hkdf" = "" && enable_hkdf=yes
|
||||
test "$enable_fpecc" = "" && test "$enable_ecc" != "no" && enable_fpecc=yes
|
||||
test "$enable_eccencrypt" = "" && test "$enable_ecc" != "no" && enable_eccencrypt=yes
|
||||
test "$enable_psk" = "" && enable_psk=yes
|
||||
test "$enable_cmac" = "" && enable_cmac=yes
|
||||
@@ -1323,6 +1347,13 @@ then
|
||||
test "$enable_anon" = "" && enable_anon=yes
|
||||
test "$enable_ssh" = "" && test "$enable_hmac" != "no" && enable_ssh=yes
|
||||
|
||||
# the compiler optimizer generates a weird out-of-bounds bss reference for
|
||||
# find_hole() in the FP_ECC implementation.
|
||||
if test "$ENABLED_LINUXKM_PIE" != yes
|
||||
then
|
||||
test "$enable_fpecc" = "" && test "$enable_ecc" != "no" && enable_fpecc=yes
|
||||
fi
|
||||
|
||||
if test "x$FIPS_VERSION" != "xv1"
|
||||
then
|
||||
test "$enable_rsapss" = "" && enable_rsapss=yes
|
||||
@@ -1370,7 +1401,7 @@ then
|
||||
test "$enable_aesxts_stream" = "" && test "$enable_aesxts" = "yes" && enable_aesxts_stream=yes
|
||||
test "$enable_shake128" = "" && enable_shake128=yes
|
||||
test "$enable_shake256" = "" && enable_shake256=yes
|
||||
test "$enable_compkey" = "" && test "$ENABLED_LINUXKM_DEFAULTS" != "yes" && enable_compkey=yes
|
||||
test "$enable_compkey" = "" && enable_compkey=yes
|
||||
# AFALG lacks AES-ECB
|
||||
test "$enable_srtp_kdf" = "" && test "$enable_afalg" != "yes" && enable_srtp_kdf=yes
|
||||
fi
|
||||
@@ -1399,6 +1430,24 @@ then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_ISSUER_NAMES"
|
||||
fi
|
||||
|
||||
# wolfGuard
|
||||
AC_ARG_ENABLE([wolfguard],
|
||||
[AS_HELP_STRING([--enable-wolfguard],[Enable wolfGuard dependencies (default: disabled)])],
|
||||
[ ENABLED_WOLFGUARD=$enableval ],
|
||||
[ ENABLED_WOLFGUARD=no ]
|
||||
)
|
||||
if test "$ENABLED_WOLFGUARD" = "yes"
|
||||
then
|
||||
test "$enable_ecc" = "" && enable_ecc=yes
|
||||
test "$enable_sha256" = "" && enable_sha256=yes
|
||||
test "$enable_aesgcm" = "" && enable_aesgcm=yes
|
||||
if test "$ENABLED_FIPS" = "no" || test "$HAVE_FIPS_VERSION" -ge 6
|
||||
then
|
||||
test "$enable_compkey" = "" && enable_compkey=yes
|
||||
test "$enable_aesgcm_stream" = "" && enable_aesgcm_stream=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
# liboqs
|
||||
ENABLED_LIBOQS="no"
|
||||
tryliboqsdir=""
|
||||
@@ -3780,6 +3829,18 @@ then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_INTEL_RDRAND"
|
||||
fi
|
||||
|
||||
# INTEL RDSEED
|
||||
AC_ARG_ENABLE([intelrdseed],
|
||||
[AS_HELP_STRING([--enable-intelrdseed],[Enable Intel rdseed as preferred RNG seeding source (default: disabled)])],
|
||||
[ ENABLED_INTELRDSEED=$enableval ],
|
||||
[ ENABLED_INTELRDSEED=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_INTELRDSEED" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_INTEL_RDSEED"
|
||||
fi
|
||||
|
||||
# AMD RDSEED
|
||||
AC_ARG_ENABLE([amdrand],
|
||||
[AS_HELP_STRING([--enable-amdrand],[Enable AMD rdseed as preferred RNG seeding source (default: disabled)])],
|
||||
@@ -5657,6 +5718,9 @@ AC_ARG_ENABLE([pwdbased],
|
||||
# wolfEntropy Software Jitter SP800-90B certifiable entropy source
|
||||
|
||||
if test "$ENABLED_LINUXKM_DEFAULTS" = "yes" && \
|
||||
test "$ENABLED_AMDRDSEED" != "yes" && \
|
||||
test "$ENABLED_INTELRDRAND" != "yes" && \
|
||||
test "$ENABLED_INTELRDSEED" != "yes" && \
|
||||
(test "$ENABLED_FIPS" = "no" || test "$HAVE_FIPS_VERSION" -ge 6)
|
||||
then
|
||||
ENABLED_ENTROPY_MEMUSE_DEFAULT=yes
|
||||
@@ -5748,7 +5812,7 @@ AS_CASE([$FIPS_VERSION],
|
||||
(test "$FIPS_VERSION" != "dev" || test "$enable_keygen" != "no")],
|
||||
[ENABLED_KEYGEN="yes"; AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_KEY_GEN"])
|
||||
|
||||
# AS_IF([test "$ENABLED_COMPKEY" = "yes" &&
|
||||
# AS_IF([test "$ENABLED_COMPKEY" != "yes" &&
|
||||
# (test "$FIPS_VERSION" != "dev" || test "$enable_compkey" != "yes")],
|
||||
# [ENABLED_COMPKEY="yes"])
|
||||
|
||||
@@ -8179,6 +8243,14 @@ then
|
||||
ENABLED_TICKET_NONCE_MALLOC="yes"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_TICKET_NONCE_MALLOC"
|
||||
fi
|
||||
elif test "$ENABLED_CURL" = "tiny"
|
||||
then
|
||||
if test "x$ENABLED_OPENSSLEXTRA" = "xno"
|
||||
then
|
||||
ENABLED_OPENSSLEXTRA="x509small"
|
||||
fi
|
||||
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_CURL"
|
||||
fi
|
||||
|
||||
if test "$ENABLED_PSK" = "no" && test "$ENABLED_LEANPSK" = "no" \
|
||||
@@ -10630,6 +10702,17 @@ if test "$enable_shared" = "no"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$ENABLED_WOLFGUARD" = "yes"; then
|
||||
if test "$ENABLED_ECC" = "no" ||
|
||||
test "$ENABLED_SHA256" = "no" ||
|
||||
test "$ENABLED_AESGCM" = "no" ||
|
||||
test "$ENABLED_HMAC" = "no" ||
|
||||
test "$ENABLED_RNG" = "no"
|
||||
then
|
||||
AC_MSG_ERROR([--enable-wolfguard requires ECC, SHA256-HMAC, AES-GCM, and RNG.])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$ENABLED_LINUXKM" = "xyes"; then
|
||||
AX_SIMD_CC_COMPILER_FLAGS
|
||||
AC_SUBST([CFLAGS_FPU_DISABLE])
|
||||
@@ -10694,9 +10777,6 @@ if test "x$ENABLED_LINUXKM" = "xyes"; then
|
||||
if test "$ENABLED_STACKLOG" = "yes"; then
|
||||
AC_MSG_ERROR([--enable-stacklog is incompatible with --enable-linuxkm.])
|
||||
fi
|
||||
if test "$ENABLED_COMPKEY" = "yes"; then
|
||||
AC_MSG_ERROR([--enable-compkey is incompatible with --enable-linuxkm.])
|
||||
fi
|
||||
fi
|
||||
|
||||
AS_IF([test "$ENABLED_ASM" = "no" && (test "$ENABLED_INTELASM" != "no" || \
|
||||
@@ -10934,6 +11014,7 @@ AC_CONFIG_FILES([Makefile
|
||||
wolfcrypt/test/test_paths.h
|
||||
])
|
||||
AC_CONFIG_FILES([scripts/unit.test],[chmod +x scripts/unit.test])
|
||||
AC_CONFIG_FILES([debian/rules],[chmod +x debian/rules])
|
||||
|
||||
AX_CREATE_GENERIC_CONFIG
|
||||
AX_AM_JOBSERVER([yes])
|
||||
|
||||
Vendored
+15
-67
@@ -1,77 +1,25 @@
|
||||
# vim:ft=automake
|
||||
|
||||
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||
|
||||
# Debian packaging using dpkg-buildpackage
|
||||
deb:
|
||||
# Setup meta folders
|
||||
mkdir -p debian/libwolfssl/DEBIAN debian/libwolfssl-dev/DEBIAN
|
||||
# "Install" wolfSSL
|
||||
make install exec_prefix=$(CURDIR)/debian/libwolfssl/usr \
|
||||
prefix=$(CURDIR)/debian/libwolfssl-dev/usr
|
||||
# deb shared lib stuff
|
||||
fakeroot dh_makeshlibs
|
||||
dh_shlibdeps
|
||||
dh_installdeb
|
||||
# Generate the lib and src descriptions
|
||||
fakeroot dh_gencontrol
|
||||
# Make adjustments to the package structure and to satisfy lintian checks
|
||||
# Correct doc dir name
|
||||
@rm -rf debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev
|
||||
@mv debian/libwolfssl-dev/usr/share/doc/wolfssl \
|
||||
debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev
|
||||
# Clear lib folder
|
||||
@rm -rf debian/libwolfssl-dev/usr/lib
|
||||
@mkdir -p debian/libwolfssl-dev/usr/lib
|
||||
# Move the top level .so into the dev pkg
|
||||
@mv debian/libwolfssl/usr/lib/libwolfssl.so debian/libwolfssl-dev/usr/lib
|
||||
# Create correct pkg doc dir
|
||||
@rm -rf debian/libwolfssl/usr/share/doc/libwolfssl
|
||||
@mkdir -p debian/libwolfssl/usr/share/doc/libwolfssl
|
||||
# Place changelog
|
||||
@gzip -n -9 -c debian/changelog | \
|
||||
tee debian/libwolfssl/usr/share/doc/libwolfssl/changelog.gz > \
|
||||
debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev/changelog.gz
|
||||
# Place copyright
|
||||
@cp debian/copyright debian/libwolfssl/usr/share/doc/libwolfssl
|
||||
@cp debian/copyright debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev
|
||||
# Remove .la file https://wiki.debian.org/ReleaseGoals/LAFileRemoval
|
||||
@rm debian/libwolfssl/usr/lib/libwolfssl.la
|
||||
# Strip unwanted symbols
|
||||
# https://www.debian.org/doc/debian-policy/ch-files.html#binaries
|
||||
@strip --strip-unneeded debian/libwolfssl/usr/lib/libwolfssl.so.*.*.*
|
||||
# Place pkgconfig so that it is available for cross-compilation
|
||||
# https://lintian.debian.org/tags/pkg-config-unavailable-for-cross-compilation
|
||||
@rm -rf debian/libwolfssl/usr/lib/$(DEB_HOST_MULTIARCH)
|
||||
@mkdir -p debian/libwolfssl/usr/lib/$(DEB_HOST_MULTIARCH)
|
||||
@mv debian/libwolfssl/usr/lib/pkgconfig \
|
||||
debian/libwolfssl/usr/lib/$(DEB_HOST_MULTIARCH)
|
||||
# Set the expected access rules
|
||||
@chmod 644 debian/libwolfssl/usr/lib/libwolfssl.so.*.*.*
|
||||
@chmod 644 debian/libwolfssl/usr/share/doc/libwolfssl/changelog.gz \
|
||||
debian/libwolfssl/usr/share/doc/libwolfssl/copyright \
|
||||
debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev/changelog.gz \
|
||||
debian/libwolfssl-dev/usr/share/doc/libwolfssl-dev/copyright
|
||||
# Do this as the last step to mark all directories with the correct access bits
|
||||
@find debian/libwolfssl*/usr -type d | xargs chmod 755
|
||||
# Generate debs
|
||||
dpkg-deb --root-owner-group -b debian/libwolfssl .
|
||||
dpkg-deb --root-owner-group -b debian/libwolfssl-dev .
|
||||
# Check that everything is correct with lintian
|
||||
# - we don't provide a manual page for wolfssl-config
|
||||
# - we don't care about matching the soname for our debs
|
||||
lintian *.deb --fail-on error,warning --tag-display-limit 0 \
|
||||
--suppress-tags no-manual-page,package-name-doesnt-match-sonames
|
||||
# Clean up the working dirs
|
||||
make deb-clean
|
||||
dpkg-buildpackage -us -uc
|
||||
|
||||
deb-source:
|
||||
dpkg-buildpackage -S -us -uc
|
||||
|
||||
deb-binary:
|
||||
dpkg-buildpackage -B -us -uc
|
||||
|
||||
deb-docker:
|
||||
docker build -t "debian-builder:Dockerfile" Docker/packaging/debian
|
||||
docker run --rm -v $(CURDIR):/opt/wolfssl debian-builder:Dockerfile \
|
||||
bash -c 'cd /opt/wolfssl && ./config.status --recheck && make deb && \
|
||||
make clean deb-clean &> /dev/null'
|
||||
# To allow the user to keep using the configuration on the host
|
||||
@./config.status --recheck &> /dev/null
|
||||
bash -c 'cd /opt/wolfssl && ./autogen.sh && ./configure $(WOLFSSL_CONFIG_ARGS) && make deb && find .. -maxdepth 1 -type f -exec cp {} . \;'
|
||||
|
||||
deb-clean:
|
||||
dh_clean --exclude=debian/control --exclude=debian/changelog \
|
||||
--exclude=debian/rules || true
|
||||
rm -rf debian/libwolfssl debian/libwolfssl-dev debian/files \
|
||||
debian/*.substvars debian/.debhelper
|
||||
debian/*.substvars debian/.debhelper debian/tmp
|
||||
rm -f debian/debhelper-build-stamp
|
||||
|
||||
.PHONY: deb deb-source deb-binary deb-docker deb-clean
|
||||
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
usr/include/
|
||||
usr/lib/*/libwolfssl.so
|
||||
usr/lib/*/libwolfssl.a
|
||||
usr/lib/*/pkgconfig/wolfssl.pc
|
||||
usr/bin/wolfssl-config
|
||||
usr/share/doc/wolfssl/
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
usr/lib/*/libwolfssl.so.*
|
||||
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Store the configure options and CFLAGS used during ./configure
|
||||
# This file is generated from rules.in by the configure script
|
||||
CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
|
||||
ENABLED_FIPS = @ENABLED_FIPS@
|
||||
|
||||
# Use debhelper with automatic sequence
|
||||
%:
|
||||
dh $@
|
||||
|
||||
# Override configure to use the stored options
|
||||
override_dh_auto_configure:
|
||||
./configure \
|
||||
--build=$(DEB_BUILD_GNU_TYPE) \
|
||||
--host=$(DEB_HOST_GNU_TYPE) \
|
||||
--prefix=/usr \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
|
||||
--libexecdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
|
||||
--disable-maintainer-mode \
|
||||
--disable-dependency-tracking \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
$(CONFIGURE_OPTIONS)
|
||||
|
||||
# Override test to skip them (optional, remove if you want to run tests)
|
||||
#override_dh_auto_test:
|
||||
# Skip tests during package build
|
||||
|
||||
# Handle FIPS builds which require special hash generation
|
||||
override_dh_auto_build:
|
||||
ifeq ($(ENABLED_FIPS),yes)
|
||||
# FIPS build requires two-stage process with hash generation
|
||||
$(MAKE)
|
||||
./fips-hash.sh
|
||||
$(MAKE)
|
||||
else
|
||||
# Standard build
|
||||
dh_auto_build
|
||||
endif
|
||||
|
||||
# Handle multiarch library placement and remove .la files
|
||||
override_dh_auto_install:
|
||||
dh_auto_install
|
||||
# Remove .la files (not needed in modern Debian packages)
|
||||
find debian/tmp -name '*.la' -delete
|
||||
|
||||
# Set proper permissions and strip symbols
|
||||
override_dh_strip:
|
||||
dh_strip --dbgsym-migration='libwolfssl-dbg (<< 5.0.0-1~)'
|
||||
|
||||
# Auto-clean override - prevent make distclean from removing debian files
|
||||
override_dh_auto_clean:
|
||||
# Run make clean instead of make distclean to preserve debian files
|
||||
if [ -f Makefile ]; then \
|
||||
$(MAKE) clean; \
|
||||
fi
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
3.0 (native)
|
||||
@@ -113,6 +113,114 @@ int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key);
|
||||
|
||||
int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id);
|
||||
|
||||
/*!
|
||||
\ingroup ECC
|
||||
|
||||
\brief wc_ecc_make_pub computes the public component from an ecc_key with an
|
||||
existing private component. If pubOut is supplied, the computed public key
|
||||
is stored there, else it is stored in the supplied ecc_key public component
|
||||
slot.
|
||||
|
||||
\return 0 Returned on success.
|
||||
\return ECC_BAD_ARG_E Returned if rng or key evaluate to NULL
|
||||
\return BAD_FUNC_ARG Returned if the supplied key is not a valid ecc_key.
|
||||
\return MEMORY_E Returned if there is an error allocating memory while
|
||||
computing the public key
|
||||
\return MP_INIT_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_READ_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_CMP_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_INVMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_EXPTMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_MOD_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MUL_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_ADD_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MULMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_TO_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MEM may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_OUT_OF_RANGE_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_PRIV_KEY_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_INF_E may be returned if there is an error while computing the
|
||||
public key
|
||||
|
||||
\param key Pointer to an ecc_key containing a valid private component
|
||||
\param pubOut Optional pointer to an ecc_point struct in which to store
|
||||
the computed public key
|
||||
|
||||
\sa wc_ecc_make_pub_ex
|
||||
\sa wc_ecc_make_key
|
||||
*/
|
||||
|
||||
int wc_ecc_make_pub(ecc_key* key, ecc_point* pubOut);
|
||||
|
||||
/*!
|
||||
\ingroup ECC
|
||||
|
||||
\brief wc_ecc_make_pub_ex computes the public component from an ecc_key with
|
||||
an existing private component. If pubOut is supplied, the computed public
|
||||
key is stored there, else it is stored in the supplied ecc_key public
|
||||
component slot. The supplied rng, if non-NULL, is used to blind the private
|
||||
key value used in the computation. If rng is NULL, an ephemeral rng is
|
||||
instantiated internally.
|
||||
|
||||
\return 0 Returned on success.
|
||||
\return ECC_BAD_ARG_E Returned if rng or key evaluate to NULL
|
||||
\return BAD_FUNC_ARG Returned if the supplied key is not a valid ecc_key.
|
||||
\return MEMORY_E Returned if there is an error allocating memory while
|
||||
computing the public key
|
||||
\return MP_INIT_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_READ_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_CMP_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_INVMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_EXPTMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_MOD_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MUL_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_ADD_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MULMOD_E may be returned if there is an error while computing
|
||||
the public key
|
||||
\return MP_TO_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return MP_MEM may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_OUT_OF_RANGE_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_PRIV_KEY_E may be returned if there is an error while computing the
|
||||
public key
|
||||
\return ECC_INF_E may be returned if there is an error while computing the
|
||||
public key
|
||||
|
||||
\param key Pointer to an ecc_key containing a valid private component
|
||||
\param pubOut Optional pointer to an ecc_point struct in which to store
|
||||
the computed public key
|
||||
\param rng Rng to be used in the public key computation
|
||||
|
||||
\sa wc_ecc_make_pub
|
||||
\sa wc_ecc_make_key
|
||||
\sa wc_InitRng
|
||||
*/
|
||||
|
||||
int wc_ecc_make_pub_ex(ecc_key* key, ecc_point* pubOut, WC_RNG* rng);
|
||||
|
||||
/*!
|
||||
\ingroup ECC
|
||||
|
||||
@@ -960,6 +1068,7 @@ int wc_ecc_mulmod(mp_int* k, ecc_point *G, ecc_point *R,
|
||||
|
||||
\sa wc_ecc_export_x963_ex
|
||||
\sa wc_ecc_import_x963
|
||||
\sa wc_ecc_make_pub
|
||||
*/
|
||||
|
||||
int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen);
|
||||
@@ -967,23 +1076,25 @@ int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen);
|
||||
/*!
|
||||
\ingroup ECC
|
||||
|
||||
\brief This function exports the ECC key from the ecc_key structure,
|
||||
\brief This function exports the public key from the ecc_key structure,
|
||||
storing the result in out. The key will be stored in ANSI X9.63 format.
|
||||
It stores the bytes written to the output buffer in outLen. This function
|
||||
allows the additional option of compressing the certificate through the
|
||||
compressed parameter. When this parameter is true, the key will be stored
|
||||
in ANSI X9.63 compressed format.
|
||||
|
||||
\return 0 Returned on successfully exporting the ecc_key
|
||||
\return 0 Returned on successfully exporting the ecc_key public component
|
||||
\return ECC_PRIVATEKEY_ONLY Returned if the ecc_key public component is
|
||||
missing
|
||||
\return NOT_COMPILED_IN Returned if the HAVE_COMP_KEY was not enabled at
|
||||
compile time, but the key was requested in compressed format
|
||||
\return LENGTH_ONLY_E Returned if the output buffer evaluates to NULL, but
|
||||
the other two input parameters are valid. Indicates that the function is
|
||||
only returning the length required to store the key
|
||||
only returning the length required to store the public key
|
||||
\return ECC_BAD_ARG_E Returned if any of the input parameters are NULL, or
|
||||
the key is unsupported (has an invalid index)
|
||||
\return BUFFER_E Returned if the output buffer is too small to store the
|
||||
ecc key. If the output buffer is too small, the size needed will be
|
||||
public key. If the output buffer is too small, the size needed will be
|
||||
returned in outLen
|
||||
\return MEMORY_E Returned if there is an error allocating memory with
|
||||
XMALLOC
|
||||
@@ -1010,9 +1121,9 @@ int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen);
|
||||
|
||||
\param key pointer to the ecc_key object to export
|
||||
\param out pointer to the buffer in which to store the ANSI X9.63
|
||||
formatted key
|
||||
formatted public key
|
||||
\param outLen size of the output buffer. On successfully storing the
|
||||
key, will hold the bytes written to the output buffer
|
||||
public key, will hold the bytes written to the output buffer
|
||||
\param compressed indicator of whether to store the key in compressed
|
||||
format. 1==compressed, 0==uncompressed
|
||||
|
||||
@@ -1031,6 +1142,7 @@ int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen);
|
||||
|
||||
\sa wc_ecc_export_x963
|
||||
\sa wc_ecc_import_x963
|
||||
\sa wc_ecc_make_pub
|
||||
*/
|
||||
|
||||
int wc_ecc_export_x963_ex(ecc_key* key, byte* out, word32* outLen, int compressed);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
/* Define a macro to display user settings version in example code: */
|
||||
#define WOLFSSL_USER_SETTINGS_ID "Arduino user_settings.h v5.7.6"
|
||||
#define WOLFSSL_USER_SETTINGS_ID "Arduino user_settings.h v5.8.2"
|
||||
|
||||
/* Disable wolfcrypt cryptographic security hardening. Comment out to enable: */
|
||||
/* #define WC_NO_HARDEN */
|
||||
@@ -40,7 +40,6 @@
|
||||
#define WOLFSSL_IGNORE_FILE_WARN
|
||||
|
||||
#define NO_FILESYSTEM
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* Make sure this is not an ESP-IDF file */
|
||||
#undef WOLFSSL_ESPIDF
|
||||
@@ -58,13 +57,143 @@
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
#define NO_OLD_TLS
|
||||
/* TLS 1.3 */
|
||||
/* #define WOLFSSL_TLS13 */
|
||||
#if defined(WOLFSSL_TLS13)
|
||||
|
||||
/* To see board properties & definitions:
|
||||
* arduino-cli compile --fqbn [] --show-properties ./sketches/wolfssl_client */
|
||||
|
||||
#if defined(ARDUINO_AVR_ETHERNET)
|
||||
/* TODO: optimize client / server to fit in 32K flash?
|
||||
* currently 164K too big: */
|
||||
#define WOLFSSL_NO_TLS13
|
||||
#define WOLFSSL_MIN_CONFIG
|
||||
#define WOLFSSL_USER_IO
|
||||
#define WOLFSSL_NO_WRITEV
|
||||
#define NO_FILESYSTEM
|
||||
#define WOLFSSL_NO_CERTS
|
||||
#define HAVE_TLS
|
||||
#define NO_RC4
|
||||
#define NO_PSK
|
||||
#define NO_SESSION_CACHE
|
||||
#define NO_CERT_VERIFY
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define WOLFSSL_NO_SP
|
||||
#define WOLFSSL_NO_SIG_WRAPPER
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#undef WOLFSSL_DTLS
|
||||
#undef WOLFSSL_DTLS13
|
||||
#endif
|
||||
|
||||
#if defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
/* No time available */
|
||||
/* Used only here in Arduino, WOLFSSL_NO_TLS13 is not a wolfssl macro */
|
||||
#undef WOLFSSL_NO_TLS13
|
||||
#define WOLFSSL_NO_TLS13
|
||||
|
||||
#define NO_TLS
|
||||
#undef WOLFSSL_TLS13
|
||||
|
||||
#define WOLFSSL_NO_TLS12
|
||||
#endif
|
||||
|
||||
#if defined(ESP8266) || defined(__SAM3X8E__) || \
|
||||
defined(ARDUINO_AVR_ETHERNET) || defined(ARDUINO_AVR_LEONARDO_ETH)
|
||||
#define WOLFSSL_NO_SOCK
|
||||
#define WOLFSSL_USER_IO
|
||||
#define NO_WRITEV
|
||||
|
||||
/* There's limited RAM on these devices */
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
|
||||
/* SNI, Supported Groups (elliptic curves), ALPN: */
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_AEAD
|
||||
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#if defined(WOLFSSL_NO_TLS13) && defined(WOLFSSL_NO_TLS12)
|
||||
/* NO TLS */
|
||||
#define NO_TLS
|
||||
#elif defined(WOLFSSL_NO_TLS13)
|
||||
/* Only TLS 1.2*/
|
||||
/* enabled by default, for clarity: */
|
||||
#undef WOLFSSL_NO_TLS12
|
||||
|
||||
/* Ensure TLS 1.3 is not enabled */
|
||||
#undef WOLFSSL_TLS13
|
||||
#elif defined(WOLFSSL_NO_TLS12)
|
||||
/* Only TLS 1.3*/
|
||||
#define WOLFSSL_TLS13
|
||||
#if defined(WOLFSSL_TLS13)
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_AEAD
|
||||
#endif
|
||||
#else
|
||||
/* Both TLS 1.2 and TLS 1.3 */
|
||||
|
||||
/* TLS 1.2 enabled by default, for clarity: */
|
||||
#undef WOLFSSL_NO_TLS12
|
||||
|
||||
/* Enable only TLS 1.3 on small memory devices */
|
||||
#define WOLFSSL_TLS13
|
||||
#if defined(WOLFSSL_TLS13)
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_AEAD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_DTLS
|
||||
#undef WOLFSSL_DTLS13
|
||||
#elif defined(ESP32) || \
|
||||
defined(WIFI_101) || defined(WIFI_NINA) || defined(WIFIESPAT) || \
|
||||
defined(ETHERNET_H) || defined(ARDUINO_TEENSY41) || \
|
||||
defined(ARDUINO_SAMD_MKR1000)
|
||||
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
/* Only boards known to have networking will have TLS / DTLS enabled */
|
||||
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
/* Enable TLS 1.3 */
|
||||
#define WOLFSSL_TLS13
|
||||
#if defined(WOLFSSL_TLS13)
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_AEAD
|
||||
#endif
|
||||
|
||||
/* Enable DTLS */
|
||||
#define WOLFSSL_DTLS 1
|
||||
#if defined(WOLFSSL_DTLS)
|
||||
#define WOLFSSL_DTLS13
|
||||
|
||||
/* WOLFSSL_DTLS13 requires WOLFSSL_TLS13 */
|
||||
#undef WOLFSSL_TLS13
|
||||
#define WOLFSSL_TLS13
|
||||
#define USE_WOLFSSL_IO
|
||||
|
||||
/* WOLFSSL_SEND_HRR_COOKIE is needed to use DTLS 1.3 server */
|
||||
#define WOLFSSL_SEND_HRR_COOKIE
|
||||
#endif
|
||||
#elif defined (__AVR__) || defined(__AVR_ARCH__) || defined(__MEGAAVR__)
|
||||
/* Do not enable TLS on platforms without networking */
|
||||
|
||||
/* We'll assume all AVR targets are small: 8 or 16 bit */
|
||||
#define WC_16BIT_CPU
|
||||
#define NO_TLS
|
||||
#elif (defined(__SAMD21__) || defined(__SAMD51__)) && defined(ARDUINO_SAMD_ZERO)
|
||||
/* No networking on ARDUINO_SAMD_ZERO */
|
||||
#elif defined(ARDUINO_TEENSY40)
|
||||
/* No networking on TEENSY boards */
|
||||
|
||||
#else
|
||||
/* other / unknown board */
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#endif
|
||||
|
||||
/* #define HAVE_SUPPORTED_CURVES */
|
||||
@@ -72,9 +201,6 @@
|
||||
/* Cannot use WOLFSSL_NO_MALLOC with small stack */
|
||||
/* #define WOLFSSL_NO_MALLOC */
|
||||
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
/* To further reduce size, client or server functionality can be disabled.
|
||||
* Here, we check if the example code gave us a hint.
|
||||
*
|
||||
@@ -503,6 +629,20 @@
|
||||
#define CTX_SERVER_KEY_SIZE sizeof_server_key_der_1024
|
||||
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
#else
|
||||
#error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024"
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Final checks */
|
||||
|
||||
/* This should already be done in settings.h for newer versions of wolfSSL:
|
||||
*
|
||||
* There's currently no 100% reliable "smaller than 32 bit" detection.
|
||||
* The user can specify: WC_16BIT_CPU
|
||||
* Lower 16 bits of new OID values may collide on some 16 bit platforms.
|
||||
* e.g Arduino Mega, fqbn=arduino:avr:mega */
|
||||
#if defined(WC_16BIT_CPU)
|
||||
/* Force the old, 16 bit OIDs to be used in wolfcrypt/oid_sum.h */
|
||||
#undef WOLFSSL_OLD_OID_SUM
|
||||
#define WOLFSSL_OLD_OID_SUM
|
||||
#endif
|
||||
|
||||
+116
-17
@@ -13,7 +13,8 @@ use warnings;
|
||||
# ---- SCRIPT SETTINGS -------------------------------------------------------
|
||||
|
||||
# output C header file to write cert/key buffers to
|
||||
my $outputFile = "./wolfssl/certs_test.h";
|
||||
my $outputFile = "./wolfssl/certs_test.h";
|
||||
my $outputFileSM = "./wolfssl/certs_test_sm.h";
|
||||
|
||||
# ecc keys and certs to be converted
|
||||
# Used with HAVE_ECC && USE_CERT_BUFFERS_256
|
||||
@@ -109,6 +110,42 @@ my @fileList_4096 = (
|
||||
[ "./certs/dh4096.der", "dh_key_der_4096" ],
|
||||
);
|
||||
|
||||
# SM ciphers PRM format in certs/sm2
|
||||
my @fileList_sm2 = (
|
||||
[ "./certs/sm2/ca-sm2.pem", "ca_sm2" ],
|
||||
[ "./certs/sm2/ca-sm2-key.pem", "ca_sm2_key" ],
|
||||
[ "./certs/sm2/ca-sm2-priv.pem", "ca_sm2_priv" ],
|
||||
[ "./certs/sm2/client-sm2.pem", "client_sm2" ],
|
||||
[ "./certs/sm2/client-sm2-key.pem", "client_sm2_key" ],
|
||||
[ "./certs/sm2/client-sm2-priv.pem", "client_sm2_priv" ],
|
||||
[ "./certs/sm2/root-sm2.pem", "root_sm2" ],
|
||||
[ "./certs/sm2/root-sm2-key.pem", "root_sm2_key" ],
|
||||
[ "./certs/sm2/root-sm2-priv.pem", "root_sm2_priv" ],
|
||||
[ "./certs/sm2/self-sm2-cert.pem", "self_sm2_cert" ],
|
||||
[ "./certs/sm2/self-sm2-key.pem", "self_sm2_key" ],
|
||||
[ "./certs/sm2/self-sm2-priv.pem", "self_sm2_priv" ],
|
||||
[ "./certs/sm2/server-sm2.pem", "server_sm2" ],
|
||||
[ "./certs/sm2/server-sm2-cert.pem", "server_sm2_cert" ],
|
||||
[ "./certs/sm2/server-sm2-key.pem", "server_sm2_key" ],
|
||||
[ "./certs/sm2/server-sm2-priv.pem", "server_sm2_priv" ],
|
||||
);
|
||||
|
||||
my @fileList_sm2_der = (
|
||||
[ "./certs/sm2/ca-sm2.der", "ca_sm2_der" ],
|
||||
[ "./certs/sm2/ca-sm2-key.der", "ca_sm2_key_der" ],
|
||||
[ "./certs/sm2/ca-sm2-priv.der", "ca_sm2_priv_der" ],
|
||||
[ "./certs/sm2/client-sm2.der", "client_sm2_der" ],
|
||||
[ "./certs/sm2/client-sm2-key.der", "client_sm2_key_der" ],
|
||||
[ "./certs/sm2/client-sm2-priv.der", "client_sm2_priv_der" ],
|
||||
[ "./certs/sm2/root-sm2.der", "root_sm2_der" ],
|
||||
[ "./certs/sm2/root-sm2-key.der", "root_sm2_key_der" ],
|
||||
[ "./certs/sm2/root-sm2-priv.der", "root_sm2_priv_der" ],
|
||||
[ "./certs/sm2/server-sm2.der", "server_sm2_der" ],
|
||||
[ "./certs/sm2/server-sm2-cert.der", "server_sm2_cert_der" ],
|
||||
[ "./certs/sm2/server-sm2-key.der", "server_sm2_key_der" ],
|
||||
[ "./certs/sm2/server-sm2-priv.der", "server_sm2_priv_der" ],
|
||||
);
|
||||
|
||||
#Falcon Post-Quantum Keys
|
||||
#Used with HAVE_PQC
|
||||
my @fileList_falcon = (
|
||||
@@ -130,15 +167,17 @@ my @fileList_sphincs = (
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
my $num_ecc = @fileList_ecc;
|
||||
my $num_ed = @fileList_ed;
|
||||
my $num_x = @fileList_x;
|
||||
my $num_1024 = @fileList_1024;
|
||||
my $num_2048 = @fileList_2048;
|
||||
my $num_3072 = @fileList_3072;
|
||||
my $num_4096 = @fileList_4096;
|
||||
my $num_falcon = @fileList_falcon;
|
||||
my $num_sphincs = @fileList_sphincs;
|
||||
my $num_ecc = @fileList_ecc;
|
||||
my $num_ed = @fileList_ed;
|
||||
my $num_x = @fileList_x;
|
||||
my $num_1024 = @fileList_1024;
|
||||
my $num_2048 = @fileList_2048;
|
||||
my $num_3072 = @fileList_3072;
|
||||
my $num_4096 = @fileList_4096;
|
||||
my $num_sm2 = @fileList_sm2;
|
||||
my $num_sm2_der = @fileList_sm2_der;
|
||||
my $num_falcon = @fileList_falcon;
|
||||
my $num_sphincs = @fileList_sphincs;
|
||||
|
||||
# open our output file, "+>" creates and/or truncates
|
||||
open OUT_FILE, "+>", $outputFile or die $!;
|
||||
@@ -2202,9 +2241,68 @@ print OUT_FILE "#endif /* WOLFSSL_CERTS_TEST_H */\n\n";
|
||||
# close certs_test.h file
|
||||
close OUT_FILE or die $!;
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# open our output file, "+>" creates and/or truncates
|
||||
open OUT_FILE_SM, "+>", $outputFileSM or die $!;
|
||||
|
||||
print OUT_FILE_SM "/* certs_test_sm.h */\n";
|
||||
print OUT_FILE_SM "/* This file was generated using: ./gencertbuf.pl */\n\n";
|
||||
print OUT_FILE_SM "#ifndef WOLFSSL_CERTS_TEST_SM_H\n";
|
||||
print OUT_FILE_SM "#define WOLFSSL_CERTS_TEST_SM_H\n\n";
|
||||
print OUT_FILE_SM "#if defined(WOLFSSL_SM2) || defined(WOLFSSL_SM3) || defined(WOLFSSL_SM4)\n\n";
|
||||
print OUT_FILE_SM " /* DER Certs Begin */\n\n";
|
||||
|
||||
# convert and print SM2 DER format certs/keys
|
||||
for (my $i = 0; $i < $num_sm2_der; $i++) {
|
||||
|
||||
my $fname = $fileList_sm2_der[$i][0];
|
||||
my $sname = $fileList_sm2_der[$i][1];
|
||||
|
||||
print OUT_FILE_SM "/* $fname */\n";
|
||||
print OUT_FILE_SM "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE_SM "{\n";
|
||||
file_to_hex($fname, \*OUT_FILE_SM);
|
||||
print OUT_FILE_SM "};\n";
|
||||
# In C89/C90 (which Watcom generally defaults to), sizeof must be a
|
||||
# compile-time constant expression when used in a static initializer.
|
||||
# So don't use `static const int sizeof_` here:
|
||||
print OUT_FILE_SM "#define sizeof_$sname (sizeof($sname))\n\n";
|
||||
}
|
||||
print OUT_FILE_SM " /* DER Certs End */\n\n";
|
||||
|
||||
|
||||
# convert and print SM2 PEM format certs/keys
|
||||
print OUT_FILE_SM "#ifdef WOLFSSL_NO_PEM\n\n";
|
||||
print OUT_FILE_SM " /* SM PEM Certs disabled */\n\n";
|
||||
print OUT_FILE_SM "#else\n\n";
|
||||
|
||||
for (my $i = 0; $i < $num_sm2; $i++) {
|
||||
|
||||
my $fname = $fileList_sm2[$i][0];
|
||||
my $sname = $fileList_sm2[$i][1];
|
||||
|
||||
print OUT_FILE_SM "/* $fname */\n";
|
||||
print OUT_FILE_SM "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE_SM "{\n";
|
||||
file_to_hex($fname, \*OUT_FILE_SM);
|
||||
print OUT_FILE_SM "};\n";
|
||||
# In C89/C90 (which Watcom generally defaults to), sizeof must be a
|
||||
# compile-time constant expression when used in a static initializer.
|
||||
# So don't use `static const int sizeof_` here:
|
||||
print OUT_FILE_SM "#define sizeof_$sname (sizeof($sname))\n\n";
|
||||
}
|
||||
|
||||
print OUT_FILE_SM "#endif /* WOLFSSL_NO_PEM */\n\n";
|
||||
print OUT_FILE_SM "#endif /* WOLFSSL_SM2 || WOLFSSL_SM3 || WOLFSSL_SM4 */\n";
|
||||
print OUT_FILE_SM "#endif /* WOLFSSL_CERTS_TEST_SM_H */\n";
|
||||
|
||||
# close certs_test_sm.h file
|
||||
close OUT_FILE_SM or die $!;
|
||||
|
||||
# print file as hex, comma-separated, as needed by C buffer
|
||||
sub file_to_hex {
|
||||
my $fileName = $_[0];
|
||||
my ($fileName, $out_fh) = @_;
|
||||
$out_fh //= \*OUT_FILE; # default handle
|
||||
|
||||
open my $fp, "<", $fileName or die $!;
|
||||
binmode($fp);
|
||||
@@ -2215,26 +2313,27 @@ sub file_to_hex {
|
||||
for (my $i = 0, my $j = 1; $i < $fileLen; $i++, $j++)
|
||||
{
|
||||
if ($j == 1) {
|
||||
print OUT_FILE " ";
|
||||
print {$out_fh} " ";
|
||||
}
|
||||
if ($j != 1) {
|
||||
print OUT_FILE " ";
|
||||
print {$out_fh} " ";
|
||||
}
|
||||
read($fp, $byte, 1) or die "Error reading $fileName";
|
||||
my $output = sprintf("0x%02X", ord($byte));
|
||||
print OUT_FILE $output;
|
||||
print {$out_fh} $output;
|
||||
|
||||
if ($i != ($fileLen - 1)) {
|
||||
print OUT_FILE ",";
|
||||
print {$out_fh} ",";
|
||||
}
|
||||
|
||||
if ($j == 10) {
|
||||
$j = 0;
|
||||
print OUT_FILE "\n";
|
||||
print {$out_fh} "\n";
|
||||
}
|
||||
}
|
||||
|
||||
print OUT_FILE "\n";
|
||||
print {$out_fh} "\n";
|
||||
|
||||
close($fp);
|
||||
}
|
||||
|
||||
|
||||
+36
-38
@@ -127,10 +127,13 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
endif
|
||||
$(WOLFCRYPT_PIE_FILES): ccflags-y += $(PIE_SUPPORT_FLAGS) $(PIE_FLAGS)
|
||||
$(WOLFCRYPT_PIE_FILES): ccflags-remove-y += -pg
|
||||
$(obj)/linuxkm/module_hooks.o: ccflags-y += $(PIE_SUPPORT_FLAGS)
|
||||
# using inline retpolines leads to "unannotated intra-function call"
|
||||
# warnings from objtool without this:
|
||||
$(WOLFCRYPT_PIE_FILES): OBJECT_FILES_NON_STANDARD := y
|
||||
$(obj)/linuxkm/module_hooks.o: ccflags-y += $(PIE_SUPPORT_FLAGS)
|
||||
ifdef FORCE_GLOBAL_OBJTOOL_OFF
|
||||
undefine CONFIG_OBJTOOL
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef KERNEL_EXTRA_CFLAGS_REMOVE
|
||||
@@ -176,8 +179,6 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
|
||||
LDFLAGS_libwolfssl.o += -T $(src)/wolfcrypt.lds
|
||||
|
||||
rename-pie-text-and-data-sections: $(WOLFSSL_OBJ_TARGETS)
|
||||
|
||||
ifndef NM
|
||||
NM := nm
|
||||
endif
|
||||
@@ -186,41 +187,41 @@ ifndef OBJCOPY
|
||||
OBJCOPY := objcopy
|
||||
endif
|
||||
|
||||
.PHONY: rename-pie-text-and-data-sections
|
||||
rename-pie-text-and-data-sections:
|
||||
ifneq "$(quiet)" "silent_"
|
||||
@echo -n ' Checking wolfCrypt for unresolved symbols and forbidden relocations... '
|
||||
endif
|
||||
@cd "$(obj)" || exit $$?
|
||||
$(LD) -relocatable -o wolfcrypt_test_link.o $(WOLFCRYPT_PIE_FILES) || exit $$?
|
||||
undefined=$$($(NM) --undefined-only wolfcrypt_test_link.o) || exit $$?
|
||||
GOT_relocs=$$($(READELF) --relocs --wide wolfcrypt_test_link.o | egrep '^[^ ]+ +[^ ]+ +[^ ]*GOT[^ ]* ') || [ $$? = 1 ] || exit 2
|
||||
rm wolfcrypt_test_link.o
|
||||
if [ -n "$$undefined" ]; then
|
||||
echo "wolfCrypt container has unresolved symbols:" 1>&2
|
||||
echo "$$undefined" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [ -n "$$GOT_relocs" ]; then
|
||||
echo "wolfCrypt container has GOT relocations (non-local function address used as operand?):" 1>&2
|
||||
echo "$$GOT_relocs" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
ifneq "$(quiet)" "silent_"
|
||||
echo 'OK.'
|
||||
endif
|
||||
cd "$(obj)" || exit $$?
|
||||
for file in $(WOLFCRYPT_PIE_FILES); do
|
||||
RENAME_PIE_TEXT_AND_DATA_SECTIONS := \
|
||||
if [[ "$(quiet)" != "silent_" ]]; then \
|
||||
echo -n ' Checking wolfCrypt for unresolved symbols and forbidden relocations... '; \
|
||||
fi; \
|
||||
cd "$(obj)" || exit $$?; \
|
||||
$(LD) -relocatable -o wolfcrypt_test_link.o $(WOLFCRYPT_PIE_FILES) || exit $$?; \
|
||||
undefined=$$($(NM) --undefined-only wolfcrypt_test_link.o) || exit $$?; \
|
||||
GOT_relocs=$$($(READELF) --relocs --wide wolfcrypt_test_link.o | grep -E '^[^ ]+ +[^ ]+ +[^ ]*GOT[^ ]* ') || [ $$? = 1 ] || exit 2; \
|
||||
rm wolfcrypt_test_link.o; \
|
||||
if [ -n "$$undefined" ]; then \
|
||||
echo "wolfCrypt container has unresolved symbols:" 1>&2; \
|
||||
echo "$$undefined" 1>&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ -n "$$GOT_relocs" ]; then \
|
||||
echo "wolfCrypt container has GOT relocations (non-local function address used as operand?):" 1>&2; \
|
||||
echo "$$GOT_relocs" 1>&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [[ "$(quiet)" != "silent_" ]]; then \
|
||||
echo 'OK.'; \
|
||||
fi; \
|
||||
cd "$(obj)" || exit $$?; \
|
||||
for file in $(WOLFCRYPT_PIE_FILES); do \
|
||||
$(OBJCOPY) --rename-section .text=.text.wolfcrypt \
|
||||
--rename-section .text.unlikely=.text.wolfcrypt \
|
||||
--rename-section .rodata=.rodata.wolfcrypt \
|
||||
--rename-section .rodata.str1.1=.rodata.wolfcrypt \
|
||||
--rename-section .rodata.str1.8=.rodata.wolfcrypt \
|
||||
--rename-section .rodata.cst16=.rodata.wolfcrypt \
|
||||
--rename-section .rodata.cst32=.rodata.wolfcrypt \
|
||||
--rename-section .data=.data.wolfcrypt \
|
||||
--rename-section .data.rel.local=.data.wolfcrypt \
|
||||
--rename-section .bss=.bss.wolfcrypt "$$file" || exit $$?
|
||||
done
|
||||
--rename-section .bss=.bss.wolfcrypt "$$file" || exit $$?; \
|
||||
done; \
|
||||
[ "$(KERNEL_ARCH_X86)" != "yes" ] || \
|
||||
{ $(READELF) --sections --syms --wide $(WOLFCRYPT_PIE_FILES) | \
|
||||
$(AWK) -v obj="$(obj)" ' \
|
||||
@@ -294,19 +295,16 @@ endif
|
||||
} else { \
|
||||
exit(0); \
|
||||
}}'; } || \
|
||||
{ echo 'Error: symbol(s) missed by containerization.' >&2; exit 1; }
|
||||
ifneq "$(quiet)" "silent_"
|
||||
echo ' wolfCrypt .{text,data,rodata} sections containerized to .{text,data,rodata}.wolfcrypt'
|
||||
{ echo 'Error: symbol(s) missed by containerization.' >&2; exit 1; }; \
|
||||
if [[ "$(quiet)" != "silent_" ]]; then \
|
||||
echo ' wolfCrypt .{text,data,rodata} sections containerized to .{text,data,rodata}.wolfcrypt'; \
|
||||
fi
|
||||
endif
|
||||
|
||||
$(obj)/linuxkm/module_exports.c: rename-pie-text-and-data-sections
|
||||
|
||||
endif
|
||||
|
||||
|
||||
# auto-generate the exported symbol list, leveraging the WOLFSSL_API visibility tags.
|
||||
# exclude symbols that don't match wc_* or wolf*.
|
||||
$(obj)/linuxkm/module_exports.c: $(src)/module_exports.c.template $(WOLFSSL_OBJ_TARGETS) $(obj)/linuxkm/module_hooks.o
|
||||
@$(RENAME_PIE_TEXT_AND_DATA_SECTIONS)
|
||||
@cp $< $@ || exit $$?
|
||||
if [[ "$${VERSION}" -gt 6 || ("$${VERSION}" -eq 6 && "$${PATCHLEVEL}" -ge 13) ]]; then
|
||||
# use ASCII octal escape to avoid syntax disruption in the awk script.
|
||||
|
||||
+63
-18
@@ -18,12 +18,11 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
|
||||
.ONESHELL:
|
||||
SHELL=bash
|
||||
|
||||
all: libwolfssl.ko libwolfssl.ko.signed
|
||||
|
||||
.PHONY: libwolfssl.ko
|
||||
|
||||
ifndef MODULE_TOP
|
||||
MODULE_TOP=$(CURDIR)
|
||||
endif
|
||||
@@ -54,7 +53,7 @@ ifeq "$(ENABLED_LINUXKM_BENCHMARKS)" "yes"
|
||||
endif
|
||||
|
||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
WOLFCRYPT_PIE_FILES := linuxkm/pie_first.o $(filter wolfcrypt/src/%,$(WOLFSSL_OBJ_FILES)) linuxkm/pie_redirect_table.o linuxkm/pie_last.o
|
||||
WOLFCRYPT_PIE_FILES := $(filter wolfcrypt/src/%,$(WOLFSSL_OBJ_FILES)) linuxkm/pie_redirect_table.o
|
||||
WOLFSSL_OBJ_FILES := $(WOLFCRYPT_PIE_FILES) $(filter-out $(WOLFCRYPT_PIE_FILES),$(WOLFSSL_OBJ_FILES))
|
||||
endif
|
||||
|
||||
@@ -90,23 +89,20 @@ ifndef AWK
|
||||
AWK := awk
|
||||
endif
|
||||
|
||||
libwolfssl.ko:
|
||||
@if test -z '$(KERNEL_ROOT)'; then echo '$$KERNEL_ROOT is unset' >&2; exit 1; fi
|
||||
@if test -z '$(AM_CFLAGS)$(CFLAGS)'; then echo '$$AM_CFLAGS and $$CFLAGS are both unset.' >&2; exit 1; fi
|
||||
@if test -z '$(src_libwolfssl_la_OBJECTS)'; then echo '$$src_libwolfssl_la_OBJECTS is unset.' >&2; exit 1; fi
|
||||
# after commit 9a0ebe5011 (6.10), sources must be in $(obj). work around this by making links to all needed sources:
|
||||
@mkdir -p '$(MODULE_TOP)/linuxkm'
|
||||
@test '$(MODULE_TOP)/module_hooks.c' -ef '$(MODULE_TOP)/linuxkm/module_hooks.c' || cp --no-dereference --symbolic-link --no-clobber '$(MODULE_TOP)'/*.[ch] '$(MODULE_TOP)/linuxkm/'
|
||||
@test '$(SRC_TOP)/wolfcrypt/src/wc_port.c' -ef '$(MODULE_TOP)/wolfcrypt/src/wc_port.c' || cp --no-dereference --symbolic-link --no-clobber --recursive '$(SRC_TOP)/wolfcrypt' '$(MODULE_TOP)/'
|
||||
@test '$(SRC_TOP)/src/wolfio.c' -ef '$(MODULE_TOP)/src/wolfio.c' || cp --no-dereference --symbolic-link --no-clobber --recursive '$(SRC_TOP)/src' '$(MODULE_TOP)/'
|
||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
@echo -e "const unsigned int wc_linuxkm_pie_reloc_tab[] = { ~0U };\nconst size_t wc_linuxkm_pie_reloc_tab_length = 1;" > wc_linuxkm_pie_reloc_tab.c
|
||||
+$(MAKE) ARCH='$(KERNEL_ARCH)' $(OVERRIDE_PATHS) $(CROSS_COMPILE) -C '$(KERNEL_ROOT)' M='$(MODULE_TOP)' $(KBUILD_EXTRA_FLAGS) CC_FLAGS_FTRACE=
|
||||
@$(READELF) --wide -r libwolfssl.ko | \
|
||||
ifndef TMPDIR
|
||||
TMPDIR := /tmp
|
||||
endif
|
||||
|
||||
ifndef MAKE_TMPDIR
|
||||
MAKE_TMPDIR := $(TMPDIR)
|
||||
endif
|
||||
|
||||
GENERATE_RELOC_TAB := $(READELF) --wide -r libwolfssl.ko | \
|
||||
$(AWK) 'BEGIN { \
|
||||
n=0; \
|
||||
bad_relocs=0; \
|
||||
printf("%s\n ", \
|
||||
"const unsigned int wc_linuxkm_pie_reloc_tab[] = { "); \
|
||||
"const unsigned int wc_linuxkm_pie_reloc_tab[] = { "); \
|
||||
} \
|
||||
/^Relocation section '\''\.rela\.text\.wolfcrypt'\''/ { \
|
||||
p=1; \
|
||||
@@ -117,19 +113,68 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
} \
|
||||
/^0/ { \
|
||||
if (p) { \
|
||||
if ($$3 !~ "^(R_X86_64_PLT32|R_X86_64_PC32|R_AARCH64_.*)$$") { \
|
||||
print "Unexpected relocation type:\n" $$0 >"/dev/stderr"; \
|
||||
++bad_relocs; \
|
||||
} \
|
||||
printf("0x%s%s", \
|
||||
gensub("^0*","",1,$$1), \
|
||||
((++n%8) ? ", " : ",\n ")); \
|
||||
} \
|
||||
} \
|
||||
END { \
|
||||
if (bad_relocs) { \
|
||||
print "Found " bad_relocs " unexpected relocations." >"/dev/stderr"; \
|
||||
exit(1); \
|
||||
} \
|
||||
print "~0U };\nconst size_t wc_linuxkm_pie_reloc_tab_length = sizeof wc_linuxkm_pie_reloc_tab / sizeof wc_linuxkm_pie_reloc_tab[0];";\
|
||||
}' > wc_linuxkm_pie_reloc_tab.c
|
||||
}'
|
||||
|
||||
.PHONY: libwolfssl.ko
|
||||
libwolfssl.ko:
|
||||
@if test -z '$(KERNEL_ROOT)'; then echo '$$KERNEL_ROOT is unset' >&2; exit 1; fi
|
||||
@if test -z '$(AM_CFLAGS)$(CFLAGS)'; then echo '$$AM_CFLAGS and $$CFLAGS are both unset.' >&2; exit 1; fi
|
||||
@if test -z '$(src_libwolfssl_la_OBJECTS)'; then echo '$$src_libwolfssl_la_OBJECTS is unset.' >&2; exit 1; fi
|
||||
# after commit 9a0ebe5011 (6.10), sources must be in $(obj). work around this by making links to all needed sources:
|
||||
@mkdir -p '$(MODULE_TOP)/linuxkm'
|
||||
@test '$(MODULE_TOP)/module_hooks.c' -ef '$(MODULE_TOP)/linuxkm/module_hooks.c' || cp --verbose --no-dereference --symbolic-link --no-clobber '$(MODULE_TOP)'/*.[ch] '$(MODULE_TOP)/linuxkm/'
|
||||
@test '$(SRC_TOP)/wolfcrypt/src/wc_port.c' -ef '$(MODULE_TOP)/wolfcrypt/src/wc_port.c' || cp --verbose --no-dereference --symbolic-link --no-clobber --recursive '$(SRC_TOP)/wolfcrypt' '$(MODULE_TOP)/'
|
||||
@test '$(SRC_TOP)/src/wolfio.c' -ef '$(MODULE_TOP)/src/wolfio.c' || cp --verbose --no-dereference --symbolic-link --no-clobber --recursive '$(SRC_TOP)/src' '$(MODULE_TOP)/'
|
||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
@$(eval RELOC_TMP := $(shell mktemp "$(MAKE_TMPDIR)/wc_linuxkm_pie_reloc_tab.c.XXXXXX"))
|
||||
@[[ -f wc_linuxkm_pie_reloc_tab.c ]] || echo -e "const unsigned int wc_linuxkm_pie_reloc_tab[] = { ~0U };\nconst size_t wc_linuxkm_pie_reloc_tab_length = 1;" > wc_linuxkm_pie_reloc_tab.c
|
||||
@if [[ -f libwolfssl.ko ]]; then touch -r libwolfssl.ko "$(RELOC_TMP)"; fi
|
||||
+$(MAKE) ARCH='$(KERNEL_ARCH)' $(OVERRIDE_PATHS) $(CROSS_COMPILE) -C '$(KERNEL_ROOT)' M='$(MODULE_TOP)' $(KBUILD_EXTRA_FLAGS) CC_FLAGS_FTRACE=
|
||||
# if the above make didn't build a fresh libwolfssl.ko, then the module is already up to date and we leave it untouched, assuring stability for purposes of module-update-fips-hash.
|
||||
@if [[ ! libwolfssl.ko -nt "$(RELOC_TMP)" ]]; then rm "$(RELOC_TMP)"; exit 0; fi
|
||||
@$(GENERATE_RELOC_TAB) >| wc_linuxkm_pie_reloc_tab.c
|
||||
+$(MAKE) ARCH='$(KERNEL_ARCH)' $(OVERRIDE_PATHS) $(CROSS_COMPILE) -C '$(KERNEL_ROOT)' M='$(MODULE_TOP)' $(KBUILD_EXTRA_FLAGS) CC_FLAGS_FTRACE=
|
||||
@$(GENERATE_RELOC_TAB) >| $(RELOC_TMP)
|
||||
@if diff wc_linuxkm_pie_reloc_tab.c $(RELOC_TMP); then echo " Relocation table is stable."; else echo "PIE failed: relocation table is unstable." 1>&2; rm $(RELOC_TMP); exit 1; fi
|
||||
@rm $(RELOC_TMP)
|
||||
else
|
||||
+$(MAKE) ARCH='$(KERNEL_ARCH)' $(OVERRIDE_PATHS) $(CROSS_COMPILE) -C '$(KERNEL_ROOT)' M='$(MODULE_TOP)' $(KBUILD_EXTRA_FLAGS)
|
||||
endif
|
||||
|
||||
.PHONY: module-update-fips-hash
|
||||
module-update-fips-hash: libwolfssl.ko
|
||||
@if test -z '$(FIPS_HASH)'; then echo ' $$FIPS_HASH is unset' >&2; exit 1; fi
|
||||
@if [[ ! '$(FIPS_HASH)' =~ [0-9a-fA-F]{64} ]]; then echo ' $$FIPS_HASH is malformed' >&2; exit 1; fi
|
||||
@readarray -t rodata_segment < <($(READELF) --wide --sections libwolfssl.ko | \
|
||||
sed -E -n 's/^[[:space:]]*\[[[:space:]]*([0-9]+)\][[:space:]]+\.rodata\.wolfcrypt[[:space:]]+PROGBITS[[:space:]]+[0-9a-fA-F]+[[:space:]]+([0-9a-fA-F]+)[[:space:]].*$$/\1\n\2/p'); \
|
||||
if [[ $${#rodata_segment[@]} != 2 ]]; then echo ' unexpected rodata_segment.' >&2; exit 1; fi; \
|
||||
readarray -t verifyCore_attrs < <($(READELF) --wide --symbols libwolfssl.ko | \
|
||||
sed -E -n 's/^[[:space:]]*[0-9]+: ([0-9a-fA-F]+)[[:space:]]+([0-9]+)[[:space:]]+OBJECT[[:space:]]+[A-Z]+[[:space:]]+[A-Z]+[[:space:]]+'"$${rodata_segment[0]}"'[[:space:]]+verifyCore$$/\1\n\2/p'); \
|
||||
if [[ $${#verifyCore_attrs[@]} != 2 ]]; then echo ' unexpected verifyCore_attrs.' >&2; exit 1; fi; \
|
||||
if [[ "$${verifyCore_attrs[1]}" != "65" ]]; then echo " verifyCore has unexpected length $${verifyCore_attrs[1]}." >&2; exit 1; fi; \
|
||||
verifyCore_offset=$$((0x$${rodata_segment[1]} + 0x$${verifyCore_attrs[0]})); \
|
||||
current_verifyCore=$$(dd bs=1 if=libwolfssl.ko skip=$$verifyCore_offset count=64 status=none); \
|
||||
if [[ ! "$$current_verifyCore" =~ [0-9a-fA-F]{64} ]]; then echo " verifyCore at offset $$verifyCore_offset has unexpected value." >&2; exit 1; fi; \
|
||||
if [[ '$(FIPS_HASH)' == "$$current_verifyCore" ]]; then echo ' Supplied FIPS_HASH matches existing verifyCore -- no update needed.'; exit 0; fi; \
|
||||
echo -n '$(FIPS_HASH)' | dd bs=1 conv=notrunc of=libwolfssl.ko seek=$$verifyCore_offset count=64 status=none && \
|
||||
echo " FIPS verifyCore updated successfully." && \
|
||||
if [[ -f libwolfssl.ko.signed ]]; then $(MAKE) -C . libwolfssl.ko.signed; fi
|
||||
|
||||
libwolfssl.ko.signed: libwolfssl.ko
|
||||
ifdef FORCE_NO_MODULE_SIG
|
||||
@echo 'Skipping module signature operation because FORCE_NO_MODULE_SIG.'
|
||||
|
||||
@@ -8,9 +8,7 @@ EXTRA_DIST += m4/ax_linuxkm.m4 \
|
||||
linuxkm/get_thread_size.c \
|
||||
linuxkm/module_hooks.c \
|
||||
linuxkm/module_exports.c.template \
|
||||
linuxkm/pie_first.c \
|
||||
linuxkm/pie_redirect_table.c \
|
||||
linuxkm/pie_last.c \
|
||||
linuxkm/linuxkm_memory.c \
|
||||
linuxkm/linuxkm_wc_port.h \
|
||||
linuxkm/x86_vector_register_glue.c \
|
||||
|
||||
+31
-11
@@ -422,6 +422,17 @@
|
||||
#define WC_AES_XTS_SUPPORT_SIMULTANEOUS_ENC_AND_DEC_KEYS
|
||||
#endif
|
||||
|
||||
/* setup for LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT needs to be here
|
||||
* to assure that calls to get_random_bytes() in random.c are gated out
|
||||
* (they would recurse, potentially infinitely).
|
||||
*/
|
||||
#if (defined(LINUXKM_LKCAPI_REGISTER_ALL) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG) && \
|
||||
!defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG_DEFAULT)) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT)
|
||||
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT
|
||||
#endif
|
||||
|
||||
#ifndef __PIE__
|
||||
#include <linux/crypto.h>
|
||||
#include <linux/scatterlist.h>
|
||||
@@ -469,7 +480,7 @@
|
||||
extern void free_wolfcrypt_linuxkm_fpu_states(void);
|
||||
WOLFSSL_API __must_check int wc_can_save_vector_registers_x86(void);
|
||||
WOLFSSL_API __must_check int wc_save_vector_registers_x86(enum wc_svr_flags flags);
|
||||
WOLFSSL_API void wc_restore_vector_registers_x86(void);
|
||||
WOLFSSL_API void wc_restore_vector_registers_x86(enum wc_svr_flags flags);
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
|
||||
#include <asm/i387.h>
|
||||
@@ -505,14 +516,14 @@
|
||||
#endif
|
||||
#endif
|
||||
#ifndef RESTORE_VECTOR_REGISTERS
|
||||
#define RESTORE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
|
||||
#define RESTORE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_NONE)
|
||||
#endif
|
||||
|
||||
#ifndef DISABLE_VECTOR_REGISTERS
|
||||
#define DISABLE_VECTOR_REGISTERS() wc_save_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
|
||||
#endif
|
||||
#ifndef REENABLE_VECTOR_REGISTERS
|
||||
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
|
||||
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
|
||||
#endif
|
||||
|
||||
#elif defined(WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS) && (defined(CONFIG_ARM) || defined(CONFIG_ARM64))
|
||||
@@ -653,13 +664,13 @@
|
||||
#error "compiling -fPIE requires PIE redirect table."
|
||||
#endif
|
||||
|
||||
#ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE
|
||||
#ifdef HAVE_LINUXKM_PIE_SUPPORT
|
||||
|
||||
#ifdef CONFIG_MIPS
|
||||
#undef __ARCH_MEMCMP_NO_REDIRECT
|
||||
#undef memcmp
|
||||
extern int memcmp(const void *s1, const void *s2, size_t n);
|
||||
#endif
|
||||
#ifndef WOLFSSL_TEXT_SEGMENT_CANONICALIZER
|
||||
#define WOLFSSL_TEXT_SEGMENT_CANONICALIZER(text_in, text_in_len, text_out, cur_index_p) \
|
||||
wc_linuxkm_normalize_relocations(text_in, text_in_len, text_out, cur_index_p)
|
||||
#define WOLFSSL_TEXT_SEGMENT_CANONICALIZER_BUFSIZ 8192
|
||||
#endif
|
||||
|
||||
extern const u8
|
||||
__wc_text_start[],
|
||||
@@ -677,6 +688,15 @@
|
||||
size_t text_in_len,
|
||||
u8 *text_out,
|
||||
ssize_t *cur_index_p);
|
||||
#endif /* HAVE_LINUXKM_PIE_SUPPORT */
|
||||
|
||||
#ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE
|
||||
|
||||
#ifdef CONFIG_MIPS
|
||||
#undef __ARCH_MEMCMP_NO_REDIRECT
|
||||
#undef memcmp
|
||||
extern int memcmp(const void *s1, const void *s2, size_t n);
|
||||
#endif
|
||||
|
||||
struct wolfssl_linuxkm_pie_redirect_table {
|
||||
typeof(wc_linuxkm_normalize_relocations) *wc_linuxkm_normalize_relocations;
|
||||
@@ -1215,12 +1235,12 @@
|
||||
#if defined(CONFIG_X86)
|
||||
WOLFSSL_API __must_check int wc_can_save_vector_registers_x86(void);
|
||||
WOLFSSL_API __must_check int wc_save_vector_registers_x86(enum wc_svr_flags flags);
|
||||
WOLFSSL_API void wc_restore_vector_registers_x86(void);
|
||||
WOLFSSL_API void wc_restore_vector_registers_x86(enum wc_svr_flags flags);
|
||||
#ifndef DISABLE_VECTOR_REGISTERS
|
||||
#define DISABLE_VECTOR_REGISTERS() wc_save_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
|
||||
#endif
|
||||
#ifndef REENABLE_VECTOR_REGISTERS
|
||||
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
|
||||
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
|
||||
#endif
|
||||
#else /* !CONFIG_X86 */
|
||||
#error WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS is set for an unimplemented architecture.
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_aes_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -4312,3 +4315,5 @@ static int linuxkm_test_aesecb(void) {
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_AESECB */
|
||||
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_AES */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_dh_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -33,9 +36,8 @@
|
||||
#endif
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_DH) && \
|
||||
(!defined(WOLFSSL_DH_EXTRA) || \
|
||||
!defined(WOLFSSL_DH_GEN_PUB))
|
||||
/* not supported without WOLFSSL_DH_EXTRA && WOLFSSL_DH_GEN_PUB */
|
||||
!defined(WOLFSSL_DH_EXTRA)
|
||||
/* not supported without WOLFSSL_DH_EXTRA */
|
||||
#undef LINUXKM_LKCAPI_REGISTER_DH
|
||||
|
||||
#if defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_DH)
|
||||
@@ -2966,3 +2968,5 @@ test_kpp_end:
|
||||
}
|
||||
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_DH */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_ecdh_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -991,3 +994,5 @@ test_ecdh_nist_end:
|
||||
}
|
||||
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_ECDH */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_ecdsa_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -843,3 +846,5 @@ test_ecdsa_nist_end:
|
||||
}
|
||||
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_ECDSA */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
/* included by linuxkm/module_hooks.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
@@ -981,3 +982,5 @@ static int linuxkm_lkcapi_unregister(void)
|
||||
|
||||
return seen_err;
|
||||
}
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_rsa_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -3250,3 +3253,5 @@ static int get_hash_enc_len(int hash_oid)
|
||||
return enc_len;
|
||||
}
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_RSA */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* included by linuxkm/lkcapi_glue.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#ifndef LINUXKM_LKCAPI_REGISTER
|
||||
#error lkcapi_sha_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
|
||||
#endif
|
||||
@@ -374,10 +377,7 @@
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG)
|
||||
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG
|
||||
#endif
|
||||
#if (defined(LINUXKM_LKCAPI_REGISTER_ALL) && !defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG_DEFAULT)) && \
|
||||
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT)
|
||||
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT
|
||||
#endif
|
||||
/* setup for LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT is in linuxkm_wc_port.h */
|
||||
#else
|
||||
#undef LINUXKM_LKCAPI_REGISTER_HASH_DRBG
|
||||
#endif
|
||||
@@ -2048,3 +2048,5 @@ static int wc_linuxkm_drbg_cleanup(void) {
|
||||
}
|
||||
|
||||
#endif /* LINUXKM_LKCAPI_REGISTER_HASH_DRBG */
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
+107
-57
@@ -97,7 +97,7 @@ extern const unsigned int wolfCrypt_PIE_rodata_end[];
|
||||
/* cheap portable ad-hoc hash function to confirm bitwise stability of the PIE
|
||||
* binary image.
|
||||
*/
|
||||
static unsigned int hash_span(char *start, char *end) {
|
||||
static unsigned int hash_span(const u8 *start, const u8 *end) {
|
||||
unsigned int sum = 1;
|
||||
while (start < end) {
|
||||
unsigned int rotate_by;
|
||||
@@ -108,6 +108,9 @@ static unsigned int hash_span(char *start, char *end) {
|
||||
return sum;
|
||||
}
|
||||
|
||||
static int total_text_r = 0, total_rodata_r = 0, total_rwdata_r = 0,
|
||||
total_bss_r = 0, total_other_r = 0;
|
||||
|
||||
#endif /* DEBUG_LINUXKM_PIE_SUPPORT */
|
||||
|
||||
#ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE
|
||||
@@ -323,6 +326,7 @@ static WC_INLINE int IntelRDseed64_r(word64* rnd)
|
||||
WC_SANITIZE_DISABLE();
|
||||
*rnd ^= buf; /* deliberately retain any garbage passed in the dest buffer. */
|
||||
WC_SANITIZE_ENABLE();
|
||||
buf = 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -415,24 +419,28 @@ static int wolfssl_init(void)
|
||||
#endif
|
||||
|
||||
{
|
||||
char *pie_text_start = (char *)wolfCrypt_PIE_first_function;
|
||||
char *pie_text_end = (char *)wolfCrypt_PIE_last_function;
|
||||
char *pie_rodata_start = (char *)wolfCrypt_PIE_rodata_start;
|
||||
char *pie_rodata_end = (char *)wolfCrypt_PIE_rodata_end;
|
||||
unsigned int text_hash, rodata_hash;
|
||||
|
||||
text_hash = hash_span(pie_text_start, pie_text_end);
|
||||
rodata_hash = hash_span(pie_rodata_start, pie_rodata_end);
|
||||
unsigned int text_hash = hash_span(__wc_text_start, __wc_text_end);
|
||||
unsigned int rodata_hash = hash_span(__wc_rodata_start, __wc_rodata_end);
|
||||
|
||||
/* note, "%pK" conceals the actual layout information. "%px" exposes
|
||||
* the true module start address, which is potentially useful to an
|
||||
* attacker.
|
||||
*/
|
||||
pr_info("wolfCrypt section hashes (spans): text 0x%x (%lu), rodata 0x%x (%lu), offset %c0x%lx\n",
|
||||
text_hash, pie_text_end-pie_text_start,
|
||||
rodata_hash, pie_rodata_end-pie_rodata_start,
|
||||
pie_text_start < pie_rodata_start ? '+' : '-',
|
||||
pie_text_start < pie_rodata_start ? pie_rodata_start - pie_text_start : pie_text_start - pie_rodata_start);
|
||||
text_hash, __wc_text_end - __wc_text_start,
|
||||
rodata_hash, __wc_rodata_end - __wc_rodata_start,
|
||||
&__wc_text_start[0] < &__wc_rodata_start[0] ? '+' : '-',
|
||||
&__wc_text_start[0] < &__wc_rodata_start[0] ? &__wc_rodata_start[0] - &__wc_text_start[0] : &__wc_text_start[0] - &__wc_rodata_start[0]);
|
||||
pr_info("wolfCrypt segments: text=%x-%x, rodata=%x-%x, "
|
||||
"rwdata=%x-%x, bss=%x-%x\n",
|
||||
(unsigned)(uintptr_t)__wc_text_start,
|
||||
(unsigned)(uintptr_t)__wc_text_end,
|
||||
(unsigned)(uintptr_t)__wc_rodata_start,
|
||||
(unsigned)(uintptr_t)__wc_rodata_end,
|
||||
(unsigned)(uintptr_t)__wc_rwdata_start,
|
||||
(unsigned)(uintptr_t)__wc_rwdata_end,
|
||||
(unsigned)(uintptr_t)__wc_bss_start,
|
||||
(unsigned)(uintptr_t)__wc_bss_end);
|
||||
}
|
||||
|
||||
#endif /* HAVE_LINUXKM_PIE_SUPPORT && DEBUG_LINUXKM_PIE_SUPPORT */
|
||||
@@ -443,7 +451,19 @@ static int wolfssl_init(void)
|
||||
pr_err("ERROR: wolfCrypt_SetCb_fips() failed: %s\n", wc_GetErrorString(ret));
|
||||
return -ECANCELED;
|
||||
}
|
||||
|
||||
#if defined(HAVE_LINUXKM_PIE_SUPPORT) && defined(DEBUG_LINUXKM_PIE_SUPPORT)
|
||||
total_text_r = total_rodata_r = total_rwdata_r = total_bss_r =
|
||||
total_other_r = 0;
|
||||
#endif
|
||||
|
||||
fipsEntry();
|
||||
|
||||
#if defined(HAVE_LINUXKM_PIE_SUPPORT) && defined(DEBUG_LINUXKM_PIE_SUPPORT)
|
||||
pr_info("relocation normalizations: text=%d, rodata=%d, rwdata=%d, bss=%d, other=%d\n",
|
||||
total_text_r, total_rodata_r, total_rwdata_r, total_bss_r, total_other_r);
|
||||
#endif
|
||||
|
||||
ret = wolfCrypt_GetStatus_fips();
|
||||
if (ret != 0) {
|
||||
pr_err("ERROR: wolfCrypt_GetStatus_fips() failed with code %d: %s\n", ret, wc_GetErrorString(ret));
|
||||
@@ -638,20 +658,7 @@ MODULE_AUTHOR("https://www.wolfssl.com/");
|
||||
MODULE_DESCRIPTION("libwolfssl cryptographic and protocol facilities");
|
||||
MODULE_VERSION(LIBWOLFSSL_VERSION_STRING);
|
||||
|
||||
#ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE
|
||||
|
||||
/* get_current() is an inline or macro, depending on the target -- sidestep the whole issue with a wrapper func. */
|
||||
static struct task_struct *my_get_current_thread(void) {
|
||||
return get_current();
|
||||
}
|
||||
|
||||
/* preempt_count() is an inline function in arch/x86/include/asm/preempt.h that
|
||||
* accesses __preempt_count, which is an int array declared with
|
||||
* DECLARE_PER_CPU_CACHE_HOT.
|
||||
*/
|
||||
static int my_preempt_count(void) {
|
||||
return preempt_count();
|
||||
}
|
||||
#ifdef HAVE_LINUXKM_PIE_SUPPORT
|
||||
|
||||
#include "linuxkm/wc_linuxkm_pie_reloc_tab.c"
|
||||
|
||||
@@ -706,12 +713,14 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
{
|
||||
ssize_t i = -1;
|
||||
size_t text_in_offset;
|
||||
size_t last_reloc; /* for error-checking order in wc_linuxkm_pie_reloc_tab[] */
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
int n_text_r = 0, n_rodata_r = 0, n_rwdata_r = 0, n_bss_r = 0, n_other_r = 0;
|
||||
#endif
|
||||
|
||||
if ((text_in < __wc_text_start) ||
|
||||
(text_in >= __wc_text_end))
|
||||
if ((text_in_len == 0) ||
|
||||
(text_in < __wc_text_start) ||
|
||||
(text_in + text_in_len >= __wc_text_end))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
@@ -732,7 +741,7 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
memcpy(text_out, text_in, text_in_len);
|
||||
WC_SANITIZE_ENABLE();
|
||||
|
||||
for (;
|
||||
for (last_reloc = wc_linuxkm_pie_reloc_tab[i > 0 ? i-1 : 0];
|
||||
(size_t)i < wc_linuxkm_pie_reloc_tab_length - 1;
|
||||
++i)
|
||||
{
|
||||
@@ -740,6 +749,13 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
int reloc_buf;
|
||||
uintptr_t abs_ptr;
|
||||
|
||||
if (last_reloc > next_reloc) {
|
||||
pr_err("BUG: out-of-order offset found at wc_linuxkm_pie_reloc_tab[%zd]: %zu > %zu\n",
|
||||
i, last_reloc, next_reloc);
|
||||
return -1;
|
||||
}
|
||||
last_reloc = next_reloc;
|
||||
|
||||
next_reloc -= text_in_offset;
|
||||
|
||||
if (next_reloc >= text_in_len) {
|
||||
@@ -762,7 +778,7 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
abs_ptr = (uintptr_t)text_in + next_reloc + 4 + reloc_buf;
|
||||
|
||||
if ((abs_ptr >= (uintptr_t)__wc_text_start) &&
|
||||
(abs_ptr < (uintptr_t)__wc_text_end))
|
||||
(abs_ptr <= (uintptr_t)__wc_text_end))
|
||||
{
|
||||
/* internal references in the .wolfcrypt.text segment don't need
|
||||
* normalization.
|
||||
@@ -772,35 +788,40 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_rodata_start) &&
|
||||
(abs_ptr < (uintptr_t)__wc_rodata_end))
|
||||
/* for the rodata, rwdata, and bss segments, recognize dest addrs one
|
||||
* byte outside the segment -- the compiler occasionally generates
|
||||
* these, e.g. __wc_rwdata_start - 1 in DoInCoreCheck() in kernel 6.1
|
||||
* build of FIPS v5.
|
||||
*/
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_rodata_start - 1) &&
|
||||
(abs_ptr <= (uintptr_t)__wc_rodata_end + 1))
|
||||
{
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
++n_rodata_r;
|
||||
#endif
|
||||
reloc_buf -= (int)((uintptr_t)__wc_rodata_start -
|
||||
reloc_buf -= (int)((uintptr_t)__wc_rodata_start - 1 -
|
||||
(uintptr_t)__wc_text_start);
|
||||
reloc_buf |= WC_RODATA_TAG;
|
||||
reloc_buf ^= WC_RODATA_TAG;
|
||||
}
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_rwdata_start) &&
|
||||
(abs_ptr < (uintptr_t)__wc_rwdata_end))
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_rwdata_start - 1) &&
|
||||
(abs_ptr <= (uintptr_t)__wc_rwdata_end + 1))
|
||||
{
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
++n_rwdata_r;
|
||||
#endif
|
||||
reloc_buf -= (int)((uintptr_t)__wc_rwdata_start -
|
||||
reloc_buf -= (int)((uintptr_t)__wc_rwdata_start - 1 -
|
||||
(uintptr_t)__wc_text_start);
|
||||
reloc_buf |= WC_RWDATA_TAG;
|
||||
reloc_buf ^= WC_RWDATA_TAG;
|
||||
}
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_bss_start) &&
|
||||
(abs_ptr < (uintptr_t)__wc_bss_end))
|
||||
else if ((abs_ptr >= (uintptr_t)__wc_bss_start - 1) &&
|
||||
(abs_ptr <= (uintptr_t)__wc_bss_end + 1))
|
||||
{
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
++n_bss_r;
|
||||
#endif
|
||||
reloc_buf -= (int)((uintptr_t)__wc_bss_start -
|
||||
reloc_buf -= (int)((uintptr_t)__wc_bss_start - 1 -
|
||||
(uintptr_t)__wc_text_start);
|
||||
reloc_buf |= WC_BSS_TAG;
|
||||
reloc_buf ^= WC_BSS_TAG;
|
||||
}
|
||||
else {
|
||||
/* relocation referring to non-wolfcrypt segment -- these can only
|
||||
@@ -809,28 +830,39 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
reloc_buf = WC_OTHER_TAG;
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
++n_other_r;
|
||||
/* we're currently only handling 32 bit relocations (R_X86_64_PLT32
|
||||
* and R_X86_64_PC32) so the top half of the word64 is padding we
|
||||
* can lop off for rendering.
|
||||
*/
|
||||
pr_notice("found non-wolfcrypt relocation at text offset 0x%x to "
|
||||
"addr 0x%lx, text=%px-%px, rodata=%px-%px, "
|
||||
"rwdata=%px-%px, bss=%px-%px\n",
|
||||
"addr 0x%x, text=%x-%x, rodata=%x-%x, "
|
||||
"rwdata=%x-%x, bss=%x-%x\n",
|
||||
wc_linuxkm_pie_reloc_tab[i],
|
||||
abs_ptr,
|
||||
__wc_text_start,
|
||||
__wc_text_end,
|
||||
__wc_rodata_start,
|
||||
__wc_rodata_end,
|
||||
__wc_rwdata_start,
|
||||
__wc_rwdata_end,
|
||||
__wc_bss_start,
|
||||
__wc_bss_end);
|
||||
(unsigned)(uintptr_t)abs_ptr,
|
||||
(unsigned)(uintptr_t)__wc_text_start,
|
||||
(unsigned)(uintptr_t)__wc_text_end,
|
||||
(unsigned)(uintptr_t)__wc_rodata_start,
|
||||
(unsigned)(uintptr_t)__wc_rodata_end,
|
||||
(unsigned)(uintptr_t)__wc_rwdata_start,
|
||||
(unsigned)(uintptr_t)__wc_rwdata_end,
|
||||
(unsigned)(uintptr_t)__wc_bss_start,
|
||||
(unsigned)(uintptr_t)__wc_bss_end);
|
||||
#endif
|
||||
}
|
||||
put_unaligned((u32)reloc_buf, (int32_t *)&text_out[next_reloc]);
|
||||
}
|
||||
|
||||
#ifdef DEBUG_LINUXKM_PIE_SUPPORT
|
||||
total_text_r += n_text_r;
|
||||
total_rodata_r += n_rodata_r;
|
||||
total_rwdata_r += n_rwdata_r;
|
||||
total_bss_r += n_bss_r;
|
||||
total_other_r += n_other_r;
|
||||
|
||||
if (n_other_r > 0)
|
||||
pr_notice("text_in=%px relocs=%d/%d/%d/%d/%d ret = %zu\n",
|
||||
text_in, n_text_r, n_rodata_r, n_rwdata_r, n_bss_r, n_other_r,
|
||||
pr_notice("text_in=%x relocs=%d/%d/%d/%d/%d ret = %zu\n",
|
||||
(unsigned)(uintptr_t)text_in, n_text_r, n_rodata_r,
|
||||
n_rwdata_r, n_bss_r, n_other_r,
|
||||
text_in_len);
|
||||
#endif
|
||||
|
||||
@@ -840,6 +872,25 @@ ssize_t wc_linuxkm_normalize_relocations(
|
||||
return text_in_len;
|
||||
}
|
||||
|
||||
#endif /* HAVE_LINUXKM_PIE_SUPPORT */
|
||||
|
||||
#ifdef USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE
|
||||
|
||||
/* get_current() is an inline or macro, depending on the target -- sidestep the
|
||||
* whole issue with a wrapper func.
|
||||
*/
|
||||
static struct task_struct *my_get_current_thread(void) {
|
||||
return get_current();
|
||||
}
|
||||
|
||||
/* preempt_count() is an inline function in arch/x86/include/asm/preempt.h that
|
||||
* accesses __preempt_count, which is an int array declared with
|
||||
* DECLARE_PER_CPU_CACHE_HOT.
|
||||
*/
|
||||
static int my_preempt_count(void) {
|
||||
return preempt_count();
|
||||
}
|
||||
|
||||
static int set_up_wolfssl_linuxkm_pie_redirect_table(void) {
|
||||
memset(
|
||||
&wolfssl_linuxkm_pie_redirect_table,
|
||||
@@ -1124,7 +1175,6 @@ static int set_up_wolfssl_linuxkm_pie_redirect_table(void) {
|
||||
|
||||
#endif /* USE_WOLFSSL_LINUXKM_PIE_REDIRECT_TABLE */
|
||||
|
||||
|
||||
#ifdef WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
|
||||
|
||||
#include <wolfssl/wolfcrypt/coding.h>
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
/* linuxkm/pie_last.c -- memory fenceposts for checking binary image stability
|
||||
*
|
||||
* Copyright (C) 2006-2025 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 3 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
|
||||
*/
|
||||
|
||||
#ifndef __PIE__
|
||||
#error pie_last.c must be compiled -fPIE.
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/libwolfssl_sources.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
int wolfCrypt_PIE_last_function(void);
|
||||
int wolfCrypt_PIE_last_function(void) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
const unsigned int wolfCrypt_PIE_rodata_end[];
|
||||
const unsigned int wolfCrypt_PIE_rodata_end[] =
|
||||
/* random values, analogous to wolfCrypt_FIPS_ro_{start,end} */
|
||||
{ 0xa4aaaf71, 0x55c4b7d0 };
|
||||
@@ -3,24 +3,28 @@ SECTIONS {
|
||||
.text.wolfcrypt : {
|
||||
__wc_text_start = .;
|
||||
*(.text.wolfcrypt)
|
||||
. = ALIGN(4096);
|
||||
__wc_text_end = .;
|
||||
}
|
||||
. = ALIGN(4096);
|
||||
.rodata.wolfcrypt : {
|
||||
__wc_rodata_start = .;
|
||||
*(.rodata.wolfcrypt)
|
||||
. = ALIGN(4096);
|
||||
__wc_rodata_end = .;
|
||||
}
|
||||
. = ALIGN(4096);
|
||||
.data.wolfcrypt : {
|
||||
__wc_rwdata_start = .;
|
||||
*(.data.wolfcrypt)
|
||||
. = ALIGN(4096);
|
||||
__wc_rwdata_end = .;
|
||||
}
|
||||
. = ALIGN(4096);
|
||||
.bss.wolfcrypt : {
|
||||
__wc_bss_start = .;
|
||||
*(.bss.wolfcrypt)
|
||||
. = ALIGN(4096);
|
||||
__wc_bss_end = .;
|
||||
}
|
||||
. = ALIGN(4096);
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
/* included by linuxkm/module_hooks.c */
|
||||
#ifndef WC_SKIP_INCLUDED_C_FILES
|
||||
|
||||
#if !defined(WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS) || !defined(CONFIG_X86)
|
||||
#error x86_vector_register_glue.c included in non-vectorized/non-x86 project.
|
||||
@@ -346,26 +347,26 @@ WARN_UNUSED_RESULT int wc_save_vector_registers_x86(enum wc_svr_flags flags)
|
||||
|
||||
/* allow for nested calls */
|
||||
if (pstate && (pstate->fpu_state != 0U)) {
|
||||
if (unlikely(pstate->fpu_state & WC_FPU_INHIBITED_FLAG)) {
|
||||
if (flags & WC_SVR_FLAG_INHIBIT) {
|
||||
/* allow recursive inhibit calls as long as the whole stack of
|
||||
* them is inhibiting.
|
||||
*/
|
||||
++pstate->fpu_state;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return WC_ACCEL_INHIBIT_E;
|
||||
if (pstate->fpu_state & WC_FPU_INHIBITED_FLAG) {
|
||||
/* don't allow recursive inhibit calls when already inhibited --
|
||||
* it would add no functionality and require keeping a separate
|
||||
* count of inhibit recursions.
|
||||
*/
|
||||
return WC_ACCEL_INHIBIT_E;
|
||||
}
|
||||
if (unlikely(flags & WC_SVR_FLAG_INHIBIT))
|
||||
return BAD_STATE_E;
|
||||
if (unlikely((pstate->fpu_state & WC_FPU_COUNT_MASK)
|
||||
== WC_FPU_COUNT_MASK))
|
||||
{
|
||||
pr_err("ERROR: wc_save_vector_registers_x86 recursion register overflow for "
|
||||
"pid %d on CPU %d.\n", pstate->pid, raw_smp_processor_id());
|
||||
return BAD_STATE_E;
|
||||
} else {
|
||||
}
|
||||
if (flags & WC_SVR_FLAG_INHIBIT) {
|
||||
++pstate->fpu_state;
|
||||
pstate->fpu_state |= WC_FPU_INHIBITED_FLAG;
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
++pstate->fpu_state;
|
||||
return 0;
|
||||
}
|
||||
@@ -475,7 +476,7 @@ WARN_UNUSED_RESULT int wc_save_vector_registers_x86(enum wc_svr_flags flags)
|
||||
__builtin_unreachable();
|
||||
}
|
||||
|
||||
void wc_restore_vector_registers_x86(void)
|
||||
void wc_restore_vector_registers_x86(enum wc_svr_flags flags)
|
||||
{
|
||||
struct wc_thread_fpu_count_ent *pstate;
|
||||
|
||||
@@ -494,6 +495,14 @@ void wc_restore_vector_registers_x86(void)
|
||||
}
|
||||
|
||||
if ((--pstate->fpu_state & WC_FPU_COUNT_MASK) > 0U) {
|
||||
if (flags & WC_SVR_FLAG_INHIBIT) {
|
||||
if (pstate->fpu_state & WC_FPU_INHIBITED_FLAG)
|
||||
pstate->fpu_state &= ~WC_FPU_INHIBITED_FLAG;
|
||||
else
|
||||
VRG_PR_WARN_X("BUG: wc_restore_vector_registers_x86() called by pid %d on CPU %d "
|
||||
"with _INHIBIT flag but saved state isn't _INHIBITED_.\n", task_pid_nr(current),
|
||||
raw_smp_processor_id());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -505,6 +514,10 @@ void wc_restore_vector_registers_x86(void)
|
||||
#endif
|
||||
local_bh_enable();
|
||||
} else if (unlikely(pstate->fpu_state & WC_FPU_INHIBITED_FLAG)) {
|
||||
if (unlikely(! (flags & WC_SVR_FLAG_INHIBIT)))
|
||||
VRG_PR_WARN_X("BUG: wc_restore_vector_registers_x86() called by pid %d on CPU %d "
|
||||
"without _INHIBIT flag but saved state is _INHIBITED_.\n", task_pid_nr(current),
|
||||
raw_smp_processor_id());
|
||||
pstate->fpu_state = 0U;
|
||||
wc_linuxkm_fpu_state_release(pstate);
|
||||
local_bh_enable();
|
||||
@@ -519,3 +532,5 @@ void wc_restore_vector_registers_x86(void)
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* !WC_SKIP_INCLUDED_C_FILES */
|
||||
|
||||
+277
-465
@@ -315,6 +315,82 @@ void wolfssl_priv_der_unblind(DerBuffer* key, DerBuffer* mask)
|
||||
const unsigned char* secret, int secretSz, void* ctx);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This function builds up string for key-logging then call user's
|
||||
* key-log-callback to pass the string.
|
||||
* The user's key-logging callback has been set via
|
||||
* wolfSSL_CTX_set_keylog_callback function. The logging string format is:
|
||||
* "<Label> <hex-encoded client random> <hex-encoded secret>"
|
||||
*
|
||||
* parameter
|
||||
* - ssl: WOLFSSL object
|
||||
* - secret: pointer to the buffer holding secret
|
||||
* - secretSz: size of secret
|
||||
* - label: for logging string
|
||||
* - labelSz: label size
|
||||
* returns 0 on success, negative value on failure.
|
||||
*/
|
||||
static int SessionSecret_callback_common(const WOLFSSL* ssl,
|
||||
const unsigned char* secret, int secretSz,
|
||||
const char* label, int labelSz)
|
||||
{
|
||||
wolfSSL_CTX_keylog_cb_func logCb = NULL;
|
||||
int buffSz;
|
||||
byte* log = NULL;
|
||||
word32 outSz;
|
||||
int idx;
|
||||
int ret;
|
||||
|
||||
if (ssl == NULL || secret == NULL || secretSz == 0 ||
|
||||
label == NULL || labelSz == 0)
|
||||
return BAD_FUNC_ARG;
|
||||
if (ssl->arrays == NULL || ssl->ctx == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
/* get the user-callback func from CTX */
|
||||
logCb = ssl->ctx->keyLogCb;
|
||||
if (logCb == NULL)
|
||||
return 0;
|
||||
|
||||
/* prepare a log string for passing user callback
|
||||
* "<Label> <hex-encoded client random> <hex-encoded secret>" */
|
||||
buffSz = labelSz + (RAN_LEN * 2) + 1 + secretSz * 2 + 1;
|
||||
log = XMALLOC(buffSz, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
if (log == NULL)
|
||||
return MEMORY_E;
|
||||
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
||||
wc_MemZero_Add("SessionSecret log", log, buffSz);
|
||||
#endif
|
||||
|
||||
XMEMSET(log, 0, buffSz);
|
||||
XMEMCPY(log, label, labelSz - 1); /* put label w/o terminator */
|
||||
log[labelSz - 1] = ' '; /* '\0' -> ' ' */
|
||||
|
||||
idx = labelSz;
|
||||
outSz = buffSz - idx;
|
||||
if ((ret = Base16_Encode(ssl->arrays->clientRandom, RAN_LEN,
|
||||
log + idx, &outSz)) == 0) {
|
||||
idx += (outSz - 1); /* reduce terminator byte */
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if (outSz > 1) {
|
||||
log[idx++] = ' '; /* add space*/
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if ((ret = Base16_Encode((byte*)secret, secretSz,
|
||||
log + idx, &outSz)) == 0) {
|
||||
logCb(ssl, (char*)log);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
ret = MEMORY_E;
|
||||
}
|
||||
/* Zero out Base16 encoded secret and other data. */
|
||||
ForceZero(log, buffSz);
|
||||
XFREE(log, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Label string for client random. */
|
||||
#define SSC_CR "CLIENT_RANDOM"
|
||||
@@ -335,34 +411,16 @@ void wolfssl_priv_der_unblind(DerBuffer* key, DerBuffer* mask)
|
||||
static int SessionSecret_callback(WOLFSSL* ssl, void* secret,
|
||||
int* secretSz, void* ctx)
|
||||
{
|
||||
wolfSSL_CTX_keylog_cb_func logCb = NULL;
|
||||
int msSz;
|
||||
int invalidCount;
|
||||
int i;
|
||||
const char* label = SSC_CR;
|
||||
int labelSz = sizeof(SSC_CR);
|
||||
int buffSz;
|
||||
byte* log = NULL;
|
||||
word32 outSz;
|
||||
int idx;
|
||||
int ret;
|
||||
(void)ctx;
|
||||
|
||||
if (ssl == NULL || secret == NULL || secretSz == NULL || *secretSz == 0)
|
||||
if (secret == NULL || secretSz == NULL || *secretSz == 0)
|
||||
return BAD_FUNC_ARG;
|
||||
if (ssl->arrays == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
/* get the user-callback func from CTX */
|
||||
logCb = ssl->ctx->keyLogCb;
|
||||
if (logCb == NULL) {
|
||||
return 0; /* no logging callback */
|
||||
}
|
||||
|
||||
/* make sure the given master-secret has a meaningful value */
|
||||
msSz = *secretSz;
|
||||
invalidCount = 0;
|
||||
for (i = 0; i < msSz; i++) {
|
||||
for (i = 0; i < *secretSz; i++) {
|
||||
if (((byte*)secret)[i] == 0) {
|
||||
invalidCount++;
|
||||
}
|
||||
@@ -372,47 +430,8 @@ void wolfssl_priv_der_unblind(DerBuffer* key, DerBuffer* mask)
|
||||
return 0; /* ignore error */
|
||||
}
|
||||
|
||||
/* build up a hex-decoded keylog string
|
||||
* "CLIENT_RANDOM <hex-encoded client rand> <hex-encoded master-secret>"
|
||||
* note that each keylog string does not have CR/LF.
|
||||
*/
|
||||
buffSz = labelSz + (RAN_LEN * 2) + 1 + ((*secretSz) * 2) + 1;
|
||||
log = XMALLOC(buffSz, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
if (log == NULL)
|
||||
return MEMORY_E;
|
||||
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
||||
wc_MemZero_Add("SessionSecret log", log, buffSz);
|
||||
#endif
|
||||
|
||||
XMEMSET(log, 0, buffSz);
|
||||
XMEMCPY(log, label, labelSz -1); /* put label w/o terminator */
|
||||
log[labelSz - 1] = ' '; /* '\0' -> ' ' */
|
||||
idx = labelSz;
|
||||
outSz = buffSz - idx;
|
||||
if ((ret = Base16_Encode(ssl->arrays->clientRandom, RAN_LEN,
|
||||
log + idx, &outSz)) == 0) {
|
||||
idx += (outSz - 1); /* reduce terminator byte */
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if (outSz > 1) {
|
||||
log[idx++] = ' '; /* add space*/
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if ((ret = Base16_Encode((byte*)secret, *secretSz,
|
||||
log + idx, &outSz)) == 0) {
|
||||
/* pass the log to the client callback*/
|
||||
logCb(ssl, (char*)log);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
ret = BUFFER_E;
|
||||
}
|
||||
}
|
||||
/* Zero out Base16 encoded secret and other data. */
|
||||
ForceZero(log, buffSz);
|
||||
XFREE(log, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
return ret;
|
||||
return SessionSecret_callback_common(ssl, secret, *secretSz,
|
||||
SSC_CR, sizeof(SSC_CR));
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_TLS13)
|
||||
@@ -450,27 +469,10 @@ void wolfssl_priv_der_unblind(DerBuffer* key, DerBuffer* mask)
|
||||
static int SessionSecret_callback_Tls13(WOLFSSL* ssl, int id,
|
||||
const unsigned char* secret, int secretSz, void* ctx)
|
||||
{
|
||||
wolfSSL_CTX_keylog_cb_func logCb = NULL;
|
||||
const char* label;
|
||||
int labelSz = 0;
|
||||
int buffSz = 0;
|
||||
byte* log = NULL;
|
||||
word32 outSz;
|
||||
int idx;
|
||||
int ret;
|
||||
|
||||
(void)ctx;
|
||||
|
||||
if (ssl == NULL || secret == NULL || secretSz == 0)
|
||||
return BAD_FUNC_ARG;
|
||||
if (ssl->arrays == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
/* get the user-callback func from CTX*/
|
||||
logCb = ssl->ctx->keyLogCb;
|
||||
if (logCb == NULL)
|
||||
return 0;
|
||||
|
||||
switch (id) {
|
||||
case CLIENT_EARLY_TRAFFIC_SECRET:
|
||||
labelSz = sizeof(SSC_TLS13_CETS);
|
||||
@@ -510,44 +512,8 @@ void wolfssl_priv_der_unblind(DerBuffer* key, DerBuffer* mask)
|
||||
default:
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
/* prepare a log string for passing user callback
|
||||
* "<Label> <hex-encoded client random> <hex-encoded secret>" */
|
||||
buffSz = labelSz + (RAN_LEN * 2) + 1 + secretSz * 2 + 1;
|
||||
log = XMALLOC(buffSz, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
if (log == NULL)
|
||||
return MEMORY_E;
|
||||
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
||||
wc_MemZero_Add("SessionSecret log", log, buffSz);
|
||||
#endif
|
||||
|
||||
XMEMSET(log, 0, buffSz);
|
||||
XMEMCPY(log, label, labelSz - 1); /* put label w/o terminator */
|
||||
log[labelSz - 1] = ' '; /* '\0' -> ' ' */
|
||||
|
||||
idx = labelSz;
|
||||
outSz = buffSz - idx;
|
||||
if ((ret = Base16_Encode(ssl->arrays->clientRandom, RAN_LEN,
|
||||
log + idx, &outSz)) == 0) {
|
||||
idx += (outSz - 1); /* reduce terminator byte */
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if (outSz >1) {
|
||||
log[idx++] = ' '; /* add space*/
|
||||
outSz = buffSz - idx;
|
||||
|
||||
if ((ret = Base16_Encode((byte*)secret, secretSz,
|
||||
log + idx, &outSz)) == 0) {
|
||||
logCb(ssl, (char*)log);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
ret = MEMORY_E;
|
||||
}
|
||||
/* Zero out Base16 encoded secret and other data. */
|
||||
ForceZero(log, buffSz);
|
||||
XFREE(log, ssl->heap, DYNAMIC_TYPE_SECRET);
|
||||
return ret;
|
||||
return SessionSecret_callback_common(ssl, secret, secretSz,
|
||||
label, labelSz);
|
||||
}
|
||||
#endif /* WOLFSSL_TLS13*/
|
||||
#endif /* OPENSSL_EXTRA && HAVE_SECRET_CALLBACK*/
|
||||
@@ -1911,7 +1877,7 @@ int wolfSSL_session_import_internal(WOLFSSL* ssl, const unsigned char* buf,
|
||||
optSz = DTLS_EXPORT_OPT_SZ_4;
|
||||
}
|
||||
else {
|
||||
optSz = TLS_EXPORT_OPT_SZ;
|
||||
optSz = TLS_EXPORT_OPT_SZ_4;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -7430,6 +7396,7 @@ int ReinitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
|
||||
ssl->arrays->preMasterSecret = (byte*)XMALLOC(ENCRYPT_LEN, ssl->heap,
|
||||
DYNAMIC_TYPE_SECRET);
|
||||
if (ssl->arrays->preMasterSecret == NULL) {
|
||||
WOLFSSL_MSG("preMasterSecret Memory error");
|
||||
return MEMORY_E;
|
||||
}
|
||||
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
||||
@@ -11004,7 +10971,7 @@ void ShrinkInputBuffer(WOLFSSL* ssl, int forcedFree)
|
||||
}
|
||||
|
||||
ForceZero(ssl->buffers.inputBuffer.buffer,
|
||||
ssl->buffers.inputBuffer.length);
|
||||
ssl->buffers.inputBuffer.bufferSize);
|
||||
XFREE(ssl->buffers.inputBuffer.buffer - ssl->buffers.inputBuffer.offset,
|
||||
ssl->heap, DYNAMIC_TYPE_IN_BUFFER);
|
||||
ssl->buffers.inputBuffer.buffer = ssl->buffers.inputBuffer.staticBuffer;
|
||||
@@ -11213,8 +11180,10 @@ static WC_INLINE int GrowOutputBuffer(WOLFSSL* ssl, int size)
|
||||
return BUFFER_E;
|
||||
if (! WC_SAFE_SUM_WORD32(newSz, (word32)size, newSz))
|
||||
return BUFFER_E;
|
||||
#if WOLFSSL_GENERAL_ALIGNMENT > 0
|
||||
if (! WC_SAFE_SUM_WORD32(newSz, align, newSz))
|
||||
return BUFFER_E;
|
||||
#endif
|
||||
tmp = (byte*)XMALLOC(newSz, ssl->heap, DYNAMIC_TYPE_OUT_BUFFER);
|
||||
newSz -= align;
|
||||
WOLFSSL_MSG("growing output buffer");
|
||||
@@ -32277,6 +32246,188 @@ exit_gdpk:
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
#if defined(HAVE_ECC) || defined(HAVE_CURVE25519) || defined(HAVE_CURVE448)
|
||||
static int GetEcDiffieHellmanKea(WOLFSSL *ssl,
|
||||
const byte *input, word32 size, DskeArgs *args)
|
||||
{
|
||||
int ret;
|
||||
byte b;
|
||||
#ifdef HAVE_ECC
|
||||
int curveId;
|
||||
#endif
|
||||
int curveOid;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + ENUM_LEN + OPAQUE16_LEN +
|
||||
OPAQUE8_LEN > size) {
|
||||
return BUFFER_ERROR;
|
||||
}
|
||||
|
||||
b = input[args->idx++];
|
||||
if (b != named_curve) {
|
||||
return ECC_CURVETYPE_ERROR;
|
||||
}
|
||||
|
||||
args->idx += 1; /* curve type, eat leading 0 */
|
||||
b = input[args->idx++];
|
||||
if ((curveOid = CheckCurveId(b)) < 0) {
|
||||
return ECC_CURVE_ERROR;
|
||||
}
|
||||
ssl->ecdhCurveOID = (word32) curveOid;
|
||||
#if defined(WOLFSSL_TLS13) || defined(HAVE_FFDHE)
|
||||
ssl->namedGroup = 0;
|
||||
#endif
|
||||
|
||||
length = input[args->idx++];
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
return BUFFER_ERROR;
|
||||
}
|
||||
#ifdef HAVE_CURVE25519
|
||||
if (ssl->ecdhCurveOID == ECC_X25519_OID) {
|
||||
if (ssl->peerX25519Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE25519,
|
||||
(void **)&ssl->peerX25519Key);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
else if (ssl->peerX25519KeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE25519, ssl->peerX25519Key);
|
||||
ssl->peerX25519KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve25519_check_public(input + args->idx, length,
|
||||
EC25519_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#else
|
||||
(void)ret;
|
||||
#endif
|
||||
return ECC_PEERKEY_ERROR;
|
||||
}
|
||||
|
||||
if (wc_curve25519_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX25519Key,
|
||||
EC25519_LITTLE_ENDIAN) != 0) {
|
||||
return ECC_PEERKEY_ERROR;
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX25519KeyPresent = 1;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_CURVE448
|
||||
if (ssl->ecdhCurveOID == ECC_X448_OID) {
|
||||
if (ssl->peerX448Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE448,
|
||||
(void **)&ssl->peerX448Key);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
else if (ssl->peerX448KeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE448, ssl->peerX448Key);
|
||||
ssl->peerX448KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve448_check_public(input + args->idx, length,
|
||||
EC448_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#else
|
||||
(void)ret;
|
||||
#endif
|
||||
return ECC_PEERKEY_ERROR;
|
||||
}
|
||||
|
||||
if (wc_curve448_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX448Key,
|
||||
EC448_LITTLE_ENDIAN) != 0) {
|
||||
return ECC_PEERKEY_ERROR;
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX448KeyPresent = 1;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ECC
|
||||
if (ssl->peerEccKey == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_ECC, (void **)&ssl->peerEccKey);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
else if (ssl->peerEccKeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_ECC, ssl->peerEccKey);
|
||||
ssl->peerEccKeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
curveId = wc_ecc_get_oid((word32) curveOid, NULL, NULL);
|
||||
if (wc_ecc_import_x963_ex(input + args->idx, length,
|
||||
ssl->peerEccKey, curveId) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
#endif
|
||||
return ECC_PEERKEY_ERROR;
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerEccKeyPresent = 1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif /* def(HAVE_ECC) || def(HAVE_CURVE25519) || def(HAVE_CURVE448)) */
|
||||
|
||||
#if !defined(NO_PSK)
|
||||
static int GetPSKServerHint(WOLFSSL *ssl, const byte *input, word32 size,
|
||||
DskeArgs *args)
|
||||
{
|
||||
int srvHintLen;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + OPAQUE16_LEN > size) {
|
||||
return BUFFER_ERROR;
|
||||
}
|
||||
|
||||
ato16(input + args->idx, &length);
|
||||
args->idx += OPAQUE16_LEN;
|
||||
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
return BUFFER_ERROR;
|
||||
}
|
||||
|
||||
/* get PSK server hint from the wire */
|
||||
srvHintLen = (int)min(length, MAX_PSK_ID_LEN);
|
||||
XMEMCPY(ssl->arrays->server_hint, input + args->idx, (size_t)(srvHintLen));
|
||||
ssl->arrays->server_hint[srvHintLen] = '\0'; /* null term */
|
||||
|
||||
args->idx += length;
|
||||
return 0;
|
||||
}
|
||||
#endif /* !defined(NO_PSK) */
|
||||
|
||||
/* handle processing of server_key_exchange (12) */
|
||||
static int DoServerKeyExchange(WOLFSSL* ssl, const byte* input,
|
||||
@@ -32344,26 +32495,7 @@ static int DoServerKeyExchange(WOLFSSL* ssl, const byte* input,
|
||||
#ifndef NO_PSK
|
||||
case psk_kea:
|
||||
{
|
||||
int srvHintLen;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + OPAQUE16_LEN > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
ato16(input + args->idx, &length);
|
||||
args->idx += OPAQUE16_LEN;
|
||||
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
/* get PSK server hint from the wire */
|
||||
srvHintLen = (int)min(length, MAX_PSK_ID_LEN);
|
||||
XMEMCPY(ssl->arrays->server_hint, input + args->idx,
|
||||
(size_t)(srvHintLen));
|
||||
ssl->arrays->server_hint[srvHintLen] = '\0'; /* null term */
|
||||
args->idx += length;
|
||||
ret = GetPSKServerHint(ssl, input, size, args);
|
||||
break;
|
||||
}
|
||||
#endif /* !NO_PSK */
|
||||
@@ -32371,8 +32503,6 @@ static int DoServerKeyExchange(WOLFSSL* ssl, const byte* input,
|
||||
case diffie_hellman_kea:
|
||||
{
|
||||
ret = GetDhPublicKey(ssl, input, size, args);
|
||||
if (ret != 0)
|
||||
goto exit_dske;
|
||||
break;
|
||||
}
|
||||
#endif /* !NO_DH */
|
||||
@@ -32380,181 +32510,16 @@ static int DoServerKeyExchange(WOLFSSL* ssl, const byte* input,
|
||||
defined(HAVE_CURVE448)
|
||||
case ecc_diffie_hellman_kea:
|
||||
{
|
||||
byte b;
|
||||
#ifdef HAVE_ECC
|
||||
int curveId;
|
||||
#endif
|
||||
int curveOid;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + ENUM_LEN + OPAQUE16_LEN +
|
||||
OPAQUE8_LEN > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
b = input[args->idx++];
|
||||
if (b != named_curve) {
|
||||
ERROR_OUT(ECC_CURVETYPE_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += 1; /* curve type, eat leading 0 */
|
||||
b = input[args->idx++];
|
||||
if ((curveOid = CheckCurveId(b)) < 0) {
|
||||
ERROR_OUT(ECC_CURVE_ERROR, exit_dske);
|
||||
}
|
||||
ssl->ecdhCurveOID = (word32)curveOid;
|
||||
#if defined(WOLFSSL_TLS13) || defined(HAVE_FFDHE)
|
||||
ssl->namedGroup = 0;
|
||||
#endif
|
||||
|
||||
length = input[args->idx++];
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
#ifdef HAVE_CURVE25519
|
||||
if (ssl->ecdhCurveOID == ECC_X25519_OID) {
|
||||
if (ssl->peerX25519Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE25519,
|
||||
(void**)&ssl->peerX25519Key);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerX25519KeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE25519,
|
||||
ssl->peerX25519Key);
|
||||
ssl->peerX25519KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve25519_check_public(
|
||||
input + args->idx, length,
|
||||
EC25519_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#endif
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
if (wc_curve25519_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX25519Key,
|
||||
EC25519_LITTLE_ENDIAN) != 0) {
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX25519KeyPresent = 1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_CURVE448
|
||||
if (ssl->ecdhCurveOID == ECC_X448_OID) {
|
||||
if (ssl->peerX448Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE448,
|
||||
(void**)&ssl->peerX448Key);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerX448KeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE448,
|
||||
ssl->peerX448Key);
|
||||
ssl->peerX448KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve448_check_public(
|
||||
input + args->idx, length,
|
||||
EC448_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#endif
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
if (wc_curve448_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX448Key,
|
||||
EC448_LITTLE_ENDIAN) != 0) {
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX448KeyPresent = 1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ECC
|
||||
if (ssl->peerEccKey == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_ECC,
|
||||
(void**)&ssl->peerEccKey);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerEccKeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_ECC, ssl->peerEccKey);
|
||||
ssl->peerEccKeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
curveId = wc_ecc_get_oid((word32)curveOid, NULL, NULL);
|
||||
if (wc_ecc_import_x963_ex(input + args->idx, length,
|
||||
ssl->peerEccKey, curveId) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
#endif
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerEccKeyPresent = 1;
|
||||
#endif
|
||||
ret = GetEcDiffieHellmanKea(ssl, input, size, args);
|
||||
break;
|
||||
}
|
||||
#endif /* HAVE_ECC || HAVE_CURVE25519 || HAVE_CURVE448 */
|
||||
#if !defined(NO_DH) && !defined(NO_PSK)
|
||||
case dhe_psk_kea:
|
||||
{
|
||||
int srvHintLen;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + OPAQUE16_LEN > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
ato16(input + args->idx, &length);
|
||||
args->idx += OPAQUE16_LEN;
|
||||
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
/* get PSK server hint from the wire */
|
||||
srvHintLen = (int)min(length, MAX_PSK_ID_LEN);
|
||||
XMEMCPY(ssl->arrays->server_hint, input + args->idx,
|
||||
srvHintLen);
|
||||
ssl->arrays->server_hint[srvHintLen] = '\0'; /* null term */
|
||||
args->idx += length;
|
||||
|
||||
ret = GetDhPublicKey(ssl, input, size, args);
|
||||
if (ret != 0)
|
||||
goto exit_dske;
|
||||
ret = GetPSKServerHint(ssl, input, size, args);
|
||||
if (ret == 0)
|
||||
ret = GetDhPublicKey(ssl, input, size, args);
|
||||
break;
|
||||
}
|
||||
#endif /* !NO_DH && !NO_PSK */
|
||||
@@ -32562,162 +32527,9 @@ static int DoServerKeyExchange(WOLFSSL* ssl, const byte* input,
|
||||
defined(HAVE_CURVE448)) && !defined(NO_PSK)
|
||||
case ecdhe_psk_kea:
|
||||
{
|
||||
byte b;
|
||||
int curveOid, curveId;
|
||||
int srvHintLen;
|
||||
word16 length;
|
||||
|
||||
if ((args->idx - args->begin) + OPAQUE16_LEN > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
ato16(input + args->idx, &length);
|
||||
args->idx += OPAQUE16_LEN;
|
||||
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
/* get PSK server hint from the wire */
|
||||
srvHintLen = (int)min(length, MAX_PSK_ID_LEN);
|
||||
XMEMCPY(ssl->arrays->server_hint, input + args->idx,
|
||||
(size_t)(srvHintLen));
|
||||
ssl->arrays->server_hint[srvHintLen] = '\0'; /* null term */
|
||||
|
||||
args->idx += length;
|
||||
|
||||
if ((args->idx - args->begin) + ENUM_LEN + OPAQUE16_LEN +
|
||||
OPAQUE8_LEN > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
/* Check curve name and ID */
|
||||
b = input[args->idx++];
|
||||
if (b != named_curve) {
|
||||
ERROR_OUT(ECC_CURVETYPE_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += 1; /* curve type, eat leading 0 */
|
||||
b = input[args->idx++];
|
||||
if ((curveOid = CheckCurveId(b)) < 0) {
|
||||
ERROR_OUT(ECC_CURVE_ERROR, exit_dske);
|
||||
}
|
||||
ssl->ecdhCurveOID = (word32)curveOid;
|
||||
|
||||
length = input[args->idx++];
|
||||
if ((args->idx - args->begin) + length > size) {
|
||||
ERROR_OUT(BUFFER_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
#ifdef HAVE_CURVE25519
|
||||
if (ssl->ecdhCurveOID == ECC_X25519_OID) {
|
||||
if (ssl->peerX25519Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE25519,
|
||||
(void**)&ssl->peerX25519Key);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerEccKeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE25519,
|
||||
ssl->peerX25519Key);
|
||||
ssl->peerX25519KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve25519_check_public(
|
||||
input + args->idx, length,
|
||||
EC25519_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#endif
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
if (wc_curve25519_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX25519Key,
|
||||
EC25519_LITTLE_ENDIAN) != 0) {
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX25519KeyPresent = 1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_CURVE448
|
||||
if (ssl->ecdhCurveOID == ECC_X448_OID) {
|
||||
if (ssl->peerX448Key == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_CURVE448,
|
||||
(void**)&ssl->peerX448Key);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerEccKeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_CURVE448,
|
||||
ssl->peerX448Key);
|
||||
ssl->peerX448KeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = wc_curve448_check_public(
|
||||
input + args->idx, length,
|
||||
EC448_LITTLE_ENDIAN)) != 0) {
|
||||
#ifdef WOLFSSL_EXTRA_ALERTS
|
||||
if (ret == WC_NO_ERR_TRACE(BUFFER_E))
|
||||
SendAlert(ssl, alert_fatal, decode_error);
|
||||
else if (ret == WC_NO_ERR_TRACE(ECC_OUT_OF_RANGE_E))
|
||||
SendAlert(ssl, alert_fatal, bad_record_mac);
|
||||
else {
|
||||
SendAlert(ssl, alert_fatal, illegal_parameter);
|
||||
}
|
||||
#endif
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
if (wc_curve448_import_public_ex(input + args->idx,
|
||||
length, ssl->peerX448Key,
|
||||
EC448_LITTLE_ENDIAN) != 0) {
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerX448KeyPresent = 1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ssl->peerEccKey == NULL) {
|
||||
ret = AllocKey(ssl, DYNAMIC_TYPE_ECC,
|
||||
(void**)&ssl->peerEccKey);
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
} else if (ssl->peerEccKeyPresent) {
|
||||
ret = ReuseKey(ssl, DYNAMIC_TYPE_ECC, ssl->peerEccKey);
|
||||
ssl->peerEccKeyPresent = 0;
|
||||
if (ret != 0) {
|
||||
goto exit_dske;
|
||||
}
|
||||
}
|
||||
|
||||
curveId = wc_ecc_get_oid((word32)curveOid, NULL, NULL);
|
||||
if (wc_ecc_import_x963_ex(input + args->idx, length,
|
||||
ssl->peerEccKey, curveId) != 0) {
|
||||
ERROR_OUT(ECC_PEERKEY_ERROR, exit_dske);
|
||||
}
|
||||
|
||||
args->idx += length;
|
||||
ssl->peerEccKeyPresent = 1;
|
||||
ret = GetPSKServerHint(ssl, input, size, args);
|
||||
if (ret == 0)
|
||||
ret = GetEcDiffieHellmanKea(ssl, input, size, args);
|
||||
break;
|
||||
}
|
||||
#endif /* (HAVE_ECC || HAVE_CURVE25519 || HAVE_CURVE448) && !NO_PSK */
|
||||
|
||||
+26
-58
@@ -504,11 +504,6 @@ typedef struct KeyShareInfo {
|
||||
int curve_id;
|
||||
} KeyShareInfo;
|
||||
|
||||
/* maximum previous acks to capture */
|
||||
#ifndef WC_SNIFFER_HS_ACK_HIST_MAX
|
||||
#define WC_SNIFFER_HS_ACK_HIST_MAX 10
|
||||
#endif
|
||||
|
||||
/* Sniffer Session holds info for each client/server SSL/TLS session */
|
||||
typedef struct SnifferSession {
|
||||
SnifferServer* context; /* server context */
|
||||
@@ -520,10 +515,10 @@ typedef struct SnifferSession {
|
||||
word16 cliPort; /* client port */
|
||||
word32 cliSeqStart; /* client start sequence */
|
||||
word32 srvSeqStart; /* server start sequence */
|
||||
word32 cliSeqLast; /* client last sequence */
|
||||
word32 srvSeqLast; /* server last sequence */
|
||||
word32 cliExpected; /* client expected sequence (relative) */
|
||||
word32 srvExpected; /* server expected sequence (relative) */
|
||||
word32 cliAcks[WC_SNIFFER_HS_ACK_HIST_MAX]; /* history of acks during handshake */
|
||||
word32 srvAcks[WC_SNIFFER_HS_ACK_HIST_MAX]; /* history of acks during handshake */
|
||||
FinCapture finCapture; /* retain out of order FIN s */
|
||||
Flags flags; /* session flags */
|
||||
time_t lastUsed; /* last used ticks */
|
||||
@@ -5638,47 +5633,6 @@ static int AddFinCapture(SnifferSession* session, word32 sequence)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int FindPrevAck(SnifferSession* session, word32 realAck)
|
||||
{
|
||||
int i;
|
||||
word32* acks = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
session->cliAcks : session->srvAcks;
|
||||
/* if previous ack found return 1, otherwise 0 */
|
||||
for (i=0; i<WC_SNIFFER_HS_ACK_HIST_MAX; i++) {
|
||||
if (acks[i] == realAck) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
static void AddAck(SnifferSession* session, word32 realAck)
|
||||
{
|
||||
int i;
|
||||
word32* acks = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
session->cliAcks : session->srvAcks;
|
||||
/* find first empty ack slot */
|
||||
for (i=0; i<WC_SNIFFER_HS_ACK_HIST_MAX; i++) {
|
||||
if (acks[i] == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* if out of slots, find oldest */
|
||||
if (i == WC_SNIFFER_HS_ACK_HIST_MAX) {
|
||||
int idx = 0;
|
||||
word32 lastAck = realAck;
|
||||
for (i=0; i<WC_SNIFFER_HS_ACK_HIST_MAX; i++) {
|
||||
if (acks[i] < lastAck) {
|
||||
idx = i;
|
||||
lastAck = acks[i];
|
||||
}
|
||||
}
|
||||
i = idx;
|
||||
}
|
||||
|
||||
acks[i] = realAck;
|
||||
}
|
||||
|
||||
/* Adjust incoming sequence based on side */
|
||||
/* returns 0 on success (continue), -1 on error, 1 on success (end) */
|
||||
static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
@@ -5686,7 +5640,9 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
{
|
||||
int ret = 0;
|
||||
word32 seqStart = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
session->cliSeqStart :session->srvSeqStart;
|
||||
session->cliSeqStart : session->srvSeqStart;
|
||||
word32* seqLast = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
&session->cliSeqLast : &session->srvSeqLast;
|
||||
word32 real = tcpInfo->sequence - seqStart;
|
||||
word32* expected = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
&session->cliExpected : &session->srvExpected;
|
||||
@@ -5703,6 +5659,7 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
TraceRelativeSequence(*expected, real);
|
||||
|
||||
if (real < *expected) {
|
||||
int overlap = *expected - real;
|
||||
|
||||
if (real + *sslBytes > *expected) {
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||
@@ -5717,7 +5674,6 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
* same action but for a different setup case. If changing this
|
||||
* block be sure to also update the block below. */
|
||||
if (reassemblyList) {
|
||||
int overlap = *expected - real;
|
||||
word32 newEnd;
|
||||
|
||||
/* adjust to expected, remove duplicate */
|
||||
@@ -5746,11 +5702,23 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
newEnd - reassemblyList->end, session, error);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* DUP overlap, allow */
|
||||
if (*sslBytes > 0) {
|
||||
skipPartial = 0; /* do not reset sslBytes */
|
||||
else if (*sslBytes > 0) {
|
||||
if (real + *sslBytes - 1 > *seqLast) {
|
||||
/* fix segment overlap */
|
||||
#ifdef DEBUG_SNIFFER
|
||||
WOLFSSL* ssl = (session->flags.side == WOLFSSL_SERVER_END) ?
|
||||
session->sslServer : session->sslClient;
|
||||
printf("\tSegment %d overlap (%d -> %d)\n",
|
||||
*sslBytes,
|
||||
ssl->buffers.inputBuffer.length - overlap,
|
||||
ssl->buffers.inputBuffer.length + *sslBytes - overlap - 1);
|
||||
#endif
|
||||
*sslBytes -= overlap;
|
||||
*sslFrame += overlap;
|
||||
}
|
||||
|
||||
/* DUP overlap, allow */
|
||||
skipPartial = 0; /* do not reset sslBytes */
|
||||
}
|
||||
ret = 0;
|
||||
}
|
||||
@@ -5759,13 +5727,13 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
* possible spurious retransmission. */
|
||||
if (*sslBytes > 0) {
|
||||
/* If packet has data attempt to process packet, if hasn't
|
||||
* already been ack'd during handshake */
|
||||
* already been received */
|
||||
if (
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||
session->sslServer->error != WC_NO_ERR_TRACE(WC_PENDING_E) &&
|
||||
session->pendSeq != tcpInfo->sequence &&
|
||||
#endif
|
||||
FindPrevAck(session, real)) {
|
||||
real + *sslBytes -1 <= *seqLast) {
|
||||
Trace(DUPLICATE_STR);
|
||||
ret = 1;
|
||||
}
|
||||
@@ -5837,7 +5805,7 @@ static int AdjustSequence(TcpInfo* tcpInfo, SnifferSession* session,
|
||||
*expected += 1;
|
||||
}
|
||||
if (*sslBytes > 0) {
|
||||
AddAck(session, real);
|
||||
*seqLast = real + *sslBytes - 1;
|
||||
}
|
||||
if (*sslBytes > 0 && skipPartial) {
|
||||
*sslBytes = 0;
|
||||
@@ -6417,7 +6385,7 @@ doPart:
|
||||
ivExtra = AESGCM_EXP_IV_SZ;
|
||||
}
|
||||
|
||||
ret -= ivExtra;;
|
||||
ret -= ivExtra;
|
||||
|
||||
#if defined(HAVE_ENCRYPT_THEN_MAC) && \
|
||||
!defined(WOLFSSL_AEAD_ONLY)
|
||||
|
||||
@@ -3368,7 +3368,7 @@ int wolfSSL_read(WOLFSSL* ssl, void* data, int sz)
|
||||
}
|
||||
|
||||
|
||||
/* returns 0 on failure and on no read */
|
||||
/* returns 0 on failure and 1 on read */
|
||||
int wolfSSL_read_ex(WOLFSSL* ssl, void* data, size_t sz, size_t* rd)
|
||||
{
|
||||
int ret;
|
||||
@@ -3388,8 +3388,7 @@ int wolfSSL_read_ex(WOLFSSL* ssl, void* data, size_t sz, size_t* rd)
|
||||
*rd = (size_t)ret;
|
||||
}
|
||||
|
||||
if (ret <= 0) ret = 0;
|
||||
return ret;
|
||||
return ret > 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
#ifdef WOLFSSL_MULTICAST
|
||||
@@ -8856,148 +8855,75 @@ static int isArrayUnique(const char* buf, size_t len)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Set user preference for the client_cert_type exetnsion.
|
||||
/* Set user preference for the {client,server}_cert_type extension.
|
||||
* Takes byte array containing cert types the caller can provide to its peer.
|
||||
* Cert types are in preferred order in the array.
|
||||
*/
|
||||
static int set_cert_type(RpkConfig* cfg,
|
||||
int client, const char* buf, int bufLen)
|
||||
{
|
||||
int i;
|
||||
byte* certTypeCnt;
|
||||
byte* certTypes;
|
||||
|
||||
if (cfg == NULL || bufLen > (client ? MAX_CLIENT_CERT_TYPE_CNT :
|
||||
MAX_SERVER_CERT_TYPE_CNT)) {
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
if (client) {
|
||||
certTypeCnt = &cfg->preferred_ClientCertTypeCnt;
|
||||
certTypes = cfg->preferred_ClientCertTypes;
|
||||
}
|
||||
else {
|
||||
certTypeCnt = &cfg->preferred_ServerCertTypeCnt;
|
||||
certTypes = cfg->preferred_ServerCertTypes;
|
||||
}
|
||||
/* if buf is set to NULL or bufLen is zero, it defaults the setting*/
|
||||
if (buf == NULL || bufLen == 0) {
|
||||
*certTypeCnt = 1;
|
||||
for (i = 0; i < 2; i++)
|
||||
certTypes[i] = WOLFSSL_CERT_TYPE_X509;
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
if (!isArrayUnique(buf, (size_t)bufLen))
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
for (i = 0; i < bufLen; i++) {
|
||||
if (buf[i] != WOLFSSL_CERT_TYPE_RPK && buf[i] != WOLFSSL_CERT_TYPE_X509)
|
||||
return BAD_FUNC_ARG;
|
||||
certTypes[i] = (byte)buf[i];
|
||||
}
|
||||
*certTypeCnt = bufLen;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
int wolfSSL_set_client_cert_type(WOLFSSL* ssl, const char* buf, int buflen)
|
||||
{
|
||||
if (ssl == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
return set_cert_type(&ssl->options.rpkConfig, 1, buf, buflen);
|
||||
}
|
||||
int wolfSSL_set_server_cert_type(WOLFSSL* ssl, const char* buf, int buflen)
|
||||
{
|
||||
if (ssl == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
return set_cert_type(&ssl->options.rpkConfig, 0, buf, buflen);
|
||||
}
|
||||
int wolfSSL_CTX_set_client_cert_type(WOLFSSL_CTX* ctx,
|
||||
const char* buf, int bufLen)
|
||||
const char* buf, int buflen)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (ctx == NULL || bufLen > MAX_CLIENT_CERT_TYPE_CNT) {
|
||||
if (ctx == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
/* if buf is set to NULL or bufLen is set to zero, it defaults the setting*/
|
||||
if (buf == NULL || bufLen == 0) {
|
||||
ctx->rpkConfig.preferred_ClientCertTypeCnt = 1;
|
||||
ctx->rpkConfig.preferred_ClientCertTypes[0]= WOLFSSL_CERT_TYPE_X509;
|
||||
ctx->rpkConfig.preferred_ClientCertTypes[1]= WOLFSSL_CERT_TYPE_X509;
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
if (!isArrayUnique(buf, (size_t)bufLen))
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
for (i = 0; i < bufLen; i++){
|
||||
if (buf[i] != WOLFSSL_CERT_TYPE_RPK && buf[i] != WOLFSSL_CERT_TYPE_X509)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ctx->rpkConfig.preferred_ClientCertTypes[i] = (byte)buf[i];
|
||||
}
|
||||
ctx->rpkConfig.preferred_ClientCertTypeCnt = bufLen;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
return set_cert_type(&ctx->rpkConfig, 1, buf, buflen);
|
||||
}
|
||||
|
||||
/* Set user preference for the server_cert_type exetnsion.
|
||||
* Takes byte array containing cert types the caller can provide to its peer.
|
||||
* Cert types are in preferred order in the array.
|
||||
*/
|
||||
int wolfSSL_CTX_set_server_cert_type(WOLFSSL_CTX* ctx,
|
||||
const char* buf, int bufLen)
|
||||
const char* buf, int buflen)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (ctx == NULL || bufLen > MAX_SERVER_CERT_TYPE_CNT) {
|
||||
if (ctx == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
/* if buf is set to NULL or bufLen is set to zero, it defaults the setting*/
|
||||
if (buf == NULL || bufLen == 0) {
|
||||
ctx->rpkConfig.preferred_ServerCertTypeCnt = 1;
|
||||
ctx->rpkConfig.preferred_ServerCertTypes[0]= WOLFSSL_CERT_TYPE_X509;
|
||||
ctx->rpkConfig.preferred_ServerCertTypes[1]= WOLFSSL_CERT_TYPE_X509;
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
if (!isArrayUnique(buf, (size_t)bufLen))
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
for (i = 0; i < bufLen; i++){
|
||||
if (buf[i] != WOLFSSL_CERT_TYPE_RPK && buf[i] != WOLFSSL_CERT_TYPE_X509)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ctx->rpkConfig.preferred_ServerCertTypes[i] = (byte)buf[i];
|
||||
}
|
||||
ctx->rpkConfig.preferred_ServerCertTypeCnt = bufLen;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
/* Set user preference for the client_cert_type exetnsion.
|
||||
* Takes byte array containing cert types the caller can provide to its peer.
|
||||
* Cert types are in preferred order in the array.
|
||||
*/
|
||||
int wolfSSL_set_client_cert_type(WOLFSSL* ssl,
|
||||
const char* buf, int bufLen)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (ssl == NULL || bufLen > MAX_CLIENT_CERT_TYPE_CNT) {
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
/* if buf is set to NULL or bufLen is set to zero, it defaults the setting*/
|
||||
if (buf == NULL || bufLen == 0) {
|
||||
ssl->options.rpkConfig.preferred_ClientCertTypeCnt = 1;
|
||||
ssl->options.rpkConfig.preferred_ClientCertTypes[0]
|
||||
= WOLFSSL_CERT_TYPE_X509;
|
||||
ssl->options.rpkConfig.preferred_ClientCertTypes[1]
|
||||
= WOLFSSL_CERT_TYPE_X509;
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
if (!isArrayUnique(buf, (size_t)bufLen))
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
for (i = 0; i < bufLen; i++){
|
||||
if (buf[i] != WOLFSSL_CERT_TYPE_RPK && buf[i] != WOLFSSL_CERT_TYPE_X509)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ssl->options.rpkConfig.preferred_ClientCertTypes[i] = (byte)buf[i];
|
||||
}
|
||||
ssl->options.rpkConfig.preferred_ClientCertTypeCnt = bufLen;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
/* Set user preference for the server_cert_type exetnsion.
|
||||
* Takes byte array containing cert types the caller can provide to its peer.
|
||||
* Cert types are in preferred order in the array.
|
||||
*/
|
||||
int wolfSSL_set_server_cert_type(WOLFSSL* ssl,
|
||||
const char* buf, int bufLen)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (ssl == NULL || bufLen > MAX_SERVER_CERT_TYPE_CNT) {
|
||||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
/* if buf is set to NULL or bufLen is set to zero, it defaults the setting*/
|
||||
if (buf == NULL || bufLen == 0) {
|
||||
ssl->options.rpkConfig.preferred_ServerCertTypeCnt = 1;
|
||||
ssl->options.rpkConfig.preferred_ServerCertTypes[0]
|
||||
= WOLFSSL_CERT_TYPE_X509;
|
||||
ssl->options.rpkConfig.preferred_ServerCertTypes[1]
|
||||
= WOLFSSL_CERT_TYPE_X509;
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
if (!isArrayUnique(buf, (size_t)bufLen))
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
for (i = 0; i < bufLen; i++){
|
||||
if (buf[i] != WOLFSSL_CERT_TYPE_RPK && buf[i] != WOLFSSL_CERT_TYPE_X509)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ssl->options.rpkConfig.preferred_ServerCertTypes[i] = (byte)buf[i];
|
||||
}
|
||||
ssl->options.rpkConfig.preferred_ServerCertTypeCnt = bufLen;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
return set_cert_type(&ctx->rpkConfig, 0, buf, buflen);
|
||||
}
|
||||
|
||||
/* get negotiated certificate type value and return it to the second parameter.
|
||||
|
||||
@@ -16129,6 +16129,9 @@ int TLSX_Parse(WOLFSSL* ssl, const byte* input, word16 length, byte msgType,
|
||||
if ((type <= 62) || (type == TLSX_RENEGOTIATION_INFO)
|
||||
#ifdef WOLFSSL_QUIC
|
||||
|| (type == TLSX_KEY_QUIC_TP_PARAMS_DRAFT)
|
||||
#endif
|
||||
#ifdef WOLFSSL_DUAL_ALG_CERTS
|
||||
|| (type == TLSX_CKS)
|
||||
#endif
|
||||
)
|
||||
{
|
||||
|
||||
+30
-23
@@ -6201,7 +6201,8 @@ static int DoPreSharedKeys(WOLFSSL* ssl, const byte* input, word32 inputSz,
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
if (binderLen != current->binderLen ||
|
||||
XMEMCMP(binder, current->binder, binderLen) != 0) {
|
||||
ConstantCompare(binder, current->binder,
|
||||
binderLen) != 0) {
|
||||
WOLFSSL_ERROR_VERBOSE(BAD_BINDER);
|
||||
return BAD_BINDER;
|
||||
}
|
||||
@@ -10537,28 +10538,17 @@ static int DoTls13CertificateVerify(WOLFSSL* ssl, byte* input,
|
||||
#endif /* !NO_RSA */
|
||||
#ifdef HAVE_ECC
|
||||
if ((ssl->options.peerSigAlgo == ecc_dsa_sa_algo) &&
|
||||
(ssl->peerEccDsaKeyPresent)) {
|
||||
#if defined(WOLFSSL_SM2) && defined(WOLFSSL_SM3)
|
||||
if (ssl->options.peerSigAlgo == sm2_sa_algo) {
|
||||
ret = Sm2wSm3Verify(ssl, TLS13_SM2_SIG_ID,
|
||||
TLS13_SM2_SIG_ID_SZ, sig, args->sigSz,
|
||||
args->sigData, args->sigDataSz,
|
||||
ssl->peerEccDsaKey, NULL);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
WOLFSSL_MSG("Doing ECC peer cert verify");
|
||||
ret = EccVerify(ssl, sig, args->sigSz,
|
||||
args->sigData, args->sigDataSz,
|
||||
ssl->peerEccDsaKey,
|
||||
#ifdef HAVE_PK_CALLBACKS
|
||||
&ssl->buffers.peerEccDsaKey
|
||||
#else
|
||||
NULL
|
||||
#endif
|
||||
);
|
||||
}
|
||||
ssl->peerEccDsaKeyPresent) {
|
||||
WOLFSSL_MSG("Doing ECC peer cert verify");
|
||||
ret = EccVerify(ssl, sig, args->sigSz,
|
||||
args->sigData, args->sigDataSz,
|
||||
ssl->peerEccDsaKey,
|
||||
#ifdef HAVE_PK_CALLBACKS
|
||||
&ssl->buffers.peerEccDsaKey
|
||||
#else
|
||||
NULL
|
||||
#endif
|
||||
);
|
||||
|
||||
if (ret >= 0) {
|
||||
/* CLIENT/SERVER: data verified with public key from
|
||||
@@ -10570,6 +10560,23 @@ static int DoTls13CertificateVerify(WOLFSSL* ssl, byte* input,
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_ECC */
|
||||
#if defined(HAVE_ECC) && defined(WOLFSSL_SM2) && defined(WOLFSSL_SM3)
|
||||
if ((ssl->options.peerSigAlgo == sm2_sa_algo) &&
|
||||
ssl->peerEccDsaKeyPresent) {
|
||||
WOLFSSL_MSG("Doing SM2/SM3 peer cert verify");
|
||||
ret = Sm2wSm3Verify(ssl, TLS13_SM2_SIG_ID, TLS13_SM2_SIG_ID_SZ,
|
||||
sig, args->sigSz, args->sigData, args->sigDataSz,
|
||||
ssl->peerEccDsaKey, NULL);
|
||||
if (ret >= 0) {
|
||||
/* CLIENT/SERVER: data verified with public key from
|
||||
* certificate. */
|
||||
ssl->options.peerAuthGood = 1;
|
||||
|
||||
FreeKey(ssl, DYNAMIC_TYPE_ECC, (void**)&ssl->peerEccDsaKey);
|
||||
ssl->peerEccDsaKeyPresent = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ED25519
|
||||
if ((ssl->options.peerSigAlgo == ed25519_sa_algo) &&
|
||||
(ssl->peerEd25519KeyPresent)) {
|
||||
|
||||
+4
-2
@@ -183,7 +183,8 @@ static WC_INLINE int wolfSSL_LastError(int err, SOCKET_T sd)
|
||||
*/
|
||||
static int TranslateIoReturnCode(int err, SOCKET_T sd, int direction)
|
||||
{
|
||||
#if defined(_WIN32) && !defined(__WATCOMC__) && !defined(_WIN32_WCE)
|
||||
#if defined(_WIN32) && !defined(__WATCOMC__) && !defined(_WIN32_WCE) && \
|
||||
!defined(INTIME_RTOS)
|
||||
size_t errstr_offset;
|
||||
char errstr[WOLFSSL_STRERROR_BUFFER_SIZE];
|
||||
#endif /* _WIN32 */
|
||||
@@ -242,7 +243,8 @@ static int TranslateIoReturnCode(int err, SOCKET_T sd, int direction)
|
||||
return WOLFSSL_CBIO_ERR_CONN_CLOSE;
|
||||
}
|
||||
|
||||
#if defined(_WIN32) && !defined(__WATCOMC__) && !defined(_WIN32_WCE)
|
||||
#if defined(_WIN32) && !defined(__WATCOMC__) && !defined(_WIN32_WCE) && \
|
||||
!defined(INTIME_RTOS)
|
||||
strcpy_s(errstr, sizeof(errstr), "\tGeneral error: ");
|
||||
errstr_offset = strlen(errstr);
|
||||
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
|
||||
+114
-2100
File diff suppressed because it is too large
Load Diff
@@ -77,6 +77,8 @@ tests_unit_test_SOURCES += tests/api/test_ossl_dh.c
|
||||
tests_unit_test_SOURCES += tests/api/test_ossl_ec.c
|
||||
tests_unit_test_SOURCES += tests/api/test_ossl_ecx.c
|
||||
tests_unit_test_SOURCES += tests/api/test_ossl_dsa.c
|
||||
# TLS 1.3 specific
|
||||
tests_unit_test_SOURCES += tests/api/test_tls13.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += tests/api/api.h
|
||||
@@ -143,4 +145,5 @@ EXTRA_DIST += tests/api/test_ossl_dh.h
|
||||
EXTRA_DIST += tests/api/test_ossl_ec.h
|
||||
EXTRA_DIST += tests/api/test_ossl_ecx.h
|
||||
EXTRA_DIST += tests/api/test_ossl_dsa.h
|
||||
EXTRA_DIST += tests/api/test_tls13.h
|
||||
|
||||
|
||||
@@ -255,7 +255,7 @@ int test_wolfSSL_BIO_puts(void)
|
||||
int test_wolfSSL_BIO_dump(void)
|
||||
{
|
||||
EXPECT_DECLS;
|
||||
#if defined(OPENSSL_EXTRA)
|
||||
#if defined(OPENSSL_EXTRA) && !defined(NO_FILESYSTEM)
|
||||
BIO* bio;
|
||||
static const unsigned char data[] = {
|
||||
0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE,
|
||||
@@ -1136,7 +1136,7 @@ int test_wolfSSL_BIO_reset(void)
|
||||
int test_wolfSSL_BIO_get_len(void)
|
||||
{
|
||||
EXPECT_DECLS;
|
||||
#if defined(OPENSSL_EXTRA) && !defined(NO_BIO)
|
||||
#if defined(OPENSSL_EXTRA) && !defined(NO_BIO) && !defined(NO_FILESYSTEM)
|
||||
BIO *bio = NULL;
|
||||
const char txt[] = "Some example text to push to the BIO.";
|
||||
|
||||
|
||||
@@ -1237,7 +1237,8 @@ int test_wolfSSL_EC_KEY_set_group(void)
|
||||
int test_wolfSSL_EC_KEY_set_conv_form(void)
|
||||
{
|
||||
EXPECT_DECLS;
|
||||
#if defined(HAVE_ECC) && defined(OPENSSL_EXTRA) && !defined(NO_BIO)
|
||||
#if defined(HAVE_ECC) && defined(OPENSSL_EXTRA) && !defined(NO_BIO) && \
|
||||
!defined(NO_FILESYSTEM)
|
||||
BIO* bio = NULL;
|
||||
EC_KEY* key = NULL;
|
||||
|
||||
|
||||
+74
-27
@@ -616,53 +616,100 @@ int test_wc_RsaPSS_VerifyCheckInline(void)
|
||||
int test_wc_RsaKeyToDer(void)
|
||||
{
|
||||
EXPECT_DECLS;
|
||||
#if !defined(NO_RSA) && defined(WOLFSSL_KEY_GEN)
|
||||
RsaKey genKey;
|
||||
WC_RNG rng;
|
||||
#if !defined(NO_RSA) && \
|
||||
(defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_KEY_TO_DER))
|
||||
RsaKey key;
|
||||
byte* der = NULL;
|
||||
word32 derSz = 0;
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
WC_RNG rng;
|
||||
#if (!defined(WOLFSSL_SP_MATH) || defined(WOLFSSL_SP_MATH_ALL)) && \
|
||||
(!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 4)) && \
|
||||
(defined(RSA_MIN_SIZE) && (RSA_MIN_SIZE <= 1024))
|
||||
int bits = 1024;
|
||||
word32 derSz = 611;
|
||||
/* (2 x 128) + 2 (possible leading 00) + (5 x 64) + 5 (possible leading 00)
|
||||
+ 3 (e) + 8 (ASN tag) + 10 (ASN length) + 4 seqSz + 3 version */
|
||||
int bits = 1024;
|
||||
#else
|
||||
int bits = 2048;
|
||||
word32 derSz = 1196;
|
||||
/* (2 x 256) + 2 (possible leading 00) + (5 x 128) + 5 (possible leading 00)
|
||||
+ 3 (e) + 8 (ASN tag) + 17 (ASN length) + 4 seqSz + 3 version */
|
||||
int bits = 2048;
|
||||
#endif
|
||||
#else
|
||||
word32 idx = 0;
|
||||
byte* key_der = NULL;
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
const char* key_fname = "./certs/client-key.der";
|
||||
XFILE file = XBADFILE;
|
||||
#endif
|
||||
#endif /* WOLFSSL_KEY_GEN */
|
||||
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
XMEMSET(&rng, 0, sizeof(rng));
|
||||
#endif
|
||||
XMEMSET(&key, 0, sizeof(key));
|
||||
|
||||
/* Init RSA structure */
|
||||
ExpectIntEQ(wc_InitRsaKey(&key, HEAP_HINT), 0);
|
||||
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
/* Init RMG */
|
||||
ExpectIntEQ(wc_InitRng(&rng), 0);
|
||||
/* Make key */
|
||||
ExpectIntEQ(MAKE_RSA_KEY(&key, bits, WC_RSA_EXPONENT, &rng), 0);
|
||||
#else
|
||||
/* Import a key */
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
ExpectTrue((file = XFOPEN(key_fname, "rb")) != XBADFILE);
|
||||
ExpectIntEQ(XFSEEK(file, 0, XSEEK_END), 0);
|
||||
ExpectIntGT(derSz = (word32)XFTELL(file), 0);
|
||||
ExpectIntEQ(XFSEEK(file, 0, XSEEK_SET), 0);
|
||||
ExpectNotNull(key_der = (byte*)XMALLOC(derSz, NULL,
|
||||
DYNAMIC_TYPE_TMP_BUFFER));
|
||||
ExpectIntEQ((int)XFREAD(key_der, 1, derSz, file), derSz);
|
||||
XFCLOSE(file);
|
||||
#elif defined(USE_CERT_BUFFERS_1024) && \
|
||||
(defined(RSA_MIN_SIZE) && (RSA_MIN_SIZE <= 1024))
|
||||
key_der = (byte*)client_key_der_1024;
|
||||
derSz = (word32)sizeof_client_key_der_1024;
|
||||
#elif defined(USE_CERT_BUFFERS_2048)
|
||||
key_der = (byte*)client_key_der_2048;
|
||||
derSz = (word32)sizeof_client_key_der_2048;
|
||||
#elif defined(USE_CERT_BUFFERS_3072)
|
||||
key_der = (byte*)client_key_der_3072;
|
||||
derSz = (word32)sizeof_client_key_der_3072;
|
||||
#elif defined(USE_CERT_BUFFERS_4096)
|
||||
key_der = (byte*)client_key_der_4096;
|
||||
derSz = (word32)sizeof_client_key_der_4096;
|
||||
#endif
|
||||
|
||||
XMEMSET(&rng, 0, sizeof(rng));
|
||||
XMEMSET(&genKey, 0, sizeof(genKey));
|
||||
/* Import private key */
|
||||
ExpectIntEQ(wc_RsaPrivateKeyDecode(key_der, &idx, &key, derSz), 0);
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
XFREE(key_der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
#endif
|
||||
#endif /* WOLFSSL_KEY_GEN */
|
||||
|
||||
/* Get output length */
|
||||
ExpectIntGT((derSz = wc_RsaKeyToDer(&key, NULL, 0)), 0);
|
||||
ExpectNotNull(der = (byte*)XMALLOC(derSz, NULL, DYNAMIC_TYPE_TMP_BUFFER));
|
||||
/* Init structures. */
|
||||
ExpectIntEQ(wc_InitRsaKey(&genKey, HEAP_HINT), 0);
|
||||
ExpectIntEQ(wc_InitRng(&rng), 0);
|
||||
/* Make key. */
|
||||
ExpectIntEQ(MAKE_RSA_KEY(&genKey, bits, WC_RSA_EXPONENT, &rng), 0);
|
||||
|
||||
ExpectIntGT(wc_RsaKeyToDer(&genKey, der, derSz), 0);
|
||||
/* Test exporting private key to DER */
|
||||
ExpectIntGT(wc_RsaKeyToDer(&key, der, derSz), 0);
|
||||
|
||||
/* Pass good/bad args. */
|
||||
ExpectIntEQ(wc_RsaKeyToDer(NULL, der, FOURK_BUF),
|
||||
ExpectIntEQ(wc_RsaKeyToDer(NULL, der, derSz),
|
||||
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
|
||||
/* Get just the output length */
|
||||
ExpectIntGT(wc_RsaKeyToDer(&genKey, NULL, 0), 0);
|
||||
/* Try Public Key. */
|
||||
genKey.type = 0;
|
||||
ExpectIntEQ(wc_RsaKeyToDer(&genKey, der, FOURK_BUF),
|
||||
key.type = 0;
|
||||
ExpectIntEQ(wc_RsaKeyToDer(&key, der, derSz),
|
||||
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
|
||||
#ifdef WOLFSSL_CHECK_MEM_ZERO
|
||||
/* Put back to Private Key */
|
||||
genKey.type = 1;
|
||||
key.type = 1;
|
||||
#endif
|
||||
|
||||
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
DoExpectIntEQ(wc_FreeRsaKey(&genKey), 0);
|
||||
DoExpectIntEQ(wc_FreeRng(&rng), 0);
|
||||
DoExpectIntEQ(wc_FreeRsaKey(&key), 0);
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
DoExpectIntEQ(wc_FreeRng(&rng), 0);
|
||||
#endif
|
||||
#endif
|
||||
return EXPECT_RESULT();
|
||||
} /* END test_wc_RsaKeyToDer */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
/* linuxkm/pie_first.c -- memory fenceposts for checking binary image stability
|
||||
/* test_tls13.h
|
||||
*
|
||||
* Copyright (C) 2006-2025 wolfSSL Inc.
|
||||
*
|
||||
@@ -19,20 +19,24 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#ifndef __PIE__
|
||||
#error pie_first.c must be compiled -fPIE.
|
||||
#endif
|
||||
#ifndef WOLFCRYPT_TEST_TLS13_H
|
||||
#define WOLFCRYPT_TEST_TLS13_H
|
||||
|
||||
#include <wolfssl/wolfcrypt/libwolfssl_sources.h>
|
||||
#include <tests/api/api_decl.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
int test_tls13_apis(void);
|
||||
int test_tls13_cipher_suites(void);
|
||||
int test_tls13_bad_psk_binder(void);
|
||||
int test_tls13_rpk_handshake(void);
|
||||
int test_tls13_pq_groups(void);
|
||||
int test_tls13_early_data(void);
|
||||
|
||||
int wolfCrypt_PIE_first_function(void);
|
||||
int wolfCrypt_PIE_first_function(void) {
|
||||
return 0;
|
||||
}
|
||||
#define TEST_TLS13_DECLS \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_apis), \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_cipher_suites), \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_bad_psk_binder), \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_rpk_handshake), \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_pq_groups), \
|
||||
TEST_DECL_GROUP("tls13", test_tls13_early_data)
|
||||
|
||||
const unsigned int wolfCrypt_PIE_rodata_start[];
|
||||
const unsigned int wolfCrypt_PIE_rodata_start[] =
|
||||
/* random values, analogous to wolfCrypt_FIPS_ro_{start,end} */
|
||||
{ 0x8208f9ca, 0x9daf4ac9 };
|
||||
#endif /* WOLFCRYPT_TEST_TLS13_H */
|
||||
+11
-11
@@ -20844,9 +20844,9 @@ static int DecodeBasicCaConstraintInternal(const byte* input, int sz,
|
||||
return ret;
|
||||
|
||||
cert->isCA = isCa ? 1 : 0;
|
||||
cert->pathLengthSet = pathLengthSet ? 1 : 0;
|
||||
if (pathLengthSet) {
|
||||
cert->pathLength = pathLength;
|
||||
cert->pathLengthSet = pathLengthSet ? 1 : 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -25810,7 +25810,11 @@ int ParseCertRelative(DecodedCert* cert, int type, int verify, void* cm,
|
||||
* If the cA boolean is not asserted, then the keyCertSign bit in the
|
||||
* key usage extension MUST NOT be asserted. */
|
||||
if (!cert->isCA && cert->extKeyUsageSet &&
|
||||
(cert->extKeyUsage & KEYUSE_KEY_CERT_SIGN) != 0) {
|
||||
(cert->extKeyUsage & KEYUSE_KEY_CERT_SIGN) != 0
|
||||
#ifdef ALLOW_SELFSIGNED_INVALID_CERTSIGN
|
||||
&& !cert->selfSigned
|
||||
#endif
|
||||
) {
|
||||
WOLFSSL_ERROR_VERBOSE(KEYUSAGE_E);
|
||||
return KEYUSAGE_E;
|
||||
}
|
||||
@@ -28245,9 +28249,8 @@ int wc_GetFASCNFromCert(struct DecodedCert* cert, byte* fascn, word32* fascnSz)
|
||||
}
|
||||
#endif /* WOLFSSL_FPKI */
|
||||
|
||||
#if !defined(NO_RSA) && (defined(WOLFSSL_CERT_GEN) || \
|
||||
defined(WOLFSSL_KCAPI_RSA) || \
|
||||
((defined(WOLFSSL_KEY_GEN) || defined(OPENSSL_EXTRA))))
|
||||
#if !defined(NO_RSA) && \
|
||||
(defined(WOLFSSL_KEY_TO_DER) || defined(WOLFSSL_CERT_GEN))
|
||||
/* USER RSA ifdef portions used instead of refactor in consideration for
|
||||
possible fips build */
|
||||
/* Encode a public RSA key to output.
|
||||
@@ -28429,13 +28432,10 @@ int wc_RsaKeyToPublicDer_ex(RsaKey* key, byte* output, word32 inLen,
|
||||
return SetRsaPublicKey(output, key, (int)inLen, with_header);
|
||||
}
|
||||
|
||||
#endif /* !NO_RSA && (WOLFSSL_CERT_GEN || WOLFSSL_KCAPI_RSA ||
|
||||
((OPENSSL_EXTRA || WOLFSSL_KEY_GEN))) */
|
||||
#endif /* !NO_RSA && WOLFSSL_KEY_TO_DER */
|
||||
#endif /* NO_CERTS */
|
||||
|
||||
#if (defined(WOLFSSL_KEY_GEN) || defined(OPENSSL_EXTRA) || \
|
||||
defined(WOLFSSL_KCAPI_RSA) || defined(WOLFSSL_SE050)) && \
|
||||
!defined(NO_RSA)
|
||||
#if !defined(NO_RSA) && defined(WOLFSSL_KEY_TO_DER)
|
||||
|
||||
/* Encode private RSA key in DER format.
|
||||
*
|
||||
@@ -28602,7 +28602,7 @@ int wc_RsaKeyToDer(RsaKey* key, byte* output, word32 inLen)
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* (WOLFSSL_KEY_GEN || OPENSSL_EXTRA) && !NO_RSA */
|
||||
#endif /* !NO_RSA && WOLFSSL_KEY_TO_DER */
|
||||
|
||||
#ifndef NO_CERTS
|
||||
|
||||
|
||||
@@ -401,7 +401,7 @@ static WC_INLINE int wc_XChaCha20Poly1305_crypt_oneshot(
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((long int)dst_space < dst_len) {
|
||||
if (dst_len < 0 || (long int)dst_space < dst_len) {
|
||||
ret = BUFFER_E;
|
||||
goto out;
|
||||
}
|
||||
|
||||
+14
-10
@@ -41,17 +41,21 @@
|
||||
*/
|
||||
void cpuid_set_flags(void)
|
||||
{
|
||||
if (!cpuid_check) {
|
||||
cpuid_flags |= CPUID_AVX1;
|
||||
cpuid_flags |= CPUID_AVX2;
|
||||
cpuid_flags |= CPUID_BMI2;
|
||||
cpuid_flags |= CPUID_RDSEED;
|
||||
cpuid_flags |= CPUID_AESNI;
|
||||
cpuid_flags |= CPUID_ADX;
|
||||
cpuid_flags |= CPUID_MOVBE;
|
||||
cpuid_flags |= CPUID_BMI1;
|
||||
if (WOLFSSL_ATOMIC_LOAD(cpuid_flags) == WC_CPUID_INITIALIZER) {
|
||||
cpuid_flags_t new_cpuid_flags = 0,
|
||||
old_cpuid_flags = WC_CPUID_INITIALIZER;
|
||||
|
||||
cpuid_check = 1;
|
||||
new_cpuid_flags |= CPUID_AVX1;
|
||||
new_cpuid_flags |= CPUID_AVX2;
|
||||
new_cpuid_flags |= CPUID_BMI2;
|
||||
new_cpuid_flags |= CPUID_RDSEED;
|
||||
new_cpuid_flags |= CPUID_AESNI;
|
||||
new_cpuid_flags |= CPUID_ADX;
|
||||
new_cpuid_flags |= CPUID_MOVBE;
|
||||
new_cpuid_flags |= CPUID_BMI1;
|
||||
|
||||
(void)wolfSSL_Atomic_Uint_CompareExchange
|
||||
(&cpuid_flags, &old_cpuid_flags, new_cpuid_flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10586,6 +10586,52 @@ int wc_dilithium_verify_ctx_hash(const byte* sig, word32 sigLen,
|
||||
}
|
||||
#endif /* WOLFSSL_DILITHIUM_NO_VERIFY */
|
||||
|
||||
#ifndef WC_NO_CONSTRUCTORS
|
||||
/**
|
||||
* Create a new dilithium key object.
|
||||
*
|
||||
* heap [in] Dynamic memory hint.
|
||||
* devId [in] Device Id.
|
||||
* returns MEMORY_E when dynamic memory allocation fails
|
||||
*/
|
||||
|
||||
dilithium_key* wc_dilithium_new(void* heap, int devId)
|
||||
{
|
||||
int ret;
|
||||
dilithium_key* key = (dilithium_key*)XMALLOC(sizeof(dilithium_key), heap,
|
||||
DYNAMIC_TYPE_DILITHIUM);
|
||||
if (key != NULL) {
|
||||
ret = wc_dilithium_init_ex(key, heap, devId);
|
||||
if (ret != 0) {
|
||||
XFREE(key, heap, DYNAMIC_TYPE_DILITHIUM);
|
||||
key = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete and free a dilithium key object.
|
||||
*
|
||||
* key [in] dilithium key object to delete.
|
||||
* key_p [in, out] Pointer to key pointer to set to NULL.
|
||||
* returns BAD_FUNC_ARG when key is NULL
|
||||
*/
|
||||
|
||||
int wc_dilithium_delete(dilithium_key* key, dilithium_key** key_p)
|
||||
{
|
||||
if (key == NULL)
|
||||
return BAD_FUNC_ARG;
|
||||
wc_dilithium_free(key);
|
||||
XFREE(key, key->heap, DYNAMIC_TYPE_DILITHIUM);
|
||||
if (key_p != NULL)
|
||||
*key_p = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* !WC_NO_CONSTRUCTORS */
|
||||
|
||||
/* Initialize the dilithium private/public key.
|
||||
*
|
||||
* key [in] Dilithium key.
|
||||
|
||||
+6
-6
@@ -8902,7 +8902,7 @@ static void clearEVPPkeyKeys(WOLFSSL_EVP_PKEY *pkey)
|
||||
}
|
||||
|
||||
#ifndef NO_RSA
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
#ifdef WOLFSSL_KEY_TO_DER
|
||||
static int PopulateRSAEvpPkeyDer(WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
int ret = 0;
|
||||
@@ -9008,7 +9008,7 @@ static int PopulateRSAEvpPkeyDer(WOLFSSL_EVP_PKEY *pkey)
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif /* WOLFSSL_KEY_TO_DER */
|
||||
|
||||
WOLFSSL_RSA* wolfSSL_EVP_PKEY_get0_RSA(WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
@@ -9060,12 +9060,12 @@ int wolfSSL_EVP_PKEY_set1_RSA(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_RSA *key)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_KEY_GEN)
|
||||
#ifdef WOLFSSL_KEY_TO_DER
|
||||
if (PopulateRSAEvpPkeyDer(pkey) != WOLFSSL_SUCCESS) {
|
||||
WOLFSSL_MSG("PopulateRSAEvpPkeyDer failed");
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
#endif /* WOLFSSL_KEY_GEN */
|
||||
#endif
|
||||
|
||||
#ifdef WC_RSA_BLINDING
|
||||
if (key->ownRng == 0) {
|
||||
@@ -10045,7 +10045,7 @@ int wolfSSL_EVP_PKEY_up_ref(WOLFSSL_EVP_PKEY* pkey)
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
#ifndef NO_RSA
|
||||
#if !defined(NO_RSA) && defined(WOLFSSL_KEY_TO_DER)
|
||||
int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey, WOLFSSL_RSA* key)
|
||||
{
|
||||
if (pkey == NULL || key == NULL)
|
||||
@@ -10080,7 +10080,7 @@ int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey, WOLFSSL_RSA* key)
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
#endif /* !NO_RSA */
|
||||
#endif /* !NO_RSA && WOLFSSL_KEY_TO_DER */
|
||||
|
||||
#ifndef NO_DSA
|
||||
int wolfSSL_EVP_PKEY_assign_DSA(WOLFSSL_EVP_PKEY* pkey, WOLFSSL_DSA* key)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
/* Based On Daniel J Bernstein's curve25519 Public Domain ref10 work. */
|
||||
|
||||
#if defined(HAVE_CURVE25519) || defined(HAVE_ED25519)
|
||||
#if !defined(CURVE25519_SMALL) || !defined(ED25519_SMALL) /* run when not defined to use small memory math */
|
||||
#if !defined(CURVE25519_SMALL) && !defined(ED25519_SMALL)
|
||||
|
||||
#include <wolfssl/wolfcrypt/fe_operations.h>
|
||||
|
||||
@@ -1479,5 +1479,5 @@ void fe_cmov(fe f, const fe g, int b)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !CURVE25519_SMALL || !ED25519_SMALL */
|
||||
#endif /* !CURVE25519_SMALL && !ED25519_SMALL */
|
||||
#endif /* HAVE_CURVE25519 || HAVE_ED25519 */
|
||||
|
||||
+12
-25
@@ -253,7 +253,8 @@ void WOLFSSL_START(int funcNum)
|
||||
if (funcNum < WC_FUNC_COUNT) {
|
||||
double now = current_time(0) * 1000.0;
|
||||
#ifdef WOLFSSL_FUNC_TIME_LOG
|
||||
fprintf(stderr, "%17.3f: START - %s\n", now, wc_func_name[funcNum]);
|
||||
WOLFSSL_DEBUG_PRINTF("%17.3f: START - %s\n",
|
||||
now, wc_func_name[funcNum]);
|
||||
#endif
|
||||
wc_func_start[funcNum] = now;
|
||||
}
|
||||
@@ -265,7 +266,8 @@ void WOLFSSL_END(int funcNum)
|
||||
double now = current_time(0) * 1000.0;
|
||||
wc_func_time[funcNum] += now - wc_func_start[funcNum];
|
||||
#ifdef WOLFSSL_FUNC_TIME_LOG
|
||||
fprintf(stderr, "%17.3f: END - %s\n", now, wc_func_name[funcNum]);
|
||||
WOLFSSL_DEBUG_PRINTF("%17.3f: END - %s\n",
|
||||
now, wc_func_name[funcNum]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -278,11 +280,11 @@ void WOLFSSL_TIME(int count)
|
||||
for (i = 0; i < WC_FUNC_COUNT; i++) {
|
||||
if (wc_func_time[i] > 0) {
|
||||
avg = wc_func_time[i] / count;
|
||||
fprintf(stderr, "%8.3f ms: %s\n", avg, wc_func_name[i]);
|
||||
WOLFSSL_DEBUG_PRINTF("%8.3f ms: %s\n", avg, wc_func_name[i]);
|
||||
total += avg;
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "%8.3f ms\n", total);
|
||||
WOLFSSL_DEBUG_PRINTF("%8.3f ms\n", total);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -397,7 +399,7 @@ static void wolfssl_log(const int logLevel, const char* const file_name,
|
||||
/* Assume zero-terminated msg, len less than WOLFSSL_MSG_CERT_BUF_SZ */
|
||||
written = XVSNPRINTF(msg, WOLFSSL_MSG_CERT_BUF_SZ, fmt, args);
|
||||
va_end(args);
|
||||
if ((written > 0) && (loggingCertEnabled =! 0)) {
|
||||
if ((written > 0) && (loggingCertEnabled != 0)) {
|
||||
wolfssl_log(INFO_LOG, NULL, 0, msg);
|
||||
}
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
@@ -1850,36 +1852,21 @@ static int backtrace_callback(void *data, uintptr_t pc, const char *filename,
|
||||
*(int *)data = 1;
|
||||
return 0;
|
||||
}
|
||||
#ifdef NO_STDIO_FILESYSTEM
|
||||
printf(" #%d %p in %s %s:%d\n", (*(int *)data)++, (void *)pc,
|
||||
function, filename, lineno);
|
||||
#else
|
||||
fprintf(stderr, " #%d %p in %s %s:%d\n", (*(int *)data)++, (void *)pc,
|
||||
function, filename, lineno);
|
||||
#endif
|
||||
WOLFSSL_DEBUG_PRINTF(" #%d %p in %s %s:%d\n", (*(int *)data)++,
|
||||
(void *)pc, function, filename, lineno);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void backtrace_error(void *data, const char *msg, int errnum) {
|
||||
(void)data;
|
||||
#ifdef NO_STDIO_FILESYSTEM
|
||||
printf("ERR TRACE: error %d while backtracing: %s", errnum, msg);
|
||||
#else
|
||||
fprintf(stderr, "ERR TRACE: error %d while backtracing: %s", errnum, msg);
|
||||
#endif
|
||||
WOLFSSL_DEBUG_PRINTF("ERR TRACE: error %d while backtracing: %s",
|
||||
errnum, msg);
|
||||
}
|
||||
|
||||
static void backtrace_creation_error(void *data, const char *msg, int errnum) {
|
||||
(void)data;
|
||||
#ifdef NO_STDIO_FILESYSTEM
|
||||
printf("ERR TRACE: internal error %d "
|
||||
WOLFSSL_DEBUG_PRINTF("ERR TRACE: internal error %d "
|
||||
"while initializing backtrace facility: %s", errnum, msg);
|
||||
printf("ERR TRACE: internal error "
|
||||
"while initializing backtrace facility");
|
||||
#else
|
||||
fprintf(stderr, "ERR TRACE: internal error %d "
|
||||
"while initializing backtrace facility: %s", errnum, msg);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int backtrace_init(struct backtrace_state **backtrace_state) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user