Commit Graph

2308 Commits (c5fe1fc36bd9c42037b144e7daca44330c37b37b)
 

Author SHA1 Message Date
Roger A. Light d7d3087b04 Breaking: Bind to loopback if no listeners are configured. 5 years ago
Roger A. Light 1b269270bc Sort failed tests when reporting. 5 years ago
Roger A. Light 4372a2b925 Default test timeout of 60s by default is too long. 5 years ago
Roger A. Light f87ef68fae Detect closed socket in tests. 5 years ago
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
Brandt Hill 16eecfcbc5 Add 'deny' as an option for topics/patterns in acl file to allow certain topics to be explicitly denied when they might otherwise be allowed through a more open read/write/readwrite option. Example: 'topic readwrite test/#' and 'topic deny test/hello/#' may be added so that a user can read/write to all test/# topics, except for test/hello/#.
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Change variable name for clarity. Remember to initialize bool (I'm bad at C).

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add documentation to config man page

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add test case for deny option

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add deny acls to top of the list to preserve early exit

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

change comments

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
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