Commit Graph

691 Commits (cda84950bb3ed5b45b816c3e2389c31cbd3a023e)

Author SHA1 Message Date
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
Roger A. Light 5be83ec1d7 Topic matching optimisations. 7 years ago
Roger A. Light 2dd24449ad Fix "unused parameter" warnings. 7 years ago
Roger A. Light 0941638143 Fix signed/unsigned comparion warnings.
Closes #1196.
7 years ago
Roger A. Light 08249313a4 Don't leak sockets. 7 years ago
Roger A. Light 8d513afffb Add missing mosquitto_userdata function. Closes #1191. 7 years ago
Roger A. Light ac91144495 Session expiry interval support - not working for file persistence. 7 years ago
Roger A. Light cd07c2b802 Windows build fixes. 7 years ago
Roger A. Light 105ad17dc6 Tests and support for QoS 1 reporting of no subscribers on publish. 7 years ago
Roger A. Light 6a1ac70ee6 Disallow writing to $ topics where appropriate. 7 years ago
Roger A. Light ce31269e05 Update changelog, bump version, bump copyright year. 7 years ago
Roger A. Light 988554e7f0 Fix openssl deprecated warnings. 7 years ago
Roger A. Light a6f845bc67 Fix openssl deprecated function use. 7 years ago
Roger A. Light 4490d06a63 Coverity fixes.
1398654, 1398656 - lib missing unlock on fatal protocol error
1398655 - broker potential double free on startup after fatal persist
          error.
7 years ago
Roger A. Light d3d6f3a980 Fix compiling with openssl < 1.1.1. 7 years ago
krismattheus 479d8e5f1a fix incorrect return code when connecting in non-blocking mode
Signed-off-by: krismattheus <kris.mattheus@visionbms.com>
7 years ago
Roger A. Light 1924afe49e Add explicit support for TLS v1.3 and drop TLS v1.0. 7 years ago
Roger A. Light 1a3eaeabce Only use getrandom on recent glibc, when TLS not in use. 7 years ago
Roger A. Light 38711fc3f3 Fix merge error for C90 compile fail. 7 years ago
Roger A. Light deb2fdfc98 Use lib provided random id. Change lib generated id to alphanumeric only. 7 years ago
Roger A. Light 48d731ecb5 Use better random numbers for everything, where possible. 7 years ago
Roger A. Light 72941db546 Coverity fixes
1399064
1399065
1398655
1398656
1398654
1399067
1399066
1399063
1399060
1399059
1399068
1399062
1398657
1398653
1302848
1302847
1399070
7 years ago
Roger A. Light b2c0c3d573 Handle DISCONNECT with will. 7 years ago
Roger A. Light c506c8335b Will delay tests and implementation. 7 years ago
Roger A. Light 5aabc171b0 Merge branch 'mqtt5' into develop 7 years ago
Roger A. Light e862a047a8 Rework TLS engine support. 7 years ago