Commit Graph

38 Commits

Author SHA1 Message Date
Zard1096
5b73897f98 Fix iOS crash issues
Relate to issues #327 and #63.
mosq->sock may be closed before FD_SET(mosq->sock, &writefds) and
FD_ISSET(mosq->sock, &writefds) but after judgement in line 947
if(mosq->sock != INVALID_SOCKET). FD_SET(-1, ...) and FD_ISSET(-1, ...)
would certainly crash.

Signed-off-by: Zard1096 <mr.zardqi@gmail.com>
2017-07-16 23:22:13 +01:00
Roger A. Light
6e7d02ba16 Fix for CVE-2017-9868 for Windows. 2017-06-26 14:53:33 +01:00
Roger A. Light
8e4a80a928 [329] Fix potential negative timeout being passed to pselect.
Thanks to Dollars.

Bug: https://github.com/eclipse/mosquitto/issues/329
2017-02-20 23:48:30 +00:00
Teun Lassche
4dc96a2533 Fix #304 Socket leakage
Signed-off-by: Teun Lassche <contact@thlassche.nl>
2017-02-20 23:48:30 +00:00
Roger A. Light
e8185ddaa7 [166] Don't cancel external threads.
libmosquitto shouldn't cancel threads it didn't create. This change
allows us to keep track of whether threads were created by the library
or by external code.

Thanks to Josip Ćavar.

Bug: https://github.com/eclipse/mosquitto/issues/166
2016-05-18 14:05:08 +01:00
Roger A. Light
af995d211d Fix client library keepalive handling.
Fix the case where a message received just before the keepalive timer
expired would cause the client to miss the keepalive timer.

Thanks to Graham Benton.
2016-02-28 17:24:43 +00:00
Roger A. Light
c7d4f4bcff mosq->want_write should be cleared immediately before a call to SSL_write.
This allows clients using mosquitto_want_write() to get accurate results.
2016-01-13 21:32:01 +00:00
Simon Wunderlich
c02cdbefdc mosquitto-lib: close socketpair on (re)connect
If the socket pair is still opened on reconnect, close it before
creating it again (just like the state variables). Otherwise, these
sockets are leaked on multiple mosquitto_connect() calls.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2015-09-22 17:10:26 +01:00
Anmol Sarma
13d869b8df Avoid calls to strlen() when checking for empty strings.
Change-Id: I3de322006623483cbf20218da071a9da5d7b2e2b
Signed-off-by: Anmol Sarma <me@anmolsarma.in>
2015-08-17 16:00:16 -04:00
Roger A. Light
1254fe93e0 [474935] Increment inflight message count correctly.
Don't duplicate the increment when queueing.

Thanks to Joe McIlvain.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474935
2015-08-17 20:50:41 +01:00
Roger A. Light
dc5abcac95 [470660] Handle fragmented TLS packets without a delay.
Thanks to Martin Rauscher.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=470660
2015-06-25 10:53:24 +01:00
Roger A. Light
c1974e5402 Report error string on connection failure rather than error code. 2015-06-23 22:59:03 +01:00
Roger A. Light
290ea87828 Build fixes for OpenBSD. 2015-05-21 17:15:33 +01:00
Roger A. Light
d7e3fdf7f7 Don't check set size on Windows.
socket is an opaque object on Windows, so this check isn't valid.
2015-04-29 10:40:19 +01:00
Roger A. Light
8de6b92e3c Fix calls to mosquitto_connect*_async() not completing. 2015-04-29 10:13:55 +01:00
Roger A. Light
e5010af4df [464632] Library: Fix possible crash due to select() call.
Fix possibility of select() being called with a socket that is >FD_SETSIZE.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464632
2015-04-19 21:13:54 +01:00
Roger A. Light
22fee31ba4 [464436] Library: Fix outgoing QoS 2 message problem.
Inflight message count wasn't being decreased for outgoing messages using
QoS 2, meaning that only up to 20 QoS 2 messages could be sent. This has
been fixed.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464436
2015-04-11 11:32:33 +01:00
Roger A. Light
46ccc2efe9 [463479] Make _mosquitto_mid_generate() thread safe.
Thanks to bdwalker.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463479
2015-04-03 07:48:55 +01:00
Roger A. Light
dacee786be [463000] Use own type to simplify socket handling.
Means that SOCKET is used as the socket type everywhere on Windows.
2015-03-29 10:43:08 +01:00
Roger A. Light
0434d1cd9b [461705] Return -1 on error from mosquitto_socket()
Thanks to Mikkel Kirkgaard Nielsen.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461705
2015-03-27 01:40:41 +00:00
Roger A. Light
2aceb704b5 [463000] Fix reconnect bug on Windows.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463000
2015-03-27 01:24:16 +00:00
Roger A. Light
6fd38b8c47 Windows fixes. 2015-02-13 21:18:52 +00:00
Roger A. Light
1a14f6fed5 [453293] Don't quit loop_forever() if broker not available.
This is a workaround for bug #453293, a better solution is needed for
1.5.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=453293
2015-02-09 22:17:27 +00:00
Roger A. Light
39ffd6fa36 Handle "error" codes from SSL_connect() correctly. 2015-01-27 23:33:36 +00:00
Roger A. Light
b99dbc01d4 Must initialise protocol field. 2015-01-27 17:28:26 +00:00
Roger A. Light
8a35c3cd0d Add client support for MQTT v3.1.1. 2015-01-27 00:32:20 +00:00
Roger A. Light
ac5dbd428f Clear want_write flag after responding to it.
Prevents busy loop after e.g. writing a large message when using TLS.

Thanks to Dave Sellars.
2015-01-07 23:19:06 +00:00
Roger A. Light
5b6f6976c7 Fix use of "dup" with pubrel, subscribe, unsubscribe.
Thanks to Paolo Patierno.
2014-11-19 21:28:52 +00:00
Roger A. Light
8f8816b092 Fix conditional compilation, add headers. 2014-09-30 01:02:12 +01:00
Roger A. Light
42420cae46 Add experimental SOCKS5 support for the clients. 2014-09-30 00:56:57 +01:00
Roger A. Light
e9c18f8347 mosquitto_loop_forever now quits after a fatal error, rather than blindly retrying. 2014-09-30 00:42:30 +01:00
Roger A. Light
06bec1083d Expose mosquitto_pub_topic_check() and mosquitto_sub_topic_check(). 2014-09-10 15:57:20 +01:00
Roger A. Light
abe72b8e4c Keep retrying to reconnect without calling loop on failure. 2014-08-15 00:00:04 +01:00
Roger A. Light
1c8433925d mosquitto_time() calculation to after keepalive check to avoid delays. 2014-07-09 21:40:27 +01:00
Roger A. Light
1257fd49eb Fixes for clients that disconnect very quickly. 2014-07-01 22:16:53 +01:00
Roger A. Light
aca67a2170 Better function names. 2014-06-08 22:51:36 +01:00
Roger A. Light
9015ee962e unlock mutex on return. 2014-05-27 21:50:42 +01:00
Roger Light
0364bd1be7 Initial contribution. 2014-05-07 23:27:00 +01:00