Roger A. Light
3731535298
Add SPDX license identifiers.
5 years ago
Roger A. Light
04c110183c
Bridge support for MQTT v5 maximum-qos.
5 years ago
Roger A. Light
584cf51ba7
Update to EPL-2.0
5 years ago
Roger A. Light
adfa9f1e21
Always zero terminate payloads (removes uhpa support)
5 years ago
Roger A. Light
26e8cc3fb9
Fix connack props not being freed on error.
5 years ago
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.
5 years ago
Roger A. Light
e6b8fc5bbd
Fix oversize packet check in CONNECT.
5 years ago
Roger A. Light
291b711bd4
Fix incorrect disconnect messages.
5 years ago
Roger A. Light
4f61f6c161
Fix conversion errors.
5 years ago
Roger A. Light
7cce159ff4
Don't free will_struct after the client context owns it.
5 years ago
Roger A. Light
c90e49af1b
Merge remote-tracking branch 'origin/fixes' into develop
5 years ago
Roger A. Light
a57e41beff
Fix use after free (develop branch only).
5 years ago
Roger A. Light
97bd527df0
Breaking: allow_anonymous defaults to false.
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
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
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
eeaafed485
Fix memory leak when connecting clients rejected.
5 years ago
Roger A. Light
c84d175b3d
Fixes for the poor souls stuck on <c99.
...
Closes #1622 .
6 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
Roger Light
6ca746695f
Pass db to send__connack() to give it access to config.
7 years ago
Roger A. Light
34c752a0d0
Give better error message if a client sends a password without a username.
...
Closes #1015 . Thanks to TabascoEye.
7 years ago
Roger A. Light
f77c1ca91b
private struct mqtt5__property -> public mosquitto_property.
7 years ago
Roger A. Light
636e813d1c
Load of constant renames ahead of making mqtt_protocol.h public.
7 years ago
Roger A. Light
9eebcf6704
Rename property__free_all->mosquitto_property_free_all
...
Make public function.
7 years ago
Roger A. Light
eefa7f7604
All existing commands read properties.
7 years ago
Roger A. Light
723d9c2782
Check whether properties are on the correct commands.
7 years ago
Roger A. Light
267178bd99
User properties are copied from PUBLISH to PUBLISH.
7 years ago
Roger A. Light
0baf358cf8
Add properties member to will struct.
7 years ago
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.
7 years ago
Roger A. Light
246c9e6565
Read will properties, and free properties immediately for the moment.
7 years ago
Roger A. Light
f4b2838574
Property reading, and tests for byte properties.
7 years ago
Roger A. Light
400db91166
Handle UTF-8 validation in packet__read_string.
7 years ago
Roger A. Light
1488992ea8
Naive reading of MQTT 5 properties. No processing done.
7 years ago
Roger A. Light
561513fdd4
Very simple v5 CONNECT support - no properties.
7 years ago
Roger A. Light
99c6ec7f6e
Protocol name will never be changed from MQTT.
7 years ago
Roger A. Light
0bacff11df
Rename mqtt3_protocol.h -> mqtt_protocol.h.
7 years ago
Roger A. Light
11395f9852
Fix accessor functions for username and client id when used in plugin auth check.
7 years ago
Roger A. Light
88765a5e80
Consistent use of config.h across the project.
7 years ago
Roger A. Light
a199cac69e
Don't confuse expiring and duplicate clients.
7 years ago
Tobias Assarsson
cc96485330
Add missing parameters to internal mosquitto_acl_check
...
Signed-off-by: Tobias Assarsson <tobias.assarsson@gmail.com>
7 years ago
Roger A. Light
0d25cb58b4
Fix `use_identity_as_username true` not working.
...
Closes #833 .
Thanks to David Crook and Brice Waegeneire.
Bug: https://github.com/eclipse/mosquitto/issues/833
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
bricewge
2a3305a4a2
fix #833
...
Signed-off-by: Brice Waegeneire <brice.wge@gmail.com>
7 years ago
Dave Miller
81a82f6fe2
Fix for issue #874
...
With special acknowledgement to sxsing (his github login) for his
help in development and testing of this fix.
NOTE: Pull-request is against master as the fixes branch has not
been updated with the v1.5 file src/handle_connect.c
Signed-off-by: Dave Miller <dmiller@tibco.com>
7 years ago
Roger A. Light
51ec5601c2
Fix memory leak that could be caused by a malicious CONNECT packet.
...
Closes #533493 (on Eclipse bugtracker)
Thanks to Daniel Romero.
8 years ago
Roger A. Light
23230b7b18
Add per-listener acl handling.
8 years ago
Roger A. Light
7615ae24ce
Handle CONNECT protocol errors.
...
Don't allow username when no username flag set.
Don't allow password when no password flag set.
Closes #730 . Closes #731 .
Thanks to Umberto Boscolo.
8 years ago
Roger A. Light
729a09310a
Add UTF-8 tests, plus some validation fixes.
...
Closes #693 .
8 years ago
Roger A. Light
5ff8127f44
Fix will sending for duplicate clients.
...
When a client with an in-use client-id connects, if the old client has a
will, send the will message. Closes #26 .
Thanks to Pierre F.
8 years ago
Roger A. Light
24d68b5af8
Remove support for openssl 1.0.0 and 1.0.1.
...
These are no longer supported by openssl.
8 years ago
Roger A. Light
f4d238be18
Bump copyright years.
8 years ago
Roger A. Light
26bc3206cd
Per listener allow_zero_length_clientid.
8 years ago
Roger A. Light
7271893966
Per listener auto_id_prefix.
8 years ago