diff --git a/ide/IAR-EWARM/Projects/echoserver/echoserver.ewd b/ide/IAR-EWARM/Projects/echoserver/echoserver.ewd
new file mode 100644
index 0000000..f0dbc8c
--- /dev/null
+++ b/ide/IAR-EWARM/Projects/echoserver/echoserver.ewd
@@ -0,0 +1,2974 @@
+
+
+ 3
+
+ Debug
+
+ ARM
+
+ 1
+
+ C-SPY
+ 2
+
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ARMSIM_ID
+ 2
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ CADI_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CMSISDAP_ID
+ 2
+
+ 4
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GDBSERVER_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ IJET_ID
+ 2
+
+ 8
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JLINK_ID
+ 2
+
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LMIFTDI_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ PEMICRO_ID
+ 2
+
+ 3
+ 1
+ 1
+
+
+
+
+
+
+
+ STLINK_ID
+ 2
+
+ 7
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ THIRDPARTY_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+ TIFET_ID
+ 2
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XDS100_ID
+ 2
+
+ 8
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ C-SPY
+ 2
+
+ 32
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ARMSIM_ID
+ 2
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+ CADI_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CMSISDAP_ID
+ 2
+
+ 4
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GDBSERVER_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+ IJET_ID
+ 2
+
+ 8
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JLINK_ID
+ 2
+
+ 16
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LMIFTDI_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ PEMICRO_ID
+ 2
+
+ 3
+ 1
+ 0
+
+
+
+
+
+
+
+ STLINK_ID
+ 2
+
+ 7
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ THIRDPARTY_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+ TIFET_ID
+ 2
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XDS100_ID
+ 2
+
+ 8
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
+ 0
+
+
+
+
diff --git a/ide/IAR-EWARM/Projects/echoserver/echoserver.ewp b/ide/IAR-EWARM/Projects/echoserver/echoserver.ewp
new file mode 100644
index 0000000..72d21e9
--- /dev/null
+++ b/ide/IAR-EWARM/Projects/echoserver/echoserver.ewp
@@ -0,0 +1,2123 @@
+
+
+ 3
+
+ Debug
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 31
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 36
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 23
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 31
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 36
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 10
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 23
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ $PROJ_DIR$\..\..\..\..\examples\echoserver\echoserver.c
+
+
diff --git a/ide/IAR-EWARM/Projects/lib/myFilesystem.h b/ide/IAR-EWARM/Projects/lib/myFilesystem.h
new file mode 100644
index 0000000..ce70f1d
--- /dev/null
+++ b/ide/IAR-EWARM/Projects/lib/myFilesystem.h
@@ -0,0 +1,155 @@
+/* dummy_filesystem.h
+ *
+ * Copyright (C) 2014-2020 wolfSSL Inc.
+ *
+ * This file is part of wolfSSH.
+ *
+ * wolfSSH 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.
+ *
+ * wolfSSH 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 wolfSSH. If not, see .
+ */
+
+
+#ifndef DUMMY_FILESYSTEM_H
+#define DUMMY_FILESYSTEM_H
+
+#ifdef WOLFSSH_USER_FILESYSTEM
+
+ typedef unsigned int off_t;
+ typedef int mode_t;
+ #define WFILE int
+ typedef int FILE;
+
+ #define WSEEK_END SEEK_END
+ #define WBADFILE NULL
+ #define WS_DELIM '/'
+enum {
+ WOLFSSH_O_RDWR, WOLFSSH_O_RDONLY, WOLFSSH_O_WRONLY,
+ WOLFSSH_O_APPEND, WOLFSSH_O_CREAT, WOLFSSH_O_TRUNC, WOLFSSH_O_EXCL
+} ;
+
+#define WSTAT_T stat_t
+typedef struct { int i; } stat_t;
+
+#define WFD int
+enum { O_RDWR, O_RDONLY, O_WRONLY, O_APPEND, O_CREAT, O_TRUNC, O_EXCL } ;
+
+static int WFOPEN(FILE **f, const char *n, const char *m){
+ (void) n; (void) m; (void)f;
+ return NULL;
+}
+
+static int WFCLOSE(FILE *f) {
+ (void) f;
+ return 0;
+}
+
+static size_t WFREAD(void *b, size_t s, size_t n, FILE *f) {
+ (void) b; (void) s; (void) n; (void) f;
+ return 0;
+}
+
+static size_t WFWRITE(const void *b, size_t s, size_t n, FILE *f) {
+ (void) b; (void) s; (void) n; (void) f;
+ return 0;
+}
+
+static int WFSEEK(FILE *f, long int p, int m) {
+ (void) f; (void) p; (void) m;
+ return 0;
+}
+
+static long int WFTELL(FILE *f) {
+ (void) f;
+ return 0;
+}
+static void WREWIND(FILE *f) {
+ (void) f;
+}
+
+static int WOPEN (const char* n, int f, int m) {
+ (void) f; (void) n; (void) m;
+ return 0;
+}
+
+static int WCLOSE(int f) {
+ (void) f;
+ return 0;
+}
+
+static size_t WPREAD(int f, void* b, size_t c, off_t *o) {
+ (void) f; (void) b; (void) c; (void)o;
+ return 0;
+}
+
+static size_t WPWRITE(int f, void* b, size_t c, off_t *o) {
+ (void) f; (void) b; (void) c; (void)o;
+ return 0;
+}
+
+static char *WGETCWD(void *fs, char *f, size_t l){
+ (void) fs; (void) f; (void) l;
+ return 0;
+}
+
+static int WRMDIR(void *fs, const char *p){
+ (void) p;
+ return 0;
+}
+
+static int WMKDIR(void *fs, const char *p, mode_t m) {
+ (void) p; (void) m;
+ return 0;
+}
+
+static int WREMOVE(void *fs, const char *p){
+ (void) fs; (void) p;
+ return 0;
+}
+
+static int WRENAME(void *fs, const char *p, const char *np){
+ (void) fs; (void) p; (void)np;
+ return 0;
+}
+
+static int WSTAT(const char *p, stat_t *b) {
+ (void) p; (void)b;
+ return 0;
+}
+
+static int WLSTAT(const char *p, stat_t *b) {
+ (void) p; (void)b;
+ return 0;
+}
+
+static int WCHMOD(void *fs, const char *p, mode_t m) {
+ (void) fs; (void) p; (void)m;
+ return 0;
+}
+
+static int SFTP_GetAttributes(void* fs, const char* fileName,
+ void* atr, byte link, void* heap) {
+ (void)fs; (void)fileName; (void)atr; (void)link; (void)heap;
+ return 0;
+
+}
+
+static int SFTP_GetAttributes_Handle(void* ssh, byte* handle, int handleSz,
+ void* atr) {
+ (void)ssh; (void)handle; (void)handleSz;
+
+ return 0;
+}
+
+#endif /* WOLFSSH_USER_FILESYSTEM */
+
+#endif
\ No newline at end of file
diff --git a/ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewp b/ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewp
index 62ac251..74d5563 100644
--- a/ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewp
+++ b/ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewp
@@ -337,7 +337,7 @@
diff --git a/ide/IAR-EWARM/Projects/myFilesystem.c b/ide/IAR-EWARM/Projects/myFilesystem.c
deleted file mode 100644
index b9b14ca..0000000
--- a/ide/IAR-EWARM/Projects/myFilesystem.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* dummy_filesystem.c
- *
- * Copyright (C) 2014-2020 wolfSSL Inc.
- *
- * This file is part of wolfSSH.
- *
- * wolfSSH 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.
- *
- * wolfSSH 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 wolfSSH. If not, see .
- */
-
-
-#ifdef HAVE_CONFIG_H
- #include
-#endif
-
-#include
-#include
-#include
-
-#ifdef WOLFSSH_USER_FILESYSTEM
-
-#include "myFilesystem.h"
-
-int dummy_wfopen(FILE **f, const char *n, const char *m){
- (void) n; (void) m; (void)f;
- return NULL;
-}
-
-int dummy_fclose(FILE *f) {
- (void) f;
- return 0;
-}
-
-size_t dummy_fread(void *b, size_t s, size_t n, FILE *f) {
- (void) b; (void) s; (void) n; (void) f;
- return 0;
-}
-size_t dummy_fwrite(const void *b, size_t s, size_t n, FILE *f) {
- (void) b; (void) s; (void) n; (void) f;
- return 0;
-}
-
-int dummy_fseek(FILE *f, long int p, int m) {
- (void) f; (void) p; (void) m;
- return 0;
-}
-long int dummy_ftell(FILE *f) {
- (void) f;
- return 0;
-}
-void dummy_rewind(FILE *f) {
- (void) f;
-}
-
- #define WFD int
-
-int dummy_open (const char* n, int f, int m) {
- (void) f; (void) n; (void) m;
- return 0;
-}
-
-int dummy_close(int f) {
- (void) f;
- return 0;
-}
-
-size_t dummy_pread (int f, void* b, size_t c, off_t *o) {
- (void) f; (void) b; (void) c; (void)o;
- return 0;
-}
-
-size_t dummy_pwrite (int f, void* b, size_t c, off_t *o) {
- (void) f; (void) b; (void) c; (void)o;
- return 0;
-}
-
-char *dummy_getcwd(char *f, size_t l){
- (void) f; (void) l;
- return 0;
-}
-int dummy_rmdir(const char *p){
- (void) p;
- return 0;
-}
-
-int dummy_mkdir(const char *p, mode_t m) {
- (void) p; (void) m;
- return 0;
-}
-int dummy_remove(const char *p){
- (void) p;
- return 0;
-}
-int dummy_rename(const char *p, const char *np){
- (void) p; (void)np;
- return 0;
-}
-
-int dummy_stat(const char *p, stat_t *b) {
- (void) p; (void)b;
- return 0;
-}
-int dummy_lstat(const char *p, stat_t *b) {
- (void) p; (void)b;
- return 0;
-}
-
-int dummy_chmod(const char *p, mode_t m) {
- (void) p; (void)m;
- return 0;
-}
-
-int SFTP_GetAttributes(void* fs, const char* fileName,
- void* atr, byte link, void* heap) {
- (void)fs; (void)fileName; (void)atr; (void)link; (void)heap;
- return 0;
-
-}
-
-int SFTP_GetAttributes_Handle(void* ssh, byte* handle, int handleSz,
- void* atr) {
- (void)ssh; (void)handle; (void)handleSz;
-
- return 0;
-}
-
-#endif
diff --git a/ide/IAR-EWARM/Projects/myFilesystem.h b/ide/IAR-EWARM/Projects/myFilesystem.h
deleted file mode 100644
index d7fa37e..0000000
--- a/ide/IAR-EWARM/Projects/myFilesystem.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* dummy_filesystem.h
- *
- * Copyright (C) 2014-2020 wolfSSL Inc.
- *
- * This file is part of wolfSSH.
- *
- * wolfSSH 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.
- *
- * wolfSSH 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 wolfSSH. If not, see .
- */
-
-
-#ifndef DUMMY_FILESYSTEM_H
-#define DUMMY_FILESYSTEM_H
-
-#ifdef WOLFSSH_USER_FILESYSTEM
- typedef unsigned int off_t;
- typedef int mode_t;
- #define WFILE int
- #define WFOPEN(f,n,m) dummy_wfopen((f),(n),(m))
- #define WFCLOSE(f) dummy_fclose(f)
- #define WFREAD(b,s,a,f) dummy_fread((b),(s),(a),(f))
- #define WFWRITE(b,s,a,f) dummy_fwrite((b),(s),(a),(f))
- #define WFSEEK(s,o,w) dummy_fseek((s),(o),(w))
- #define WFTELL(s) dummy_ftell((s))
- #define WREWIND(s) dummy_rewind((s))
- #define WSEEK_END SEEK_END
- #define WBADFILE NULL
- #define WS_DELIM '/'
-
- #define WFD int
- typedef int FILE;
-
-enum {
- WOLFSSH_O_RDWR, WOLFSSH_O_RDONLY, WOLFSSH_O_WRONLY,
- WOLFSSH_O_APPEND, WOLFSSH_O_CREAT, WOLFSSH_O_TRUNC, WOLFSSH_O_EXCL
-} ;
-
- #define WOPEN(p, m, f) dummy_open(p, m, f)
- #define WCLOSE(f) dummy_close(f)
- #define WPREAD(f, b, c, o) dummy_pread(f, b, c, o)
- #define WPWRITE(f, b, c, o) dummy_pwrite(f, b, c, o)
- #define WGETCWD(f, b, l) dummy_getcwd(b, l)
- #define WRMDIR(f, p) dummy_rmdir(p)
- #define WMKDIR(f, p, m) dummy_mkdir(p, m)
-
- #define WREMOVE(fs,d) dummy_remove((d))
- #define WRENAME(fs,o,n) dummy_rename((o),(n))
-
- #define WSTAT_T stat_t
- typedef struct { int i; } stat_t;
-
- #define WSTAT(p,b) dummy_stat((b),(p))
- #define WLSTAT(p,b) dummy_lstat((b),(p))
- #define WCHMOD(fs,f,m) dummy_chmod((f),(m))
-
-int dummy_wfopen(FILE **f, const char *n, const char *m);
-int dummy_fclose(FILE *f);
-size_t dummy_fread(void *b, size_t s, size_t n, FILE *f);
-size_t dummy_fwrite(const void *b, size_t s, size_t n, FILE *f);
-int dummy_fseek(FILE *f, long int p, int m);
-long dummy_ftell(FILE *f);
-void dummy_rewind(FILE *f);
-
-int dummy_open (const char* n, int f, int m);
-int dummy_close(int f);
-size_t dummy_pread (int f, void* b, size_t c, off_t *o);
-size_t dummy_pwrite (int f, void* b, size_t c, off_t *o);
-char *dummy_getcwd(char *f, size_t l);
-int dummy_rmdir(const char *p);
-int dummy_mkdir(const char *p, mode_t m);
-int dummy_remove(const char *p);
-int dummy_rename(const char *p, const char *np);
-int dummy_stat(const char *p, stat_t *b);
-int dummy_lstat(const char *p, stat_t *b);
-
-int dummy_chmod(const char *p, mode_t m);
-
-#define WFD int
-enum { O_RDWR, O_RDONLY, O_WRONLY, O_APPEND, O_CREAT, O_TRUNC, O_EXCL } ;
-
-int SFTP_GetAttributes(void* fs, const char* fileName,
- void* atr, byte link, void* heap);
-int SFTP_GetAttributes_Handle(void* ssh, byte* handle, int handleSz,
- void* atr);
-
-#endif /* WOLFSSH_USER_FILESYSTEM */
-
-#endif
\ No newline at end of file
diff --git a/ide/IAR-EWARM/Projects/user_settings.h b/ide/IAR-EWARM/Projects/user_settings.h
index 3ab271b..1974610 100644
--- a/ide/IAR-EWARM/Projects/user_settings.h
+++ b/ide/IAR-EWARM/Projects/user_settings.h
@@ -23,9 +23,6 @@
#define WC_RSA_BLINDING
#define SINGLE_THREADED /* or define RTOS option */
-#define WOLFSSH_THREAD
-typedef unsigned int THREAD_RETURN;
-
/* #define WOLFSSL_CMSIS_RTOS */
/* #define NO_FILESYSTEM */
@@ -48,21 +45,11 @@ typedef unsigned int THREAD_RETURN;
/* To be defined for the target Socket API */
#define WSTARTTCP()
-#define WCLOSESOCKET(s)
-#define ChangeToWolfSshRoot(a)
-
-typedef int SOCKADDR_IN_T;
#define WOLFSSH_LOG_PRINTF
#define WOLFSSL_LOG_PRINTF
-#define XFPRINTF(err, ... ) printf(__VA_ARGS__)
-#define err_sys(...) printf(__VA_ARGS__)
+#define fprintf(err, ... ) printf(__VA_ARGS__)
-enum {
- WS_SELECT_FAIL,
- WS_SELECT_TIMEOUT,
- WS_SELECT_RECV_READY,
- WS_SELECT_ERROR_READY
-};
+typedef unsigned int size_t;
#endif
diff --git a/ide/IAR-EWARM/include.am b/ide/IAR-EWARM/include.am
index d49b81f..ec6d827 100644
--- a/ide/IAR-EWARM/include.am
+++ b/ide/IAR-EWARM/include.am
@@ -8,6 +8,5 @@ EXTRA_DIST+= ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewp
EXTRA_DIST+= ide/IAR-EWARM/Projects/lib/wolfSSH-Lib.ewd
EXTRA_DIST+= ide/IAR-EWARM/Projects/echoserver/echoserver.ewp
EXTRA_DIST+= ide/IAR-EWARM/Projects/echoserver/echoserver.ewd
-EXTRA_DIST+= ide/IAR-EWARM/Projects/myFilesystem.c
-EXTRA_DIST+= ide/IAR-EWARM/Projects/myFilesystem.h
+EXTRA_DIST+= ide/IAR-EWARM/Projects/lib/myFilesystem.h
EXTRA_DIST+= ide/IAR-EWARM/Projects/README.md
diff --git a/src/internal.c b/src/internal.c
index 2b7c005..a335818 100644
--- a/src/internal.c
+++ b/src/internal.c
@@ -3329,9 +3329,9 @@ static int DoKexDhReply(WOLFSSH* ssh, byte* buf, word32 len, word32* idx)
if (sigKeyBlock_ptr)
WFREE(sigKeyBlock_ptr, ssh->ctx->heap, DYNTYPE_PRIVKEY);
#ifndef WOLFSSH_NO_ECDSA
- if (key_ptr)
- WFREE(key_ptr, ssh->ctx->heap, DYNTYPE_PRIVKEY);
-#endif
+ if (key_ptr)
+ WFREE(key_ptr, ssh->ctx->heap, DYNTYPE_PRIVKEY);
+ #endif
#endif
WLOG(WS_LOG_DEBUG, "Leaving DoKexDhReply(), ret = %d", ret);
return ret;