Commit Graph

191 Commits

Author SHA1 Message Date
Roger A. Light
7917553eb2 Fix expired messages causing queued messages not to be delivered.
Closes #2609. Thanks to JSchy65.
2022-08-16 12:29:18 +01:00
Roger A. Light
c99502a256 Add clients to session expiry check list when restarting and reloading from persistence.
Closes #2546. Thanks to Joachim Schachermayer.
2022-05-23 23:05:49 +01:00
Roger A. Light
be80a3f4d0 Fix client id not showing in log on failed connections, where possible. 2021-10-06 10:09:38 +01:00
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
Roger A. Light
330bf6efdc Various fixes around inflight quota management.
Closes #2306. Thanks to canique.
2021-09-22 17:20:24 +01:00
Roger Light
32af599c81 Fix $share subscriptions not being recovered for durable clients.
If a plugin had granted ACL subscription access to a
durable/non-clean-session client, then removed that access, the client would
keep its existing subscription. This has been fixed.
2021-08-26 12:17:26 +01:00
Roger A. Light
16fb0025a7 Improve QoS 0 outgoing packet queueing. 2021-05-18 16:53:45 +01:00
Roger Light
2de8c15bc9 Minor build fixes. 2021-03-21 09:18:43 +00:00
Roger Light
cca41d176d Fix inconsistent sign in log__printf declaration. 2021-03-20 19:16:43 +00:00
Roger A. Light
87cf3680e5 Merge branch 'master' of git://github.com/vidarino/mosquitto into vidarino-master 2021-03-11 15:15:30 +00:00
Vidar Madsen
ebfcc84cda Add new function to header. Minor tweaks.
Signed-off-by: Vidar Madsen <vidarino@gmail.com>
2021-02-19 13:53:50 +01:00
Roger A. Light
1b24f625ea Give compile time warning for libwebsockets
If it is compiled without external poll support.

Closes #2060. Thanks to Yannic Schröder.
2021-02-09 13:18:58 +00:00
Roger A. Light
a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
2021-01-20 11:46:18 +00:00
Roger Light
4a114c6151 Remove unused struct member. 2021-01-09 21:24:30 +00:00
Roger A. Light
370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 2021-01-09 21:06:08 +00:00
Roger A. Light
757902bcf8 Improve struct packing. 2020-12-10 12:52:11 +00:00
Roger A. Light
37ce51703f Fix websockets listeners not causing the main loop not to wake up.
Closes #1936. Thanks to sectokia.
2020-12-10 12:31:52 +00:00
Roger A. Light
df1802d8f1 Fix client state conversion warnings. 2020-12-02 10:26:22 +00:00
Roger A. Light
232a759320 Log client port on new connections.
Closes #1911. Thanks to twegener-embertec.
2020-12-01 22:38:59 +00:00
Roger A. Light
3731535298 Add SPDX license identifiers. 2020-12-01 20:46:56 +00:00
Roger A. Light
04c110183c Bridge support for MQTT v5 maximum-qos. 2020-12-01 18:15:29 +00:00
Roger A. Light
b34dcd2a67 Final remove support for legacy libwebsockets
This means libwebsockets < 2.4.0.
2020-12-01 13:41:14 +00:00
Roger A. Light
b7e6638fd8 Add ciphers_tls1.3 option, to allow setting TLS v1.3 ciphersuites.
Closes #1825. Thanks to Valentin Dimov.
2020-12-01 10:45:10 +00:00
Roger A. Light
584cf51ba7 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
Roger A. Light
adfa9f1e21 Always zero terminate payloads (removes uhpa support) 2020-11-24 12:24:40 +00:00
Roger A. Light
95c098a807 Integrate debugging only xtreport code. 2020-11-24 12:04:37 +00:00
Roger A. Light
2755fe3c4c Apply limits to QoS 0 outgoing messages. 2020-11-24 12:04:07 +00:00
Roger A. Light
c3ae8c174f Simplify net__socket_accept() use.
Closes Coverity 1436829.
2020-11-23 23:55:15 +00:00
Roger A. Light
b816d46508 Use db as a global var instead of passing to functions.
This allows a big swath of ifdefs to be removed. It also means savings as the db var is not passed around all of the time, and makes it easier to remove the final broker call to mosquitto_time() call in packet_mosq.c. In one test this reduced the calls to mosquitto_time() from 295k to 48k.
2020-11-06 17:16:23 +00:00
Roger A. Light
108b23ce6d Reduce use of mosquitto_time() and time(). 2020-11-06 14:20:39 +00:00
Roger A. Light
23d3c2641e Optimise epoll event to context/listener mapping. Allows quicker lookups. 2020-11-05 16:10:50 +00:00
Roger A. Light
2a1df4ddb2 Breaking: Drop privileges after loading the configuration
This change means privileges are dropped before loading certificates, starting logging, creating the pid file etc. are carried out, so all of those actions must now be changed to ensure that the unprivileged user can carry them out.
2020-11-05 12:05:07 +00:00
Roger A. Light
c5fee09c24 Basic client disconnect event support for plugins. 2020-11-05 10:52:21 +00:00
Roger A. Light
4d6384c758 Build and conversion fixes for build variants. 2020-11-05 10:23:01 +00:00
Roger A. Light
e6dd08074d TLS certificates for the server are now reloaded on SIGHUP. 2020-11-04 22:57:10 +00:00
Roger A. Light
edee5aaf8d Add the bridge_bind_address option.
Closes #1311. Thanks to beville.
2020-10-27 16:32:21 +00:00
Roger A. Light
d8f5aacd7f Add the bridge_max_packet_size option.
Closes #265.
2020-10-27 11:35:06 +00:00
Roger A. Light
fdff255916 New dynamic security plugin. 2020-10-27 00:54:55 +00:00
Roger A. Light
06b933c3ba Add tick event to plugin interface. 2020-10-23 22:51:08 +01:00
Roger A. Light
1851a0e1b1 Add support for pbkdf2 hash iterations. 2020-10-21 13:19:32 +01:00
Roger A. Light
4f61f6c161 Fix conversion errors. 2020-10-17 01:23:08 +01:00
Roger A. Light
ef68063985 Convert default security to "plugin" mode.
This converts password_file and acl_file checks to act like a v5 plugin.
2020-10-15 14:50:46 +01:00
Roger A. Light
f85e004415 Move password functions to own file. 2020-10-13 16:05:34 +01:00
Roger Light
ff2636b3ae Build fix for Windows. 2020-09-30 09:47:24 +01:00
Roger A. Light
c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 2020-09-24 17:03:14 +01:00
Roger A. Light
5371bd09d1 Add support for PBKDF2-SHA512 password hashing. 2020-09-23 22:57:26 +01:00
Roger A. Light
c927446264 Fix $CONTROL plugin unregistering. 2020-09-23 17:03:01 +01:00
Roger A. Light
d8d24e76eb Free plugin identifier on cleanup. 2020-09-23 15:38:25 +01:00
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.
2020-09-22 14:49:28 +01:00
Roger A. Light
97bd527df0 Breaking: allow_anonymous defaults to false. 2020-09-17 11:29:32 +01:00