Commit Graph

796 Commits

Author SHA1 Message Date
Roger A. Light
baf1909ffb Improve some messages when client disconnects. 2019-04-16 11:40:07 +01:00
Roger A. Light
fb1979c0ea Fix build on SmartOS due to missing IPV6_V6ONLY.
Thanks to Matt Ingenthron.

Closes #1212.
2019-04-11 21:26:29 +01:00
Roger Light
77aaec686e
Merge pull request #1224 from omenlabs/ALPN
Bridge TLS Application-Layer Protocol Negotiation
2019-04-11 11:08:15 +01:00
Roger A. Light
638ab2f969 Fix unexpected behaviour when reusing a mid after a publish is denied. 2019-04-10 22:33:31 +01:00
Roger A. Light
8a651ff6c3 Remove remnant from before the conversion to utlist. 2019-04-09 18:51:43 +01:00
Roger A. Light
ad3b7ec778 Fix Coverity Scan 1400486-1400487. Unused values. 2019-04-05 22:38:14 +01:00
Roger A. Light
0d3c7fe778 Fix Coverity 1302840. No effect comparison. 2019-04-05 22:18:20 +01:00
Roger A. Light
e4d0d52b01 Fix Coverity Scan 1400483-1400485.
Logically dead code.
2019-04-05 22:02:11 +01:00
John Hickey
c011be62a4 Bridge TLS Application-Layer Protocol Negotiation
In order to connect to brokers that support both websockets and
mqtt on the same port (such as Amazon IoT), we need to set an
application for the SSL context.  This change allows the specification
of an application by using the `bridge_alpn` configuration token.

Signed-off-by: John Hickey <jjh-github@daedalian.us>
2019-04-04 17:27:52 -07:00
Roger A. Light
2e7dcee342 Multistep auth, plus reauth, plus tests. 2019-04-04 22:08:55 +01:00
Roger A. Light
c1776a0b39 Add reauth parameter for extended auth. 2019-04-04 15:09:53 +01:00
Roger A. Light
0f6e51d582 Code and tests for returning single stage auth data back to client. 2019-04-04 14:36:03 +01:00
Roger A. Light
494f35bd8d Add mosquitto_set_username() plugin function. 2019-04-04 12:39:38 +01:00
Roger A. Light
a29a7dadc6 Basic plugin support for single step extended auth. 2019-04-04 11:37:04 +01:00
Roger A. Light
da84b9a983 Restrict what packets are allowed in what client state. 2019-04-03 20:46:21 +01:00
Roger A. Light
758e1edbe7 Handle error condition correctly. 2019-04-03 16:46:49 +01:00
Roger A. Light
fb8a2baaad Refactor client msgs to use utlist to reduce code complexity. 2019-04-03 14:13:12 +01:00
Roger A. Light
8097ec24f9 Fix some property leaks. 2019-04-03 11:23:31 +01:00
Roger A. Light
fe854d3a64 Refactor handle__connect() ahead of extended auth changes. 2019-04-03 10:50:19 +01:00
Roger A. Light
73cd44ac7f Move handle__disconnect() to its own file. 2019-04-02 10:56:17 +01:00
Roger A. Light
ec3fd361be https links where possible. 2019-03-30 20:34:40 +00:00
Roger A. Light
75c2a39d2c Send topic alias maximum from the broker. 2019-03-27 17:38:35 +00:00
Roger A. Light
12e5efbee2 Typo. 2019-03-26 22:20:04 +00:00
Roger A. Light
ea046c2405 Merge branch 'master' of git://github.com/LarsVoelker/mosquitto into LarsVoelker-master 2019-03-26 18:36:13 +00:00
Roger A. Light
834ffdf82b Fix Coverity Scan defect 1400435. 2019-03-26 14:22:25 +00:00
Roger A. Light
0ca093060c Fix Coverity Scan defect 1400433. Integer overflow. 2019-03-26 14:14:46 +00:00
Roger A. Light
9faad1e078 Fix a variety of scan-build warnings. 2019-03-26 14:00:42 +00:00
Roger A. Light
67707b819d Fix some -Wextra compiler warnings. 2019-03-26 12:15:34 +00:00
Roger A. Light
2a5995106a Fix Coverity Scan defect 140436. Null dereference. 2019-03-26 12:05:23 +00:00
Roger A. Light
87197bf9d4 Fix Coverity Scan defect 1400441, dereference of pointer after earlier null check. 2019-03-26 11:35:20 +00:00
Roger A. Light
42732f4cca Fix mosquitto_passwd segfault on corrupt file.
Thanks to srasku-ge.

Closes #1207
2019-03-26 10:03:17 +00:00
Roger A. Light
43c159b9a5 Support and tests for saving message expiry interval. 2019-03-25 23:17:57 +00:00
Roger A. Light
61fe26474e Test and fix for client message prop persistence. 2019-03-25 06:55:45 +00:00
Roger A. Light
5841da2c36 Tests for persisting message store properties. 2019-03-24 21:38:00 +00:00
Roger A. Light
efb20625fb Code and tests for persisting client msg properties. 2019-03-23 22:52:08 +00:00
Roger A. Light
c95ae6a6fd Remove one instance of recursion. 2019-03-23 08:08:15 +00:00
Roger A. Light
48253bc12c Persist message store publish properties. 2019-03-21 21:43:36 +00:00
Roger A. Light
2f15a7be2b Add subscription-identifier and options to persistence. 2019-03-21 14:19:48 +00:00
Roger A. Light
214a5f3aab v5 persistence file format
This includes changes to improve read/write performance.
It is not complete, and will have further changes to add properties and anything else required for MQTT v5.
2019-03-21 00:35:56 +00:00
Roger A. Light
a0e54ac065 Function for reading persist file chunk header. 2019-03-19 17:13:08 +00:00
Roger A. Light
ee5412b060 Persist write fix. 2019-03-19 17:02:51 +00:00
Roger A. Light
a50d129a3c Fix db_dump. 2019-03-19 16:42:47 +00:00
Roger A. Light
e249ca7e91 Separate the persistence actual writing functions. 2019-03-19 16:27:34 +00:00
Roger A. Light
7a53b28080 Start of persistence writing tests. 2019-03-19 16:27:34 +00:00
Roger A. Light
54a35ed0ed Free clients with >0 session expiry on exit. 2019-03-18 23:06:53 +00:00
Roger A. Light
94450eb8bc Keep log open until we are ready to quit. 2019-03-18 23:04:34 +00:00
Roger A. Light
8024a30d1d Fix potential leak. 2019-03-18 21:57:49 +00:00
Roger A. Light
c90bd4e0c6 Add helper function for internal debug logging. 2019-03-17 21:30:56 +00:00
Roger A. Light
b29c8ced55 Fix compilation warning for WITH_WEBSOCKETS=no. 2019-03-17 20:57:04 +00:00
Roger A. Light
ad2ce6c4e6 Add internal logging type, for development debugging. 2019-03-17 20:54:43 +00:00