mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-09-23 00:24:47 +08:00
Merge branch 'fixes' into develop
This commit is contained in:
+10
-7
@@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.0)
|
||||
cmake_policy(SET CMP0042 NEW)
|
||||
|
||||
project(mosquitto)
|
||||
set (VERSION 2.0.5)
|
||||
set (VERSION 2.0.8)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
|
||||
|
||||
@@ -100,12 +100,15 @@ if (WITH_DLT)
|
||||
add_definitions("-DWITH_DLT")
|
||||
endif (WITH_DLT)
|
||||
|
||||
FIND_PACKAGE(cJSON)
|
||||
if (CJSON_FOUND)
|
||||
message(STATUS ${CJSON_FOUND})
|
||||
else (CJSON_FOUND)
|
||||
message(STATUS "Optional dependency cJSON not found. Some features will be disabled.")
|
||||
endif(CJSON_FOUND)
|
||||
option(WITH_CJSON "Build with cJSON support (required for dynamic security plugin and useful for mosquitto_sub)?" ON)
|
||||
if (WITH_CJSON)
|
||||
FIND_PACKAGE(cJSON)
|
||||
if (CJSON_FOUND)
|
||||
message(STATUS ${CJSON_FOUND})
|
||||
else (CJSON_FOUND)
|
||||
message(STATUS "Optional dependency cJSON not found. Some features will be disabled.")
|
||||
endif(CJSON_FOUND)
|
||||
endif()
|
||||
|
||||
# ========================================
|
||||
# Include projects
|
||||
|
||||
+125
-1
@@ -20,12 +20,136 @@ Client library:
|
||||
username/password/TLS parameters before an automatic reconnection.
|
||||
|
||||
|
||||
2.0.6 - 2021-01-xx
|
||||
2.0.9 - 2021-03-xx
|
||||
==================
|
||||
|
||||
Broker:
|
||||
- Fix `tls_version` behaviour not matching documentation. It was setting the
|
||||
exact TLS version to use, not the minimium TLS version to use. Closes #2110.
|
||||
- Fix messages to `$` prefixed topics being rejected. Closes #2111.
|
||||
- Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
|
||||
Closes #2123.
|
||||
|
||||
|
||||
2.0.8 - 2021-02-25
|
||||
==================
|
||||
|
||||
Broker:
|
||||
- Fix incorrect datatypes in `struct mosquitto_evt_tick`. This changes the
|
||||
size and offset of two of the members of this struct, and changes the size
|
||||
of the struct. This is an ABI break, but is considered to be acceptable
|
||||
because plugins should never be allocating their own instance of this
|
||||
struct, and currently none of the struct members are used for anything, so a
|
||||
plugin should not be accessing them. It would also be safe to read/write
|
||||
from the existing struct parameters.
|
||||
- Give compile time warning if libwebsockets compiled without external poll
|
||||
support. Closes #2060.
|
||||
- Fix memory tracking not being available on FreeBSD or macOS. Closes #2096.
|
||||
|
||||
Client library:
|
||||
- Fix mosquitto_{pub|sub}_topic_check() functions not returning MOSQ_ERR_INVAL
|
||||
on topic == NULL.
|
||||
|
||||
Clients:
|
||||
- Fix possible loss of data in `mosquitto_pub -l` when sending multiple long
|
||||
lines. Closes #2078.
|
||||
|
||||
Build:
|
||||
- Provide a mechanism for Docker users to run a broker that doesn't use
|
||||
authentication, without having to provide their own configuration file.
|
||||
Closes #2040.
|
||||
|
||||
|
||||
2.0.7 - 2021-02-04
|
||||
==================
|
||||
|
||||
Broker:
|
||||
- Fix exporting of executable symbols on BSD when building via makefile.
|
||||
- Fix some minor memory leaks on exit only.
|
||||
- Fix possible memory leak on connect. Closes #2057.
|
||||
- Fix openssl engine not being able to load private key. Closes #2066.
|
||||
|
||||
Clients:
|
||||
- Fix config files truncating options after the first space. Closes #2059.
|
||||
|
||||
Build:
|
||||
- Fix man page building to not absolutely require xsltproc when using CMake.
|
||||
This now handles the case where we are building from the released tar, or
|
||||
building from git if xsltproc is available, or building from git if xsltproc
|
||||
is not available.
|
||||
|
||||
|
||||
1.6.13 - 2021-02-04
|
||||
===================
|
||||
|
||||
Broker:
|
||||
- Fix crash on Windows if loading a plugin fails. Closes #1866.
|
||||
- Fix DH group not being set for TLS connections, which meant ciphers using
|
||||
DHE couldn't be used. Closes #1925. Closes #1476.
|
||||
- Fix local bridges being disconnected on SIGHUP. Closes #1942.
|
||||
- Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
|
||||
messages. Closes #1968.
|
||||
- Fix listener not being reassociated with client when reloading a persistence
|
||||
file and `per_listener_settings true` is set and the client did not set a
|
||||
username. Closes #1891.
|
||||
- Fix file logging on Windows. Closes #1880.
|
||||
- Fix bridge sock not being removed from sock hash on error. Closes #1897.
|
||||
|
||||
Client library:
|
||||
- Fix build on Mac Big Sur. Closes #1905.
|
||||
- Fix DH group not being set for TLS connections, which meant ciphers using
|
||||
DHE couldn't be used. Closes #1925. Closes #1476.
|
||||
|
||||
Clients:
|
||||
- mosquitto_sub will now quit with an error if the %U option is used on
|
||||
Windows, rather than just quitting. Closes #1908.
|
||||
- Fix config files truncating options after the first space. Closes #2059.
|
||||
|
||||
Apps:
|
||||
- Perform stricter parsing of input username in mosquitto_passwd. Closes
|
||||
#570126 (Eclipse bugzilla).
|
||||
|
||||
Build:
|
||||
- Enable epoll support in CMake builds.
|
||||
|
||||
|
||||
2.0.6 - 2021-01-28
|
||||
|
||||
Broker:
|
||||
- Fix calculation of remaining length parameter for websockets clients that
|
||||
send fragmented packets. Closes #1974.
|
||||
Broker:
|
||||
- Fix potential duplicate Will messages being sent when a will delay interval
|
||||
has been set.
|
||||
- Fix message expiry interval property not being honoured in
|
||||
`mosquitto_broker_publish` and `mosquitto_broker_publish_copy`.
|
||||
- Fix websockets listeners with TLS not responding. Closes #2020.
|
||||
- Add notes that libsystemd-dev or similar is needed if building with systemd
|
||||
support. Closes #2019.
|
||||
- Improve logging in obscure cases when a client disconnects. Closes #2017.
|
||||
- Fix reloading of listeners where multiple listeners have been defined with
|
||||
the same port but different bind addresses. Closes #2029.
|
||||
- Fix `message_size_limit` not applying to the Will payload. Closes #2022.
|
||||
- The error topic-alias-invalid was being sent if an MQTT v5 client published
|
||||
a message with empty topic and topic alias set, but the topic alias hadn't
|
||||
already been configured on the broker. This has been fixed to send a
|
||||
protocol error, as per section 3.3.4 of the specification.
|
||||
- Note in the man pages that SIGHUP reloads TLS certificates. Closes #2037.
|
||||
- Fix bridges not always connecting on Windows. Closes #2043.
|
||||
|
||||
Apps:
|
||||
- Allow command line arguments to override config file options in
|
||||
mosquitto_ctrl. Closes #2010.
|
||||
- mosquitto_ctrl: produce an error when requesting a new password if both
|
||||
attempts do not match. Closes #2011.
|
||||
|
||||
Build:
|
||||
- Fix cmake builds using `WITH_CJSON=no` not working if cJSON not found.
|
||||
Closes #2026.
|
||||
|
||||
Other:
|
||||
- The SPDX identifiers for EDL-1.0 have been changed to BSD-3-Clause as per
|
||||
The Eclipse legal documentation generator. The licenses are identical.
|
||||
|
||||
|
||||
2.0.5 - 2021-01-11
|
||||
|
||||
@@ -7,6 +7,7 @@ are optional.
|
||||
* libwebsockets (optional, disabled by default, version 2.4 and above)
|
||||
* cJSON (optional but recommended, for dynamic-security plugin support, and
|
||||
JSON output from mosquitto_sub/mosquitto_rr)
|
||||
* libsystemd-dev (optional, if building with systemd support on Linux)
|
||||
* On Windows, a pthreads library is required if threading support is to be
|
||||
included.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -12,7 +12,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -6,74 +6,113 @@
|
||||
|
||||
struct mosquitto *context__init(mosq_sock_t sock)
|
||||
{
|
||||
UNUSED(sock);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int db__message_store(const struct mosquitto *source, struct mosquitto_msg_store *stored, uint32_t message_expiry_interval, dbid_t store_id, enum mosquitto_msg_origin origin)
|
||||
{
|
||||
UNUSED(source);
|
||||
UNUSED(stored);
|
||||
UNUSED(message_expiry_interval);
|
||||
UNUSED(store_id);
|
||||
UNUSED(origin);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void db__msg_store_ref_inc(struct mosquitto_msg_store *store)
|
||||
{
|
||||
UNUSED(store);
|
||||
}
|
||||
|
||||
int handle__packet(struct mosquitto *context)
|
||||
{
|
||||
UNUSED(context);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int log__printf(struct mosquitto *mosq, unsigned int level, const char *fmt, ...)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
UNUSED(level);
|
||||
UNUSED(fmt);
|
||||
return 0;
|
||||
}
|
||||
|
||||
FILE *mosquitto__fopen(const char *path, const char *mode, bool restrict_read)
|
||||
{
|
||||
UNUSED(path);
|
||||
UNUSED(mode);
|
||||
UNUSED(restrict_read);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
return mosq_cs_new;
|
||||
}
|
||||
|
||||
int mux__add_out(struct mosquitto *mosq)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mux__remove_out(struct mosquitto *mosq)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
UNUSED(buf);
|
||||
UNUSED(count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t count)
|
||||
{
|
||||
UNUSED(mosq);
|
||||
UNUSED(buf);
|
||||
UNUSED(count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int retain__store(const char *topic, struct mosquitto_msg_store *stored, char **split_topics)
|
||||
{
|
||||
UNUSED(topic);
|
||||
UNUSED(stored);
|
||||
UNUSED(split_topics);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sub__add(struct mosquitto *context, const char *sub, uint8_t qos, uint32_t identifier, int options, struct mosquitto__subhier **root)
|
||||
{
|
||||
UNUSED(context);
|
||||
UNUSED(sub);
|
||||
UNUSED(qos);
|
||||
UNUSED(identifier);
|
||||
UNUSED(options);
|
||||
UNUSED(root);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sub__messages_queue(const char *source_id, const char *topic, uint8_t qos, int retain, struct mosquitto_msg_store **stored)
|
||||
{
|
||||
UNUSED(source_id);
|
||||
UNUSED(topic);
|
||||
UNUSED(qos);
|
||||
UNUSED(retain);
|
||||
UNUSED(stored);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int keepalive__update(struct mosquitto *context)
|
||||
{
|
||||
UNUSED(context);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5,8 +5,12 @@ include ../../config.mk
|
||||
ifeq ($(WITH_SHARED_LIBRARIES),yes)
|
||||
LIBMOSQ:=../../lib/libmosquitto.so.${SOVERSION}
|
||||
else
|
||||
ifeq ($(WITH_THREADING),yes)
|
||||
LIBMOSQ:=../../lib/libmosquitto.a -lpthread -lssl -lcrypto
|
||||
else
|
||||
LIBMOSQ:=../../lib/libmosquitto.a
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_CPPFLAGS:=-I../mosquitto_passwd
|
||||
|
||||
@@ -25,7 +29,6 @@ OBJS= mosquitto_ctrl.o \
|
||||
EXAMPLE_OBJS= example.o
|
||||
|
||||
ifeq ($(WITH_TLS),yes)
|
||||
|
||||
ifeq ($(WITH_CJSON),yes)
|
||||
TARGET:=mosquitto_ctrl mosquitto_ctrl_example.so
|
||||
else
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -386,6 +386,7 @@ static void dynsec__payload_callback(struct mosq_ctrl *ctrl, long payloadlen, co
|
||||
UNUSED(ctrl);
|
||||
|
||||
#if CJSON_VERSION_FULL < 1007013
|
||||
UNUSED(payloadlen);
|
||||
tree = cJSON_Parse(payload);
|
||||
#else
|
||||
tree = cJSON_ParseWithLength(payload, payloadlen);
|
||||
@@ -720,9 +721,8 @@ int dynsec_init(int argc, char *argv[])
|
||||
snprintf(verify_prompt, sizeof(verify_prompt), "Reenter password for %s: ", admin_user);
|
||||
rc = get_password(prompt, verify_prompt, false, password, sizeof(password));
|
||||
if(rc){
|
||||
fprintf(stderr, "Error getting password.\n");
|
||||
mosquitto_lib_cleanup();
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
admin_password = password;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -65,6 +65,9 @@ int dynsec_client__create(int argc, char *argv[], cJSON *j_command)
|
||||
rc = get_password(prompt, verify_prompt, true, password_buf, sizeof(password_buf));
|
||||
if(rc == 0){
|
||||
password = password_buf;
|
||||
}else if(rc == 2){
|
||||
fprintf(stderr, "Error: Passwords do not match.\n");
|
||||
return -1;
|
||||
}else{
|
||||
password = NULL;
|
||||
printf("\n");
|
||||
@@ -163,7 +166,7 @@ int dynsec_client__set_password(int argc, char *argv[], cJSON *j_command)
|
||||
snprintf(verify_prompt, sizeof(verify_prompt), "Reenter password for %s: ", username);
|
||||
rc = get_password(prompt, verify_prompt, false, password_buf, sizeof(password_buf));
|
||||
if(rc){
|
||||
return MOSQ_ERR_INVAL;
|
||||
return -1;
|
||||
}
|
||||
password = password_buf;
|
||||
}else{
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,11 +10,13 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <cjson/cJSON.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -31,6 +33,9 @@ void ctrl_help(void)
|
||||
|
||||
int ctrl_main(int argc, char *argv[], struct mosq_ctrl *ctrl)
|
||||
{
|
||||
UNUSED(argc);
|
||||
UNUSED(ctrl);
|
||||
|
||||
if(!strcasecmp(argv[0], "help")){
|
||||
ctrl_help();
|
||||
return -1;
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -89,11 +89,11 @@ int ctrl_config_parse(struct mosq_config *cfg, int *argc, char **argv[])
|
||||
|
||||
init_config(cfg);
|
||||
|
||||
/* Deal with real argc/argv */
|
||||
rc = client_config_line_proc(cfg, argc, argv);
|
||||
rc = client_config_load(cfg);
|
||||
if(rc) return rc;
|
||||
|
||||
rc = client_config_load(cfg);
|
||||
/* Deal with real argc/argv */
|
||||
rc = client_config_line_proc(cfg, argc, argv);
|
||||
if(rc) return rc;
|
||||
|
||||
#ifdef WITH_TLS
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -135,7 +135,7 @@ int get_password(const char *prompt, const char *verify_prompt, bool quiet, char
|
||||
if(!quiet){
|
||||
fprintf(stderr, "Error: Passwords do not match.\n");
|
||||
}
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -392,7 +392,7 @@ void handle_sigint(int signal)
|
||||
|
||||
static bool is_username_valid(const char *username)
|
||||
{
|
||||
int i;
|
||||
size_t i;
|
||||
size_t slen;
|
||||
|
||||
if(username){
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -46,7 +46,7 @@ static int client_config_line_proc(struct mosq_config *cfg, int pub_or_sub, int
|
||||
|
||||
static int check_format(const char *str)
|
||||
{
|
||||
int i;
|
||||
size_t i;
|
||||
size_t len;
|
||||
|
||||
len = strlen(str);
|
||||
@@ -357,7 +357,7 @@ int client_config_load(struct mosq_config *cfg, int pub_or_sub, int argc, char *
|
||||
* program name as the first entry. */
|
||||
args[1] = strtok(line, " ");
|
||||
if(args[1]){
|
||||
args[2] = strtok(NULL, " ");
|
||||
args[2] = strtok(NULL, "");
|
||||
if(args[2]){
|
||||
count = 3;
|
||||
}else{
|
||||
@@ -1395,7 +1395,7 @@ int client_connect(struct mosquitto *mosq, struct mosq_config *cfg)
|
||||
/* Convert %25 -> %, %3a, %3A -> :, %40 -> @ */
|
||||
static int mosquitto__urldecode(char *str)
|
||||
{
|
||||
int i, j;
|
||||
size_t i, j;
|
||||
size_t len;
|
||||
if(!str) return 0;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -275,7 +275,7 @@ int pub_stdin_line_loop(struct mosquitto *mosq)
|
||||
break;
|
||||
}else{
|
||||
line_buf_len += 1024;
|
||||
pos += 1023;
|
||||
pos += read_len-1;
|
||||
read_len = 1024;
|
||||
buf2 = realloc(line_buf, (size_t )line_buf_len);
|
||||
if(!buf2){
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -125,7 +125,7 @@ int load_file(const char *filename)
|
||||
return 1;
|
||||
}
|
||||
pos = 0;
|
||||
while(pos < cfg.msglen){
|
||||
while(pos < (size_t)cfg.msglen){
|
||||
rlen = fread(&(cfg.message[pos]), sizeof(char), (size_t )cfg.msglen-pos, fptr);
|
||||
pos += rlen;
|
||||
}
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -96,6 +96,8 @@ static void write_payload(const unsigned char *payload, int payloadlen, int hex,
|
||||
int i;
|
||||
int padlen;
|
||||
|
||||
UNUSED(precision); /* FIXME - use or remove */
|
||||
|
||||
if(field_width > 0){
|
||||
if(payloadlen > field_width){
|
||||
payloadlen = field_width;
|
||||
@@ -357,6 +359,9 @@ static int json_print(const struct mosquitto_message *message, const mosquitto_p
|
||||
|
||||
return MOSQ_ERR_SUCCESS;
|
||||
#else
|
||||
UNUSED(properties);
|
||||
UNUSED(pretty);
|
||||
|
||||
strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S.000000Z%z", ti);
|
||||
snprintf(&buf[strlen("2020-05-06T21:48:00.")], 9, "%06d", ns/1000);
|
||||
buf[strlen("2020-05-06T21:48:00.000000")] = 'Z';
|
||||
@@ -625,7 +630,7 @@ static void formatted_print_percent(const struct mosq_config *lcfg, const struct
|
||||
static void formatted_print(const struct mosq_config *lcfg, const struct mosquitto_message *message, const mosquitto_property *properties)
|
||||
{
|
||||
size_t len;
|
||||
int i;
|
||||
size_t i;
|
||||
struct tm *ti = NULL;
|
||||
long ns = 0;
|
||||
char strf[3] = {0, 0 ,0};
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -59,6 +59,8 @@ WITH_SYS_TREE:=yes
|
||||
|
||||
# Build with systemd support. If enabled, mosquitto will notify systemd after
|
||||
# initialization. See README in service/systemd/ for more information.
|
||||
# Setting to yes means the libsystemd-dev or similar package will need to be
|
||||
# installed.
|
||||
WITH_SYSTEMD:=no
|
||||
|
||||
# Build with SRV lookup support.
|
||||
@@ -125,7 +127,7 @@ WITH_XTREPORT=no
|
||||
|
||||
# Also bump lib/mosquitto.h, CMakeLists.txt,
|
||||
# installer/mosquitto.nsi, installer/mosquitto64.nsi
|
||||
VERSION=2.0.5
|
||||
VERSION=2.0.8
|
||||
|
||||
# Client library SO version. Bump if incompatible API/ABI changes are made.
|
||||
SOVERSION=1
|
||||
@@ -179,6 +181,7 @@ PLUGIN_LDFLAGS:=$(LDFLAGS)
|
||||
|
||||
ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD), $(findstring $(UNAME),NetBSD)),)
|
||||
BROKER_LDADD:=$(BROKER_LDADD) -lm
|
||||
BROKER_LDFLAGS:=$(BROKER_LDFLAGS) -Wl,--dynamic-list=linker.syms
|
||||
SEDINPLACE:=-i ""
|
||||
else
|
||||
BROKER_LDADD:=$(BROKER_LDADD) -ldl -lm
|
||||
|
||||
@@ -3,8 +3,8 @@ FROM alpine:3.12
|
||||
LABEL maintainer="Roger Light <roger@atchoo.org>" \
|
||||
description="Eclipse Mosquitto MQTT Broker"
|
||||
|
||||
ENV VERSION=1.6.12 \
|
||||
DOWNLOAD_SHA256=548d73d19fb787dd0530334e398fd256ef3a581181678488a741a995c4f007fb \
|
||||
ENV VERSION=1.6.13 \
|
||||
DOWNLOAD_SHA256=ce205248dd323e4e562ff83e9e84d0f9a16f4bda87183c367c66a7163c0fc287 \
|
||||
GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7 \
|
||||
LWS_VERSION=2.4.2 \
|
||||
LWS_SHA256=73012d7fcf428dedccc816e83a63a01462e27819d5537b8e0d0c7264bfacfad6
|
||||
|
||||
@@ -3,8 +3,8 @@ FROM alpine:3.12
|
||||
LABEL maintainer="Roger Light <roger@atchoo.org>" \
|
||||
description="Eclipse Mosquitto MQTT Broker"
|
||||
|
||||
ENV VERSION=1.6.12 \
|
||||
DOWNLOAD_SHA256=548d73d19fb787dd0530334e398fd256ef3a581181678488a741a995c4f007fb \
|
||||
ENV VERSION=1.6.13 \
|
||||
DOWNLOAD_SHA256=ce205248dd323e4e562ff83e9e84d0f9a16f4bda87183c367c66a7163c0fc287 \
|
||||
GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7 \
|
||||
LWS_VERSION=2.4.2 \
|
||||
LWS_SHA256=73012d7fcf428dedccc816e83a63a01462e27819d5537b8e0d0c7264bfacfad6
|
||||
|
||||
@@ -3,8 +3,8 @@ FROM alpine:3.12
|
||||
LABEL maintainer="Roger Light <roger@atchoo.org>" \
|
||||
description="Eclipse Mosquitto MQTT Broker"
|
||||
|
||||
ENV VERSION=2.0.5 \
|
||||
DOWNLOAD_SHA256=67eaeb4160e5793715c017f53c4f42808d76129b7ad131d765a6a23792e58d5d \
|
||||
ENV VERSION=2.0.8 \
|
||||
DOWNLOAD_SHA256=b15da8fc4edcb91d554e1259e220ea0173ef639ceaa4b465e06feb7e125b84bf \
|
||||
GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7 \
|
||||
LWS_VERSION=2.4.2 \
|
||||
LWS_SHA256=73012d7fcf428dedccc816e83a63a01462e27819d5537b8e0d0c7264bfacfad6 \
|
||||
@@ -106,7 +106,7 @@ RUN set -x && \
|
||||
VOLUME ["/mosquitto/data", "/mosquitto/log"]
|
||||
|
||||
# Set up the entry point script and default command
|
||||
COPY docker-entrypoint.sh /
|
||||
COPY docker-entrypoint.sh mosquitto-no-auth.conf /
|
||||
EXPOSE 1883
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
|
||||
|
||||
@@ -18,13 +18,51 @@ Two docker volumes have been created in the image to be used for persistent stor
|
||||
The image runs mosquitto under the mosquitto user and group, which are created
|
||||
with a uid and gid of 1883.
|
||||
|
||||
## Running without a configuration file
|
||||
Mosquitto 2.0 requires you to configure listeners and authentication before it
|
||||
will allow connections from anything other than the loopback interface. In the
|
||||
context of a container, this means you would normally need to provide a
|
||||
configuration file with your settings.
|
||||
|
||||
If you wish to run mosquitto without any authentication, and without setting
|
||||
any other configuration options, you can do so by using a configuration
|
||||
provided in the container for this purpose:
|
||||
```
|
||||
docker run -it -p 1883:1883 eclipse-mosquitto:<version> mosquitto -c /mosquitto-no-auth.conf
|
||||
```
|
||||
|
||||
## Configuration
|
||||
When creating a container from the image, the default configuration values are used.
|
||||
To use a custom configuration file, mount a **local** configuration file to `/mosquitto/config/mosquitto.conf`
|
||||
|
||||
```
|
||||
docker run -it -p 1883:1883 -v <absolute-path-to-configuration-file>:/mosquitto/config/mosquitto.conf eclipse-mosquitto:<version>
|
||||
```
|
||||
|
||||
Your configuration file must include a `listener`, and you must configure some
|
||||
form of authentication or allow unauthenticated access. If you do not do this,
|
||||
clients will be unable to connect.
|
||||
|
||||
|
||||
File based authentication and authorisation:
|
||||
```
|
||||
listener 1883
|
||||
password_file /mosquitto/data/mosquitto.password_file
|
||||
acl_file /mosquitto/data/mosquitto.aclfile
|
||||
```
|
||||
|
||||
Plugin based authentication and authorisation:
|
||||
```
|
||||
listener 1883
|
||||
plugin /usr/lib/mosquitto_dynamic_security.so
|
||||
plugin_opt_config_file /mosquitto/data/mosquitto-dynsec.json
|
||||
```
|
||||
|
||||
Unauthenticated access:
|
||||
```
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
```
|
||||
|
||||
:boom: if the mosquitto configuration (mosquitto.conf) was modified
|
||||
to use non-default ports, the docker run command will need to be updated
|
||||
to expose the ports that have been configured, for example:
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# This is a Mosquitto configuration file that creates a listener on port 1883
|
||||
# that allows unauthenticated access.
|
||||
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
@@ -3,8 +3,8 @@ FROM alpine:3.12
|
||||
LABEL maintainer="Roger Light <roger@atchoo.org>" \
|
||||
description="Eclipse Mosquitto MQTT Broker"
|
||||
|
||||
ENV VERSION=2.0.5 \
|
||||
DOWNLOAD_SHA256=67eaeb4160e5793715c017f53c4f42808d76129b7ad131d765a6a23792e58d5d \
|
||||
ENV VERSION=2.0.8 \
|
||||
DOWNLOAD_SHA256=b15da8fc4edcb91d554e1259e220ea0173ef639ceaa4b465e06feb7e125b84bf \
|
||||
GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7 \
|
||||
LWS_VERSION=2.4.2 \
|
||||
LWS_SHA256=73012d7fcf428dedccc816e83a63a01462e27819d5537b8e0d0c7264bfacfad6 \
|
||||
@@ -108,7 +108,7 @@ RUN set -x && \
|
||||
VOLUME ["/mosquitto/data", "/mosquitto/log"]
|
||||
|
||||
# Set up the entry point script and default command
|
||||
COPY docker-entrypoint.sh /
|
||||
COPY docker-entrypoint.sh mosquitto-no-auth.conf /
|
||||
EXPOSE 1883
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
|
||||
|
||||
+39
-1
@@ -18,13 +18,51 @@ Two docker volumes have been created in the image to be used for persistent stor
|
||||
The image runs mosquitto under the mosquitto user and group, which are created
|
||||
with a uid and gid of 1883.
|
||||
|
||||
## Running without a configuration file
|
||||
Mosquitto 2.0 requires you to configure listeners and authentication before it
|
||||
will allow connections from anything other than the loopback interface. In the
|
||||
context of a container, this means you would normally need to provide a
|
||||
configuration file with your settings.
|
||||
|
||||
If you wish to run mosquitto without any authentication, and without setting
|
||||
any other configuration options, you can do so by using a configuration
|
||||
provided in the container for this purpose:
|
||||
```
|
||||
docker run -it -p 1883:1883 eclipse-mosquitto:<version> mosquitto -c /mosquitto-no-auth.conf
|
||||
```
|
||||
|
||||
## Configuration
|
||||
When creating a container from the image, the default configuration values are used.
|
||||
To use a custom configuration file, mount a **local** configuration file to `/mosquitto/config/mosquitto.conf`
|
||||
|
||||
```
|
||||
docker run -it -p 1883:1883 -v <absolute-path-to-configuration-file>:/mosquitto/config/mosquitto.conf eclipse-mosquitto:<version>
|
||||
```
|
||||
|
||||
Your configuration file must include a `listener`, and you must configure some
|
||||
form of authentication or allow unauthenticated access. If you do not do this,
|
||||
clients will be unable to connect.
|
||||
|
||||
|
||||
File based authentication and authorisation:
|
||||
```
|
||||
listener 1883
|
||||
password_file /mosquitto/data/mosquitto.password_file
|
||||
acl_file /mosquitto/data/mosquitto.aclfile
|
||||
```
|
||||
|
||||
Plugin based authentication and authorisation:
|
||||
```
|
||||
listener 1883
|
||||
plugin /usr/lib/mosquitto_dynamic_security.so
|
||||
plugin_opt_config_file /mosquitto/data/mosquitto-dynsec.json
|
||||
```
|
||||
|
||||
Unauthenticated access:
|
||||
```
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
```
|
||||
|
||||
:boom: if the mosquitto configuration (mosquitto.conf) was modified
|
||||
to use non-default ports, the docker run command will need to be updated
|
||||
to expose the ports that have been configured, for example:
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# This is a Mosquitto configuration file that creates a listener on port 1883
|
||||
# that allows unauthenticated access.
|
||||
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
+2
-36
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -66,7 +66,7 @@ extern "C" {
|
||||
|
||||
#define LIBMOSQUITTO_MAJOR 2
|
||||
#define LIBMOSQUITTO_MINOR 0
|
||||
#define LIBMOSQUITTO_REVISION 5
|
||||
#define LIBMOSQUITTO_REVISION 8
|
||||
/* LIBMOSQUITTO_VERSION_NUMBER looks like 1002001 for e.g. version 1.2.1. */
|
||||
#define LIBMOSQUITTO_VERSION_NUMBER (LIBMOSQUITTO_MAJOR*1000000+LIBMOSQUITTO_MINOR*1000+LIBMOSQUITTO_REVISION)
|
||||
|
||||
@@ -1613,40 +1613,6 @@ libmosq_EXPORT int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt
|
||||
*/
|
||||
libmosq_EXPORT int mosquitto_void_option(struct mosquitto *mosq, enum mosq_opt_t option, void *value);
|
||||
|
||||
/*
|
||||
* Function: mosquitto_string_option
|
||||
*
|
||||
* Used to set const char* options for the client.
|
||||
*
|
||||
* Parameters:
|
||||
* mosq - a valid mosquitto instance.
|
||||
* option - the option to set.
|
||||
* value - the option specific value.
|
||||
*
|
||||
* Options:
|
||||
* MOSQ_OPT_TLS_ENGINE
|
||||
* Configure the client for TLS Engine support. Pass a TLS Engine ID
|
||||
* to be used when creating TLS connections.
|
||||
* Must be set before <mosquitto_connect>.
|
||||
* MOSQ_OPT_TLS_KEYFORM
|
||||
* Configure the client to treat the keyfile differently depending
|
||||
* on its type. Must be set before <mosquitto_connect>.
|
||||
* Set as either "pem" or "engine", to determine from where the
|
||||
* private key for a TLS connection will be obtained. Defaults to
|
||||
* "pem", a normal private key file.
|
||||
* MOSQ_OPT_TLS_KPASS_SHA1
|
||||
* Where the TLS Engine requires the use of a password to be
|
||||
* accessed, this option allows a hex encoded SHA1 hash of the
|
||||
* private key password to be passed to the engine directly.
|
||||
* Must be set before <mosquitto_connect>.
|
||||
* MOSQ_OPT_TLS_ALPN
|
||||
* If the broker being connected to has multiple services available
|
||||
* on a single TLS port, such as both MQTT and WebSockets, use this
|
||||
* option to configure the ALPN option for the connection.
|
||||
*/
|
||||
libmosq_EXPORT int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t option, const char *value);
|
||||
|
||||
|
||||
/*
|
||||
* Function: mosquitto_reconnect_delay_set
|
||||
*
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -37,6 +37,7 @@ extern "C" {
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
|
||||
struct mosquitto;
|
||||
typedef struct mqtt5__property mosquitto_property;
|
||||
@@ -158,8 +159,8 @@ struct mosquitto_evt_tick {
|
||||
void *future;
|
||||
long now_ns;
|
||||
long next_ns;
|
||||
int now_s;
|
||||
int next_s;
|
||||
time_t now_s;
|
||||
time_t next_s;
|
||||
void *future2[4];
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
|
||||
|
||||
Name "Eclipse Mosquitto"
|
||||
!define VERSION 2.0.5
|
||||
!define VERSION 2.0.8
|
||||
OutFile "mosquitto-${VERSION}-install-windows-x86.exe"
|
||||
|
||||
InstallDir "$PROGRAMFILES\mosquitto"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
|
||||
|
||||
Name "Eclipse Mosquitto"
|
||||
!define VERSION 2.0.5
|
||||
!define VERSION 2.0.8
|
||||
OutFile "mosquitto-${VERSION}-install-windows-x64.exe"
|
||||
|
||||
!include "x64.nsh"
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
@@ -92,7 +92,7 @@ int mosquitto_publish_v5(struct mosquitto *mosq, int *mid, const char *topic, in
|
||||
}else{
|
||||
tlen = strlen(topic);
|
||||
if(mosquitto_validate_utf8(topic, (int)tlen)) return MOSQ_ERR_MALFORMED_UTF8;
|
||||
if(payloadlen < 0 || payloadlen > MQTT_MAX_PAYLOAD) return MOSQ_ERR_PAYLOAD_SIZE;
|
||||
if(payloadlen < 0 || payloadlen > (int)MQTT_MAX_PAYLOAD) return MOSQ_ERR_PAYLOAD_SIZE;
|
||||
if(mosquitto_pub_topic_check(topic) != MOSQ_ERR_SUCCESS){
|
||||
return MOSQ_ERR_INVAL;
|
||||
}
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ The Eclipse Public License is available at
|
||||
and the Eclipse Distribution License is available at
|
||||
http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR EDL-1.0
|
||||
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
|
||||
Contributors:
|
||||
Roger Light - initial implementation and documentation.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user