Skip to content

Commit 93be6db

Browse files
Merge pull request #254 from ejohnstown/release-rollup
Release Rollup
2 parents 53da5b8 + 67620dc commit 93be6db

8 files changed

Lines changed: 90 additions & 59 deletions

File tree

ChangeLog.md

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,34 @@
1-
### wolfSSH v1.4.3 (10/31/2019)
1+
# wolfSSH v1.4.4 (04/28/2020)
2+
3+
## New Feature Additions
4+
5+
- Added wolfSCP client example
6+
- Added support for building for VxWorks
7+
8+
## Fixes
9+
10+
- Fixes for some buffer issues discovered with fuzz testing
11+
- Fixes for some SCP directory issues in Nucleus
12+
- Fixed an issue where a buffer size went negative, cosmetic
13+
- Fixed bug in ECDSA when using alt-ecc-size in wolfCrypt
14+
- Fixed bug with AES-CTR and FIPSv2 build
15+
- Fixed bug when using single precision
16+
- Fix for SCP rename action
17+
18+
## Improvements and Optimizations
19+
20+
- Improved interoperability with FireZilla
21+
- Example tool option clarification
22+
- Better SFTP support in 32-bit environments
23+
- SFTP and SCP aren't dependent on ioctl() anymore
24+
- Add password rejection count
25+
- Public key vs password authentication chosen by user auth callback
26+
- MQX maintenance
27+
28+
29+
--------------------------------
30+
31+
# wolfSSH v1.4.3 (10/31/2019)
232

333
- wolfSFTP port to MQX 4.2 (MQX/MFS/RTCS)
434
- Maintenance and bug fixes
@@ -17,7 +47,7 @@
1747
example client
1848

1949

20-
### wolfSSH v1.4.2 (08/06/2019)
50+
# wolfSSH v1.4.2 (08/06/2019)
2151

2252
- GCC 8 build warning fixes
2353
- Fix for warning with enums used with SFTP and set socket type
@@ -38,7 +68,7 @@
3868
- Remove void cast on variable not compiled in with single threaded builds
3969

4070

41-
### wolfSSH v1.4.0 (04/30/2019)
71+
# wolfSSH v1.4.0 (04/30/2019)
4272

4373
- SFTP support for time attributes
4474
- TCP port forwarding feature added (--enable-fwd)
@@ -68,15 +98,15 @@
6898
- Renamed example SFTP to be examples/sftpclient/wolfsftp
6999

70100

71-
### wolfSSH v1.3.0 (08/15/2018)
101+
# wolfSSH v1.3.0 (08/15/2018)
72102

73103
- Accepted code submission from Stephen Casner for SCP support. Thanks Stephen!
74104
- Added SCP server support.
75105
- Added SFTP client and server support.
76106
- Updated the autoconf scripts.
77107
- Other bug fixes and enhancements.
78108

79-
### wolfSSH v1.2.0 (09/26/2017)
109+
# wolfSSH v1.2.0 (09/26/2017)
80110

81111
- Added ECDH Group Exchange with SHA2 hashing and curves nistp256,
82112
nistp384, and nistp521.
@@ -89,7 +119,7 @@
89119
- Added a Visual Studio solution to build the library, examples, and tests.
90120
- Other bug fixes and enhancements.
91121

92-
### wolfSSH v1.1.0 (06/16/2017)
122+
# wolfSSH v1.1.0 (06/16/2017)
93123

94124
- Added DH Group Exchange with SHA-256 hashing to the key exchange.
95125
- Removed the canned banner and provided a function to set a banner string.
@@ -103,6 +133,6 @@
103133
- Fixed a bug with the GetString function.
104134
- Other small bug fixes and enhancements.
105135

106-
### wolfSSH v1.0.0 (10/24/2016)
136+
# wolfSSH v1.0.0 (10/24/2016)
107137

108138
Initial release.

configure.ac

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# All right reserved.
44

