Commit Graph

682 Commits (6ad5f19aef40f4cea8e896e19347cc0d36935a7d)

Author SHA1 Message Date
ignacy.ruksza 3806296c15 Ld symbol of the mosquitto_property_copy_all has global bind now.
Signed-off-by: ignacy.ruksza <ignacy.ruksza@ledatel.pl>
5 years ago
Roger A. Light 39ff7226eb Bump version, add new www posts. 5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Roger A. Light c9218fd48c Bump version. 5 years ago
Roger A. Light b3c2ac20dc Fix overly broad HAVE_PTHREAD_CANCEL compile guard.
Closes #1547. Thanks to Markus Gothe.
5 years ago
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.
5 years ago
Roger Light 4ef48269f5 Fix mosquitto_loop_stop() not stopping on Windows
Closes #1748. Closes #117. Thanks to Sigmund Vik.
5 years ago
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.
5 years ago
Roger A. Light f180e923ef Merge branch 'lazy_ssl' of git://github.com/abiliojr/mosquitto into abiliojr-lazy_ssl 5 years ago
Roger A. Light 9b5112f547 Fix unsigned compared against 0.
Coverity Scan 1431132.
5 years ago
Roger A. Light 1b060bb064 Guard against use-after-free.
Coverity Scan 1431131, 1431135, 1431141.
5 years ago
Roger A. Light 84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 5 years ago
Abilio Marques d5aae3eca7 lazy init SSL
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
5 years ago
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.
5 years ago
Roger A. Light d9003bb858 Don't use mutex until it is initialised.
Coverity Scan 1430456.
5 years ago
Roger A. Light e3e8dc4ea4 Allow send__pub{ack,rec,rel,comp} to send properties. 5 years ago
Roger A. Light c8964228e3 Improved documentation around connect callback return codes.
Close #1730. Thanks to John Laird.
5 years ago
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>
5 years ago
Roger A. Light a9c97efaa4 Document that keepalive must be >= 5 seconds. 5 years ago
Roger A. Light cea0423e69 Update changelog and version. 5 years ago
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>
5 years ago
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>
5 years ago
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>
5 years ago
Roger A. Light 762ad432e8 Fix support for openssl 3.0 5 years ago
Roger A. Light 21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 6 years ago
Roger A. Light f0deb9a5a1 CMake: Make building clients, broker and C++ library optional.
Issue #1641.
6 years ago
Karl Palsson efb21fb09c doc: lib clarify _topic_check functions
Removed some whitespace and copy paste errors.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
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>
6 years ago
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>
6 years ago
Karl Palsson fd83d2274f doc: lib: avoid unintended code formatting
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
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>
6 years ago
Karl Palsson d46707fe02 doc: lib_vesion: correctly format return values
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
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>
6 years ago
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>
6 years ago
Roger A. Light a16d7e0661 iDon't treat an unexpected PUBREL as fatal.
Issue #1629. Thanks to radcrabs.
6 years ago
Roger A. Light 346f695937 Separate out delay code from previous commit.
Plus add missing header.
6 years ago
Roger A. Light 5cf94d2e57 Merge branch 'fixes' of git://github.com/ChristianS99/mosquitto into fixes 6 years ago
Roger A. Light 7f41e37f0f Fix use of sed on BSD.
Closes #1614. Thanks to Christoph Krey.
6 years ago
Roger A. Light c84d175b3d Fixes for the poor souls stuck on <c99.
Closes #1622.
6 years ago
Roger A. Light d96543c0b8 Merge branch 'fixes' into develop 6 years ago
Roger A. Light b544b46156 Update version. 6 years ago
Roger A. Light b0a065f790 Update changelog. Release page. Bump copyright. 6 years ago
Roger A. Light b6a54a21d8 Remove duplicate code. 6 years ago
Roger A. Light 8d5fd7d1e2 Fix `mosquitto_topic_matches_sub()` behaviour with wildcards in topic.
It was not returning MOSQ_ERR_INVAL if the topic contains a wildcard.

