Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 118 additions & 0 deletions ide/Espressif/ESP-IDF/default_espressif_options.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
/* wolfssl options.h
* generated from configure options
*
* Copyright (C) 2006-2020 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
*/

#ifndef WOLFSSL_OPTIONS_H
#define WOLFSSL_OPTIONS_H


#ifdef __cplusplus
extern "C" {
#endif

#undef HAVE_THREAD_LS
#define HAVE_THREAD_LS

#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT

#undef ECC_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT

#undef WC_RSA_BLINDING
#define WC_RSA_BLINDING

#undef GCM_TABLE_4BIT
#define GCM_TABLE_4BIT

#undef HAVE_AESGCM
#define HAVE_AESGCM

#undef WOLFSSL_USE_ALIGN
#define WOLFSSL_USE_ALIGN

#undef WOLFSSL_SHA512
#define WOLFSSL_SHA512

#undef WOLFSSL_SHA384
#define WOLFSSL_SHA384

#undef HAVE_HKDF
#define HAVE_HKDF

#undef NO_DSA
#define NO_DSA

#undef HAVE_ECC
#define HAVE_ECC

#undef TFM_ECC256
#define TFM_ECC256

#undef ECC_SHAMIR
#define ECC_SHAMIR

#undef WC_RSA_PSS
#define WC_RSA_PSS

#undef HAVE_POLY1305
#define HAVE_POLY1305

#undef HAVE_ONE_TIME_AUTH
#define HAVE_ONE_TIME_AUTH

#undef HAVE_CHACHA
#define HAVE_CHACHA

#undef HAVE_HASHDRBG
#define HAVE_HASHDRBG

#undef HAVE_TLS_EXTENSIONS
#define HAVE_TLS_EXTENSIONS

#undef HAVE_SUPPORTED_CURVES
#define HAVE_SUPPORTED_CURVES

#undef HAVE_FFDHE_2048
#define HAVE_FFDHE_2048

#undef WOLFSSL_TLS13
#define WOLFSSL_TLS13

#undef HAVE_EXTENDED_MASTER
#define HAVE_EXTENDED_MASTER

#undef NO_RC4
#define NO_RC4

#undef HAVE_ENCRYPT_THEN_MAC
#define HAVE_ENCRYPT_THEN_MAC

#undef NO_PSK
#define NO_PSK

#undef NO_MD4
#define NO_MD4

#undef WC_NO_ASYNC_THREADING
#define WC_NO_ASYNC_THREADING

#undef HAVE_DH_DEFAULT_PARAMS
#define HAVE_DH_DEFAULT_PARAMS

#undef NO_DES3
#define NO_DES3


#ifdef __cplusplus
}
#endif


#endif /* WOLFSSL_OPTIONS_H */

51 changes: 51 additions & 0 deletions ide/Espressif/ESP-IDF/libs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#
# cmake for wolfssh
#
cmake_minimum_required(VERSION 3.5)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")

