Commit Graph

2188 Commits

Author SHA1 Message Date
Roger A. Light
bab8cc2a6b mosquitto_sub now supports extra format specifiers.
These are for field width and precision for some parameters.
2020-08-28 22:23:22 +01:00
Roger A. Light
7804c3f0af Note that 1024 "limit" is from operating systems, not Mosquitto. 2020-08-24 17:05:35 +01:00
Roger A. Light
938e17a3d0 Fix incorrect authentication-method property type in mosquitto_sub man.
Closes #1801. Thanks to roebotron.
2020-08-24 09:59:36 +01:00
Roger A. Light
0bdf630c27 Merge branch 'fixes' 2020-08-19 14:47:27 +01:00
Roger A. Light
39ff7226eb Bump version, add new www posts. 2020-08-19 14:46:44 +01:00
Roger A. Light
c1b009e4df Fix memory leak on handling QoS 2 PUBLISH.
In some circumstances, Mosquitto could leak memory when handling PUBLISH  messages. This is limited to incoming QoS 2 messages, and is related to the combination of the broker having persistence enabled, a clean session=false client, which was connected prior to the broker restarting, then has reconnected and has now sent messages at a sufficiently high rate that the incoming queue at the broker has filled up and hence messages are being dropped. This is more likely to have an effect where max_queued_messages is a small value. This has now been fixed.

Closes #1793. Thanks to mbates14.
2020-08-19 14:38:57 +01:00
Roger A. Light
b3b58cc635 Build warning fixes. 2020-08-19 14:04:02 +01:00
Roger A. Light
4dc835b73d Fix possible memory leaks on errors during persistence write. 2020-08-19 11:12:05 +01:00
Titouan Christophe
79051fbdca do not include pthread when compiling without threading support
This fixes the following error, when compiling for systems without
pthread support, and when passing WITH_THREADING=no to make:

    thread_mosq.c:24:12: fatal error: pthread.h: No such file or directory
     #  include <pthread.h>
                 ^~~~~~~~~~~
    compilation terminated.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
2020-08-18 22:52:29 +01:00
Karl Palsson
2fdb5a0171 docs: move _string_option with rest of client options
It was grouped with the callbacks, where it didn't make a lot of sense.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2020-08-18 22:51:42 +01:00
Karl Palsson
d254ea70df docs: remove duplicate mosquitto_reconnect_delay_set
Was listed in both client options, and under the callbacks.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2020-08-18 22:51:42 +01:00
Roger A. Light
18e79eac22 Use hash_find rather than hash_iter for unpwd check. 2020-08-18 15:34:57 +01:00
Roger A. Light
b66ffb8039 Move unpwd to security_options struct. 2020-08-18 15:20:48 +01:00
Roger A. Light
581e843131 Move keepalive check to its own function. 2020-08-18 08:40:33 +01:00
Roger A. Light
cae55aa381 Make correct allow_anonymous check in pwfile security.
We always get passed the client even if it doesn't have a
username/password now.
2020-08-18 08:32:21 +01:00
Roger A. Light
a5f02f31fc Json helper functions. 2020-08-17 23:03:38 +01:00
Roger A. Light
b91e78318d Don't always iterate over entire inflight messages list
If we have e.g. max_inflight_messages set to 1000, and currently have 999 messages inflight, then when we send a new message to a client we have to iterate over the whole list to get to the newest message. This change means that we start of the back of the list to find the newest items, which reduces overhead.
2020-08-17 23:03:25 +01:00
Roger A. Light
367a282c61 Don't quit on chmod error, it can be ignored. 2020-08-13 20:51:26 +01:00
Roger A. Light
a224a8f217 Don't busy loop with mosquitto_pub -l on a slow connection. 2020-08-13 14:32:47 +01:00
Roger A. Light
6407abf717 Docker: Fix missing libressl library. 2020-08-12 22:08:05 +01:00
Roger A. Light
ac3b30ca4f Fix docker command override. 2020-08-12 17:00:53 +01:00
Roger A. Light
124225d02b Update docker. 2020-08-12 16:03:08 +01:00
Roger Light
58aa41c813 Optimise use of db__message_write()
New messages are now queued for clients when old ones are sent, rather than on every iteration of the main loop. This produces good performance improvements.
2020-08-12 15:29:08 +01:00
Roger A. Light
69f84bbca9 Simplify "expect_packet" tests. 2020-08-12 15:18:18 +01:00
Roger A. Light
ba2c00137d Fix client test leaks. 2020-08-12 15:18:17 +01:00
Roger A. Light
2dc8d2a19a Allow plugins to send messages to specific clients. 2020-08-12 15:18:17 +01:00
Roger A. Light
c94e111d73 expect_packet now raises an exception
This should allow tests to be simpler - no more nested ifs.
2020-08-12 15:18:17 +01:00
Roger A. Light
e56b953abd Free memory after sending queued plugin message. 2020-08-12 15:18:17 +01:00
Roger A. Light
a913a05fbd Documentation and error checking. 2020-08-12 15:18:17 +01:00
Roger A. Light
d6f4f4e0bc Add mosquitto_broker_publish_copy()
Rename mosquitto_plugin_publish() to mosquitto_broker_publish().