Closes #1589. Thanks to mdelete.
6 years ago
Roger A. Light 2a8c1d03f5 Merge branch 'coverity-fixes' into fixes 6 years ago
Gianfranco Costamagna 7a5c2d4da5 Bugfix: include "deps" directory only if BUNDLED_DEPS has been provided and set to true
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
6 years ago
Roger A. Light 3a89059271 Don't call SSL_shutdown() if SSL init hasn't completed. 6 years ago
Roger A. Light 07c54627e9 Print OpenSSL errors in more situations
Covers when loading certificates fails, or there are ENGINE problems.

Closes #1552. Thanks to Michael Richardson.
6 years ago
Roger A. Light 27b4518d7e Improve password file parsing in the broker and mosqitto_passwd.
Closes #1584. Thanks to panava.
6 years ago
Roger A. Light e188a6b500 More whitespace trimming fixes/consolidation. 6 years ago
Roger A. Light 70fd600c3a Fix trailing whitespace not being trimmed on acl users.
Closes #1539. Thanks to CliveJL and LeonPoon.
6 years ago
Roger A. Light 81641df043 Expose net__print_ssl_error() prototype. 6 years ago
Roger A. Light 11ece604c4 Merge branch 'bugfix-MemLeak_in_handle_unsubscribe' of git://github.com/panava/mosquitto into panava-bugfix-MemLeak_in_handle_unsubscribe 6 years ago
Roger A. Light 89b55094c0 Merge branch 'bugfix-NullDeref_in_util_mosc.c' of git://github.com/panava/mosquitto into panava-bugfix-NullDeref_in_util_mosc.c 6 years ago
Roger A. Light 50735afb5b Fix for internal logging not printing. 6 years ago
Panagiotis Vasilikos dd6d8237cb Potential Null pointer dereference in util_mosq.c
Reason: There is no check that the mosquitto__malloc at line 162 was sucessfull.
This could result to a Null pointer dereference in the memcpy call at line 166.

Fix: I added the check.
Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
6 years ago
Roger A. Light 8f1c8cba59 Set minimum keepalive argument to `mosquitto_connect*()` to be 5 seconds.
Closes #1550. Thanks to Markus Gothe.
6 years ago
Panagiotis Vasilikos caeb211cc5 Memory leak in socks_mosq.c
Reason: The memory allocated for the packet pointer at line 155 is not freed
before returning at line 188.

Fix: I inserted the mosquitto__free(packet) statement just before returning
at line 188.

Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
6 years ago
Roger A. Light 4408339dbc Make consts unsigned where they are compared against unsigned. 6 years ago
Roger A. Light 05ec02b3f3 Remove dead values. 6 years ago
Roger A. Light d60e86d2a3 Add TCP_NODELAY support to lib and clients.
Closes #1526. Thanks to Felix Moessbauer.
6 years ago
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>
6 years ago
Roger A. Light c0443637e8 Merge branch 'master'
Conflicts:
	ChangeLog.txt
	config.mk
	src/context.c
	src/loop.c
	src/subs.c
	test/broker/01-connect-bad-packet.py
	test/broker/02-subpub-qos1-bad-pubcomp.py
	test/broker/02-subpub-qos1-bad-pubrec.py
	test/broker/02-subpub-qos2-bad-puback-1.py
	test/broker/02-subpub-qos2-bad-puback-2.py
	test/broker/02-subpub-qos2-bad-pubcomp.py
	test/broker/02-subpub-qos2.py
	test/broker/07-will-null-topic.py
