Commit Graph

122 Commits

Author SHA1 Message Date
Roger A. Light
f1516f86cb Improve error messages in some situations when clients disconnect.
Reduces the number of "Socket error on client X, disconnecting"
messages.
2019-09-05 12:31:52 +01:00
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.
2019-05-28 22:13:22 +01:00
Roger A. Light
baf1909ffb Improve some messages when client disconnects. 2019-04-16 11:40:07 +01:00
Roger A. Light
9faad1e078 Fix a variety of scan-build warnings. 2019-03-26 14:00:42 +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
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
2019-03-16 10:05:38 +00:00
Roger A. Light
110f4aada6 Don't overwrite disused client state. 2019-03-15 21:38:24 +00:00
Roger A. Light
2dd24449ad Fix "unused parameter" warnings. 2019-03-13 14:46:05 +00:00
Roger A. Light
ac91144495 Session expiry interval support - not working for file persistence. 2019-03-06 14:47:16 +00:00
Roger A. Light
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +00:00
Roger A. Light
c506c8335b Will delay tests and implementation. 2019-02-27 09:27:34 +00:00
Roger A. Light
084062c85e Merge branch 'fixes' into mqtt5 2019-02-12 17:05:42 +00:00
Roger A. Light
9999faf9da Add rewritten build test script and remove some build warnings. 2019-02-12 13:24:54 +00:00
Roger A. Light
05458eb35d Fix some unused variable warnings. 2019-02-08 13:01:07 +00:00
Roger A. Light
d6a690aa8d Fix Will not being sent for Websockets clients.
Closes #1143. Thanks to salcedo.
2019-02-08 13:01:07 +00:00
Roger A. Light
fcf4cd0b27 Merge branch 'master' into mqtt5 2018-12-19 14:11:11 +00:00
Roger A. Light
89f3d7bb3f Don't print connect/disconnect messages when connection_messages false.
Closes #772. Closes #613. Closes #537.

Thanks to Christopher Maynard, Brandon Arrendondo, and qubeck.
2018-12-11 10:55:39 +00:00
Abilio Marques
ead440e47d bridge: fix issue where keepalive_interval gets added to restart_timeout using ADNS
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2018-12-05 11:42:24 +00:00
Roger A. Light
54db895cb3 Rename clean_session to clean_start for v5. 2018-11-27 10:02:10 +00:00
Abilio Marques
a4a5236568 fix bug where bridge doesn't honor restart_timeout setting
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2018-11-06 23:28:40 +00:00
Roger A. Light
eff8fab1b4 Only process network errors for clients that have nothing to read.
Closes #7.
2018-11-06 23:02:33 +00:00
Roger A. Light
93f9e965a8 Only remove context from hash if there is a client id.
This should never happen, but just in case.
2018-11-06 23:01:06 +00: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
2b4ba10b3d Fix "round_robin false" behaviour.
Closes #481.
2018-09-19 17:30:38 +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
2221deb7a7 Fix build when using WITH_ADNS=yes. 2018-08-30 20:44:17 +01:00
Roger A. Light
88765a5e80 Consistent use of config.h across the project. 2018-08-16 11:14:51 +01:00
Roger A. Light
a199cac69e Don't confuse expiring and duplicate clients. 2018-08-15 17:27:59 +01:00
Roger A. Light
ab5af8f0b9 Fix building for libwebsockets < 1.6. 2018-08-14 17:20:22 +01:00
Roger A. Light
fc9a0db966 All clients now time out if they exceed their keepalive*1.5
This was inconsistent before.

Partially addresses #865.
2018-08-02 13:05:36 +01:00
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>
2018-08-01 19:30:40 +01:00
Roger A. Light
5e60136449 Merge branch 'develop' 2018-05-03 07:55:45 +01:00
Roger A. Light
cec1af1386 Don't print uninteresting epoll warnings. 2018-05-02 17:33:33 +01:00
Roger A. Light
f4d238be18 Bump copyright years. 2018-04-11 15:24:29 +01:00
Roger A. Light
5b2bf3d1c1 Bump version number, update copyrights. 2018-02-28 11:15:20 +00:00
Roger A. Light
b76982db13 Fix reloading of config when fds are exhausted. 2018-02-24 21:44:38 +00:00
Roger A. Light
027c5d7f6e Don't remove invalid socket from epoll fd. 2018-01-13 21:10:24 +00:00
toast-uz
df9ad5f0bd Add Epoll. (#495)
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2017-07-27 18:43:09 +01:00
Roger A. Light
5a267368d7 Merge branch 'master' into develop 2017-07-19 00:15:42 +01:00
Fredrik Fornwall
366194cde4 Replace getdtablesize() with sysconf(_SC_OPEN_MAX)
From http://man7.org/linux/man-pages/man3/getdtablesize.3.html:

"It is not specified in POSIX.1; portable applications should employ
sysconf(_SC_OPEN_MAX) instead of this call."

Specifically this fixes a build failure on Android which does not
have getdtablesize().

Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-07-16 23:16:30 +01:00
Roger A. Light
e74203de2c Merge branch 'master' into develop 2017-07-16 22:52:01 +01:00
Roger A. Light
8de5ed4464 Remove "error in poll" messages. 2017-06-27 22:32:10 +01:00
Pierre Fersing
408972ddc1 Fix two issues with Websocket (#472)
* Websocket were always marked as "want_write" (even if they only
  want to read, or worse want nothing).
* Websocket FD was read twice in some case (when socket recv queue was
  larger that size read by libwebsocket)

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-06-23 22:30:57 +01:00
Roger A. Light
ab45f86d74 Prevent out of bounds array access. 2017-06-22 09:47:03 +01:00
Roger A. Light
8f59d5ad28 Remove unused vars and reset pollfd_index on disconnect. 2017-06-19 16:14:59 +01:00
Roger A. Light
c07ba2a3da Experimental fix for poor websockets performance. 2017-06-18 12:52:59 +01:00
Roger A. Light
b61fefcf08 Merge branch 'master' into develop 2017-05-31 21:05:26 +01:00
YuLun Shih
97572610c0 Fix bridge->restart_t won't be reset
Signed-off-by: YuLun Shih <shih@yulun.me>
2017-05-05 22:02:05 +01:00
Roger A. Light
91b308a11d Merge branch 'master' into develop 2017-03-06 21:19:53 +00:00
Roger A. Light
433ee5c4d6 [344] Don't compile in async dns support by default for makefiles. 2017-02-20 23:48:30 +00:00