Commit Graph

2319 Commits

Author SHA1 Message Date
Roger A. Light
316f0be77a Add post on test.mosquitto.org cert update. 2020-06-09 12:43:31 +01:00
Roger A. Light
f39bf49f90 Docker: update to 1.6.10.
Also:

* Update to alpine:3.12.
* Use openssl.
* Enable TLS-PSK.
* Remove obsolete 1.4.12 dockerfile.
2020-06-02 21:27:55 +01:00
Roger A. Light
8123e767de Release post. 2020-05-25 23:48:51 +01:00
Roger A. Light
b5a98318c0 Merge branch 'fixes' 2020-05-25 23:43:06 +01:00
Roger A. Light
d95513ae15 Man pages generated as part of web page, so no need to copy. 2020-05-25 23:41:17 +01:00
Roger A. Light
cea0423e69 Update changelog and version. 2020-05-25 23:40:15 +01:00
Roger A. Light
6bd435d721 Fix possible assert crash associated with bridge reconnecting.
This only occurs when compiled without epoll support.

Closes #1700. Thanks to Matthias Urlichs.
2020-05-25 23:38:13 +01:00
Martin Kelly
8d54aaef89 add a refcount to library init/cleanup
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 11:20:39 +01:00
Abilio Marques
22ffefe7f6 remove cjson stranded reference when building WITH_CJSON=no
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2020-05-20 11:17:13 +01:00
Roger A. Light
ce463c185b Update changelog. 2020-05-20 11:02:11 +01:00
Martin Kelly
d103174b5c correct mosquitto.h return code documentation
We currently erroneously claim that mosquitto_lib_init cannot fail,
while it can fail on Windows, if WSAStartup fails in net__init. Correct
this.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 10:59:00 +01:00
Martin Kelly
61a50c60d2 add a refcount to library init/cleanup
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 10:57:40 +01:00
Roger A. Light
eae8c9aab4 Fix check when loading persistence file of a different version
Closes #1684. Thanks to grekhss.
2020-05-15 22:11:26 +01:00
Roger A. Light
762ad432e8 Fix support for openssl 3.0 2020-05-12 13:39:49 +01:00
Roger A. Light
24049b1a1e Fix mosquitto_sub %j or %J not working on Windows.
Closes #1674. Thanks to amigian74.
2020-05-06 22:24:58 +01:00
Roger A. Light
c766bdfeb0 Display time out message only on SIGALRM. 2020-05-06 22:23:06 +01:00
Roger A. Light
b726e2f1ec mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format. 2020-05-06 22:21:21 +01:00
Roger A. Light
c343812c42 Improve client test for unexpected pubrel. 2020-05-05 23:25:42 +01:00
Roger A. Light
946257bf30 Remove spurious version heading. 2020-05-05 16:01:17 +01:00
Roger A. Light
e755827f4f Free outgoing client messages even for non-bridges. 2020-05-05 15:37:04 +01:00
Roger A. Light
ee7d1981ff Merge branch 'rfc-bridge-local-clean' of git://github.com/etactica/mosquitto into etactica-rfc-bridge-local-clean 2020-05-05 14:33:02 +01:00
Roger A. Light
d3247a830a Fix memory leak when connecting clients are rejected. 2020-05-05 14:31:13 +01:00
Roger A. Light
bb0e5bb7d3 Add missing header. 2020-05-05 14:20:56 +01:00
Roger A. Light
b2e72a7e7c Fix memory leaks only in tests. 2020-05-05 14:19:04 +01:00
Roger A. Light
bfc82ea91a Fix incorrect check. 2020-05-05 13:13:24 +01:00
Roger A. Light
4960fc0702 Don't disconnect clients that are already disconnected.
This prevents the session expiry being extended on SIGHUP.

Closes #1521. Thanks to Christoph Krey.
2020-05-01 22:45:40 +01:00
Roger A. Light
c5d6f32341 Be more tolerant when loading persistence files. 2020-05-01 21:51:07 +01:00
Roger A. Light
eeaafed485 Fix memory leak when connecting clients rejected. 2020-04-30 17:31:13 +01:00
Roger A. Light
ff2b111cb3 Fix minor memory leak when load bridge prefixes. 2020-04-30 17:06:51 +01:00
Roger A. Light
4392320bc3 Fix memory leak when cleaning all shared subs. 2020-04-30 16:58:46 +01:00
Roger A. Light
ea47f6b0dc Clearer client disconnection message. 2020-04-28 10:42:49 +01:00
Roger A. Light
5908585afd Fix mosquitto_passwd -b not updating passwords for existing users
Closes #1664. Thanks to Leon Kiefer.
2020-04-26 22:44:57 +01:00
Roger A. Light
0296bd2e55 Update example Docker ports.
Port 9001 is used by Intel drivers on Windows, so some users are
suddenly seeing a problem.

Issue #1580.
2020-04-23 13:10:11 +01:00
Roger A. Light
40bad1a999 Fix conversion warnings in client code
Issue #1653.
2020-04-16 23:26:14 +01:00
Roger A. Light
3758e0c328 Fix mosquitto_passwd not being able to create pwfile with -b. 2020-04-08 12:38:15 +01:00
Roger A. Light
cef9d891ae Tidy up main(). 2020-04-08 11:34:31 +01:00
Roger A. Light
fdaeaee6dd Fix test. 2020-04-07 16:10:02 +01:00
Roger A. Light
c72dd39f92 Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1
This applies if connecting to a v3.x only broker.
2020-04-02 10:26:36 +01:00
Roger A. Light
3e9eae401e Missing / in bridge remapping doc. 2020-03-31 10:13:20 +01:00
Roger A. Light
904284595f Add missing test file. 2020-03-30 20:47:30 +01:00
Roger A. Light
21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 2020-03-28 23:33:01 +00:00
Roger A. Light
de25ff694e Report invalid bridge prefix+pattern combinations at config parsing time
Rather than letting the bridge fail later.

Issue #1635. Thanks to pokerazor.
2020-03-28 22:44:35 +00:00
Roger A. Light
f0deb9a5a1 CMake: Make building clients, broker and C++ library optional.
Issue #1641.
2020-03-27 21:57:06 +00:00
Roger A. Light
4ab0f4bd39 Fix bundled deps option not being propagated to library.
Issue #1641.
2020-03-27 21:44:19 +00:00
Roger A. Light
76248320d7 Travis: Use bionic distro. 2020-03-27 00:07:48 +00:00
Roger Light
986bf89f47 Prototype separate poll/epoll files. 2020-03-26 10:35:02 +00:00
Roger A. Light
c3e824ee22 Remove duplicate strlen() calls. 2020-03-26 09:32:01 +00:00
Roger A. Light
95faff36aa Fix ref counting of retained messages. 2020-03-26 09:11:50 +00:00
Roger A. Light
0b7b7389b0 Remove duplicate UTF-8 check
All strings are already validated in packet__read_string().
2020-03-26 09:09:11 +00:00
Karl Palsson
07d73c7e3a bridge: support bridge local clean session
This adds the ability to separating bridge clean session settings between
the local and remote endpoints.  Some broker implmentations refuse to allow
non-clean sessions, as they don't support storing messages to be sent to
the connecting broker.  However, this doesn't mean that the local
broker can't be queueing messages to send _out_ to the remote broker.

This PR adds a new bridge connection setting, local_cleansession, that
allows controlling this split. Naming is chosen to be local_ in keeping
with the other local_ settings for bridges.

A test for the six cases of queued/not queued messages in both
directions is added, but v5 testing is currently disabled.  The changes
to support the split are ~independent of protocol version.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 12:35:06 +00:00