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
108b23ce6d
Reduce use of mosquitto_time() and time().
5 years ago
Roger A. Light
23d3c2641e
Optimise epoll event to context/listener mapping. Allows quicker lookups.
5 years ago
Roger A. Light
e6dd08074d
TLS certificates for the server are now reloaded on SIGHUP.
5 years ago
Roger A. Light
291b711bd4
Fix incorrect disconnect messages.
5 years ago
Roger A. Light
88b5daee66
Try very hard not to produce "Socket error" message.
...
This happens when an unhandled error occurs on a socket/read write. The
message is confusing to people.
5 years ago
Roger A. Light
06b933c3ba
Add tick event to plugin interface.
5 years ago
Roger A. Light
4f61f6c161
Fix conversion errors.
5 years ago
Roger A. Light
f0862e26ec
Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
...
These can be used by plugins to disconnect clients.
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
961ffcb2ae
Remove redundant keepalive check.
...
Websockets clients are now part of the by_sock hashtable, so this isn't
needed.
5 years ago
Roger A. Light
581e843131
Move keepalive check to its own function.
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
2dc8d2a19a
Allow plugins to send messages to specific clients.
5 years ago
Roger A. Light
e56b953abd
Free memory after sending queued plugin message.
5 years ago
Roger A. Light
872222c3c9
Remove unused values.
...
Coverity Scan 1431134, 1431136, 1431140.
5 years ago
Roger A. Light
8416b007ec
Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs.
5 years ago
Roger Light
318dead6bf
Function to allow plugins to publish messages.
5 years ago
Roger A. Light
ea47f6b0dc
Clearer client disconnection message.
6 years ago
Roger Light
986bf89f47
Prototype separate poll/epoll files.
6 years ago
Roger A. Light
d96543c0b8
Merge branch 'fixes' into develop
6 years ago
Roger A. Light
b0a065f790
Update changelog. Release page. Bump copyright.
6 years ago
Roger A. Light
5528dde56a
Fix possible null dereferences.
6 years ago
Roger A. Light
c0443637e8
Merge branch 'master'
...
Conflicts:
ChangeLog.txt
config.mk
src/context.c
src/loop.c
src/subs.c
test/broker/01-connect-bad-packet.py
test/broker/02-subpub-qos1-bad-pubcomp.py
test/broker/02-subpub-qos1-bad-pubrec.py
test/broker/02-subpub-qos2-bad-puback-1.py
test/broker/02-subpub-qos2-bad-puback-2.py
test/broker/02-subpub-qos2-bad-pubcomp.py
test/broker/02-subpub-qos2.py
test/broker/07-will-null-topic.py
6 years ago
Roger A. Light
6dec2b468b
Remove redundant expiry checks
...
This is all now handled in session_expiry.c, through session expiry interval/time.
6 years ago
Roger A. Light
54ed3c0fc9
Merge branch 'master' into develop
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
096380fbdc
Add workaround for libwebsockets 3.2.0.
6 years ago
Roger A. Light
8f6ac1b64a
Fix for websockets regression.
6 years ago
Roger A. Light
9ad5fe7d95
Fix repeated "Error in poll" messages on Windows.
...
This occurs when only websockets listeners are defined.
Closes #1391 . Thanks to stopak.
6 years ago
Roger A. Light
034324c46d
Fix websockets 3.2 causing slow connection on non-websockets listeners
...
Closes #1406 . Thanks to pbrenna.
6 years ago
Roger A. Light
f1516f86cb
Improve error messages in some situations when clients disconnect.
...
Reduces the number of "Socket error on client X, disconnecting"
messages.
6 years ago
Roger A. Light
1c1ccaee52
Merge branch 'master' into develop
6 years ago
Roger A. Light
13ac1080a0
Refactoring bridge code
...
This separates out a good amount from the main loop code.
6 years ago
Roger A. Light
5088202529
Fix persistent Websockets clients not receiving messages.
...
This occurs after they reconnect, having sent DISCONNECT
on a previous session.
Closes #1227 . Thanks to usernametaken.
6 years ago
Roger A. Light
baf1909ffb
Improve some messages when client disconnects.
7 years ago
Roger A. Light
9faad1e078
Fix a variety of scan-build warnings.
7 years ago
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.
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
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
c506c8335b
Will delay tests and implementation.
7 years ago
Roger A. Light
084062c85e
Merge branch 'fixes' into mqtt5
7 years ago
Roger A. Light
9999faf9da
Add rewritten build test script and remove some build warnings.
7 years ago
Roger A. Light
05458eb35d
Fix some unused variable warnings.
7 years ago
Roger A. Light
d6a690aa8d
Fix Will not being sent for Websockets clients.
...
Closes #1143 . Thanks to salcedo.
7 years ago
Roger A. Light
fcf4cd0b27
Merge branch 'master' into mqtt5
7 years ago