These two functions achieve the same thing. *_publish() publishes the payload and frees it later. *_publish_copy() takes a copy of the payload, so the plugin still owns the memory it passed to the function.
2020-08-12 15:18:17 +01:00
Roger A. Light
de5a820fe2 Start of dynamic control topics. 2020-08-12 15:18:17 +01:00
Roger A. Light
9929ce0a26 All clients exit with an error exit code on CONNACK failure.
Closes #1778. Thanks to jflambert.
2020-08-12 09:44:42 +01:00
Roger A. Light
32ed4809ed Build fix for NetBSD.
Thanks to Greg Troxel.
2020-08-11 16:21:19 +01:00
Roger A. Light
f89cea2bc5 Update webpage. 2020-08-11 12:13:38 +01:00
Roger A. Light
94295b5d74 Merge branch 'fixes' 2020-08-11 12:07:56 +01:00
Roger A. Light
c9218fd48c Bump version. 2020-08-11 12:05:32 +01:00
Roger A. Light
b3c2ac20dc Fix overly broad HAVE_PTHREAD_CANCEL compile guard.
Closes #1547. Thanks to Markus Gothe.
2020-08-11 11:02:38 +01:00
Roger A. Light
4b100df5b1 Fix reconnect+will delay interval issue causing missing messages.
Fix clients not receiving messages after a previous client with the same   client ID and positive will delay interval quit.
Closes #1752. Thanks to Jiří Zuzaňák.
2020-08-11 11:01:25 +01:00
Roger Light
60dc8f5e4c Fix service path quoting on Windows.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=565671
2020-08-11 09:09:31 +01:00
Roger Light
4ef48269f5 Fix mosquitto_loop_stop() not stopping on Windows
Closes #1748. Closes #117. Thanks to Sigmund Vik.
2020-08-11 08:55:05 +01:00
Roger Light
3eb60e2e6a Fix some winsock argument types. 2020-08-11 08:43:24 +01:00
Roger A. Light
bd27935ff6 mosquitto_loop_start() now sets a thread name.
This applies on Linux, FreeBSD, NetBSD, and OpenBSD.

Closes #1777. Thanks to ABuch19.
2020-08-10 22:51:17 +01:00
Roger A. Light
e414d92eb6 Merge branch 'abiliojr-lazy_ssl' into develop 2020-08-07 17:01:53 +01:00
Roger A. Light
f180e923ef Merge branch 'lazy_ssl' of git://github.com/abiliojr/mosquitto into abiliojr-lazy_ssl 2020-08-07 16:42:30 +01:00
Roger A. Light
ebb0f13f08 Merge branch 'dbeinder-improve-client-store' into fixes 2020-08-07 16:40:18 +01:00
Roger A. Light
43df213ecb Merge branch 'improve-client-store' of git://github.com/dbeinder/mosquitto into dbeinder-improve-client-store 2020-08-07 09:11:43 +01:00
david-beinder
c11d20f82c Database v6 tests
keep v5 client read test to test for backwards compatability
adds username="usrname" and listener_port=1883 for v6 tests

Signed-off-by: david-beinder <david.beinder@mce.li>
2020-08-07 08:56:52 +02:00
david-beinder
212fd8635f Store username and listener of persistent clients
Signed-off-by: david-beinder <david.beinder@mce.li>
2020-08-07 08:32:14 +02:00
Roger A. Light
94d04136f8 Fix potential memory leaks.
Closes #1773. Closes #1774. Thanks to Yingpei Zeng.
2020-08-06 21:28:09 +01:00
Roger A. Light
7cb72cf1ba Fix incorrect NULL check.
Coverity Scan 1431137.
2020-08-06 13:50:52 +01:00