Commit Graph

1047 Commits (a86ebe541c985a2224d566553a686671aed9b64b)

Author SHA1 Message Date
Roger A. Light 89733138bb CMake build fixes. 5 years ago
Roger A. Light 24a9c7d508 Build variant fixes. 5 years ago
Roger A. Light d70ffd4b00 Move db_dump to apps directory. 5 years ago
Roger A. Light b404d56281 Move deps directory to root. 5 years ago
Roger A. Light f85e004415 Move password functions to own file. 5 years ago
Roger A. Light 4472c1f441 Added support for controlling UNSUBSCRIBE calls in v5 plugin ACL checks. 5 years ago
Roger A. Light a65f946e83 Move headers to own directory. 5 years ago
Roger A. Light 908b33c0bd Update uthash to 2.1.0. 5 years ago
Roger Light 5b4884a855 Callback struct padding for future use. 5 years ago
Roger Light bcf7545015 Export broker plugin functions on Windows. 5 years ago
Roger Light ff2636b3ae Build fix for Windows. 5 years ago
Roger Light e8a641c759 Fix plugin interface on example debug and defer plugins. 5 years ago
Roger A. Light 67549f48ba context->mosq in websockets. 5 years ago
Roger A. Light 7cce159ff4 Don't free will_struct after the client context owns it. 5 years ago
Roger A. Light c7f429cab2 Deprecation warnings. 5 years ago
Roger A. Light c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 5 years ago
Roger A. Light 0ad7bbbd29 Plugin header update with description. 5 years ago
Roger A. Light 36950cc71e mosquitto_plugin_publish no longer exists. 5 years ago
Roger A. Light 54b9571516 Enable TLS with certfile+keyfile, not capath/cafile. 5 years ago
Roger A. Light 5371bd09d1 Add support for PBKDF2-SHA512 password hashing. 5 years ago
Roger A. Light c927446264 Fix $CONTROL plugin unregistering. 5 years ago
Roger A. Light d8d24e76eb Free plugin identifier on cleanup. 5 years ago
Roger A. Light 5d6bdc5de4 Allow CONTROL messages to set a reason code/string for PUBACK/PUBREC. 5 years ago
Roger A. Light cf1c156765 New plugin interface
This is not specific to authentication, and allows plugins greater flexibility in what events they are interested in. It also adds message handling, and $CONTROL handling.
5 years ago
Roger A. Light 43b3184492 Rename to indicate these are public functions. 5 years ago
Roger A. Light 2f89203c67 Always ensure the client is in the hash before deleting. 5 years ago
Roger A. Light 7ad1ec819c Cleanup bridge ssl_ctx on exit. 5 years ago
Roger A. Light a57e41beff Fix use after free (develop branch only). 5 years ago
Roger A. Light 20feb10366 Fix leak on malformed v5 subscribe. 5 years ago
Roger A. Light 97bd527df0 Breaking: allow_anonymous defaults to false. 5 years ago
Roger A. Light d7d3087b04 Breaking: Bind to loopback if no listeners are configured. 5 years ago
Roger A. Light 5daa5ee162 Add support for $CONTROL/ topics in plugins. 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
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
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 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 2dc8d2a19a Allow plugins to send messages to specific clients. 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