Roger A. Light
9b5112f547
Fix unsigned compared against 0.
...
Coverity Scan 1431132.
2020-08-06 13:43:57 +01:00
Roger A. Light
872222c3c9
Remove unused values.
...
Coverity Scan 1431134, 1431136, 1431140.
2020-08-06 13:42:35 +01:00
Roger A. Light
1b060bb064
Guard against use-after-free.
...
Coverity Scan 1431131, 1431135, 1431141.
2020-08-06 13:36:24 +01:00
Roger A. Light
84e4ba2c1e
Send DISCONNECT with malformed-packet reason code on bad PUBLISHes.
2020-08-02 23:12:47 +01:00
Roger A. Light
b1e9377a20
Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs.
2020-08-02 15:10:12 +01:00
Roger A. Light
8416b007ec
Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs.
2020-08-02 14:22:40 +01:00
Simon Tate
1608151569
Fix bridge reconnect
...
In the mux_epoll__add_in function, no context->events was set. Previously this was set to match the ev.events (EPOLLIN). Adding this back in, keeps the code consistent to before it was refactored to split out epoll and poll functions, as well as being consistent with the other mux_epoll__ functions.
If this is not set, the connection is never fully established when the broker comes back up.
Fixes #1680 .
Signed-off-by: Simon Tate <simon.tate@bt.com>
2020-07-20 15:47:48 +01:00
Roger A. Light
3dd3ac4f0c
Path fix for travis.
2020-07-16 16:19:33 +01:00
Roger A. Light
34db6e77b4
cJSON make install
doesn't build, so build it first.
2020-07-16 12:11:08 +01:00
Roger A. Light
86e7eed8b7
Fix minor leak when cleaning a bridge on exit.
2020-07-16 12:03:39 +01:00
Roger A. Light
0edb3e49e7
Remove debug mode
2020-07-16 11:23:25 +01:00
Roger A. Light
4f9a1a53ce
Fix incorrect store ref count usage.
2020-07-16 11:18:04 +01:00
Roger A. Light
b5be4fb4af
Fix test
2020-07-16 09:36:42 +01:00
Roger A. Light
f846711ea2
mosquitto_pub now sends 0 length files without an error when using -f
.
2020-07-15 12:03:15 +01:00
Roger A. Light
f46187d5e5
Add mosquitto_client_protocol_version()
function.
...
This can be used by plugins to determine which version of MQTT a client
has connected with.
2020-07-12 23:01:20 +01:00
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