diff --git a/ChangeLog.md b/ChangeLog.md index f0695875d..90c8f0272 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,21 @@ - ## Release Notes +### v1.11 (1/7/2022) +* Return correct error code in SN_Client_Connect (PR #268) +* Removing unsupported TLS and SNI options in sn-client (PR #266) +* Fixes for multithreading with non-blocking (PR #252) +* Doxygen work removing depreciated command and fixing other warnings (PR #264) +* Fix overwriting TLS error in connect (PR #259) +* Add GitHub Actions (PR #256 #260 #263) +* Fix wm_Sem on Windows (PR #255 #261) +* Fix scripts for host without mosquitto (PR #257 #265) +* Trim whitespace and convert tab to spaces (PR #251) +* Refactor of write length (PR #250) +* Fixes for publish edge cases (PR #248) +* Remove unused sub_id element, add support for local test broker (PR #249) +* Fix to make sure MqttClient_DecodePacket called in all cases (PR #246) + +* Known bug with multithread and without nonblocking enabled in this release. + ### v1.10 (11/2/2021) * Improve FALL_THROUGH macro logic for XC32. (PR #227) * Fix potential NULL printf in MqttSocket_Connect with verbose debug enabled. (PR #229) diff --git a/README.md b/README.md index fb8ac2122..790940f91 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ We setup an AWS IoT endpoint and testing device certificate for testing. The AWS ### Watson IoT Example This example enables the wolfMQTT client to connect to the IBM Watson Internet of Things (WIOT) Platform. The WIOT Platform has a limited test broker called "Quickstart" that allows non-secure connections to exercise the component. The example is located in `/examples/wiot/`. Works with MQTT v5 support enabled. +**NOTE** The WIOT QuickStart broker is no longer available. The demo may still be useful for users of IBM Watson IOT. ### MQTT-SN Example The Sensor Network client implements the MQTT-SN protocol for low-bandwidth networks. There are several differences from MQTT, including the ability to use a two byte Topic ID instead the full topic during subscribe and publish. The SN client requires an MQTT-SN gateway. The gateway acts as an intermediary between the SN clients and the broker. This client was tested with the Eclipse Paho MQTT-SN Gateway, which connects by default to the public Eclipse broker, much like our wolfMQTT Client example. The address of the gateway must be configured as the host. The example is located in `/examples/sn-client/`. @@ -226,7 +227,7 @@ wolfMQTT client library has been tested with the following brokers: The initially supported version with full specification support for all features and packets type such as: * QoS 0-2 * Last Will and Testament (LWT) -* Client examples for: AWS, Azure IoT, IBM Watson, Firmware update, non-blocking and generic. +* Client examples for: AWS, Azure IoT, Firmware update, non-blocking and generic. ### MQTT v5.0 Specification Support @@ -257,8 +258,6 @@ The v5 enabled wolfMQTT client was tested with the following MQTT v5 brokers: ** `./examples/mqttclient/mqttclient -h localhost` * HiveMQ Cloud ** `./examples/mqttclient/mqttclient -h 833f87e253304692bd2b911f0c18dba1.s1.eu.hivemq.cloud -t -S -u wolf1 -w NEZjcm7i8eRjFKF -p 8883` -* Watson IoT Quickserver -** `./examples/wiot/wiot` ### MQTT Sensor Network (MQTT-SN) Specification Support diff --git a/configure.ac b/configure.ac index 4aaca9ab5..752135d0a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ # wolfmqtt -# Copyright (C) 2021 wolfSSL Inc. +# Copyright (C) 2022 wolfSSL Inc. # All right reserved. -AC_COPYRIGHT([Copyright (C) 2014-2021 wolfSSL Inc.]) -AC_INIT([wolfmqtt],[1.10.0],[https://github.com/wolfssl/wolfMQTT/issues],[wolfmqtt],[http://www.wolfssl.com]) +AC_COPYRIGHT([Copyright (C) 2014-2022 wolfSSL Inc.]) +AC_INIT([wolfmqtt],[1.11.0],[https://github.com/wolfssl/wolfMQTT/issues],[wolfmqtt],[http://www.wolfssl.com]) AC_PREREQ([2.63]) AC_CONFIG_AUX_DIR([build-aux]) @@ -23,7 +23,7 @@ AC_ARG_PROGRAM AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([src/config.h]) -WOLFMQTT_LIBRARY_VERSION=9:1:0 +WOLFMQTT_LIBRARY_VERSION=10:0:0 # | | | # +------+ | +---+ # | | | diff --git a/examples/aws/awsiot.c b/examples/aws/awsiot.c index 4bb289b21..258a7ad96 100644 --- a/examples/aws/awsiot.c +++ b/examples/aws/awsiot.c @@ -1,6 +1,6 @@ /* awsiot.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/aws/awsiot.h b/examples/aws/awsiot.h index 07f252ece..ed18fc06f 100644 --- a/examples/aws/awsiot.h +++ b/examples/aws/awsiot.h @@ -1,6 +1,6 @@ /* awsiot.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/azure/azureiothub.c b/examples/azure/azureiothub.c index d9efd21c4..402d92958 100644 --- a/examples/azure/azureiothub.c +++ b/examples/azure/azureiothub.c @@ -1,6 +1,6 @@ /* azureiothub.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/azure/azureiothub.h b/examples/azure/azureiothub.h index f9553032c..813c8823d 100644 --- a/examples/azure/azureiothub.h +++ b/examples/azure/azureiothub.h @@ -1,6 +1,6 @@ /* azureiothub.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/firmware/fwclient.c b/examples/firmware/fwclient.c index 4419f3445..b24504799 100644 --- a/examples/firmware/fwclient.c +++ b/examples/firmware/fwclient.c @@ -1,6 +1,6 @@ /* fwclient.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/firmware/fwclient.h b/examples/firmware/fwclient.h index 23b4f22f0..cd7b28ca5 100644 --- a/examples/firmware/fwclient.h +++ b/examples/firmware/fwclient.h @@ -1,6 +1,6 @@ /* fwclient.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/firmware/fwpush.c b/examples/firmware/fwpush.c index 1974a1248..01ed46cf5 100644 --- a/examples/firmware/fwpush.c +++ b/examples/firmware/fwpush.c @@ -1,6 +1,6 @@ /* fwpush.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/firmware/fwpush.h b/examples/firmware/fwpush.h index 14837543c..d7259da68 100644 --- a/examples/firmware/fwpush.h +++ b/examples/firmware/fwpush.h @@ -1,6 +1,6 @@ /* fwpush.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttclient/mqttclient.c b/examples/mqttclient/mqttclient.c index 87edbb58a..480d26ee8 100644 --- a/examples/mqttclient/mqttclient.c +++ b/examples/mqttclient/mqttclient.c @@ -1,6 +1,6 @@ /* mqttclient.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttclient/mqttclient.h b/examples/mqttclient/mqttclient.h index 04acc9cc9..0b33f9fc1 100644 --- a/examples/mqttclient/mqttclient.h +++ b/examples/mqttclient/mqttclient.h @@ -1,6 +1,6 @@ /* mqttclient.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttexample.c b/examples/mqttexample.c index f1ae074a0..d7d350155 100644 --- a/examples/mqttexample.c +++ b/examples/mqttexample.c @@ -1,6 +1,6 @@ /* mqttexample.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttexample.h b/examples/mqttexample.h index 4390a5a72..ea6fc5ad7 100644 --- a/examples/mqttexample.h +++ b/examples/mqttexample.h @@ -1,6 +1,6 @@ /* mqttexample.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttnet.c b/examples/mqttnet.c index dc7192b7f..8bd298a92 100644 --- a/examples/mqttnet.c +++ b/examples/mqttnet.c @@ -1,6 +1,6 @@ /* mqttnet.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttnet.h b/examples/mqttnet.h index c796db196..67686a93b 100644 --- a/examples/mqttnet.h +++ b/examples/mqttnet.h @@ -1,6 +1,6 @@ /* mqttnet.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttsimple/mqttsimple.c b/examples/mqttsimple/mqttsimple.c index 55e01a7ad..d21f5de31 100644 --- a/examples/mqttsimple/mqttsimple.c +++ b/examples/mqttsimple/mqttsimple.c @@ -1,6 +1,6 @@ /* mqttsimple.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttsimple/mqttsimple.h b/examples/mqttsimple/mqttsimple.h index 3b4519a9f..70eee1028 100644 --- a/examples/mqttsimple/mqttsimple.h +++ b/examples/mqttsimple/mqttsimple.h @@ -1,6 +1,6 @@ /* mqttsimple * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/mqttuart.c b/examples/mqttuart.c index 24365eae5..c3af3f484 100644 --- a/examples/mqttuart.c +++ b/examples/mqttuart.c @@ -1,6 +1,6 @@ /* mqttuart.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/multithread/multithread.c b/examples/multithread/multithread.c index b36786cd4..3df426fb8 100755 --- a/examples/multithread/multithread.c +++ b/examples/multithread/multithread.c @@ -1,6 +1,6 @@ /* multithread.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/multithread/multithread.h b/examples/multithread/multithread.h index 0b51922f6..d536ab92a 100644 --- a/examples/multithread/multithread.h +++ b/examples/multithread/multithread.h @@ -1,6 +1,6 @@ /* multithread.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/nbclient/nbclient.c b/examples/nbclient/nbclient.c index a3401e006..acf20124f 100644 --- a/examples/nbclient/nbclient.c +++ b/examples/nbclient/nbclient.c @@ -1,6 +1,6 @@ /* nbclient.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/nbclient/nbclient.h b/examples/nbclient/nbclient.h index 39a168e21..129992501 100644 --- a/examples/nbclient/nbclient.h +++ b/examples/nbclient/nbclient.h @@ -1,6 +1,6 @@ /* nbclient.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/sn-client/sn-client.c b/examples/sn-client/sn-client.c index 2eb96e24f..f6bbfb733 100644 --- a/examples/sn-client/sn-client.c +++ b/examples/sn-client/sn-client.c @@ -1,6 +1,6 @@ /* sn-client.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/sn-client/sn-client.h b/examples/sn-client/sn-client.h index 07048d48c..6fbb3922c 100644 --- a/examples/sn-client/sn-client.h +++ b/examples/sn-client/sn-client.h @@ -1,6 +1,6 @@ /* sn-client.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/sn-client/sn-client_qos-1.c b/examples/sn-client/sn-client_qos-1.c index d5f2a30d5..37dbc6cb9 100644 --- a/examples/sn-client/sn-client_qos-1.c +++ b/examples/sn-client/sn-client_qos-1.c @@ -1,6 +1,6 @@ /* sn-client_qos-1.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/sn-client/sn-multithread.c b/examples/sn-client/sn-multithread.c index 08f1170d8..cd00c6bb8 100644 --- a/examples/sn-client/sn-multithread.c +++ b/examples/sn-client/sn-multithread.c @@ -1,6 +1,6 @@ /* sn-multithread.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/wiot/wiot.c b/examples/wiot/wiot.c index a974270b9..4fcf6c2ee 100644 --- a/examples/wiot/wiot.c +++ b/examples/wiot/wiot.c @@ -1,6 +1,6 @@ /* wiot.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/examples/wiot/wiot.h b/examples/wiot/wiot.h index 31301c584..27aa12ed3 100755 --- a/examples/wiot/wiot.h +++ b/examples/wiot/wiot.h @@ -1,6 +1,6 @@ /* wiot.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/scripts/client.test b/scripts/client.test index 1d1b7c0dc..eaab6aa3d 100755 --- a/scripts/client.test +++ b/scripts/client.test @@ -22,8 +22,8 @@ do_cleanup() { def_args="-T -C 2000" -# Wait 1 secs for other tests to conclude -sleep 1 +# Wait 2 secs for other tests to conclude +sleep 2 # Check for mosquitto if command -v mosquitto diff --git a/src/mqtt_client.c b/src/mqtt_client.c index 4f67d233a..dc71a50f9 100644 --- a/src/mqtt_client.c +++ b/src/mqtt_client.c @@ -1,6 +1,6 @@ /* mqtt_client.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/src/mqtt_packet.c b/src/mqtt_packet.c index d79a97179..45f9d4595 100755 --- a/src/mqtt_packet.c +++ b/src/mqtt_packet.c @@ -1,6 +1,6 @@ /* mqtt_packet.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/src/mqtt_socket.c b/src/mqtt_socket.c index b114e4f8a..90b96c659 100644 --- a/src/mqtt_socket.c +++ b/src/mqtt_socket.c @@ -1,6 +1,6 @@ /* mqtt_socket.c * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/mqtt_client.h b/wolfmqtt/mqtt_client.h index cfe327f10..8d6ddc9af 100644 --- a/wolfmqtt/mqtt_client.h +++ b/wolfmqtt/mqtt_client.h @@ -1,6 +1,6 @@ /* mqtt_client.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/mqtt_packet.h b/wolfmqtt/mqtt_packet.h index cc78aa68e..e2b84b1fa 100644 --- a/wolfmqtt/mqtt_packet.h +++ b/wolfmqtt/mqtt_packet.h @@ -1,6 +1,6 @@ /* mqtt_packet.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/mqtt_socket.h b/wolfmqtt/mqtt_socket.h index a06788742..15fe08da7 100644 --- a/wolfmqtt/mqtt_socket.h +++ b/wolfmqtt/mqtt_socket.h @@ -1,6 +1,6 @@ /* mqtt_socket.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/mqtt_types.h b/wolfmqtt/mqtt_types.h index e27117b51..ad406414c 100644 --- a/wolfmqtt/mqtt_types.h +++ b/wolfmqtt/mqtt_types.h @@ -1,6 +1,6 @@ /* mqtt_types.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/options.h.in b/wolfmqtt/options.h.in index ef0019cd3..107cde86c 100644 --- a/wolfmqtt/options.h.in +++ b/wolfmqtt/options.h.in @@ -1,6 +1,6 @@ /* options.h.in * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/version.h b/wolfmqtt/version.h index 645e93cf2..5bf74f0c7 100644 --- a/wolfmqtt/version.h +++ b/wolfmqtt/version.h @@ -1,6 +1,6 @@ /* version.h.in * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * @@ -34,8 +34,8 @@ extern "C" { #endif -#define LIBWOLFMQTT_VERSION_STRING "1.10.0" -#define LIBWOLFMQTT_VERSION_HEX 0x01010000 +#define LIBWOLFMQTT_VERSION_STRING "1.11.0" +#define LIBWOLFMQTT_VERSION_HEX 0x01011000 #ifdef __cplusplus } diff --git a/wolfmqtt/version.h.in b/wolfmqtt/version.h.in index 010b0502a..d20b92942 100644 --- a/wolfmqtt/version.h.in +++ b/wolfmqtt/version.h.in @@ -1,6 +1,6 @@ /* version.h.in * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. * diff --git a/wolfmqtt/visibility.h b/wolfmqtt/visibility.h index f31d44af9..6028239b5 100644 --- a/wolfmqtt/visibility.h +++ b/wolfmqtt/visibility.h @@ -1,6 +1,6 @@ /* visibility.h * - * Copyright (C) 2006-2021 wolfSSL Inc. + * Copyright (C) 2006-2022 wolfSSL Inc. * * This file is part of wolfMQTT. *