55
AC_COPYRIGHT([Copyright (C) 2014-2020 wolfSSL Inc.])
6-
AC_INIT([wolfssh],[1.4.3],[support@wolfssl.com],[wolfssh],[https://www.wolfssl.com])
6+
AC_INIT([wolfssh],[1.4.4],[support@wolfssl.com],[wolfssh],[https://www.wolfssl.com])
77
AC_PREREQ([2.63])
88
AC_CONFIG_AUX_DIR([build-aux])
99

@@ -20,7 +20,7 @@ AC_ARG_PROGRAM
2020
AC_CONFIG_MACRO_DIR([m4])
2121
AC_CONFIG_HEADERS([src/config.h])
2222

23-
WOLFSSH_LIBRARY_VERSION=10:0:1
23+
WOLFSSH_LIBRARY_VERSION=11:0:2
2424
# | | |
2525
# +------+ | +---+
2626
# | | |
@@ -56,6 +56,7 @@ AC_CHECK_SIZEOF([off_t])
5656

5757
# Check headers/libs
5858
AC_CHECK_FUNCS([gethostbyname getaddrinfo gettimeofday inet_ntoa memset socket])
59+
AC_CHECK_HEADERS([sys/time.h])
5960
AC_CHECK_LIB([network],[socket])
6061
AC_CHECK_LIB([wolfssl],[wolfCrypt_Init],,[AC_MSG_ERROR([libwolfssl is required for ${PACKAGE}. It can be obtained from https://www.wolfssl.com/download.html/ .])])
6162

@@ -77,6 +78,8 @@ AX_PTHREAD([
7778
AS_CASE([$PTHREAD_CFLAGS],[-Qunused-arguments*],[PTHREAD_CFLAGS="-Xcompiler $PTHREAD_CFLAGS"])
7879
AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"])
7980

81+
AX_AM_JOBSERVER([yes])
82+
8083
# Inline Build
8184
AC_ARG_ENABLE([inline],
8285
[AS_HELP_STRING([--disable-inline],[Disable inline functions (default: enabled)])],
@@ -109,7 +112,7 @@ AC_ARG_ENABLE([fwd],
109112

110113
# pseudo-terminal
111114
AC_ARG_ENABLE([term],
112-
[AS_HELP_STRING([--enable-term],[Enable pseudo-terminal support (default: enabled)])],
115+
[AS_HELP_STRING([--disable-term],[Enable pseudo-terminal support (default: enabled)])],
113116
[ENABLED_PTERM=$enableval],[ENABLED_PTERM=yes])
114117

115118
# Enable All
@@ -169,32 +172,31 @@ AC_SUBST([AM_LDFLAGS])
169172
AC_CONFIG_FILES([Makefile wolfssh/version.h])
170173

171174
AX_CREATE_GENERIC_CONFIG
172-
AX_AM_JOBSERVER([yes])
173175

174176
AC_OUTPUT
175177

176178
# force make clean
177-
echo "---"
178-
echo "Running make clean..."
179+
AS_ECHO(["---"])
180+
AS_ECHO(["Running make clean..."])
179181
make clean >/dev/null 2>&1
180182

181183
# output config summary
182-
echo "---"
183-
echo "Configuration summary for $PACKAGE_NAME version $VERSION"
184-
echo ""
185-
echo " * Installation prefix: $prefix"
186-
echo " * System type: $host_vendor-$host_os"
187-
echo " * Host CPU: $host_cpu"
188-
echo " * C Compiler: $CC"
189-
echo " * C Flags: $CFLAGS"
190-
echo " * CPP Flags: $CPPFLAGS"
191-
echo " * Linker Flags: $LDFLAGS"
192-
echo
193-
echo " Features"
194-
echo " * Inline Code: $ENABLED_INLINE"
195-
echo " * keygen: $ENABLED_KEYGEN"
196-
echo " * psuedo-terminal: $ENABLED_PTERM"
197-
echo " * scp: $ENABLED_SCP"
198-
echo " * sftp: $ENABLED_SFTP"
199-
echo " * TCP/IP Forwarding: $ENABLED_FWD"
200-
echo " * Examples: $ENABLED_EXAMPLES"
184+
AS_ECHO(["---"])
185+
AS_ECHO(["Configuration summary for $PACKAGE_NAME version $VERSION"])
186+
AS_ECHO
187+
AS_ECHO([" * Installation prefix: $prefix"])
188+
AS_ECHO([" * System type: $host_vendor-$host_os"])
189+
AS_ECHO([" * Host CPU: $host_cpu"])
190+
AS_ECHO([" * C Compiler: $CC"])
191+
AS_ECHO([" * C Flags: $CFLAGS"])
192+
AS_ECHO([" * CPP Flags: $CPPFLAGS"])
193+
AS_ECHO([" * Linker Flags: $LDFLAGS"])
194+
AS_ECHO
195+
AS_ECHO([" Features"])
196+
AS_ECHO([" * Inline Code: $ENABLED_INLINE"])
197+
AS_ECHO([" * keygen: $ENABLED_KEYGEN"])
198+
AS_ECHO([" * psuedo-terminal: $ENABLED_PTERM"])
199+
AS_ECHO([" * scp: $ENABLED_SCP"])
200+
AS_ECHO([" * sftp: $ENABLED_SFTP"])
201+
AS_ECHO([" * TCP/IP Forwarding: $ENABLED_FWD"])
202+
AS_ECHO([" * Examples: $ENABLED_EXAMPLES"])

examples/client/client.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
#ifndef NO_WOLFSSH_CLIENT
3232

33-
const char testString[] = "Hello, wolfSSH!";
33+
static const char testString[] = "Hello, wolfSSH!";
3434

3535

3636
/* type = 2 : shell / execute command settings
@@ -144,7 +144,7 @@ static void ShowUsage(void)
144144
}
145145

146146

147-
byte userPassword[256];
147+
static byte userPassword[256];
148148

149149
static int wsUserAuth(byte authType,
150150
WS_UserAuthData* authData,

examples/sftpclient/sftpclient.c

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ static int NonBlockSSH_connect(void)
104104
/* for command reget and reput to handle saving offset after interrupt during
105105
* get and put */
106106
#include <signal.h>
107-
static byte interupt = 0;
107+
static byte interrupt = 0;
108108

109109
static void sig_handler(const int sig)
110110
{
111111
(void)sig;
112112

113-
interupt = 1;
113+
interrupt = 1;
114114
wolfSSH_SFTP_Interrupt(ssh);
115115
}
116116
#endif /* WS_NO_SIGNAL */
@@ -189,8 +189,6 @@ static void clean_path(char* path)
189189
}
190190
}
191191

192-
const char sftpTestString[] = "Hello, wolfSSH!";
193-
194192
#define WS_MAX_EXAMPLE_RW 1024
195193

196194
static int SetEcho(int on)
@@ -294,22 +292,22 @@ static void ShowUsage(void)
294292
}
295293

296294

297-
byte userPassword[256];
298-
byte userPublicKeyType[32];
299-
byte userPublicKey[512];
300-
word32 userPublicKeySz;
301-
const byte* userPrivateKey;
302-
word32 userPrivateKeySz;
295+
static byte userPassword[256];
296+
static byte userPublicKeyType[32];
297+
static byte userPublicKey[512];
298+
static word32 userPublicKeySz;
299+
static const byte* userPrivateKey;
300+
static word32 userPrivateKeySz;
303301

304-
const char hanselPublicRsa[] =
302+
static const char hanselPublicRsa[] =
305303
"AAAAB3NzaC1yc2EAAAADAQABAAABAQC9P3ZFowOsONXHD5MwWiCciXytBRZGho"
306304
"MNiisWSgUs5HdHcACuHYPi2W6Z1PBFmBWT9odOrGRjoZXJfDDoPi+j8SSfDGsc/hsCmc3G"
307305
"p2yEhUZUEkDhtOXyqjns1ickC9Gh4u80aSVtwHRnJZh9xPhSq5tLOhId4eP61s+a5pwjTj"
308306
"nEhBaIPUJO2C/M0pFnnbZxKgJlX7t1Doy7h5eXxviymOIvaCZKU+x5OopfzM/wFkey0EPW"
309307
"NmzI5y/+pzU5afsdeEWdiQDIQc80H6Pz8fsoFPvYSG+s4/wz0duu7yeeV1Ypoho65Zr+pE"
310308
"nIf7dO0B8EblgWt+ud+JI8wrAhfE4x";
311309

312-
const byte hanselPrivateRsa[] = {
310+
static const byte hanselPrivateRsa[] = {
313311
0x30, 0x82, 0x04, 0xa3, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, 0x01, 0x00,
314312
0xbd, 0x3f, 0x76, 0x45, 0xa3, 0x03, 0xac, 0x38, 0xd5, 0xc7, 0x0f, 0x93,
315313
0x30, 0x5a, 0x20, 0x9c, 0x89, 0x7c, 0xad, 0x05, 0x16, 0x46, 0x86, 0x83,
@@ -412,14 +410,14 @@ const byte hanselPrivateRsa[] = {
412410
0xec, 0x18, 0xdb
413411
};
414412

415-
unsigned int hanselPrivateRsaSz = 1191;
413+
static const unsigned int hanselPrivateRsaSz = 1191;
416414

417415

418-
const char hanselPublicEcc[] =
416+
static const char hanselPublicEcc[] =
419417
"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNkI5JTP6D0lF42tbx"
420418
"X19cE87hztUS6FSDoGvPfiU0CgeNSbI+aFdKIzTP5CQEJSvm25qUzgDtH7oyaQROUnNvk=";
421419

422-
const byte hanselPrivateEcc[] = {
420+
static const byte hanselPrivateEcc[] = {
423421
0x30, 0x77, 0x02, 0x01, 0x01, 0x04, 0x20, 0x03, 0x6e, 0x17, 0xd3, 0xb9,
424422
0xb8, 0xab, 0xc8, 0xf9, 0x1f, 0xf1, 0x2d, 0x44, 0x4c, 0x3b, 0x12, 0xb1,
425423
0xa4, 0x77, 0xd8, 0xed, 0x0e, 0x6a, 0xbe, 0x60, 0xc2, 0xf6, 0x8b, 0xe7,
@@ -433,7 +431,7 @@ const byte hanselPrivateEcc[] = {
433431
0xf9
434432
};
435433

436-
unsigned int hanselPrivateEccSz = 121;
434+
static const unsigned int hanselPrivateEccSz = 121;
437435

438436

439437
static int wsUserAuth(byte authType,

ide/winvs/user_settings.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@
2121
#define NO_DSA
2222
#define NO_MD4
2323
#define WC_RSA_BLINDING
24-
#define USE_FAST_MATH
25-
#define TFM_TIMING_RESISTANT
26-
#define ECC_TIMING_RESISTANT
2724
#define WOLFSSL_PUBLIC_MP
2825
#define SINGLE_THREADED
26+
#define WC_NO_HARDEN
27+
2928
#define WOLFSSH_TERM
3029

3130
#endif /* _WIN_USER_SETTINGS_H_ */

src/wolfsftp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ static void wolfSSH_SFTP_ClearState(WOLFSSH* ssh, enum WS_SFTP_STATE_ID state)
425425
if (ssh) {
426426

427427
if (state == 0)
428-
state = ~state; /* set all bits hot */
428+
state = (enum WS_SFTP_STATE_ID)~state; /* set all bits hot */
429429

430430
if (state & STATE_ID_GET) {
431431
WFREE(ssh->getState, ssh->ctx->heap, DYNTYPE_SFTP_STATE);
@@ -1219,7 +1219,7 @@ int wolfSSH_SFTP_read(WOLFSSH* ssh)
12191219

12201220
if ((int)state->idx < state->sz) {
12211221
ret = wolfSSH_worker(ssh, NULL);
1222-
if (ssh->error == WS_WANT_READ) {
1222+
if (ret != WS_SUCCESS && ssh->error == WS_WANT_READ) {
12231223
/* was something there to read, try again */
12241224
state->toSend = 2;
12251225
return WS_FATAL_ERROR;

wolfssh/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
extern "C" {
3434
#endif
3535

36-
#define LIBWOLFSSH_VERSION_STRING "1.4.3"
37-
#define LIBWOLFSSH_VERSION_HEX 0x01004003
36+
#define LIBWOLFSSH_VERSION_STRING "1.4.4"
37+
#define LIBWOLFSSH_VERSION_HEX 0x01004004
3838

3939
#ifdef __cplusplus
4040
}

wolfssh/wolfscp.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ extern "C" {
5353
#endif
5454

5555
#if !defined(WOLFSSH_SCP_USER_CALLBACKS) && !defined(NO_FILESYSTEM)
56-
/* for utimes() */
57-
#include <sys/time.h>
56+
#include <time.h>
57+
#ifdef HAVE_SYS_TIME_H
58+
#include <sys/time.h>
59+
#endif
5860
#include <errno.h>
5961

6062
typedef struct ScpSendCtx {

0 commit comments

Comments
 (0)