1
0
mirror of https://github.com/eclipse/mosquitto.git synced 2025-05-09 01:01:11 +08:00

796 Commits

Author SHA1 Message Date
mzymon
a111d92970 Fix 3239. Added COMPAT_ prefix to pthread_ calls
Signed-off-by: mzymon <mzymon@proton.me>
2024-10-30 16:49:32 +00:00
Roger A. Light
0174abe8f3 Don't allow invalid response-topic values. 2024-10-16 15:30:44 +01:00
Roger A. Light
88b7bb3521 Fix NetBSD build 2024-10-12 17:01:09 +01:00
Roger A. Light
fecf4797d9 Open files with appropriate access on Windows.
Closes #3119.
2024-10-11 17:56:49 +01:00
Roger A. Light
849a1d3f8e Fix library cross compilation.
Closes #3129.
2024-10-08 17:27:53 +01:00
Roger A. Light
30adcd6e39 Fix cmake build on OS X.
Closes #3125.
2024-10-06 21:07:27 +01:00
Roger A. Light
8ab20b4ba4 Don't allow SUBACK with missing reason codes.
Closes Eclipse #190
2024-10-02 10:26:08 +01:00
Roger A. Light
7399ac67d1 Don't call memcpy with NULL destination, even with size=0 2024-10-02 10:25:33 +01:00
Carsten Andrich
d3975c8525 fix unused variable warning in net__socket_connect_tls()
Signed-off-by: Carsten Andrich <carsten@andrich.name>
2024-09-07 00:31:04 +01:00
Carsten Andrich
c22ced4915 fix unused parameter warning (only with cmake -DWITH_TLS=OFF) in mosquitto_void_option()
Signed-off-by: Carsten Andrich <carsten@andrich.name>
2024-09-07 00:31:04 +01:00
Roger A. Light
57b5549b3d Fix "payload format invalid" not being allowed as a PUBREC reason code.
Thanks to mdrssv
2024-09-07 00:17:37 +01:00
Roger A. Light
f6d0ddcae0 Clear SSL error state to avoid spurious error reporting.
Thanks to koranyellow. Closes #3054.
2024-09-06 23:56:42 +01:00
Diego Santa Cruz
688fa86de4 fix CLOCK_BOOTTIME use on kernels not having it
When the libc headers used to build mosquitto define CLOCK_BOOTTIME but
the kernel where mosquitto runs does not implement CLOCK_BOOTTIME, all
timestamps are wrong (uninitialized data), because there is no check for
the success of the clock_gettime() calls.

This adds probing for the availability of CLOCK_BOOTTIME from
mosquitto_lib_init(), falling back to CLOCK_MONOTONIC, and then modifies
mosquitto_time() to use the selected clock. Probing at init time avoids
having to do two clock_gettime() calls for every timestamp if
CLOCK_BOOTTIME is not available.

It also fixes a similar problem in mosquitto_lib_init().

Signed-off-by: Diego Santa Cruz <diego.santacruz@spinetix.com>
2024-09-06 23:41:56 +01:00
Flávio Tapajós
a87b5ff6d8 Increase logging of errors
commit 6113eac95a9df634fbc858be542c4a0456bfe7b9 started using MQTT_RC_*
enums as a handle__publish return value, which typically were MOSQ_ERR_*
values.

Signed-off-by: Flávio Tapajós <flavio.tapajos@newtesc.com.br>
2024-09-06 23:26:48 +01:00
Roger A. Light
a3e5deb952 Use vcpkg Windows build for 2.0, re-enable thread support 2024-04-21 22:28:26 +01:00
Roger A. Light
28590fa383 Remove unused headers 2023-11-15 22:45:38 +00:00
Gianfranco Costamagna
5b011ff112 Add dynamic symbols linking with cmake too
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2023-09-26 23:40:50 +02:00
Roger A. Light
97c25654ed Add helper messages for lax permissions 2023-09-18 22:21:56 +01:00
Roger A. Light
bfb373d774 Fix max_queued_message 0 stopping clients from receiving messages.
Closes #2789. Thanks to Daedaluz.
2023-08-22 07:40:54 +01:00
Roger A. Light
284db04bc3 Library will no longer allow single level wildcard certificates, e.g. *.com 2023-08-16 14:01:21 +01:00
Roger A. Light
6113eac95a Fix for CVE-2023-28366 2023-08-16 14:01:21 +01:00
Roger A. Light
a3c680fbb0 Fix for Eclipse #581199 2023-08-16 14:01:21 +01:00
Roger A. Light
4ca294fd9c Warn on lax permissions on sensitive files.
- Broker will log warnings if sensitive files are world readable/writable, or
  if the owner/group is not the same as the user/group the broker is running
  as. In future versions the broker will refuse to open these files.
2023-08-16 14:01:21 +01:00
Roger Light
4093dad058
Merge pull request #2827 from bdesplanq/fix-engine-support
Fix engine keyfile support.
2023-08-15 14:09:01 +01:00
Roger A. Light
cb90e91126 Add missing mosquitto_strerror entries.
Closes #2799. Thanks to n00b42
2023-08-12 10:12:52 +01:00
Bart Desplanques
105e30ff5b Fix engine support.
Do not try to open keyfile when keyform is "engine": this is not necessarily a real file.
Dynamic engines require init with OPENSSL_INIT_ENGINE_DYNAMIC before they can be loaded.

Signed-off-by: Bart Desplanques <bart.desplanques@gmail.com>
2023-06-02 19:11:50 +02:00
Roger A. Light
269756a171 Fix high CPU use on slow TLS connect.
Closes #2794. Thanks to Evgeny S.
2023-04-27 23:25:52 +01:00
Roger A. Light
1bf753e773 Fix confusing message on TLS certificate verification.
Closes #2746. Thanks to Akos Vandra-Meyer.
2023-04-01 17:52:12 +01:00
Roger A. Light
63da7472b5 Fix default settings incorrectly allowing TLS v1.1.
Closes #2722. Thanks to KramNamez.
2023-03-28 01:39:28 +01:00
Roger A. Light
6f61710fa7 Merge branch 'fixes' of github.com:Daedaluz/mosquitto into Daedaluz-fixes 2023-03-27 23:37:55 +01:00
Tobias Assarsson
2e2a420099 use CLOCK_BOOTTIME when available.
Signed-off-by: Tobias Assarsson <tobias.assarsson@gmail.com>
2023-03-02 09:04:59 +01:00
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