Commit Graph

642 Commits

Author SHA1 Message Date
Roger A. Light
a65f946e83 Move headers to own directory. 2020-10-07 22:06:01 +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
2774515456 Fix missing mach/mach_time.h header on OS X.
Closes #1831. Thanks to P-Hagen.
2020-09-22 15:08:48 +01:00
Roger A. Light
acf4ff3738 Fix stdin being closed by mistake
This was closing the sockpair* sockets before they were initialised to INVALID_SOCKET.

Close #1823. Thanks to ostkamp.
2020-09-14 19:35:22 +01:00
Roger A. Light
a53712a14d Don't use logging until log mutex is initialised.
Closes #1819. Thanks to santoshks68.
2020-09-11 17:02:15 +01:00
Roger A. Light
298d84941e Fix send quota being incorrecly reset on reconnect.
Closes #1822. Thanks to Sarek.
2020-09-11 13:34:51 +01:00
Roger A. Light
56ba1b99db Add mosquitto_ssl_get().
This allow clients to access their SSL structure and
perform additional verification.
2020-09-10 15:50:47 +01:00
Roger A. Light
5daa5ee162 Add support for $CONTROL/ topics in plugins. 2020-09-10 15:32:47 +01:00
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.
2020-09-07 13:51:44 +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
ignacy.ruksza
3806296c15 Ld symbol of the mosquitto_property_copy_all has global bind now.
Signed-off-by: ignacy.ruksza <ignacy.ruksza@ledatel.pl>
2020-09-02 16:29:03 +01:00
Roger A. Light
39ff7226eb Bump version, add new www posts. 2020-08-19 14:46:44 +01:00
Titouan Christophe
79051fbdca do not include pthread when compiling without threading support
This fixes the following error, when compiling for systems without
pthread support, and when passing WITH_THREADING=no to make:

    thread_mosq.c:24:12: fatal error: pthread.h: No such file or directory
     #  include <pthread.h>
                 ^~~~~~~~~~~
    compilation terminated.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
2020-08-18 22:52:29 +01:00
Karl Palsson
2fdb5a0171 docs: move _string_option with rest of client options
It was grouped with the callbacks, where it didn't make a lot of sense.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2020-08-18 22:51:42 +01:00
Karl Palsson
d254ea70df docs: remove duplicate mosquitto_reconnect_delay_set
Was listed in both client options, and under the callbacks.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2020-08-18 22:51:42 +01:00
Roger A. Light
c9218fd48c Bump version. 2020-08-11 12:05:32 +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 A. Light
4b100df5b1 Fix reconnect+will delay interval issue causing missing messages.
Fix clients not receiving messages after a previous client with the same   client ID and positive will delay interval quit.
Closes #1752. Thanks to Jiří Zuzaňák.
2020-08-11 11:01:25 +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
bd27935ff6 mosquitto_loop_start() now sets a thread name.
This applies on Linux, FreeBSD, NetBSD, and OpenBSD.

Closes #1777. Thanks to ABuch19.
2020-08-10 22:51:17 +01:00
Roger A. Light
f180e923ef Merge branch 'lazy_ssl' of git://github.com/abiliojr/mosquitto into abiliojr-lazy_ssl 2020-08-07 16:42:30 +01:00
Roger A. Light
9b5112f547 Fix unsigned compared against 0.
Coverity Scan 1431132.
2020-08-06 13:43:57 +01:00
Roger A. Light
1b060bb064 Guard against use-after-free.
Coverity Scan 1431131, 1431135, 1431141.
2020-08-06 13:36:24 +01:00
Roger A. Light
84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 2020-08-02 23:12:47 +01:00
Abilio Marques
d5aae3eca7 lazy init SSL
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2020-07-23 17:48:56 +02:00
Roger A. Light
d371b3c58b Fix mosquitto_publish*() no longer returning MOSQ_ERR_NO_CONN.
This was always returning success when the client was not connected.

Closes #1725. Thanks to BOTorioN.
2020-07-15 20:25:36 +01:00
Roger A. Light
d9003bb858 Don't use mutex until it is initialised.
Coverity Scan 1430456.
2020-07-15 12:12:51 +01:00
Roger A. Light
e3e8dc4ea4 Allow send__pub{ack,rec,rel,comp} to send properties. 2020-07-10 12:29:53 +01:00
Roger A. Light
c8964228e3 Improved documentation around connect callback return codes.
Close #1730. Thanks to John Laird.
2020-06-22 21:45:50 +01:00
Jasper Lievisse Adriaanse
4ef7ea6244 extend ifdef guard to fix compilation on OpenBSD
otherwise in6_addr, AF_INET and AF_INET6 end up being undefined

Signed-off-by: Jasper Lievisse Adriaanse <jasper@humppa.nl>
2020-06-17 15:54:24 +01:00
Roger A. Light
a9c97efaa4 Document that keepalive must be >= 5 seconds. 2020-06-10 15:21:01 +01:00
Roger A. Light
cea0423e69 Update changelog and version. 2020-05-25 23:40:15 +01:00
Martin Kelly
8d54aaef89 add a refcount to library init/cleanup
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 11:20:39 +01:00
Martin Kelly
d103174b5c correct mosquitto.h return code documentation
We currently erroneously claim that mosquitto_lib_init cannot fail,
while it can fail on Windows, if WSAStartup fails in net__init. Correct
this.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 10:59:00 +01:00
Martin Kelly
61a50c60d2 add a refcount to library init/cleanup
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2020-05-20 10:57:40 +01:00
Roger A. Light
762ad432e8 Fix support for openssl 3.0 2020-05-12 13:39:49 +01:00
Roger A. Light
21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 2020-03-28 23:33:01 +00:00
Roger A. Light
f0deb9a5a1 CMake: Make building clients, broker and C++ library optional.
Issue #1641.
2020-03-27 21:57:06 +00:00
Karl Palsson
efb21fb09c doc: lib clarify _topic_check functions
Removed some whitespace and copy paste errors.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
8c16d7cd50 doc: add mqtt5 property options.
This just gets them all listed, explaining the available apis where they
could be used is left as further work.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
1b4b6f4a2c doc: lib: properly flag code samples for formatting
Uses the NaturalDocs 1.5 compatible style. (Forward compatible with v2)
Uses > for short snippets and the tagged style for longer snippets.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
fd83d2274f doc: lib: avoid unintended code formatting
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
1331399228 doc: lib: specifically document mqtt5_sub_options
This makes the documentation of the options available in
https://mosquitto.org/api/files/mosquitto-h.html#mosquitto_subscribe_v5
a lot cleaner. (and also _subscribe_multiple())

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
d46707fe02 doc: lib_vesion: correctly format return values
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
765f7343c2 doc: lib: _xxx_option() and opts_set() cleanup list syntax
This change improves the option list rendering by correctly triggering
naturaldocs detection of the lists.  No change other than line breaks
and whitespace.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Karl Palsson
6c7ef15112 doc: lib: group all _option functions together.
_string_option was grouped with the callbacks instead of _int_option and
_void_option.  Grouped them all together neatly.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-19 16:40:48 +00:00
Roger A. Light
a16d7e0661 iDon't treat an unexpected PUBREL as fatal.
Issue #1629. Thanks to radcrabs.
2020-03-19 15:38:29 +00: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
7f41e37f0f Fix use of sed on BSD.
Closes #1614. Thanks to Christoph Krey.
2020-03-12 11:52:58 +00:00