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
Roger A. Light
ce3e33e890
Bump version number, add release post.
6 years ago
Roger A. Light
d8f6215569
Windows fix
6 years ago
Roger A. Light
64c6d4d962
Fix properties not being sent on QoS>0 PUBLISH messages.
6 years ago
Roger A. Light
4253eca81c
Fix memory leak when setting v5 properties in mosquitto_connect_v5()
6 years ago
Roger A. Light
a22ccbd884
Clients: improve error msgs when connecting v3.x broker with v5 client
...
Closes #1344 . Thanks to HowJMay.
6 years ago
Roger A. Light
efc8ed39af
Fix incoming msgs not being removed when there are no subs
...
Fix incoming messages not being removed for a client if the topic being
published to does not have any subscribers.
Closes #1322 . Thanks to Yannic Schröder.
6 years ago
Roger A. Light
f21ccc362b
Fix mosquitto_string_option(, MOSQ_OPT_TLS_KEYFORM, ) return value
...
`mosquitto_string_option(mosq, MOSQ_OPT_TLS_KEYFORM, ...)` was incorrectly
returning `MOSQ_ERR_INVAL` with valid input. This has been fixed.
Closes #1360 . Thanks to Michael Dombrowski.
6 years ago
Roger A. Light
42237c0239
Make behaviour of `mosquitto_connect[_async]()` consistent.
...
`mosquitto_connect_async()` is now consistent with `mosquitto_connect()`
when connecting to a non-existent server.
Closes #1345 . Thanks to Mohammad Reza.
6 years ago
Roger A. Light
c32715d383
Set *name to NULL on failure.
6 years ago
Roger A. Light
46d12086c9
Set sock to invalid after closing.
6 years ago
Roger A. Light
3ad780839d
Fix MQTT v5 sub opts being set for v3 subs.
...
Closes #1353 . Thanks to Ben Barbour.
6 years ago
Roger Light
2b2afc93bc
Allow other apps access to log file on Windows.
...
This change means that users with the appropriate security permissions
can open the log file for reading at the same time that it is being
written.
Closes #515 .
6 years ago
Roger Light
be09731e4a
Merge pull request #1308 from dandrader/no-pthread_cancel-on-android
...
No pthread_cancel() on Android
6 years ago
Roger A. Light
1d6aa9f69c
Bump version and web pages.
6 years ago
Daniel d'Andrada
0970451762
pthread_cancel() is not available on Android
...
Thus mosquitto_loop_start() and mosquitto_loop_stop()
won't be available there (and mosquitto_connect_async()
as a consequence).
Signed-off-by: Daniel d'Andrada <daniel.dandrada@esrlabs.com>
6 years ago
Roger A. Light
908d1be6e0
Suppress confusing "unknown PUBREL" message.
6 years ago
Roger Light
44d170053d
Merge pull request #1255 from etactica/ssl-fixes
...
Ssl fixes for ENGINE and UI includes
6 years ago
Roger A. Light
b4dfeb3767
Fix MQTT v5 clients not being able to specify a password without a username.
...
Thanks to Erik Moqvist.
Closes #1274 .
6 years ago
Roger A. Light
3f8f4fc2c8
Fix typo causing build error on Windows when building without TLS support.
...
Thanks to TimmvonderMehden.
Closes #1264 .
6 years ago
Roger A. Light
999c478c88
Fixes for bug #1273
...
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.
Thanks to Yannic Schröder.
Closes #1273 .
6 years ago
Roger A. Light
d05bd95881
Fix compilation problem related to getrandom() on non-glibc systems.
6 years ago
Roger A. Light
b1298dff54
Fix use of getrandom() for Linux and WITH_TLS=no.
6 years ago
Karl Palsson
22303848e2
ssl: support openssl with ENGINE support disabled.
...
Alternatively, just drop support for this config.
Signed-off-by: Karl Palsson <karlp@etactica.com>
7 years ago
Karl Palsson
0928797e57
lib: fix missing openssl/ui.h include.
...
Signed-off-by: Karl Palsson <karlp@etactica.com>
7 years ago
Roger A. Light
0e58a5e94e
Bump version numbers, update webpage.
7 years ago
Roger A. Light
b6dc98215a
Windows build fixes.
7 years ago
Roger A. Light
dc4b823f92
Fix crash after client has been unable to connect to a broker
...
This is part of the cleanup routine when the client is already exiting.
Closes #1246 . Thanks to Christoph Krey.
7 years ago
Roger A. Light
35793ca1c4
Bump version number, update webpage.
7 years ago
Roger A. Light
439575475c
Use CMAKE_INSTALL_* variables when installing in CMake.
...
Closes #1049 . Thanks to Greg Troxel.
7 years ago
Roger A. Light
efa649f451
Don't call ldconfig in CMake scripts.
...
Closes #1048 . Thanks to Greg Troxel.
7 years ago
Roger A. Light
3b4a5419c3
Build fixes around CFLAGS et al.
...
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS.
Closes #1232 . Thanks to Greg Troxel.
7 years ago
Roger A. Light
0ebf9e4469
Remove incorrect and unused memory limiting code.
7 years ago
Roger Light
a53a727b2b
Merge pull request #1234 from krestivo-kdinfotech/fixes
...
Fix comment for option values
7 years ago
Ken Restivo
c52d4994cd
Fix comment
7 years ago
Roger A. Light
4dcd977932
Windows build fixes.
7 years ago
Roger A. Light
947218c975
Fix build when external utlist not available.
7 years ago
Roger A. Light
449103e960
Merge remote-tracking branch 'refs/remotes/origin/fixes'
...
Conflicts:
ChangeLog.txt
7 years ago
Roger A. Light
56757df512
Bump version and changelog details.
7 years ago
Roger A. Light
3e6cb42a40
Fix minor Coverity issues
...
1400727 - unused value
1400726 - dereference after null check
1400728 - derefence before null check
7 years ago
Roger A. Light
689989cc56
Fix inflight quota inc/dec for both broker and library.
7 years ago
Roger A. Light
9372f425b9
Remove debug statements.
7 years ago
Roger A. Light
f42a72b46b
Deprecation warnings for C++ wrapper.
7 years ago
Roger A. Light
6438ce861e
Minor build variant fixes.
7 years ago
Roger A. Light
8531cb1d79
Separate broker message queues into in/out.
...
This allows and includes better flow control handling for QoS>0.
7 years ago
Roger A. Light
baf1909ffb
Improve some messages when client disconnects.
7 years ago
Roger A. Light
dec769ce33
Client and doc ALPN additions
...
Add ALPN support for all clients, update documentation, and add to ChangeLog.
7 years ago
Roger A. Light
f041cb484a
No need to support versions that aren't supported by upstream.
7 years ago
Roger Light
77aaec686e
Merge pull request #1224 from omenlabs/ALPN
...
Bridge TLS Application-Layer Protocol Negotiation
7 years ago
John Hickey
c011be62a4
Bridge TLS Application-Layer Protocol Negotiation
...
In order to connect to brokers that support both websockets and
mqtt on the same port (such as Amazon IoT), we need to set an
application for the SSL context. This change allows the specification
of an application by using the `bridge_alpn` configuration token.
Signed-off-by: John Hickey <jjh-github@daedalian.us>
7 years ago
Roger A. Light
4fad9aaf24
Consistent message formats.
7 years ago
Roger A. Light
2e7dcee342
Multistep auth, plus reauth, plus tests.
7 years ago
Roger A. Light
a29a7dadc6
Basic plugin support for single step extended auth.
7 years ago
Roger A. Light
da84b9a983
Restrict what packets are allowed in what client state.
7 years ago
Roger A. Light
fb8a2baaad
Refactor client msgs to use utlist to reduce code complexity.
7 years ago
Roger A. Light
fe854d3a64
Refactor handle__connect() ahead of extended auth changes.
7 years ago
Roger A. Light
1220ba4bfe
Rejig OCSP code.
7 years ago
Roger A. Light
ea046c2405
Merge branch 'master' of git://github.com/LarsVoelker/mosquitto into LarsVoelker-master
7 years ago
Roger A. Light
67707b819d
Fix some -Wextra compiler warnings.
7 years ago
Roger A. Light
830f814264
Fix Coverity Scan defect 1400439. Access without lock.
7 years ago
Roger A. Light
5691456ac7
Remove errant header from merge.
7 years ago
Roger A. Light
214a5f3aab
v5 persistence file format
...
This includes changes to improve read/write performance.
It is not complete, and will have further changes to add properties and anything else required for MQTT v5.
7 years ago
Roger A. Light
ad2ce6c4e6
Add internal logging type, for development debugging.
7 years ago
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
7 years ago
Roger A. Light
110f4aada6
Don't overwrite disused client state.
7 years ago
Roger A. Light
cc153cfc90
Cleanup TLS UI method on exit.
7 years ago
Roger Light
8a8d13cf96
Shared subscription support.
7 years ago