mirror of https://github.com/wolfSSL/wolfssh.git
Espressif Managed Component wolfSSH 1.4.18 post-release update
parent
c5006cfcda
commit
23972128ed
|
@ -14,6 +14,8 @@ jobs:
|
||||||
config:
|
config:
|
||||||
- zephyr-ref: v3.4.0
|
- zephyr-ref: v3.4.0
|
||||||
zephyr-sdk: 0.16.1
|
zephyr-sdk: 0.16.1
|
||||||
|
|
||||||
|
if: github.repository_owner == 'wolfssl'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# This should be a safe limit for the tests to run.
|
# This should be a safe limit for the tests to run.
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# cmake for WOLFSSH Espressif projects
|
# cmake for WOLFSSH Espressif projects (echoserver)
|
||||||
#
|
#
|
||||||
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# cmake for WOLFSSH Espressif projects v5.6.6 r1
|
# cmake for WOLFSSH Espressif projects v5.7.6 (template pr)
|
||||||
#
|
#
|
||||||
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
||||||
#
|
#
|
||||||
|
|
|
@ -26,7 +26,12 @@
|
||||||
#include <esp_log.h>
|
#include <esp_log.h>
|
||||||
|
|
||||||
/* wolfSSL */
|
/* wolfSSL */
|
||||||
#include "user_settings.h" /* always include wolfSSL user_settings.h first */
|
#include <wolfssl/wolfcrypt/settings.h> /* includes wolfSSL user-settings.h */
|
||||||
|
#include <wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h>
|
||||||
|
#ifndef WOLFSSL_ESPIDF
|
||||||
|
#warning "Problem with wolfSSL user_settings."
|
||||||
|
#warning "Check components/wolfssl/include"
|
||||||
|
#endif
|
||||||
#include <wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h>
|
#include <wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h>
|
||||||
#include <wolfssl/version.h>
|
#include <wolfssl/version.h>
|
||||||
|
|
||||||
|
|
|
@ -30,21 +30,23 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <esp_err.h>
|
||||||
|
|
||||||
/* a function to show the current data and time */
|
/* a function to show the current data and time */
|
||||||
int esp_show_current_datetime();
|
esp_err_t esp_show_current_datetime();
|
||||||
|
|
||||||
/* worst case, if GitHub time not available, used fixed time */
|
/* worst case, if GitHub time not available, used fixed time */
|
||||||
int set_fixed_default_time(void);
|
esp_err_t set_fixed_default_time(void);
|
||||||
|
|
||||||
/* set time from string (e.g. GitHub commit time) */
|
/* set time from string (e.g. GitHub commit time) */
|
||||||
int set_time_from_string(char* time_buffer);
|
esp_err_t set_time_from_string(const char* time_buffer);
|
||||||
|
|
||||||
/* set time from NTP servers,
|
/* set time from NTP servers,
|
||||||
* also initially calls set_fixed_default_time or set_time_from_string */
|
* also initially calls set_fixed_default_time or set_time_from_string */
|
||||||
int set_time(void);
|
esp_err_t set_time(void);
|
||||||
|
|
||||||
/* wait NTP_RETRY_COUNT seconds before giving up on NTP time */
|
/* wait NTP_RETRY_COUNT seconds before giving up on NTP time */
|
||||||
int set_time_wait_for_ntp(void);
|
esp_err_t set_time_wait_for_ntp(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
|
|
|
@ -46,7 +46,7 @@ static const char* const TAG = "My Project";
|
||||||
void app_main(void)
|
void app_main(void)
|
||||||
{
|
{
|
||||||
func_args args = {0};
|
func_args args = {0};
|
||||||
int ret = ESP_OK;
|
esp_err_t ret = ESP_OK;
|
||||||
|
|
||||||
ESP_LOGI(TAG, "------------ wolfSSL wolfSSH template Example ----------");
|
ESP_LOGI(TAG, "------------ wolfSSL wolfSSH template Example ----------");
|
||||||
ESP_LOGI(TAG, "--------------------------------------------------------");
|
ESP_LOGI(TAG, "--------------------------------------------------------");
|
||||||
|
|
|
@ -91,7 +91,7 @@ char* ntpServerList[NTP_SERVER_COUNT] = NTP_SERVER_LIST;
|
||||||
extern char* ntpServerList[NTP_SERVER_COUNT];
|
extern char* ntpServerList[NTP_SERVER_COUNT];
|
||||||
|
|
||||||
/* Show the current date and time */
|
/* Show the current date and time */
|
||||||
int esp_show_current_datetime()
|
esp_err_t esp_show_current_datetime()
|
||||||
{
|
{
|
||||||
time_t now;
|
time_t now;
|
||||||
char strftime_buf[64];
|
char strftime_buf[64];
|
||||||
|
@ -108,7 +108,7 @@ int esp_show_current_datetime()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the worst-case scenario is a hard-coded date/time */
|
/* the worst-case scenario is a hard-coded date/time */
|
||||||
int set_fixed_default_time(void)
|
esp_err_t set_fixed_default_time(void)
|
||||||
{
|
{
|
||||||
/* ideally, we'd like to set time from network,
|
/* ideally, we'd like to set time from network,
|
||||||
* but let's set a default time, just in case */
|
* but let's set a default time, just in case */
|
||||||
|
@ -138,7 +138,7 @@ int set_fixed_default_time(void)
|
||||||
*
|
*
|
||||||
* returns 0 = success if able to set the time from the provided string
|
* returns 0 = success if able to set the time from the provided string
|
||||||
* error for any other value, typically -1 */
|
* error for any other value, typically -1 */
|
||||||
int set_time_from_string(char* time_buffer)
|
esp_err_t set_time_from_string(const char* time_buffer)
|
||||||
{
|
{
|
||||||
/* expecting github default formatting: 'Thu Aug 31 12:41:45 2023 -0700' */
|
/* expecting github default formatting: 'Thu Aug 31 12:41:45 2023 -0700' */
|
||||||
const char *format = "%3s %3s %d %d:%d:%d %d %s";
|
const char *format = "%3s %3s %d %d:%d:%d %d %s";
|
||||||
|
@ -222,7 +222,7 @@ int set_time_from_string(char* time_buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set time; returns 0 if succecssfully configured with NTP */
|
/* set time; returns 0 if succecssfully configured with NTP */
|
||||||
int set_time(void)
|
esp_err_t set_time(void)
|
||||||
{
|
{
|
||||||
#ifndef NTP_SERVER_COUNT
|
#ifndef NTP_SERVER_COUNT
|
||||||
ESP_LOGW(TAG, "Warning: no sntp server names defined. "
|
ESP_LOGW(TAG, "Warning: no sntp server names defined. "
|
||||||
|
@ -319,7 +319,7 @@ int set_time(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* wait for NTP to actually set the time */
|
/* wait for NTP to actually set the time */
|
||||||
int set_time_wait_for_ntp(void)
|
esp_err_t set_time_wait_for_ntp(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#ifdef HAS_ESP_NETIF_SNTP
|
#ifdef HAS_ESP_NETIF_SNTP
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
# along with wolfSSH. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# cmake for WOLFSSH Espressif projects v5.6.6 r1
|
# cmake for wolfssh Espressif projects v5.7.6 (template pr)
|
||||||
#
|
#
|
||||||
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html
|
||||||
#
|
#
|
||||||
|
@ -317,27 +317,27 @@ else()
|
||||||
message(STATUS "************************************************************************************************")
|
message(STATUS "************************************************************************************************")
|
||||||
FIND_WOLFSSH_DIRECTORY(WOLFSSH_ROOT)
|
FIND_WOLFSSH_DIRECTORY(WOLFSSH_ROOT)
|
||||||
|
|
||||||
# Check to see if we're already in WOLFSSH, and only if WOLFSSH_ROOT not specified
|
# Check to see if we're already in wolfssh, and only if WOLFSSH_ROOT not specified
|
||||||
if ("${WOLFSSH_ROOT}" STREQUAL "")
|
if ("${WOLFSSH_ROOT}" STREQUAL "")
|
||||||
# WOLFSSH examples are 7 directories deep from WOLFSSH repo root
|
# wolfssh examples are 7 directories deep from wolfssh repo root
|
||||||
# 1 2 3 4 5 6 7
|
# 1 2 3 4 5 6 7
|
||||||
set(THIS_RELATIVE_PATH "../../../../../../..")
|
set(THIS_RELATIVE_PATH "../../../../../../..")
|
||||||
get_filename_component(THIS_SEARCH_PATH "${THIS_RELATIVE_PATH}" ABSOLUTE)
|
get_filename_component(THIS_SEARCH_PATH "${THIS_RELATIVE_PATH}" ABSOLUTE)
|
||||||
message(STATUS "Searching in path = ${THIS_SEARCH_PATH}")
|
message(STATUS "Searching in path = ${THIS_SEARCH_PATH}")
|
||||||
|
|
||||||
if (EXISTS "${THIS_SEARCH_PATH}/wolfcrypt/src")
|
if (EXISTS "${THIS_SEARCH_PATH}/wolfcrypt/src")
|
||||||
# we're already in WOLFSSH examples!
|
# we're already in wolfssh examples!
|
||||||
get_filename_component(WOLFSSH_ROOT "${THIS_SEARCH_PATH}" ABSOLUTE)
|
get_filename_component(WOLFSSH_ROOT "${THIS_SEARCH_PATH}" ABSOLUTE)
|
||||||
message(STATUS "Using WOLFSSH example with root ${WOLFSSH_ROOT}")
|
message(STATUS "Using wolfssh example with root ${WOLFSSH_ROOT}")
|
||||||
else()
|
else()
|
||||||
# We're in some other repo such as wolfssh, so we'll search for an
|
# We're in some other repo such as wolfssh, so we'll search for an
|
||||||
# adjacent-level directory for WOLFSSH. (8 directories up, then down one)
|
# adjacent-level directory for wolfssh. (8 directories up, then down one)
|
||||||
#
|
#
|
||||||
# For example WOLFSSH examples:
|
# For example wolfssh examples:
|
||||||
# C:\workspace\WOLFSSH-gojimmypi\IDE\Espressif\ESP-IDF\examples\WOLFSSH_benchmark\components\WOLFSSH
|
# C:\workspace\wolfssh-gojimmypi\IDE\Espressif\ESP-IDF\examples\wolfssh_benchmark\components\wolfssh
|
||||||
#
|
#
|
||||||
# For example wolfSSH examples:
|
# For example wolfSSH examples:
|
||||||
# C:\workspace\wolfssh-gojimmypi\ide\Espressif\ESP-IDF\examples\wolfssh_benchmark\components\WOLFSSH
|
# C:\workspace\wolfssh-gojimmypi\ide\Espressif\ESP-IDF\examples\wolfssh_benchmark\components\wolfssh
|
||||||
#
|
#
|
||||||
# 1 2 3 4 5 6 7 8
|
# 1 2 3 4 5 6 7 8
|
||||||
set(THIS_RELATIVE_PATH "../../../../../../../..")
|
set(THIS_RELATIVE_PATH "../../../../../../../..")
|
||||||
|
@ -356,7 +356,7 @@ else()
|
||||||
get_filename_component(THIS_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE)
|
get_filename_component(THIS_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE)
|
||||||
message(STATUS "THIS_DIR = ${THIS_DIR}")
|
message(STATUS "THIS_DIR = ${THIS_DIR}")
|
||||||
|
|
||||||
# find the user name to search for possible "WOLFSSH-username"
|
# find the user name to search for possible "wolfssh-username"
|
||||||
message(STATUS "USERNAME = $ENV{USERNAME}")
|
message(STATUS "USERNAME = $ENV{USERNAME}")
|
||||||
if( "$ENV{USER}" STREQUAL "" ) # the bash user
|
if( "$ENV{USER}" STREQUAL "" ) # the bash user
|
||||||
if( "$ENV{USERNAME}" STREQUAL "" ) # the Windows user
|
if( "$ENV{USERNAME}" STREQUAL "" ) # the Windows user
|
||||||
|
@ -371,35 +371,35 @@ else()
|
||||||
endif()
|
endif()
|
||||||
message(STATUS "THIS_USER = ${THIS_USER}")
|
message(STATUS "THIS_USER = ${THIS_USER}")
|
||||||
|
|
||||||
# This same makefile is used for both the WOLFSSH component, and other
|
# This same makefile is used for both the wolfssh component, and other
|
||||||
# components that may depend on WOLFSSH, such as wolfssh. Therefore
|
# components that may depend on wolfssh, such as wolfssh. Therefore
|
||||||
# we need to determine if this makefile is in the WOLFSSH repo, or
|
# we need to determine if this makefile is in the wolfssh repo, or
|
||||||
# some other repo.
|
# some other repo.
|
||||||
|
|
||||||
if( "{THIS_USER}" STREQUAL "" )
|
if( "{THIS_USER}" STREQUAL "" )
|
||||||
# This is highly unusual to not find a user name.
|
# This is highly unusual to not find a user name.
|
||||||
# In this case, we'll just search for a "WOLFSSH" directory:
|
# In this case, we'll just search for a "wolfssh" directory:
|
||||||
message(STATUS "No username found!")
|
message(STATUS "No username found!")
|
||||||
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/WOLFSSH" ABSOLUTE)
|
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/wolfssh" ABSOLUTE)
|
||||||
else()
|
else()
|
||||||
# We found an environment USER name!
|
# We found an environment USER name!
|
||||||
# The first place to look for WOLFSSH will be in a user-clone called "WOLFSSH-[username]"
|
# The first place to look for wolfssh will be in a user-clone called "wolfssh-[username]"
|
||||||
message(STATUS "Using [THIS_USER = ${THIS_USER}] to see if there's a [relative path]/WOLFSSH-${THIS_USER} directory.")
|
message(STATUS "Using [THIS_USER = ${THIS_USER}] to see if there's a [relative path]/wolfssh-${THIS_USER} directory.")
|
||||||
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/WOLFSSH-${THIS_USER}" ABSOLUTE)
|
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/wolfssh-${THIS_USER}" ABSOLUTE)
|
||||||
|
|
||||||
if( EXISTS "${WOLFSSH_ROOT}" )
|
if( EXISTS "${WOLFSSH_ROOT}" )
|
||||||
message(STATUS "Found WOLFSSH in user-suffix ${WOLFSSH_ROOT}")
|
message(STATUS "Found wolfssh in user-suffix ${WOLFSSH_ROOT}")
|
||||||
else()
|
else()
|
||||||
# If there's not a user-clone called "WOLFSSH-[username]",
|
# If there's not a user-clone called "wolfssh-[username]",
|
||||||
# perhaps there's simply a git clone called "WOLFSSH"?
|
# perhaps there's simply a git clone called "wolfssh"?
|
||||||
message(STATUS "Did not find WOLFSSH-${THIS_USER}; continuing search...")
|
message(STATUS "Did not find wolfssh-${THIS_USER}; continuing search...")
|
||||||
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/WOLFSSH" ABSOLUTE)
|
get_filename_component(WOLFSSH_ROOT "${THIS_RELATIVE_PATH}/wolfssh" ABSOLUTE)
|
||||||
|
|
||||||
if( EXISTS "${WOLFSSH_ROOT}" )
|
if( EXISTS "${WOLFSSH_ROOT}" )
|
||||||
message(STATUS "Found WOLFSSH in standard ${WOLFSSH_ROOT}")
|
message(STATUS "Found wolfssh in standard ${WOLFSSH_ROOT}")
|
||||||
else()
|
else()
|
||||||
# Things are looking pretty bleak. We'll likely not be able to compile.
|
# Things are looking pretty bleak. We'll likely not be able to compile.
|
||||||
message(STATUS "Did not find WOLFSSH in ${WOLFSSH_ROOT}")
|
message(STATUS "Did not find wolfssh in ${WOLFSSH_ROOT}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -426,8 +426,8 @@ else()
|
||||||
if( EXISTS "${WOLFSSH_ROOT}" )
|
if( EXISTS "${WOLFSSH_ROOT}" )
|
||||||
message(STATUS "WOLFSSH_ROOT = ${WOLFSSH_ROOT}")
|
message(STATUS "WOLFSSH_ROOT = ${WOLFSSH_ROOT}")
|
||||||
else()
|
else()
|
||||||
# Abort. We need WOLFSSH _somewhere_.
|
# Abort. We need wolfssh _somewhere_.
|
||||||
message(FATAL_ERROR "Could not find WOLFSSH in ${WOLFSSH_ROOT}. Try setting environment variable or git clone.")
|
message(FATAL_ERROR "Could not find wolfssh in ${WOLFSSH_ROOT}. Try setting environment variable or git clone.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
@ -488,12 +488,12 @@ else()
|
||||||
# We need to now determine if it is local and if so if it is part of the wolfssh repo,
|
# We need to now determine if it is local and if so if it is part of the wolfssh repo,
|
||||||
# or if wolfssh is simply installed as a local component.
|
# or if wolfssh is simply installed as a local component.
|
||||||
#
|
#
|
||||||
|
message(STATUS "Looking at WOLFSSH_PROJECT_DIR = '${WOLFSSH_PROJECT_DIR}'")
|
||||||
if( EXISTS "${WOLFSSH_PROJECT_DIR}" )
|
if( EXISTS "${WOLFSSH_PROJECT_DIR}" )
|
||||||
#
|
#
|
||||||
# wolfssh found in local project.
|
# wolfssh found in local project.
|
||||||
#
|
#
|
||||||
if( EXISTS "${WOLFSSH_PROJECT_DIR}/wolfcrypt/" )
|
if( EXISTS "${WOLFSSH_PROJECT_DIR}/wolfssh/" )
|
||||||
message(STATUS "")
|
message(STATUS "")
|
||||||
message(STATUS "Using installed project ./components/wolfssh in CMAKE_HOME_DIRECTORY = ${CMAKE_HOME_DIRECTORY}")
|
message(STATUS "Using installed project ./components/wolfssh in CMAKE_HOME_DIRECTORY = ${CMAKE_HOME_DIRECTORY}")
|
||||||
message(STATUS "")
|
message(STATUS "")
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# vim:ft=automake
|
# vim:ft=automake
|
||||||
# included from Top Level Makefile.am
|
# included from Top Level Makefile.am
|
||||||
# All paths should be given relative to the root
|
# All paths should be given relative to the root
|
||||||
|
|
||||||
include ide/CSBENCH/include.am
|
include ide/CSBENCH/include.am
|
||||||
incldue ide/Espressif/include.am
|
include ide/Espressif/include.am
|
||||||
include ide/IAR-EWARM/include.am
|
include ide/IAR-EWARM/include.am
|
||||||
include ide/MQX/include.am
|
include ide/MQX/include.am
|
||||||
include ide/STM32CUBE/include.am
|
include ide/STM32CUBE/include.am
|
||||||
include ide/winvs/include.am
|
include ide/winvs/include.am
|
||||||
|
|
||||||
EXTRA_DIST += ide/Renesas
|
EXTRA_DIST += ide/Renesas
|
||||||
|
|
Loading…
Reference in New Issue