Commit Graph

2039 Commits

Author SHA1 Message Date
Roger A. Light
abc191ad00 db_dump: Fix mosquitto_msg_store usage. 2020-07-10 22:00:11 +01:00
Roger A. Light
a07edaa4a0 db_dump: Print error when file not accessible. 2020-07-10 21:46:44 +01:00
Roger A. Light
4379f78cec Travis: Manual install of cJSON . 2020-07-10 21:30:30 +01:00
Roger A. Light
5b4b079105 mosquitto_pub: Print reason string on publish error, if it exists. 2020-07-10 17:10:23 +01:00
Roger A. Light
6deb417804 Simplify db__message_store() interface. 2020-07-10 16:09:33 +01:00
Roger A. Light
3e595d557e Add db__msg_store_free() for freeing stored messages. 2020-07-10 13:31:37 +01:00
Roger A. Light
e3e8dc4ea4 Allow send__pub{ack,rec,rel,comp} to send properties. 2020-07-10 12:29:53 +01:00
Roger Light
318dead6bf Function to allow plugins to publish messages. 2020-06-30 10:31:34 +01:00
Roger A. Light
e54bac2a54 No need to pass separate username/password here. 2020-06-30 10:21:43 +01:00
Roger A. Light
73cc271d37 Allow auth plugin to see all logins, unless accepted by password file. 2020-06-30 10:07:54 +01:00
Roger A. Light
2e32634a95 DLT logging is now configurable at runtime with log_dest dlt.
Closes #1735. Thanks to Brian Orpin.
2020-06-30 00:51:57 +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
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
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
c5d6f32341 Be more tolerant when loading persistence files. 2020-05-01 21:51:07 +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
cef9d891ae Tidy up main(). 2020-04-08 11:34:31 +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
f0deb9a5a1 CMake: Make building clients, broker and C++ library optional.
Issue #1641.
2020-03-27 21:57:06 +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
Karl Palsson
1a93bab80a mosq_test: add do_receive_send counterpart
Like do_send_receive() but aimed for mocking the other side.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:17 +00:00
Karl Palsson
e700c1c523 mosq_test: print stderr from failure to start broker
Doesn't matter when the tests are running, but useful when you're
writing tests.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:17 +00:00
Karl Palsson
3d45c3186c test/broker: align identical code
06-bridge-b2br-disconnect-qos1 and
06-bridge-br2b-disconnect-qos1 have ~identical header code.

unify the identical bits to make it easier to visually see this.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 10:47:11 +00:00
Karl Palsson
efb21fb09c doc: lib clarify _topic_check functions
Removed some whitespace and copy paste errors.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
8c16d7cd50 doc: add mqtt5 property options.
This just gets them all listed, explaining the available apis where they
could be used is left as further work.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
1b4b6f4a2c doc: lib: properly flag code samples for formatting
Uses the NaturalDocs 1.5 compatible style. (Forward compatible with v2)
Uses > for short snippets and the tagged style for longer snippets.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
fd83d2274f doc: lib: avoid unintended code formatting
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
1331399228 doc: lib: specifically document mqtt5_sub_options
This makes the documentation of the options available in
https://mosquitto.org/api/files/mosquitto-h.html#mosquitto_subscribe_v5
a lot cleaner. (and also _subscribe_multiple())

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
d46707fe02 doc: lib_vesion: correctly format return values
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
765f7343c2 doc: lib: _xxx_option() and opts_set() cleanup list syntax
This change improves the option list rendering by correctly triggering
naturaldocs detection of the lists.  No change other than line breaks
and whitespace.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
6c7ef15112 doc: lib: group all _option functions together.
_string_option was grouped with the callbacks instead of _int_option and
_void_option.  Grouped them all together neatly.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Michael
4d658bd569 Fix compile error/warning
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
2020-03-12 12:13:26 +00:00
Roger A. Light
0da723c1ec Add --random-filter to mosquitto_sub. 2020-03-03 14:12:30 +00:00
Roger A. Light
d96543c0b8 Merge branch 'fixes' into develop 2020-03-03 12:54:57 +00:00
Roger A. Light
386f3cc188 Merge branch 'fixes' 2020-02-27 23:28:03 +00:00
Roger A. Light
b544b46156 Update version. 2020-02-27 23:27:29 +00:00
Roger A. Light
b0a065f790 Update changelog. Release page. Bump copyright. 2020-02-27 23:26:58 +00:00
Roger A. Light
c2ec6f002e Fix test to match fixed protocol check. 2020-02-27 23:12:28 +00:00