Roger A. Light
8416b007ec
Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs.
2020-08-02 14:22:40 +01:00
Roger A. Light
1f717873d6
Log protocol error message where appropriate from a bad UNSUBSCRIBE
...
Rather than the generic "socket error".
Related to #1765 .
2020-07-31 23:01:15 +01:00
Abilio Marques
d5aae3eca7
lazy init SSL
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2020-07-23 17:48:56 +02: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
2b1a22776b
Only call setvbuf on open files.
2020-07-19 21:59:28 +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
4f9a1a53ce
Fix incorrect store ref count usage.
2020-07-16 11:18:04 +01:00
Roger A. Light
54f3b686dc
Fix "slow" file based logging by switching to line based buffering.
...
Closes #1689 . Closes #1741 . Thanks to Brett M. Gordon and tt92.
2020-07-15 22:28:19 +01:00
Roger A. Light
8234d24b1b
Fix websockets clients sometimes not being disconnected promptly.
...
Closes #1718 . Thanks to Luca Casonato.
2020-07-15 22:06:29 +01:00
Roger A. Light
b4e0dfa598
Fix autosave_interval
not being triggered by messages being delivered.
...
Closes #1726 . Thanks to nduhme.
2020-07-15 19:29:40 +01:00
Roger A. Light
4e0312c55f
Fix messages being queued for disconnected bridges
...
This occurred incorrectly when clean start was set to true.
Closes #1729 . Thanks to Andreyooo.
2020-07-15 17:08:00 +01:00
Roger A. Light
1d66d3e443
Fix bridge topic remapping when using "" as the topic.
...
Closes #1749 . Thanks to cieslarchristian.
2020-07-15 00:19:44 +01:00
Roger A. Light
5a56f066a8
Change systemd unit files to create /var/log/mosquitto
...
This happens before starting the broker.
Also don't quit with an error if opening the log file isn't possible.
Closes #821 .
2020-07-14 20:10:54 +01:00
Roger A. Light
abb31ffe8d
Fix broker refusing to start if only websockets listeners were defined.
...
Closes #1740 . Thanks to OkenKhuman.
2020-07-14 17:27:57 +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
Sigmund Vik
5481575f8b
Fix FormatMessage warnings for Windows.
...
From the FormatMessage() Win32 API documentation: "The lpBuffer
parameter is a pointer to an LPTSTR; you must cast the pointer
to an LPTSTR (for example, (LPTSTR)&lpBuffer)."
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-formatmessage#parameters
This commit fixes warnings like these:
warning C4047: 'function': 'LPSTR' differs in levels of indirection from 'char **'
warning C4024: 'FormatMessageA': different types for formal and actual parameter 5
Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
2020-07-12 22:34:20 +01:00
Sigmund Vik
a75d574870
Fix sys_tree macro stubs with no arguments.
...
This fixes Visual Studio compiler warnings like this one:
"warning C4003: not enough arguments for function-like
macro invocation 'G_MSGS_DROPPED_INC'"
Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
2020-07-12 22:26:00 +01:00
Sigmund Vik
20972a2819
Add broker ready message.
...
Before this commit there was no good way to detect that the
Mosquitto broker was done with its startup phase on systems
without systemd.
On such systems it was tricky to e.g. start the broker from
a test where ports are dynamically assigned and one have to
deal with potential port conflicts. Without a way to know
that the broker is done with its startup phase, there was no
way to know if the broker was able to acquire the port (for
both IPv4 and IPv6) without waiting for some unknown period
of time (when many tests are run in parallel a single process
might be starved for resources).
With this new broker ready message it is easy for the parent
process to monitor the broker output and figure out when the
port was successfully acquired.
Signed-off-by: Sigmund Vik <sigmund_vik@yahoo.com>
2020-07-10 22:48:58 +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
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
Jasper Lievisse Adriaanse
2758401829
only link with libm on OpenBSD
...
fixes "ld: error: unable to find library -ldl"
Signed-off-by: Jasper Lievisse Adriaanse <jasper@humppa.nl>
2020-06-17 15:54:24 +01:00
Roger A. Light
4b541ad5ca
Fix usage message not mentioning v5.0.
...
Closes #1713 . Thanks to whnr.
2020-06-09 15:42:51 +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
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
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
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
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
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
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
4ab0f4bd39
Fix bundled deps option not being propagated to library.
...
Issue #1641 .
2020-03-27 21:44:19 +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
Michael
24e34434a4
Move SSL prepare and accept operations out of deep loop
...
Since all resources are ready, do not need lookup again.
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
2020-03-12 12:25:24 +00:00
Michael Liu
7953649b1c
Fix potential memory leak.
...
WebSocket context may lost since db->ll_for_free = NULL; operation on the bottom of context__free_disused() function.
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
2020-03-12 12:09:00 +00:00
Roger A. Light
c84d175b3d
Fixes for the poor souls stuck on <c99.
...
Closes #1622 .
2020-03-12 10:29:11 +00:00
Roger A. Light
c175e836a7
Print openssl error when unable to load server key.
2020-03-05 10:54:13 +00:00
Roger A. Light
d96543c0b8
Merge branch 'fixes' into develop
2020-03-03 12:54:57 +00:00
Roger A. Light
b0a065f790
Update changelog. Release page. Bump copyright.
2020-02-27 23:26:58 +00:00
Roger A. Light
0c68c20d2b
Fix mosquitto_client_protocol()
returning incorrect values.
2020-02-27 15:01:41 +00:00
Roger A. Light
db02c9162d
Add plugin that prints out calls, to help debugging.
2020-02-27 15:01:41 +00:00
Roger A. Light
032af6bf69
Add missing header
2020-02-27 15:01:41 +00:00
Roger A. Light
c4e41f3444
Back port db_dump from develop.
...
Closes #1519 . Thanks to Christoph Krey.
2020-02-06 16:44:04 +00:00
Roger A. Light
2a8c1d03f5
Merge branch 'coverity-fixes' into fixes
2020-02-06 16:20:52 +00:00
Gianfranco Costamagna
078ad752cd
cmake: add ADNS enable/disable dynamic support
...
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2020-02-06 15:24:09 +00:00
Gianfranco Costamagna
e9a7150031
Bugfix: enabling DLT was overriding everything else on linker flags because of error in cmake set keyword
...
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2020-02-06 15:21:40 +00:00
Roger A. Light
07c54627e9
Print OpenSSL errors in more situations
...
Covers when loading certificates fails, or there are ENGINE problems.
Closes #1552 . Thanks to Michael Richardson.
2020-02-04 16:59:29 +00:00
Roger A. Light
27b4518d7e
Improve password file parsing in the broker and mosqitto_passwd.
...
Closes #1584 . Thanks to panava.
2020-02-04 16:38:51 +00:00
Roger A. Light
ed5db1bd6b
Fix bind_interface
not working for the default listener.
...
Closes #1533 . Thanks to Markus Gothe.
2020-01-30 22:48:15 +00:00
Roger A. Light
e188a6b500
More whitespace trimming fixes/consolidation.
2020-01-30 22:26:13 +00:00
Roger A. Light
32969169f7
Trim whitespace from acl topics.
2020-01-30 19:55:55 +00:00
Roger A. Light
70fd600c3a
Fix trailing whitespace not being trimmed on acl users.
...
Closes #1539 . Thanks to CliveJL and LeonPoon.
2020-01-30 19:52:46 +00:00
Roger A. Light
9a0de5ef61
Free log_timestamp_format on exit.
...
Closes #1523 . Thanks to Basavesh Shivakumar.
2020-01-30 16:19:10 +00:00
Roger A. Light
11ece604c4
Merge branch 'bugfix-MemLeak_in_handle_unsubscribe' of git://github.com/panava/mosquitto into panava-bugfix-MemLeak_in_handle_unsubscribe
2020-01-30 14:22:12 +00:00
Roger A. Light
3220790790
Merge branch 'bugfix-MemoryLeak_in_persist_read' of git://github.com/panava/mosquitto into panava-bugfix-MemoryLeak_in_persist_read
2020-01-30 12:40:16 +00:00
Roger A. Light
50735afb5b
Fix for internal logging not printing.
2020-01-29 16:25:56 +00:00
Panagiotis Vasilikos
618413e1d2
Resource leak in persist_read.c
...
Reason: In lines 435 and 439, the function returns without calling closing
fptr which was opened at line 399.
Fix: I added fclose(fptr) statements before each of the returns.
Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
2020-01-29 13:30:24 +01:00
Roger A. Light
9ae38788dc
Fix config->user not being freed on exit.
...
Closes #1564 . Thanks to back1127.
2020-01-28 16:52:14 +00:00
Roger A. Light
812c0636d5
Satisfy valgrind when exiting on error.
...
This is when due to not being able to open a listening socket, solved by
calling freeaddrinfo in the error cases.
Closes #1565 . Thanks to back1127.
2020-01-28 16:12:45 +00:00
Roger A. Light
e7c9f009bd
Strip whitespace from end of config file string options.
...
Closes #1566 . Thanks to kollokollo.
2020-01-28 16:04:25 +00:00
Panagiotis Vasilikos
49bf788862
Memory leak in handle_unsubscribe.c
...
Reason: In line 70, the memory allocation for the pointer reasons_codes may
result to a memory leak due to the many returns (e.g as the one in line 78)
occuring in the program's path until reaching the mosquitto__free at line 122.
Fix: I added a mosquitto__free(reason_codes) statement before each return
statement that could result to a memory leak
Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
2020-01-28 16:31:15 +01:00
Panagiotis Vasilikos
0f7052564c
Memory leak in handle_unsubscribe.c
...
Reason: In line 70, the memory allocation for the pointer reasons_codes may
result to a memory leak due to the many returns (e.g as the one in line 78)
occuring in the program's path until reaching the mosquitto__free at line 122.
Fix: I moved the memory allocation code block (lines 69-73) just before
the line 102. This is the first place the pointer reason_codes is used, while
the following mosquitto__free operators free the allocated memory correctly.
Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
2020-01-24 16:34:56 +01:00
Roger A. Light
5528dde56a
Fix possible null dereferences.
2020-01-23 12:51:12 +00:00
Roger A. Light
05ec02b3f3
Remove dead values.
2020-01-23 10:55:49 +00:00
Roger A. Light
18f0508a6e
Fix dereference before null check.
...
Coverity Scan 1405815.
2020-01-23 10:08:26 +00:00
Roger A. Light
db62f9843f
Fix unused value being overwritten.
...
Coverity Scan 1400727.
2020-01-23 09:35:28 +00:00
Roger A. Light
d452ea138b
Use presence of password file as indicator for authentication checks.
...
Previously, authentication checks would only take place if usernames
were defined in the password file.
Closes #1545 . Thanks to Timothy Godfrey.
2019-12-20 00:19:17 +00:00
Roger A. Light
b6119bb759
Check ACL patterns for validity when loading.
...
Closes #1539 . Thanks to Leon Poon.
2019-12-18 21:39:27 +00:00
Roger A. Light
e5561cd09e
Fix db_dump compilation.
...
Closes #1520 .
2019-12-12 16:54:23 +00:00
Roger A. Light
c8789180f3
Fix session expiry with very large expiry intervals.
...
Closes #1525 . Thanks to Christoph Krey.
2019-12-12 09:40:37 +00:00
Roger A. Light
8a6f179c83
Fix comment.
2019-12-11 15:15:40 +00:00
Roger A. Light
3f0c202aa5
Reduce heap allocation churn when tokenising topics.
2019-12-11 13:23:59 +00:00
Roger A. Light
c0443637e8
Merge branch 'master'
...
Conflicts:
ChangeLog.txt
config.mk
src/context.c
src/loop.c
src/subs.c
test/broker/01-connect-bad-packet.py
test/broker/02-subpub-qos1-bad-pubcomp.py
test/broker/02-subpub-qos1-bad-pubrec.py
test/broker/02-subpub-qos2-bad-puback-1.py
test/broker/02-subpub-qos2-bad-puback-2.py
test/broker/02-subpub-qos2-bad-pubcomp.py
test/broker/02-subpub-qos2.py
test/broker/07-will-null-topic.py
2019-12-03 13:59:05 +00:00
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
John Hickey
c011be62a4
Bridge TLS Application-Layer Protocol Negotiation
...
In order to connect to brokers that support both websockets and
mqtt on the same port (such as Amazon IoT), we need to set an
application for the SSL context. This change allows the specification
of an application by using the `bridge_alpn` configuration token.
Signed-off-by: John Hickey <jjh-github@daedalian.us>
2019-04-04 17:27:52 -07:00
Roger A. Light
2e7dcee342
Multistep auth, plus reauth, plus tests.
2019-04-04 22:08:55 +01:00
Roger A. Light
c1776a0b39
Add reauth parameter for extended auth.
2019-04-04 15:09:53 +01:00
Roger A. Light
0f6e51d582
Code and tests for returning single stage auth data back to client.
2019-04-04 14:36:03 +01:00
Roger A. Light
494f35bd8d
Add mosquitto_set_username() plugin function.
2019-04-04 12:39:38 +01:00
Roger A. Light
a29a7dadc6
Basic plugin support for single step extended auth.
2019-04-04 11:37:04 +01:00
Roger A. Light
da84b9a983
Restrict what packets are allowed in what client state.
2019-04-03 20:46:21 +01:00