Roger A. Light
6dec2b468b
Remove redundant expiry checks
...
This is all now handled in session_expiry.c, through session expiry interval/time.
2019-11-28 16:19:57 +00:00
Roger A. Light
a46b45b006
Fix persistent_client_expiration not being used
...
Closes #1494 . Thanks to Christoph Krey.
2019-11-28 16:17:41 +00:00
Roger Light
d92360dd8e
Split sub and retain trees.
2019-11-22 14:07:15 +00:00
Roger A. Light
d003fed383
MQTT v5 bridges can handle "retain-available" being false.
2019-11-07 13:31:42 +00:00
Roger A. Light
2af260ba58
Add bridge_outgoing_retain
option
...
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
2019-11-07 11:59:29 +00:00
Roger A. Light
05171b266d
Fix TLS Websockets clients not receiving messages.
...
This can occurs after one client takes over a previous connection.
Closes #1489 . Thanks to Bas Verhoeven.
2019-11-06 22:25:33 +00:00
Roger A. Light
b622aaeee4
Fix messages with an expiry interval missing the property.
...
They would be be sent without an expiry interval property just before
they were expired.
Closes #1464 . Thanks to Dustin Sallings.
2019-10-31 12:56:13 +00:00
Roger A. Light
06a27e799f
Fix retained messages with an expiry interval not being expired.
...
This happened after being restored from persistence.
Closes #1464 . Thanks to Dustin Sallings.
2019-10-31 12:54:20 +00:00
Roger A. Light
d49988fa6f
Rejig unix socket support.
2019-10-30 21:48:53 +00:00
Roger A. Light
253326dcc9
Fix problems with reloading config when per_listener_settings
was true.
...
Closes #1459 . Thanks to Thomas Markin Klein.
2019-10-15 15:32:24 +01:00
Roger A. Light
b660283e64
Basic MQTT v5 support for bridges.
...
This gives equivalent behaviour as for v3.1.1/v3.1 bridges, there is no extra functionality yet.
2019-10-09 10:54:44 +01:00
Roger A. Light
847c3f1f8b
Move bridge on connect code to bridge.c.
2019-10-09 10:51:42 +01:00
Roger A. Light
1ab19f2b3d
Make error messages clearer when bridge misconfigured
2019-10-09 10:06:31 +01:00
Roger A. Light
17c32d89d9
Restrict access to unix socket.
2019-10-09 09:55:11 +01:00
Roger A. Light
43a692dfbe
Add new files to cmakelists.
2019-10-08 20:56:56 +01:00
Roger A. Light
499e2f2e98
Add support for unix sockets to broker, lib, and clients.
2019-10-08 20:55:31 +01:00
Roger A. Light
fad184c9c2
Bridge remapping refactoring and tests.
2019-10-03 16:46:15 +01:00
Roger A. Light
8463c33720
Refactor property remaining length calculation.
2019-10-03 10:36:24 +01:00
Roger A. Light
cfacd961c9
Only a single CRL could be loaded at once. This has been fixed.
...
Closes #1442 . Thanks to charlemagnelasse.
2019-10-02 13:37:52 +01:00
Roger A. Light
c471dfb201
Fix sub topics being limited to 200 chars instead of 200 levels
...
Closes #1441 . Thanks to Christoph Krey.
2019-10-02 13:00:01 +01:00
Roger A. Light
b942b73b6d
Fix incorrect memory tracking causing problems with memory_limit option.
...
Closes #1437 . Thanks to Guillaume Bour.
2019-10-01 16:57:54 +01:00
Roger A. Light
4db1e80410
More allow_zero_length_clientid fixes.
...
Closes #1429 . Thanks to Dustin Sallings.
2019-09-26 11:53:58 +01:00
Roger A. Light
539c1b9bcb
Tests for zero length client id, plus fix for one case where it was allowed
2019-09-26 11:14:52 +01:00
Roger A. Light
54ed3c0fc9
Merge branch 'master' into develop
2019-09-25 19:09:10 +01:00
Roger A. Light
6a01453ce0
Build fixes.
2019-09-25 12:17:17 +01:00
Roger A. Light
9584463c75
Fix potential crash when reloading config.
...
Closes #1424 , #1425 . Thanks to JinPingChng and peteakalad.
2019-09-25 11:24:47 +01:00
Roger A. Light
1a8c44b84f
Fix regression on use of mosquitto_connect_async()
not working.
...
Closes #1415 and #1422 . Thanks to Karl Palsson, Till Zimmermann and Liam Fry.
2019-09-24 20:15:04 +01:00
Roger A. Light
096380fbdc
Add workaround for libwebsockets 3.2.0.
2019-09-24 10:21:51 +01:00
Roger A. Light
2fd7f5270a
mosquitto_passwd returns 1 on an error condition
...
When attempting to update a user that does not exist.
Closes #1414 . Thanks to kdgde.
2019-09-17 09:37:16 +01:00
Roger A. Light
1066750931
Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
...
Closes #1412 . Thanks to Ryan Shaw.
2019-09-15 22:57:36 +01:00
Roger A. Light
0a0ad4cd6c
Fix for old libwebsockets versions.
2019-09-12 17:15:46 +01:00
Roger A. Light
ce68040f22
Refuse to compile with lws 3.2.0.
2019-09-12 14:44:27 +01:00
Roger A. Light
8f6ac1b64a
Fix for websockets regression.
2019-09-12 13:31:01 +01:00
Roger A. Light
5941291bd5
Fix build WITH_TLS=no
2019-09-11 16:16:38 +01:00
Roger A. Light
9ad5fe7d95
Fix repeated "Error in poll" messages on Windows.
...
This occurs when only websockets listeners are defined.
Closes #1391 . Thanks to stopak.
2019-09-11 15:53:36 +01:00
Roger A. Light
4dc98c4cef
Fix CRL file not being reloaded on HUP.
...
Closes #35 .
2019-09-11 09:08:02 +01:00
Roger Light
31f09d1206
Merge pull request #1405 from woelfman/fix-engine-key-uri
...
Fix usage of tls_engine and tls_keyform.
2019-09-08 20:44:19 +01:00
Matt Woelfel
39803e538f
Fix usage of tls_engine and tls_keyform.
...
The current implementation does not properly forward the engine
parameters to OpenSSL causing OpenSSL to incorrectly attempt to open the
engine key uri as a file.
Sponsored-by: Trimble, Inc.
Signed-off-by: Matt Woelfel <matt@woelfware.com>
2019-09-07 18:56:59 -05:00
Roger A. Light
034324c46d
Fix websockets 3.2 causing slow connection on non-websockets listeners
...
Closes #1406 . Thanks to pbrenna.
2019-09-07 21:45:56 +01:00
Roger A. Light
5fd92cbfbd
Further fix for #1401 .
2019-09-06 22:28:11 +01:00
Roger A. Light
3c35c6cdd9
Fix Will not being sent if will delay greater than session expiry.
...
Closes #1401 . Thanks to Will Lisac.
2019-09-05 12:46:46 +01:00
Roger A. Light
f1516f86cb
Improve error messages in some situations when clients disconnect.
...
Reduces the number of "Socket error on client X, disconnecting"
messages.
2019-09-05 12:31:52 +01:00
Roger A. Light
779c6cc234
Fix leak introduced in previous commit.
2019-09-05 12:10:04 +01:00
Roger A. Light
f6b22f8248
Fix clients using use_identity_as_*
being disconnected on SIGHUP.
...
Closes #1402 . Thanks to twegener-embertec.
2019-09-05 11:37:43 +01:00
Roger A. Light
4658dba6b3
Fix slow websockets performance when sending large messages.
...
Closes #1390 . Thanks to aalibasic.
2019-08-29 14:12:58 +01:00
Roger A. Light
4c4ca38938
Fix support for libwebsockets 3.x.
2019-08-29 14:12:58 +01:00
YangHau
abfdc2f8a6
Remove useless if statement
...
If statement for detecting if a pointer is NULL
is totally unnecessary.
Signed-off-by: YangHau <vulxj0j8j8@gmail.com>
2019-08-16 02:04:52 +08:00
Roger A. Light
570c3674fb
Drop privs to nobody if mosquitto user does not exist.
2019-08-07 10:42:03 +01:00
Roger A. Light
1c1ccaee52
Merge branch 'master' into develop
2019-08-06 15:04:36 +01:00
Roger A. Light
cbced051e7
Better check for printable db_dump payloads.
2019-08-06 13:24:06 +01:00
Roger A. Light
9c3e6b4ccc
Remove debug printfs.
2019-08-06 13:18:39 +01:00
Roger A. Light
50695f8103
Fix v5 DISCONNECT packets with remaining length == 2.
...
These were being treated as a protocol error.
Closes #1367 . Thanks to Frank Pagliughi.
2019-08-05 21:13:23 +01:00
Roger A. Light
c269e6f019
db_dump: Update for version 5 file format
...
Closes #1320 . Thanks to Christoph Krey.
2019-08-01 15:49:25 +01:00
Roger Light
07d2504bf5
Merge pull request #1254 from ccvca/fix_passwd_len
...
Fix password input when MAX_BUFFER_LEN is not 1024 in mosquitto_passwd.c
2019-08-01 10:18:34 +01:00
Roger A. Light
efc8ed39af
Fix incoming msgs not being removed when there are no subs
...
Fix incoming messages not being removed for a client if the topic being
published to does not have any subscribers.
Closes #1322 . Thanks to Yannic Schröder.
2019-07-31 18:52:51 +01:00
Roger A. Light
696a9b8019
Fix incomgin QoS 2 with max_inflight_messages set to 1.
...
Closes #1332 . Thanks to xmas79.
2019-07-30 23:25:12 +01:00
Roger A. Light
13ac1080a0
Refactoring bridge code
...
This separates out a good amount from the main loop code.
2019-07-11 14:43:32 +01:00
Roger A. Light
d17d7c9229
Fix persistent clients being incorrectly expired on Raspberry Pis.
...
Closes #1272 . Thanks to BowenMarmot and addendumE.
2019-06-25 17:01:41 +01:00
Matevz Mihalic
0a5fbc403b
Fix plugin psk_key_get for v4
...
Signed-off-by: Matevz Mihalic <matevz.mihalic@gmail.com>
2019-06-17 13:00:27 +02:00
Roger A. Light
587debc013
Fix incoming/outgoing quota problems for QoS>0.
2019-05-31 22:44:34 +01:00
Roger A. Light
142d07f45a
Fix MQTT v5 overlapping subscription behaviour.
...
Clients now receive message from all matching subscriptions rather than
the first one encountered, which ensures the maximum QoS requirement is
met.
2019-05-29 16:19:18 +01:00
Roger A. Light
de695af8c0
Fix zero length client ids being rejected for MQTT v5 clients.
...
This was happening when clean start was set to true.
2019-05-29 16:07:45 +01:00
Roger A. Light
e51e40e95c
Fix incorrect shared subscription topic of '$shared.'
2019-05-29 15:40:17 +01:00
Roger A. Light
b42bb99ba6
Disable TLS renegotiation.
...
Client initiated renegotiation is considered to be a potential attack
vector against servers.
Closes #1257 . Thanks to Daniele Sluijters.
2019-05-29 11:47:18 +01:00
Roger Light
44d170053d
Merge pull request #1255 from etactica/ssl-fixes
...
Ssl fixes for ENGINE and UI includes
2019-05-29 10:34:11 +01:00
Roger A. Light
96d0a26902
Only add to disused if session expiry is 0.
2019-05-28 23:37:26 +01:00
Roger A. Light
5088202529
Fix persistent Websockets clients not receiving messages.
...
This occurs after they reconnect, having sent DISCONNECT
on a previous session.
Closes #1227 . Thanks to usernametaken.
2019-05-28 22:13:22 +01:00
Roger A. Light
3dd8eb722b
Colour internal logs for visibility.
2019-05-28 22:00:11 +01:00
Roger A. Light
00eee59ad9
Add 'extern "C"' on public headers.
...
mosquitto_broker.h and mosquitto_plugin.h
Thanks to Wolfgang Petroschka.
Closes #1290 .
2019-05-23 11:03:09 +01:00
Roger A. Light
a900e3a1a7
Mention mosquitto_broker.h in mosquitto_plugin.h.
2019-05-22 16:49:04 +01:00
Roger A. Light
f974b91084
Consistent ref counting inc and dec functions.
2019-05-22 13:20:45 +01:00
Roger A. Light
b4dfeb3767
Fix MQTT v5 clients not being able to specify a password without a username.
...
Thanks to Erik Moqvist.
Closes #1274 .
2019-05-21 23:56:22 +01:00
Roger A. Light
999c478c88
Fixes for bug #1273
...
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.
Thanks to Yannic Schröder.
Closes #1273 .
2019-05-21 17:08:52 +01:00
Roger A. Light
ef3e52d40b
Fix default max_topic_alias listener config not being used.
...
This was not being copied to the in-use listener when compiled without
TLS support.
2019-05-16 14:03:39 +01:00
Roger A. Light
cd3877e628
Fix detection of incoming v3.1/v3.1.1 bridges.
...
Closes #1263 . Thanks to vrst37.
2019-05-08 11:53:51 +01:00
Karl Palsson
22303848e2
ssl: support openssl with ENGINE support disabled.
...
Alternatively, just drop support for this config.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2019-05-02 16:44:14 +00:00
Christian von Arnim
324ed6be76
Fix password input when MAX_BUFFER_LEN is not 1024 in mosquitto_passwd.c
...
Signed-off-by: Christian von Arnim <christian.vonarnim@gmail.com>
2019-05-01 09:56:55 +02:00
Roger A. Light
e742c1c2f1
Fix $SYS/broker/version being incorrectly expired after 60 seconds.
...
Close #1245 . Thanks to Christoph Krey.
2019-04-30 13:25:56 +01:00
Roger A. Light
f64d3b1e5c
Fix broker originated messages not being sent.
...
This occurred when `check_retain_source` was set to true.
Closes #1245 . Thanks to Christoph Krey.
2019-04-30 13:25:54 +01:00
Roger A. Light
a9f17cea95
Fix Will message not allowing user-property properties.
2019-04-30 13:25:27 +01:00
Roger A. Light
eebdbc86c4
Fix access after free when v5 client with Will message disconnects.
...
The Will message has as its first property one of content-type,
correlation-data, payload-format-indicator, or response-topic.
Closes #1244 . Thanks to Christoph Krey.
2019-04-30 13:21:05 +01:00
Roger A. Light
42fb2f5538
Fix build for WITH_TLS=no.
...
Closes #1250 . Thanks to bmparr.
2019-04-29 22:56:22 +01:00
Roger A. Light
439575475c
Use CMAKE_INSTALL_* variables when installing in CMake.
...
Closes #1049 . Thanks to Greg Troxel.
2019-04-26 17:07:05 +01:00
Roger A. Light
efa649f451
Don't call ldconfig in CMake scripts.
...
Closes #1048 . Thanks to Greg Troxel.
2019-04-26 17:07:02 +01:00
Roger A. Light
3b4a5419c3
Build fixes around CFLAGS et al.
...
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS.
Closes #1232 . Thanks to Greg Troxel.
2019-04-26 17:06:54 +01:00
Roger A. Light
4dcd977932
Windows build fixes.
2019-04-17 20:09:59 +01:00
Roger A. Light
449103e960
Merge remote-tracking branch 'refs/remotes/origin/fixes'
...
Conflicts:
ChangeLog.txt
2019-04-17 17:51:34 +01:00
Roger A. Light
3e6cb42a40
Fix minor Coverity issues
...
1400727 - unused value
1400726 - dereference after null check
1400728 - derefence before null check
2019-04-17 16:20:46 +01:00
Roger A. Light
689989cc56
Fix inflight quota inc/dec for both broker and library.
2019-04-17 16:15:41 +01:00
Roger A. Light
6438ce861e
Minor build variant fixes.
2019-04-17 11:00:54 +01:00
Roger A. Light
32fde3885c
Fix missing errors for websockets.
2019-04-17 09:43:38 +01:00
Roger A. Light
8531cb1d79
Separate broker message queues into in/out.
...
This allows and includes better flow control handling for QoS>0.
2019-04-17 09:29:34 +01:00
Roger A. Light
baf1909ffb
Improve some messages when client disconnects.
2019-04-16 11:40:07 +01:00
Roger A. Light
fb1979c0ea
Fix build on SmartOS due to missing IPV6_V6ONLY.
...
Thanks to Matt Ingenthron.
Closes #1212 .
2019-04-11 21:26:29 +01:00
Roger Light
77aaec686e
Merge pull request #1224 from omenlabs/ALPN
...
Bridge TLS Application-Layer Protocol Negotiation
2019-04-11 11:08:15 +01:00
Roger A. Light
638ab2f969
Fix unexpected behaviour when reusing a mid after a publish is denied.
2019-04-10 22:33:31 +01:00
Roger A. Light
8a651ff6c3
Remove remnant from before the conversion to utlist.
2019-04-09 18:51:43 +01:00
Roger A. Light
ad3b7ec778
Fix Coverity Scan 1400486-1400487. Unused values.
2019-04-05 22:38:14 +01:00
Roger A. Light
0d3c7fe778
Fix Coverity 1302840. No effect comparison.
2019-04-05 22:18:20 +01:00
Roger A. Light
e4d0d52b01
Fix Coverity Scan 1400483-1400485.
...
Logically dead code.
2019-04-05 22:02:11 +01:00