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