Roger A. Light
6104172bcf
Fix connect properties not being sent.
...
This was happening when the client automatically reconnected.
Closes #1846 . Thanks to DSOFreak.
5 years ago
Roger A. Light
9724710cd6
Add MOSQ_OPT_BIND_ADDRESS.
...
This allows setting of a bind address independently of the
`mosquitto_connect*()` call.
5 years ago
Roger A. Light
89733138bb
CMake build fixes.
5 years ago
Roger A. Light
a65f946e83
Move headers to own directory.
5 years ago
Roger A. Light
c90e49af1b
Merge remote-tracking branch 'origin/fixes' into develop
5 years ago
Roger A. Light
2774515456
Fix missing mach/mach_time.h header on OS X.
...
Closes #1831 . Thanks to P-Hagen.
5 years ago
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.
5 years ago
Roger A. Light
a53712a14d
Don't use logging until log mutex is initialised.
...
Closes #1819 . Thanks to santoshks68.
5 years ago
Roger A. Light
298d84941e
Fix send quota being incorrecly reset on reconnect.
...
Closes #1822 . Thanks to Sarek.
5 years ago
Roger A. Light
56ba1b99db
Add `mosquitto_ssl_get()`.
...
This allow clients to access their SSL structure and
perform additional verification.
5 years ago
Roger A. Light
5daa5ee162
Add support for $CONTROL/ topics in plugins.
5 years ago
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.
5 years ago
Roger A. Light
bb5456729d
Move keepalive check code to separate file.
...
This is in preparation for changing to a tree based implementation.
5 years ago
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