Skip to content

Commit

Permalink
Merge pull request #170 from wolfSSL/release_v1.7
Browse files Browse the repository at this point in the history
wolfMQTT Release v1.7 preparation
  • Loading branch information
dgarske authored Aug 21, 2020
2 parents 046dc72 + 0d7dfe5 commit 238a70e
Show file tree
Hide file tree
Showing 19 changed files with 44 additions and 24 deletions.
12 changes: 12 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@

## Release Notes

### v1.7 (08/21/2020)

* Fix for publish with short topic name and example. (PR #169)
Add MqttProps_ShutDown(). Fix MqttProp leaks(PR #167)
* Multithread fixes. (PR #166)
* Fix buffer overrun in strcpy(). Fix logic around getaddrinfo(). (PR #165)
* Fix MqttClient_WaitType for nonblock mode. (PR #164)
* Change anon union for ARMv6 error. (PR #163)
* Fix for publish large payload. (PR #162)
* Fixing LWT prop and allow null LWT. (PR #161)
* Fix for receive timeout in mqttsimple example. (PR #158)

### v1.6 (04/24/2020)

* Fixes to improve buffer size checking when using a small tx or rx buffer. (PR #137)
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Notes:

For building wolfMQTT with TLS support in Visual Studio:

1. Open the `wolfssl-root>/wolfssl64.sln`.
1. Open the `<wolfssl-root>/wolfssl64.sln`.
2. Re-target for your Visual Studio version (right-click on solution and choose `Retarget solution`).
3. Make sure the `Debug DLL` or `Release DLL` configuration is selected. Make note if you are building 32-bit `x86` or 64-bit `x64`.
4. Build the wolfSSL solution.
Expand Down Expand Up @@ -173,6 +173,9 @@ The wolfMQTT client supports connecting to v5 enabled brokers when configured wi
* Topic Alias

The v5 enabled wolfMQTT client was tested with the following MQTT v5 brokers:
* Mosquitto
** Runs locally.
** `./examples/mqttclient/mqttclient -h localhost`
* Flespi
** Requires an account tied token that is regenerated hourly.
** `./examples/mqttclient/mqttclient -h "mqtt.flespi.io" -u "<your-flespi-token>"`
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# All right reserved.

AC_COPYRIGHT([Copyright (C) 2014-2020 wolfSSL Inc.])
AC_INIT([wolfmqtt],[1.6.0],[https://github.com/wolfssl/wolfMQTT/issues],[wolfmqtt],[http://www.wolfssl.com])
AC_INIT([wolfmqtt],[1.7.0],[https://github.com/wolfssl/wolfMQTT/issues],[wolfmqtt],[http://www.wolfssl.com])

AC_PREREQ([2.63])
AC_CONFIG_AUX_DIR([build-aux])
Expand All @@ -23,7 +23,7 @@ AC_ARG_PROGRAM
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([src/config.h])

WOLFMQTT_LIBRARY_VERSION=6:0:0
WOLFMQTT_LIBRARY_VERSION=7:0:0
# | | |
# +------+ | +---+
# | | |
Expand Down
4 changes: 2 additions & 2 deletions examples/aws/awsiot.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ static int mStopRead = 0;
#define AWSIOT_KEEP_ALIVE_SEC DEFAULT_KEEP_ALIVE_SEC
#define AWSIOT_CMD_TIMEOUT_MS DEFAULT_CMD_TIMEOUT_MS

#define AWSIOT_SUBSCRIBE_TOPIC "$aws/things/"AWSIOT_DEVICE_ID"/shadow/update/delta"
#define AWSIOT_PUBLISH_TOPIC "$aws/things/"AWSIOT_DEVICE_ID"/shadow/update"
#define AWSIOT_SUBSCRIBE_TOPIC "$aws/things/" AWSIOT_DEVICE_ID "/shadow/update/delta"
#define AWSIOT_PUBLISH_TOPIC "$aws/things/" AWSIOT_DEVICE_ID "/shadow/update"

#define AWSIOT_PUBLISH_MSG_SZ 400

Expand Down
2 changes: 1 addition & 1 deletion examples/aws/awsiot.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
8 changes: 4 additions & 4 deletions examples/azure/azureiothub.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,17 +86,17 @@ static int mStopRead = 0;
#define AZURE_TOKEN_EXPIRY_SEC (60 * 60 * 1) /* 1 hour */
#define AZURE_TOKEN_SIZE 400

#define AZURE_DEVICE_NAME AZURE_HOST"/devices/"AZURE_DEVICE_ID
#define AZURE_USERNAME AZURE_HOST"/"AZURE_DEVICE_ID"/"AZURE_API_VERSION
#define AZURE_DEVICE_NAME AZURE_HOST "/devices/" AZURE_DEVICE_ID
#define AZURE_USERNAME AZURE_HOST "/" AZURE_DEVICE_ID "/" AZURE_API_VERSION
#define AZURE_SIG_FMT "%s\n%ld"
/* [device name (URL Encoded)]\n[Expiration sec UTC] */
#define AZURE_PASSWORD_FMT "SharedAccessSignature sr=%s&sig=%s&se=%ld"
/* sr=[device name (URL Encoded)]
sig=[HMAC-SHA256 of AZURE_SIG_FMT using AZURE_KEY (URL Encoded)]
se=[Expiration sec UTC] */

#define AZURE_MSGS_TOPIC_NAME "devices/"AZURE_DEVICE_ID"/messages/devicebound/#" /* subscribe */
#define AZURE_EVENT_TOPIC "devices/"AZURE_DEVICE_ID"/messages/events/" /* publish */
#define AZURE_MSGS_TOPIC_NAME "devices/" AZURE_DEVICE_ID "/messages/devicebound/#" /* subscribe */
#define AZURE_EVENT_TOPIC "devices/" AZURE_DEVICE_ID "/messages/events/" /* publish */


/* Encoding Support */
Expand Down
2 changes: 1 addition & 1 deletion examples/azure/azureiothub.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
2 changes: 1 addition & 1 deletion examples/firmware/fwclient.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
2 changes: 1 addition & 1 deletion examples/firmware/fwpush.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
2 changes: 1 addition & 1 deletion examples/mqttclient/mqttclient.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
4 changes: 3 additions & 1 deletion examples/mqttnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@
#define SOCKET_T SOCKET
#define SOERROR_T char
#define SELECT_FD(fd) (fd)
#define SOCKET_INVALID ((SOCKET_T)INVALID_SOCKET)
#ifndef SOCKET_INVALID /* Do not redefine from wolfssl */
#define SOCKET_INVALID ((SOCKET_T)INVALID_SOCKET)
#endif
#define SOCK_CLOSE closesocket
#define SOCK_SEND(s,b,l,f) send((s), (const char*)(b), (size_t)(l), (f))
#define SOCK_RECV(s,b,l,f) recv((s), (char*)(b), (size_t)(l), (f))
Expand Down
2 changes: 1 addition & 1 deletion examples/multithread/multithread.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ static int mNumMsgsRecvd;
#include <process.h>
typedef HANDLE THREAD_T;
#define THREAD_CREATE(h, f, c) *h = CreateThread(NULL, 0, f, c, 0, NULL)
#define THREAD_JOIN(h, c) WaitForMultipleObjects(c, h, TRUE, INFINITE);
#define THREAD_JOIN(h, c) WaitForMultipleObjects(c, h, TRUE, INFINITE)
#define THREAD_EXIT(e) return e;
#else
/* Posix (Linux/Mac) */
Expand Down
2 changes: 1 addition & 1 deletion examples/multithread/multithread.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
2 changes: 1 addition & 1 deletion examples/nbclient/nbclient.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Ws2_32.lib;$(SolutionDir)wolfssl.lib;%(AdditionalDependencies)</AdditionalDependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/sn-client/sn-client.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>Ws2_32.lib;$(SolutionDir)wolfssl.lib;%(AdditionalDependencies)</AdditionalDependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/wiot/wiot.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\;..\..\..\wolfssl;../../../wolfssl/IDE/WIN/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS; _MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand Down
3 changes: 3 additions & 0 deletions scripts/nbclient.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

# Non-blocking Client test

# Wait 3 secs for other tests to conclude
sleep 3

# Check for application
[ ! -x ./examples/nbclient/nbclient ] && echo -e "\n\nNon-blocking Client doesn't exist" && exit 1

Expand Down
4 changes: 2 additions & 2 deletions src/mqtt_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ static const struct MqttPropMatrix gPropMatrix[] = {

/* Property structure allocation array. Property type equal
to zero indicates unused element. */
static MqttProp clientPropStack[MQTT_MAX_PROPS] = {};
static MqttProp clientPropStack[MQTT_MAX_PROPS];
#ifdef WOLFMQTT_MULTITHREAD
static wm_Sem clientPropStack_lock;
#endif
Expand Down Expand Up @@ -344,7 +344,7 @@ int MqttEncode_Data(byte *buf, const byte *data, word16 data_len)
{
int len = MqttEncode_Num(buf, data_len);

if (buf != NULL) {
if ((buf != NULL) && (data != NULL)) {
buf += len;
XMEMCPY(buf, data, data_len);
}
Expand Down
4 changes: 2 additions & 2 deletions wolfmqtt/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
extern "C" {
#endif

#define LIBWOLFMQTT_VERSION_STRING "1.6.0"
#define LIBWOLFMQTT_VERSION_HEX 0x01006000
#define LIBWOLFMQTT_VERSION_STRING "1.7.0"
#define LIBWOLFMQTT_VERSION_HEX 0x01007000

#ifdef __cplusplus
}
Expand Down

0 comments on commit 238a70e

Please sign in to comment.