Commit Graph

606 Commits

Author SHA1 Message Date
Roger A. Light
80f526a5e5 Message Expiry Interval support. 2018-11-01 21:51:35 +00:00
Roger A. Light
4ca83c1768 Fix leak when handling publish props. 2018-11-01 16:50:23 +00:00
Roger A. Light
de3a9af1f7 Client+library support for unsubscribe properties. 2018-11-01 14:12:52 +00:00
Roger A. Light
383608613a Client+lib will property support. 2018-11-01 11:37:57 +00:00
Roger A. Light
12cba75c73 Client support for adding properties. 2018-10-31 12:38:39 +00:00
Roger A. Light
636e813d1c Load of constant renames ahead of making mqtt_protocol.h public. 2018-10-30 11:11:31 +00:00
Roger A. Light
9eebcf6704 Rename property__free_all->mosquitto_property_free_all
Make public function.
2018-10-30 10:16:42 +00:00
Roger A. Light
12fa336140 Handle some incoming PUBLISH properties.
PAYLOAD_FORMAT_INDICATOR, CORRELATION_DATA, USER_PROPERTY, CONTENT_TYPE
are now all passed on to subscribing clients from an incoming PUBLISH
only (not from Wills). The other PUBLISH properties are silently
dropped.
2018-10-25 16:35:24 +01:00
Roger A. Light
b6c667689d Write properties for all commands apart from AUTH. 2018-10-25 13:21:42 +01:00
Roger A. Light
8077376a79 Add read support for AUTH packets. 2018-10-25 12:54:17 +01:00
Roger A. Light
ca40255720 mid == 0 is a protocol error. 2018-10-25 12:12:57 +01:00
Roger A. Light
eefa7f7604 All existing commands read properties. 2018-10-25 12:11:00 +01:00
Roger A. Light
723d9c2782 Check whether properties are on the correct commands. 2018-10-25 11:23:04 +01:00
Roger A. Light
267178bd99 User properties are copied from PUBLISH to PUBLISH. 2018-10-25 10:24:19 +01:00
Roger A. Light
0baf358cf8 Add properties member to will struct. 2018-10-24 14:07:09 +01:00
Roger A. Light
5edc87bcdf Build options for building with coverage support. 2018-10-16 14:35:03 +01:00
Roger A. Light
a7fff2ad2e Topic test improvements. 2018-10-16 13:49:38 +01:00
Roger A. Light
8210c1fa7a All outgoing packets now write property length for MQTT 5.
At the moment this only writes a 0 property length, i.e. no properties.
It does mean that output packets are more correct than before.
2018-10-10 12:42:27 +01:00
Roger A. Light
246c9e6565 Read will properties, and free properties immediately for the moment. 2018-10-10 08:41:10 +01:00
Roger A. Light
abb3fee1f8 Coverage reporting for whole broker. 2018-10-06 21:56:48 +01:00
Roger A. Light
f4b2838574 Property reading, and tests for byte properties. 2018-10-04 17:18:57 +01:00
Roger A. Light
366744bad7 Fix subscribe_multiple datatypes. 2018-10-04 09:46:51 +01:00
Roger A. Light
400db91166 Handle UTF-8 validation in packet__read_string. 2018-10-03 15:04:24 +01:00
Roger A. Light
99a1c0e43a Move simple datatype reading functions to own file.
This facilitates easier testing.
2018-10-03 10:23:58 +01:00
Roger A. Light
1488992ea8 Naive reading of MQTT 5 properties. No processing done. 2018-10-02 16:43:40 +01:00
Roger Light
6c9e8d51c2 Merge branch 'develop' into mqtt5 2018-10-02 11:28:03 +01:00
Roger A. Light
1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
2018-10-02 08:31:54 +01:00
Roger A. Light
cf9a72d8db Add mosquitto_subscribe_multiple. 2018-09-27 22:05:15 +01:00
Roger A. Light
588d39efdc Fix Windows version not starting if include_dir did not contain any files.
Closes #566.

Thanks to marleau.
2018-09-25 16:14:57 +01:00
Roger A. Light
f9c9f3d396 Fix incorrect hash usage with duplicate clients.
Fix duplicate clients being added to by_id hash before the old client
was removed.

Closes #645.
2018-09-25 14:25:54 +01:00
Roger A. Light
7b1892caef Fix retained msgs not sent by bridges.
This occurred when a bridge connected for the first time and so made a
local subscription for outgoing topics.

Closes #701.
2018-09-25 14:25:54 +01:00
Roger A. Light
f7474d3482 Revert "Remove some test that was always true"
This reverts commit 6fc7cadb63.
2018-09-25 14:25:54 +01:00
Kurt Van Dijck
e3b4bd8937 fix signal handler on win32
The signal handler thread on win32 did listen to 4 HANDLEs,
of which only 3 were initialized.
The result was 1 thread eating 100% cpu.
This commit reduces the HANDLE array storage.

Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
2018-09-25 10:34:28 +01:00
Roger A. Light
7ca3a24686 Remove requirement to use user root in snap package config files. 2018-09-20 12:05:02 +01:00
Roger A. Light
0e16a248f2 Elevate log level to warning for situation when socket limit is hit. 2018-09-20 12:00:51 +01:00
Roger A. Light
55ca61f14e Fix segfault on HUP when bridges and security options are configured.
Closes #849. Closes #965. Thanks to Wolfgand Hottgenroth and Dustin Sallings.
2018-09-19 17:52:23 +01:00
Roger A. Light
2b4ba10b3d Fix "round_robin false" behaviour.
Closes #481.
2018-09-19 17:30:38 +01:00
Roger A. Light
3ae387e232 Close spare sock at exit. 2018-09-19 13:01:13 +01:00
Roger A. Light
1e47ee4cad Fix for bridge connections when using WITH_ADNS=yes. 2018-09-19 12:55:08 +01:00
Roger A. Light
4ee6941188 Primitive v5 CONNACK support - no properties. 2018-09-19 11:13:50 +01:00
Roger A. Light
561513fdd4 Very simple v5 CONNECT support - no properties. 2018-09-19 11:00:15 +01:00
Roger A. Light
33a523eea9 Add identifiers for v5.
Clients know about v5, just need library support...
2018-09-19 10:59:41 +01:00
Roger A. Light
99c6ec7f6e Protocol name will never be changed from MQTT. 2018-09-19 10:58:36 +01:00
Roger A. Light
0bacff11df Rename mqtt3_protocol.h -> mqtt_protocol.h. 2018-09-19 10:58:12 +01:00
Roger A. Light
d1b36507db Better implementation of #948. 2018-09-18 12:08:49 +01:00
Roger A. Light
ee8e20de75 Fix excessive CPU usage when the number of sockets exceeds the system limit.
Closes #948. Thanks to wiebeytec.
2018-09-18 11:54:58 +01:00
Roger A. Light
dceb02f444 Make it easier to build without bundled uthash.h.
Use "make WITH_BUNDLED_DEPS=no".
2018-09-08 10:24:12 +01:00
Roger A. Light
e6a0199bb2 Fix incorrect call to setsockopt() for TCP_NODELAY.
Closes #941. Thanks to rfalke.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-30 21:01:43 +01:00
Roger A. Light
2221deb7a7 Fix build when using WITH_ADNS=yes. 2018-08-30 20:44:17 +01:00
Roger A. Light
11395f9852 Fix accessor functions for username and client id when used in plugin auth check. 2018-08-16 17:00:00 +01:00