Commit Graph

100 Commits (58aa41c8134f986a1768719617cb2bc8b11cad8a)

Author SHA1 Message Date
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 84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 5 years ago
Roger A. Light 73cc271d37 Allow auth plugin to see all logins, unless accepted by password file. 5 years ago
Roger A. Light d3247a830a Fix memory leak when connecting clients are rejected. 5 years ago
Roger A. Light b0a065f790 Update changelog. Release page. Bump copyright. 6 years ago
Roger A. Light 05171b266d Fix TLS Websockets clients not receiving messages.
This can occurs after one client takes over a previous connection.

Closes #1489. Thanks to Bas Verhoeven.
6 years ago
Roger A. Light 1a8c44b84f Fix regression on use of `mosquitto_connect_async()` not working.
Closes #1415 and #1422. Thanks to Karl Palsson, Till Zimmermann and Liam Fry.
6 years ago
Roger A. Light de695af8c0 Fix zero length client ids being rejected for MQTT v5 clients.
This was happening when clean start was set to true.
6 years ago
Roger A. Light f974b91084 Consistent ref counting inc and dec functions. 6 years ago
Roger A. Light b4dfeb3767 Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
6 years ago
Roger A. Light 999c478c88 Fixes for bug #1273
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.

Thanks to Yannic Schröder.

Closes #1273.
6 years ago
Roger A. Light cd3877e628 Fix detection of incoming v3.1/v3.1.1 bridges.
Closes #1263. Thanks to vrst37.
6 years ago
Roger A. Light eebdbc86c4 Fix access after free when v5 client with Will message disconnects.
The Will message has as its first property one of content-type,
correlation-data, payload-format-indicator, or response-topic.

Closes #1244. Thanks to Christoph Krey.
7 years ago
Roger A. Light 6438ce861e Minor build variant fixes. 7 years ago
Roger A. Light 8531cb1d79 Separate broker message queues into in/out.
This allows and includes better flow control handling for QoS>0.
7 years ago
Roger A. Light baf1909ffb Improve some messages when client disconnects. 7 years ago
Roger A. Light 2e7dcee342 Multistep auth, plus reauth, plus tests. 7 years ago
Roger A. Light c1776a0b39 Add reauth parameter for extended auth. 7 years ago
Roger A. Light 0f6e51d582 Code and tests for returning single stage auth data back to client. 7 years ago
Roger A. Light a29a7dadc6 Basic plugin support for single step extended auth. 7 years ago
Roger A. Light fb8a2baaad Refactor client msgs to use utlist to reduce code complexity. 7 years ago
Roger A. Light fe854d3a64 Refactor handle__connect() ahead of extended auth changes. 7 years ago
Roger A. Light 73cd44ac7f Move handle__disconnect() to its own file. 7 years ago
Roger A. Light 75c2a39d2c Send topic alias maximum from the broker. 7 years ago
Roger A. Light 9faad1e078 Fix a variety of scan-build warnings. 7 years ago
Roger A. Light 320ddc1303 Merge branch 'master'
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	client/Makefile
	config.mk
	installer/mosquitto.nsi
	installer/mosquitto64.nsi
	lib/mosquitto.h
	lib/mqtt3_protocol.h
	lib/util_mosq.c
	set-version.sh
	snap/snapcraft.yaml
	src/bridge.c
	src/database.c
	src/handle_connack.c
	src/loop.c
	src/persist.c
	test/broker/Makefile
7 years ago
Roger A. Light 110f4aada6 Don't overwrite disused client state. 7 years ago
Roger A. Light 2dd24449ad Fix "unused parameter" warnings. 7 years ago
Roger A. Light 2ea97a6cd9 Check for authentication method on CONNECT, and reject. 7 years ago
Roger A. Light ac91144495 Session expiry interval support - not working for file persistence. 7 years ago
Roger A. Light ce31269e05 Update changelog, bump version, bump copyright year. 7 years ago
Roger A. Light 48d731ecb5 Use better random numbers for everything, where possible. 7 years ago
Roger A. Light b2c0c3d573 Handle DISCONNECT with will. 7 years ago
Roger A. Light c506c8335b Will delay tests and implementation. 7 years ago
Roger A. Light b0c60fb6e1 Separate will reading code. 7 years ago
Roger A. Light 084062c85e Merge branch 'fixes' into mqtt5 7 years ago
Roger Light c40957a7d8 Fix and tests for CVE-2018-12546. 7 years ago
Roger A. Light ca3782b38d Test and fixes for will message expiry interval. 7 years ago
Roger Light 8513af4da5 Tests and fixes for shortened DISCONNECT packets. 7 years ago
Roger A. Light 326292681a Add maximum-qos support to broker and client.
This comes in the form of:

* Per listener maximum_qos option, which can be in the range 0-2.
* Changes to mosquitto_publish*() to return MOSQ_ERR_QOS_NOT_SUPPORTED
  if attempting to publish with a higher QoS than supported.
* Bridges will downgrade messages to match the maximum QoS.

More tests on the broker side (specifically bridges) are required. This
needs bridge support for MQTT 5 first.
7 years ago
Roger A. Light dab6452a1d Add test for duplicate CONNECT. 7 years ago
Roger A. Light fcf4cd0b27 Merge branch 'master' into mqtt5 7 years ago
Roger A. Light a00dd29af8 Fix building where TLS-PSK is not available.
Closes #68.
7 years ago
Jelle van der Waa 1a6f8d3c28 src: ASN1_STRING_data is deprecated in OpenSSL 1.1
ASN1_STRING_get0_data replaces ASN1_STRING_data in OpenSSL 1.1 therefore
add an #ifdef for backwards compatibility.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
7 years ago
Roger A. Light 6ef2c79e9a Add max_keepalive, for limiting keepalives of MQTT v5 clients. 7 years ago
Roger A. Light 1d3949bce0 Improve broker generated client ids for the non-Linux case.
Removes libuuid dependency.
7 years ago
Roger A. Light 7020fad86c Add server support for Assigned Client Identifier. 7 years ago
Roger A. Light d5108956bf Process session-expiry-interval on CONNECT and DISCONNECT.
Add test to check for invalid values.
7 years ago
Roger A. Light 54db895cb3 Rename clean_session to clean_start for v5. 7 years ago
Roger Light 9560c5bac7 Add retain_available support. 7 years ago