set(CMAKE_CURRENT_SOURCE_DIR ".")
set(WOLFSSL_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
set(INCLUDE_PATH ${WOLFSSL_ROOT})

set(COMPONENT_SRCDIRS "./src/"
"../wolfssl/wolfcrypt/src/"
"../wolfssl/wolfcrypt/src/port/Espressif/"
"../wolfssl/wolfcrypt/src/port/atmel/"
)

set(COMPONENT_REQUIRES lwip)

string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/include/freertos")

if(IS_DIRECTORY ${IDF_PATH}/components/freertos/FreeRTOS-Kernel/)
set(COMPONENT_ADD_INCLUDEDIRS
"."
"./include"
"../freertos/FreeRTOS-Kernel/include/freertos"
"${WOLFSSL_ROOT}"
)
else()

set(COMPONENT_ADD_INCLUDEDIRS
"."
"./include"
# "/Users/gojimmypi/Desktop/esp-idf/components/freertos/include/freertos"
"${RTOS_IDF_PATH}"
"${WOLFSSL_ROOT}"
)
endif()

if(IS_DIRECTORY ${IDF_PATH}/components/cryptoauthlib)
list(APPEND COMPONENT_ADD_INCLUDEDIRS "../cryptoauthlib/lib")
endif()

set(COMPONENT_SRCEXCLUDE
"wolfcrypt/src/aes_asm.S"
"wolfcrypt/src/evp.c"
"wolfcrypt/src/misc.c"
"src/bio.c"
)
set(COMPONENT_PRIV_INCLUDEDIRS . ../wolfssl ../wolfssl/include)

register_component()
17 changes: 17 additions & 0 deletions ide/Espressif/ESP-IDF/libs/component.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#
# Component Makefile
#

COMPONENT_ADD_INCLUDEDIRS := . ./include
COMPONENT_ADD_INCLUDEDIRS += /Users/gojimmypi/Desktop/esp-idf/components/freertos/include/freertos

COMPONENT_SRCDIRS := src ../wolfssl/wolfcrypt/src
COMPONENT_SRCDIRS += ../wolfssl/wolfcrypt/src/port/Espressif
COMPONENT_SRCDIRS += ../wolfssl/wolfcrypt/src/port/atmel

CFLAGS +=-DWOLFSSL_USER_SETTINGS

COMPONENT_OBJEXCLUDE := ../wolfssl/wolfcrypt/src/aes_asm.o
COMPONENT_OBJEXCLUDE += ../wolfssl/wolfcrypt/src/evp.o
COMPONENT_OBJEXCLUDE += ../wolfssl/wolfcrypt/src/misc.o
COMPONENT_OBJEXCLUDE += src/bio.o
172 changes: 172 additions & 0 deletions ide/Espressif/ESP-IDF/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
#!/bin/bash
echo this is an old example of wolfSSL install, it needs to be updated for wolfSSH
exit 1


# check if IDF_PATH is set
if [ -z "$IDF_PATH" ]; then
echo "Please follows the instruction of ESP-IDF installation and set IDF_PATH."
exit 1
fi

RMDCMD='/bin/rm -rf'
MKDCMD='/bin/mkdir'
CPDCMD='/bin/cp'

SCRIPTDIR=`dirname $0`
SCRIPTDIR=`cd $SCRIPTDIR && pwd -P`
WOLFSSL_ESPIDFDIR=${SCRIPTDIR}
WOLFSSL_ESPIDFDIR=`cd $WOLFSSL_ESPIDFDIR && pwd -P`
BASEDIR=${SCRIPTDIR}/../../../
BASEDIR=`cd ${BASEDIR} && pwd -P`

# echo $WOLFSSL_ESPIDFDIR

# Note this is the SSH version of this script!
WOLFSSLLIB_TRG_DIR=${IDF_PATH}/components/wolfssh
WOLFSSLEXP_TRG_DIR=${IDF_PATH}/examples/protocols

if [ "$1" == "--verbose" ]; then
WOLFSSSL_SETUP_VERBOSE=true
fi

if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo Verbose mode on!
echo BASEDIR=${BASEDIR}
echo SCRIPTDIR=${SCRIPTDIR}
echo WOLFSSL_ESPIDFDIR=${WOLFSSL_ESPIDFDIR}
echo WOLFSSLLIB_TRG_DIR=${WOLFSSLLIB_TRG_DIR}
echo WOLFSSLEXP_TRG_DIR=${WOLFSSLEXP_TRG_DIR}
echo ""
fi

if [ ! -d $IDF_PATH ]; then
echo "ESP-IDF Development Framework doesn't exist.: $IDF_PATH"
exit 1
fi

# Copy files into ESP-IDF development framework
pushd $IDF_PATH > /dev/null

echo "Copy files into $IDF_PATH"

# Remove/Create directories
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Remove/Create directories..."
fi

${RMDCMD} ${WOLFSSLLIB_TRG_DIR}/
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/

${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/src
# ${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt
# ${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfssh
# ${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/test
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/include

popd > /dev/null # $WOLFSSL_ESPIDFDIR
pushd ${BASEDIR} > /dev/null # WOLFSSL TOP DIR

# copying ... files in src/ into $WOLFSSLLIB_TRG_DIR/src

if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying ... files in src/ into \$WOLFSSLLIB_TRG_DIR/srcs ..."
fi

${CPDCMD} ./src/*.c ${WOLFSSLLIB_TRG_DIR}/src/


# ${CPDCMD} -r ./wolfcrypt/src/*.{c,i} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src/
# ${CPDCMD} -r ./wolfcrypt/src/port ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src/port/
# ${CPDCMD} -r ./wolfcrypt/test ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/
# ${CPDCMD} -r ./wolfcrypt/benchmark ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/

${CPDCMD} -r ./wolfssh/*.h ${WOLFSSLLIB_TRG_DIR}/wolfssh/

# ${CPDCMD} -r ./wolfssl/wolfcrypt ${WOLFSSLLIB_TRG_DIR}/wolfssl/

# user_settings.h
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying user_settings.h to ${WOLFSSLLIB_TRG_DIR}/include/"
fi

${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/user_settings.h ${WOLFSSLLIB_TRG_DIR}/include/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/dummy_config_h ${WOLFSSLLIB_TRG_DIR}/include/config.h

# unit test app
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/test/* ${WOLFSSLLIB_TRG_DIR}/test/

popd > /dev/null #

${CPDCMD} ./libs/CMakeLists.txt ${WOLFSSLLIB_TRG_DIR}/
${CPDCMD} ./libs/component.mk ${WOLFSSLLIB_TRG_DIR}/

pushd ${BASEDIR} > /dev/null # WOLFSSL TOP DIR

# Benchmark program
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo ""
fi

exit 0

# TODO copy example SSH projects... below

# Benchmark
# ${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/

# ${CPDCMD} ${BASEDIR}/wolfcrypt/benchmark/benchmark.h ${BASEDIR}/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/benchmark.h
# ${CPDCMD} ${BASEDIR}/wolfcrypt/benchmark/benchmark.c ${BASEDIR}/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/benchmark.c

# ${CPDCMD} -r ./wolfcrypt/benchmark/benchmark.c ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_benchmark/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_benchmark/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/

# Crypt Test program
# if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
# echo "Copying wolfssl_test to ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/"
# fi
# ${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/

# ${CPDCMD} -r ./wolfcrypt/test/test.c ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_test/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_test/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/

# TLS Client program
# if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
# echo "Copying TLS Client program to ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/..."
# fi
# ${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/include

# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/main/include/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/include/

# TLS Server program
# if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
# echo "Copying TLS Server program to ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/..."
# fi
# ${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/
# ${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/include

# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/
# ${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/main/include/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/include/

# popd > /dev/null #

# if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
# echo "Copy complete!"
# fi

exit 0
Loading