Commit Graph

42 Commits

Author SHA1 Message Date
Roger A. Light
e979a46c04 Backport SSL connect fixes.
Closes #2594.
Closes #2595.
2022-08-09 21:25:54 +01:00
Christian Salvasohn
4077987593 fix data race mosquitto_loop function
next_msg_out must be protected with the msgtime_mutex
as done everywhere else in the code else there is a data race
e.g. if mosquitto_publish is called from another thread

Signed-off-by: Christian Salvasohn <csalvasohn@gmx.de>
2022-04-13 20:05:35 +02:00
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
doragasu
4471ee9e47 Call disconnect callback on TLS error.
When using the library asynchronously, TLS errors caused e.g. because
of the date/time not set correctly, cause the connection to be silently
dropped without the disconnection callback being invoked, as described
in issue #1052.

This commit fixes the issue, returning the behavior to the one the
library had previous to version 1.5.4, if a TLS error occurs, the
disconnect callback will be invoked for the client to get notified of
the error.

Signed-off-by: doragasu <doragasu@protonmail.com>
2021-09-16 17:06:55 +02:00
Roger A. Light
a2ab20df13 Don't call read() if sockpairR < 0.
Coverity #1450782.
2021-05-06 21:04:49 +01:00
Abilio Marques
dd4a64b049 fully empty socketpairR on interruptible_sleep
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2021-03-22 08:15:47 +01:00
Roger A. Light
f8838243fb Fix connections retrying very rapidly in some situations.
Thanks to Abilio Marques.
2021-03-11 21:04:51 +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
Nikolay Raspopov
71845d28ac
Fixed some VS2017 compilation error and warnings (#1916)
* Fixed some VS2017 compilation errors and warnings.

Signed-off-by: raspopov <raspopov@cherubicsoft.com>
2020-12-02 15:59:45 +00:00
Roger A. Light
df1802d8f1 Fix client state conversion warnings. 2020-12-02 10:26:22 +00:00
Roger A. Light
3731535298 Add SPDX license identifiers. 2020-12-01 20:46:56 +00:00
Roger A. Light
584cf51ba7 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
raspopov
add355a78b QNX has no pselect() either.
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
2020-11-02 21:33:09 +00:00
Roger A. Light
2e72d795a9 Fix timeout conversion error. 2020-10-30 21:31:13 +00:00
raspopov
0097a85ce0 Something bad happened with a "timeout" parameter of mosquitto_loop() function in 4f61f6c161. Reverted.
Signed-off-by: raspopov <raspopov@cherubicsoft.com>
2020-10-30 18:40:22 +00:00
Roger A. Light
7ae7d73fd4 The loop in packet_write() means that max_packets isn't needed. 2020-10-21 21:16:58 +01:00
Roger A. Light
4f61f6c161 Fix conversion errors. 2020-10-17 01:23:08 +01:00
Roger A. Light
b3c2ac20dc Fix overly broad HAVE_PTHREAD_CANCEL compile guard.
Closes #1547. Thanks to Markus Gothe.
2020-08-11 11:02:38 +01:00
Roger Light
4ef48269f5 Fix mosquitto_loop_stop() not stopping on Windows
Closes #1748. Closes #117. Thanks to Sigmund Vik.
2020-08-11 08:55:05 +01:00
Roger A. Light
346f695937 Separate out delay code from previous commit.
Plus add missing header.
2020-03-12 13:53:44 +00:00
Roger A. Light
5cf94d2e57 Merge branch 'fixes' of git://github.com/ChristianS99/mosquitto into fixes 2020-03-12 13:52:00 +00:00
Roger A. Light
b0a065f790 Update changelog. Release page. Bump copyright. 2020-02-27 23:26:58 +00:00
Christian Schneider
a3ebeff9d7 fix: replace sleep with (p)select in loop_forever
sleep was blocking loop_stop(force=false) since it
was uniteruptible

Signed-off-by: Christian Schneider <cschneider@radiodata.biz>
2019-12-18 18:01:50 +01:00
Roger A. Light
6a01453ce0 Build fixes. 2019-09-25 12:17:17 +01:00
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.
2019-09-24 20:15:04 +01:00
Roger A. Light
ba918ac73e Fix reconnect backoff where connections are dropped
Closes #737. Thanks to chelliwell.
2019-09-04 22:20:13 +01:00
Roger A. Light
a22ccbd884 Clients: improve error msgs when connecting v3.x broker with v5 client
Closes #1344. Thanks to HowJMay.
2019-08-01 11:40:55 +01:00
Roger A. Light
8531cb1d79 Separate broker message queues into in/out.
This allows and includes better flow control handling for QoS>0.
2019-04-17 09:29:34 +01: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
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +00:00
Roger A. Light
fcf4cd0b27 Merge branch 'master' into mqtt5 2018-12-19 14:11:11 +00:00
Roger A. Light
afe011866c Remove unused variables. 2018-12-11 10:55:42 +00:00
Roger A. Light
73c46174f8 Don't call on_disconnect() twice if keepalive tests fail.
Closes #1067. Thanks to xingchen02.

Bug: https://github.com/eclipse/mosquitto/issues/1067
2018-12-06 10:45:57 +00:00
Tamaki Nishino
d07864939a Check SSL_DATA_PENDING in mosquitto_loop_read()
Signed-off-by: Tamaki Nishino <otamachan@gmail.com>
2018-12-05 11:39:50 +00:00
Roger A. Light
5d02f58151 Fix reconnect delay backoff behaviour.
Closes #1027. Thanks to Harm Verhagen.

Bug: https://github.com/eclipse/mosquitto/issues/1027
2018-12-04 17:19:31 +00:00
Roger A. Light
158189393e Add v5 client callbacks. 2018-11-20 14:36:18 +00:00
Roger A. Light
71b8c4d892 Fix TLS connections when using an external event loop.
Affects the use of mosquitto_loop_read() and mosquitto_write().
Closes #990.
2018-11-07 21:08:10 +00:00
Roger A. Light
4bacbecb1b Fix some places where return codes were incorrect.
Closes #850.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 14:41:04 +01:00
Roger A. Light
6a2172f472 Windows fixes. 2018-04-12 11:09:02 +01:00
Roger A. Light
9852f94ee0 Merge branch 'sub_client_timeout_upstream' of git://github.com/I2SE/mosquitto into I2SE-sub_client_timeout_upstream 2018-04-12 00:20:02 +01:00
Roger A. Light
c95f24c342 Missing includes. 2018-04-11 21:30:02 +01:00
Roger A. Light
28dd14fcea Separate out functions from mosquitto.c to aid discoverability. 2018-04-11 15:04:17 +01:00