Commit Graph

765 Commits

Author SHA1 Message Date
Roger Light
80a4063bb4
Merge pull request #2683 from guillaumepellegrino/fixes_memleak
Fix memory leak in mosquitto_tls_opts_set()
2022-12-07 22:41:29 +00:00
Roger A. Light
06d5835270 Add more WITH_BROKER guards. 2022-12-03 22:59:14 +00:00
Guillaume PELLEGRINO
9018f12dfc Fix memory leak in mosquitto_tls_opts_set()
When calling mosquitto_tls_opts_set() multiple time in a row
on the same mosquitto context (Example: trying to reconnect
to mqtt broker), some of the tls options are not free, resulting in a memory leak.

The TLS options (tls_version, tls_ciphers) must be free before being set.

Signed-off-by: Guillaume PELLEGRINO <guillaume.pellegrino@yahoo.com>
2022-11-09 10:17:03 +01:00
Roger Light
7ff2198c7d
Merge pull request #2648 from impulsdampf22/fixes
Fixed empty string crash in mosquitto_property_copy_all
2022-11-03 18:43:13 +00:00
Roger A. Light
0cee0d1d11 Fix Coverity Scan 1486944 (backport from develop) 2022-10-26 10:06:38 +01:00
Alexander Fiebig
28416da47a Fixed empty string crash in mosquitto_property_copy_all
Signed-off-by: Alexander Fiebig <alex.fiebig@online.de>
2022-10-08 19:08:21 +02:00
Roger A. Light
5c3c5d779f Fix Coverity 1486949 2022-08-31 11:36:53 +01:00
Roger A. Light
49ebb58569 Fix failure to close thread in some situations.
Closes #2545. Thanks to p-luke.
2022-08-15 22:17:00 +01:00
Roger A. Light
02b92b97ef Fix use of MOSQ_OPT_SSL_CTX when used with MOSQ_OPT_SSL_CTX_DEFAULTS
Closes #2463. Thanks to Tim Nordell.
2022-08-10 17:18:33 +01:00
Roger A. Light
6468bb4f9b Fix documentation omission around mosquitto_reinitialise.
Closes #2489. Thanks to rroguski
2022-08-10 14:31:34 +01:00
Roger A. Light
e979a46c04 Backport SSL connect fixes.
Closes #2594.
Closes #2595.
2022-08-09 21:25:54 +01:00
Roger A. Light
a913de2d28 Fix some PUBLISH messages not being counted in $SYS stats.
Closes #2448. Thanks to Antoine.
2022-08-08 00:29:37 +01:00
Roger A. Light
0c9d9f2163 Don't set SIGPIPE to ignore, use MSG_NOSIGNAL instead.
Closes #2564. Thanks to nmeum.
2022-08-07 23:04:46 +01:00
Roger A. Light
2e061afcc6 Fix build 2022-06-03 20:49:59 +01:00
Roger A. Light
ebfebf8708 Fix bridges not sending failure notification messages.
This is for messages to the local broker if the remote bridge connection
fails.

Closes #1488.
Closes #2467.
2022-05-25 16:23:35 +01:00
Roger A. Light
b6b8039914 Fix use of MOSQ_OPT_TLS_ENGINE being unable to be used.
This was due to the openssl ctx not being initialised until starting to connect.

Closes #2537. Thanks to chessing-c4.
2022-05-17 17:19:17 +01:00
Christian Salvasohn
4077987593 fix data race mosquitto_loop function
next_msg_out must be protected with the msgtime_mutex
as done everywhere else in the code else there is a data race
e.g. if mosquitto_publish is called from another thread

Signed-off-by: Christian Salvasohn <csalvasohn@gmx.de>
2022-04-13 20:05:35 +02:00
Roger A. Light
39f3030643 Fix client_generated flag not being copied on properties.
Closes #2401. Thanks to Diorcet Yann.
2022-02-24 14:05:11 +00:00
Roger A. Light
96931643a4 Use strings.h for strcasecmp, except on Windows.
Closes #2420. Thanks to Frédéric Fauberteau.
2022-02-24 12:02:16 +00:00
Roger A. Light
94fcd470d0 Fix incorrect subscribe_callback in mosquittopp.h.
Closes #2367. Thanks to Jens Alfke.
2021-11-17 00:23:04 +00:00
Roger A. Light
11975332d4 Fix mosquitto_topic_matches_sub2() not using the length parameters.
Closes #2364. Thanks to Jens Alfke.
2021-11-16 23:14:24 +00:00
Roger A. Light
f3590f3020 Don't pass NULL to printf %s.
This is undefined behaviour, and some platforms don't like it.

