Commit Graph

142 Commits

Author SHA1 Message Date
Roger A. Light
4a6570567a Merge branch 'x-forwarded-for-lws' of https://github.com/hardillb/mosquitto into hardillb-x-forwarded-for-lws 2022-08-16 14:30:37 +01:00
Ben Hardill
0eec37af99
Add support for X-Forwarded-For LWS
I know you've added this for the next release, but here is a fix
for LWS. But just incase there are any more 2.0.x releases.

It does leave the incoming port as 0 but as this is pretty meaningless
for a proxied connection I think it's probably ok.

Signed-off-by: Ben Hardill <hardillb@gmail.com>
2022-08-16 13:54:06 +01:00
Roger A. Light
a913de2d28 Fix some PUBLISH messages not being counted in $SYS stats.
Closes #2448. Thanks to Antoine.
2022-08-08 00:29:37 +01:00
Roger A. Light
16fb0025a7 Improve QoS 0 outgoing packet queueing. 2021-05-18 16:53:45 +01:00
Roger A. Light
0db306ef6b Fix compiler warning. 2021-05-17 17:16:01 +01:00
Roger A. Light
4a08626f43 Only a single call to lws_write() is required. 2021-05-17 17:16:01 +01:00
Roger A. Light
2749b8c5b8 Merge branch 'fixes' 2021-01-28 12:28:53 +00:00
Roger A. Light
a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
2021-01-20 11:46:18 +00:00
Roger A. Light
00083623f0 Fix websockets listeners with TLS not responding.
Closes #2020. Thanks to FozzTexx.
2021-01-15 09:53:45 +00:00
Roger A. Light
695bbc33c8 Fix calculation of remaining length parameter for websockets clients.
Only affects those clients that send fragmented packets.

Closes #1974. Thanks to 贺亚东.
2021-01-12 10:22:04 +00:00
Roger A. Light
09a870c342 Better behaved lws external poll code. 2021-01-11 15:57:09 +00:00
Roger A. Light
97d9f471c3 Fix websockets connections blocking non-ws connections on Windows.
Closes #1934. Thanks to sectokia and jarapa9.
2020-12-22 16:48:57 +00:00
Roger A. Light
757902bcf8 Improve struct packing. 2020-12-10 12:52:11 +00:00
Roger A. Light
37ce51703f Fix websockets listeners not causing the main loop not to wake up.
Closes #1936. Thanks to sectokia.
2020-12-10 12:31:52 +00:00
Roger A. Light
232a759320 Log client port on new connections.
Closes #1911. Thanks to twegener-embertec.
2020-12-01 22:38:59 +00:00
Roger A. Light
3731535298 Add SPDX license identifiers. 2020-12-01 20:46:56 +00:00
Roger A. Light
b34dcd2a67 Final remove support for legacy libwebsockets
This means libwebsockets < 2.4.0.
2020-12-01 13:41:14 +00:00
Roger A. Light
b7e6638fd8 Add ciphers_tls1.3 option, to allow setting TLS v1.3 ciphersuites.
Closes #1825. Thanks to Valentin Dimov.
2020-12-01 10:45:10 +00:00
Roger A. Light
dac841a342 Better outgoing QoS 0 limiting. 2020-11-25 10:00:45 +00:00
Roger A. Light
2755fe3c4c Apply limits to QoS 0 outgoing messages. 2020-11-24 12:04:07 +00:00
Roger A. Light
90ce92144c Fix websockets build. 2020-11-06 18:23:55 +00:00
Roger A. Light
108b23ce6d Reduce use of mosquitto_time() and time(). 2020-11-06 14:20:39 +00:00
Roger A. Light
4d6384c758 Build and conversion fixes for build variants. 2020-11-05 10:23:01 +00:00
Roger A. Light
67549f48ba context->mosq in websockets. 2020-09-25 09:15:22 +01:00
Roger A. Light
c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 2020-09-24 17:03:14 +01:00
Roger A. Light
bb5456729d Move keepalive check code to separate file.
This is in preparation for changing to a tree based implementation.
2020-09-05 22:59:50 +01:00
Roger A. Light
219f2c20d2 Ensure all websockets outgoing buffer is used. 2020-09-02 22:24:29 +01:00
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.
2020-08-17 23:03:25 +01:00
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.
2020-08-12 15:29:08 +01:00
Roger A. Light
8234d24b1b Fix websockets clients sometimes not being disconnected promptly.
Closes #1718. Thanks to Luca Casonato.
2020-07-15 22:06:29 +01:00
Roger Light
986bf89f47 Prototype separate poll/epoll files. 2020-03-26 10:35:02 +00:00
Roger A. Light
c84d175b3d Fixes for the poor souls stuck on <c99.
Closes #1622.
2020-03-12 10:29:11 +00:00
Roger A. Light
b0a065f790 Update changelog. Release page. Bump copyright. 2020-02-27 23:26:58 +00:00
Roger A. Light
6a01453ce0 Build fixes. 2019-09-25 12:17:17 +01:00
Roger A. Light
0a0ad4cd6c Fix for old libwebsockets versions. 2019-09-12 17:15:46 +01:00
Roger A. Light
4658dba6b3 Fix slow websockets performance when sending large messages.
Closes #1390. Thanks to aalibasic.
2019-08-29 14:12:58 +01:00
Roger A. Light
4c4ca38938 Fix support for libwebsockets 3.x. 2019-08-29 14:12:58 +01:00
Roger A. Light
32fde3885c Fix missing errors for websockets. 2019-04-17 09:43:38 +01:00
Roger A. Light
8024a30d1d Fix potential leak. 2019-03-18 21:57:49 +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
cd07c2b802 Windows build fixes. 2019-03-05 14:01:29 +00:00
Roger A. Light
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +00:00
Pierre Fersing
1aaf5f2348 Add websockets_headers_size option
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2019-02-28 00:25:19 +00:00
Roger A. Light
084062c85e Merge branch 'fixes' into mqtt5 2019-02-12 17:05:42 +00:00
Roger A. Light
17b52bd5d1 Windows: Fix possible crash when client disconnects.
Closes #1137. Thanks to Kris Mattheus.
2019-02-08 13:01:07 +00:00
Steven Lawrance
84d5028c2e Include sys/socket.h for AF_INET definition
Without this, mosquitto doesn't build on FreeBSD with websockets enabled

Signed-off-by: Steven Lawrance <stl@koffein.net>
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
Roger A. Light
d29dac087d Add socket_domain option. 2018-12-04 11:48:29 +00:00