Roger A. Light
cec24116d8
Add very basic client tests.
5 years ago
Roger A. Light
acf4ff3738
Fix stdin being closed by mistake
...
This was closing the sockpair* sockets before they were initialised to INVALID_SOCKET.
Close #1823 . Thanks to ostkamp.
5 years ago
Roger A. Light
a53712a14d
Don't use logging until log mutex is initialised.
...
Closes #1819 . Thanks to santoshks68.
5 years ago
Roger A. Light
298d84941e
Fix send quota being incorrecly reset on reconnect.
...
Closes #1822 . Thanks to Sarek.
5 years ago
Roger A. Light
56ba1b99db
Add `mosquitto_ssl_get()`.
...
This allow clients to access their SSL structure and
perform additional verification.
5 years ago
Roger A. Light
e2123b2561
Add --version for all clients.
5 years ago
Roger A. Light
5daa5ee162
Add support for $CONTROL/ topics in plugins.
5 years ago
Roger A. Light
cd33670f6a
Fix build with WITH_CJSON=no
5 years ago
Roger A. Light
748e5f69c8
Fix acl-access-variants test.
5 years ago
Roger A. Light
f0862e26ec
Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
...
These can be used by plugins to disconnect clients.
5 years ago
Roger A. Light
3f1515e337
Fix missing argument.
5 years ago
Roger A. Light
bb5456729d
Move keepalive check code to separate file.
...
This is in preparation for changing to a tree based implementation.
5 years ago
Roger A. Light
961ffcb2ae
Remove redundant keepalive check.
...
Websockets clients are now part of the by_sock hashtable, so this isn't
needed.
5 years ago
Roger A. Light
219f2c20d2
Ensure all websockets outgoing buffer is used.
5 years ago
ignacy.ruksza
3806296c15
Ld symbol of the mosquitto_property_copy_all has global bind now.
...
Signed-off-by: ignacy.ruksza <ignacy.ruksza@ledatel.pl>
5 years ago
Roger A. Light
bab8cc2a6b
mosquitto_sub now supports extra format specifiers.
...
These are for field width and precision for some parameters.
5 years ago
Roger A. Light
7804c3f0af
Note that 1024 "limit" is from operating systems, not Mosquitto.
5 years ago
Roger A. Light
938e17a3d0
Fix incorrect authentication-method property type in mosquitto_sub man.
...
Closes #1801 . Thanks to roebotron.
5 years ago
Roger A. Light
0bdf630c27
Merge branch 'fixes'
5 years ago
Roger A. Light
39ff7226eb
Bump version, add new www posts.
5 years ago
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.
5 years ago
Roger A. Light
b3b58cc635
Build warning fixes.
5 years ago
Roger A. Light
4dc835b73d
Fix possible memory leaks on errors during persistence write.
5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Roger A. Light
18e79eac22
Use hash_find rather than hash_iter for unpwd check.
5 years ago
Roger A. Light
b66ffb8039
Move unpwd to security_options struct.
5 years ago
Roger A. Light
581e843131
Move keepalive check to its own function.
5 years ago
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.
5 years ago
Roger A. Light
a5f02f31fc
Json helper functions.
5 years ago
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.
5 years ago
Roger A. Light
367a282c61
Don't quit on chmod error, it can be ignored.
5 years ago
Roger A. Light
a224a8f217
Don't busy loop with `mosquitto_pub -l` on a slow connection.
5 years ago
Roger A. Light
6407abf717
Docker: Fix missing libressl library.
5 years ago
Roger A. Light
ac3b30ca4f
Fix docker command override.
5 years ago
Roger A. Light
124225d02b
Update docker.
5 years ago
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.
5 years ago
Roger A. Light
69f84bbca9
Simplify "expect_packet" tests.
5 years ago
Roger A. Light
ba2c00137d
Fix client test leaks.
5 years ago
Roger A. Light
2dc8d2a19a
Allow plugins to send messages to specific clients.
5 years ago
Roger A. Light
c94e111d73
expect_packet now raises an exception
...
This should allow tests to be simpler - no more nested ifs.
5 years ago
Roger A. Light
e56b953abd
Free memory after sending queued plugin message.
5 years ago
Roger A. Light
a913a05fbd
Documentation and error checking.
5 years ago
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.
5 years ago
Roger A. Light
de5a820fe2
Start of dynamic control topics.
5 years ago
Roger A. Light
9929ce0a26
All clients exit with an error exit code on CONNACK failure.
...
Closes #1778 . Thanks to jflambert.
5 years ago
Roger A. Light
32ed4809ed
Build fix for NetBSD.
...
Thanks to Greg Troxel.
5 years ago
Roger A. Light
f89cea2bc5
Update webpage.
5 years ago
Roger A. Light
94295b5d74
Merge branch 'fixes'
5 years ago