6 years ago
Roger A. Light b410568299 Bump version, add release post. 6 years ago
Roger A. Light c37251c53d Document `mosquitto_connect_srv()`.
Closes #1499. Thanks to Basavesh Shivakumar.
6 years ago
Roger A. Light 91961d93c4 Merge branch 'master' of git://github.com/basavesh/mosquitto into basavesh-master 6 years ago
Basavesh Shivakumar 7c34ed2eeb Delete duplicate 'Returns' messages in the comments.
Signed-off-by: Basavesh Shivakumar <basavesh.shivakumar@gmail.com>
6 years ago
Roger A. Light d003fed383 MQTT v5 bridges can handle "retain-available" being false. 6 years ago
Roger A. Light 2af260ba58 Add `bridge_outgoing_retain` option
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
6 years ago
Roger A. Light 88c83fe6b5 mosquitto_pub now handles the MQTT v5 retain-available property
It will not set the retain bit if retain-available is false.
6 years ago
Roger A. Light e6e7fc961d Fix function in wrong doc section. 6 years ago
Roger A. Light 463fe8fc6c Fix document issues in mosquitto.h.
Closes #1478. Thanks to Liam Fry.
6 years ago
Roger A. Light 47dadb902d Only call ERR_clear_error() after an error has occurred. 6 years ago
Roger Light 2f8573b456 Add property helper functions.
mosquitto_property_identifier()
mosquitto_property_identifier_to_string()
mosquitto_property_next()
6 years ago
Roger Light a65aef9232 Null terminate binary data reading. 6 years ago
Roger A. Light b660283e64 Basic MQTT v5 support for bridges.
This gives equivalent behaviour as for v3.1.1/v3.1 bridges, there is no extra functionality yet.
6 years ago
Roger A. Light 499e2f2e98 Add support for unix sockets to broker, lib, and clients. 6 years ago
Roger A. Light 8463c33720 Refactor property remaining length calculation. 6 years ago
Roger A. Light 093c8f90f5 Fix publish props not being passed to v5 msg callback for QoS 2 msgs.
Closes #1432. Thanks to Magnus Galåen.
6 years ago
Roger A. Light 54ed3c0fc9 Merge branch 'master' into develop 6 years ago
Roger A. Light 6a01453ce0 Build fixes. 6 years ago
Roger A. Light b7d8eb1122 Bump version number. Update www. 6 years ago
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.
6 years ago
Roger A. Light 4b6cc208e2 Fix inflight max behaviour and option setting. 6 years ago
Roger A. Light da5ff1746c Don't use `/` in auto client ids.
Also update client documentation about automatic client ids.
6 years ago
Roger A. Light 9883652dde Bump version, update www and changelog. 6 years ago
Roger A. Light 1066750931 Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
Closes #1412. Thanks to Ryan Shaw.
6 years ago
Roger A. Light 344bbd087c Install mqtt_protocol.h 6 years ago
Roger A. Light 6e2be25881 Bump version numbers, add release info. 6 years ago
Roger A. Light 808bbedb6a Possible fix for #1385. 6 years ago
Roger A. Light ee3591d228 Fix missing locks on `mosq->state`.
Closes #1374. Thanks to Jeff Trull.
6 years ago
Roger A. Light ba918ac73e Fix reconnect backoff where connections are dropped
Closes #737. Thanks to chelliwell.
6 years ago
Roger A. Light 412379b03b Fix bridges potentially not connecting on Windows.
Closes #478.
6 years ago
Roger A. Light 76865707b2 Guard ssize_t definition on Windows.
Closes #522. Thanks to trinytron.
6 years ago
Roger A. Light ff676811d3 Client no longer generates random client ids for v3.1.1 clients
These are now expected to be generated on the broker. This matches the
behaviour for v5 clients.

Closes #291.
6 years ago
Roger A. Light c1e488cb88 Add timeout return code (27) for sub/rr using -W.
Closes #275.
6 years ago
Roger A. Light a0e7165a9c Fix WITH_STATIC_LIBRARIES using CMake on Windows
Closes #1369. Thanks to TimmvonderMehden
6 years ago
Roger A. Light 494d3d29a0 Fix missing function warnings on NetBSD.
Thanks to Greg Troxel.
6 years ago