Issue #2355. Thanks to CJ Lee.
2021-11-15 22:29:19 +00:00
Roger Light
68504da4a6
Merge pull request #2372 from podsvirov/install-libmosquitto-archive
Set ARCHIVE DESTINATION for mosquitto library
2021-11-15 21:39:03 +00:00
Konstantin Podsvirov
b34817cfab Set ARCHIVE DESTINATION for mosquitto library
Signed-off-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2021-11-06 16:18:04 +03:00
Konstantin Podsvirov
6187143384 Set ARCHIVE DESTINATION for mosquittopp library
Signed-off-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2021-11-06 16:10:45 +03:00
Roger A. Light
7b614b3b59 Move to end of file on append, when on Windows. 2021-10-15 15:52:19 +01:00
Roger A. Light
be80a3f4d0 Fix client id not showing in log on failed connections, where possible. 2021-10-06 10:09:38 +01:00
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
Roger A. Light
0ce167c472 Fix log file being truncated on Windows. 2021-10-05 11:33:35 +01:00
Roger Light
3f62e80300
Merge pull request #2317 from doragasu/fixes_discon_cb_on_tls_err
Call disconnect callback on TLS error.
2021-10-01 17:27:39 +01:00
Roger A. Light
9e28eea0a2 Initialise sockpairR/W to invalid in mosquitto_reinitialise()
This avoids closing invalid sockets in `mosquitto_destroy()` on error.

Closes #2326. Thanks to Arrigo Zanette.
2021-09-24 16:50:53 +01:00
Roger A. Light
330bf6efdc Various fixes around inflight quota management.
Closes #2306. Thanks to canique.
2021-09-22 17:20:24 +01:00
doragasu
4471ee9e47 Call disconnect callback on TLS error.
When using the library asynchronously, TLS errors caused e.g. because
of the date/time not set correctly, cause the connection to be silently
dropped without the disconnection callback being invoked, as described
in issue #1052.

This commit fixes the issue, returning the behavior to the one the
library had previous to version 1.5.4, if a TLS error occurs, the
disconnect callback will be invoked for the client to get notified of
the error.

Signed-off-by: doragasu <doragasu@protonmail.com>
2021-09-16 17:06:55 +02:00
Roger A. Light
d09591d92e Fix reconnecting in some cases when using MOSQ_OPT_TLS_USE_OS_CERTS.
Fix reconnecting failing when MOSQ_OPT_TLS_USE_OS_CERTS was in use, but none
of capath, cafile, psk, nor MOSQ_OPT_SSL_CTX were set, and
MOSQ_OPT_SSL_CTX_WITH_DEFAULTS was set to the default value of true.

Closes #2288. Thanks to Poltorak Serguei.
2021-08-31 15:59:40 +01:00
Roger A. Light
605131502b Fix MOSQ_OPT_SSL_CTX not being able to be set to NULL.
Closes #2289. Thanks to Poltorak Serguei.
2021-08-31 10:45:10 +01:00
Roger A. Light
9d6a73f9f7 Fix CONNECT performance with many user-properties.
An MQTT v5 client connecting with a large number of user-property properties
could cause excessive CPU usage, leading to a loss of performance and
possible denial of service. This has been fixed.
2021-08-26 12:17:42 +01:00
Roger Light
32af599c81 Fix $share subscriptions not being recovered for durable clients.
If a plugin had granted ACL subscription access to a
durable/non-clean-session client, then removed that access, the client would
keep its existing subscription. This has been fixed.
2021-08-26 12:17:26 +01:00
Roger A. Light
376226c129 Build warning fixes. 2021-08-26 10:54:03 +01:00
Roger A. Light
9b25dd3b0d libressl build fixes.
Closes #2198. Thanks to Theo Buehler.
2021-08-24 13:53:03 +01:00
Roger A. Light
0d1837ebe3 Deconfigure thread mode when the loop thread ends.
Threaded mode is deconfigured when the mosquitto_loop_start() thread ends,
which allows mosquitto_loop_start() to be called again.

Closes #2242. Thanks to Timo Lange.
2021-08-24 11:51:38 +01:00
Roger A. Light
9526b4cf23 Check for file==dir only when reading. 2021-08-23 23:19:37 +01:00
Roger Light
ba2ca33671 Strict protocol compliance fixes, and extensive test suite. 2021-08-23 23:19:28 +01:00
Roger Light
723b5d7081 Fix listener mount_point not being removed on outgoing messages.
Closes #2244. Thanks to alflexRH.
2021-08-22 08:23:13 +01:00
Roger Light
6608e852a1 Fix broker not quiting if password_file is specified as a directory.
Closes #2241. Thanks to Bryan Pearson.
2021-08-21 22:45:39 +01:00
Roger Light
93b2232bb9 Apply max_keepalive to MQTT v3.1.1 and v3.1 clients. 2021-08-20 23:27:14 +01:00
Roger A. Light
ea371564e7 Disable TLS 1.3 when using TLS-PSK, because it isn't correctly config'd. 2021-08-19 17:26:04 +01:00
Roger A. Light
a37c8e65d2 TLS-PSK mismatch fix.
Produce an error if a TLS-PSK client tries to connect to a broker
that is not configured with TLS-PSK.
2021-08-19 17:26:04 +01:00
Roger A. Light
79542158f4 Fix max_connections option not being correctly counted. 2021-08-17 13:10:18 +01:00
Roger A. Light
4e146b7b53 Fix possible out of bounds memory reads when reading configuration.
This would happen with a corrupt/crafted configuration file. Unless your
configuration file is writable by untrusted users this is not a risk.

Closes #567213. Thanks to Roland Sako.
2021-07-22 16:43:06 +01:00
Roger A. Light
8416f928df Revert premature want_connect fix. 2021-06-08 22:26:14 +01:00