Commit Graph

1152 Commits (0ec258d01ff195f9009660e495cafa3ced0bc597)

Author SHA1 Message Date
Roger A. Light eae8c9aab4 Fix check when loading persistence file of a different version
Closes #1684. Thanks to grekhss.
5 years ago
Roger A. Light 762ad432e8 Fix support for openssl 3.0 5 years ago
Roger A. Light e755827f4f Free outgoing client messages even for non-bridges. 5 years ago
Roger A. Light ee7d1981ff Merge branch 'rfc-bridge-local-clean' of git://github.com/etactica/mosquitto into etactica-rfc-bridge-local-clean 5 years ago
Roger A. Light d3247a830a Fix memory leak when connecting clients are rejected. 5 years ago
Roger A. Light bfc82ea91a Fix incorrect check. 5 years ago
Roger A. Light 4960fc0702 Don't disconnect clients that are already disconnected.
This prevents the session expiry being extended on SIGHUP.

Closes #1521. Thanks to Christoph Krey.
5 years ago
Roger A. Light c5d6f32341 Be more tolerant when loading persistence files. 5 years ago
Roger A. Light eeaafed485 Fix memory leak when connecting clients rejected. 5 years ago
Roger A. Light ff2b111cb3 Fix minor memory leak when load bridge prefixes. 5 years ago
Roger A. Light 4392320bc3 Fix memory leak when cleaning all shared subs. 5 years ago
Roger A. Light ea47f6b0dc Clearer client disconnection message. 6 years ago
Roger A. Light 5908585afd Fix mosquitto_passwd -b not updating passwords for existing users
Closes #1664. Thanks to Leon Kiefer.
6 years ago
Roger A. Light 3758e0c328 Fix mosquitto_passwd not being able to create pwfile with -b. 6 years ago
Roger A. Light cef9d891ae Tidy up main(). 6 years ago
Roger A. Light c72dd39f92 Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1
This applies if connecting to a v3.x only broker.
6 years ago
Roger A. Light de25ff694e Report invalid bridge prefix+pattern combinations at config parsing time
Rather than letting the bridge fail later.

Issue #1635. Thanks to pokerazor.
6 years ago
Roger A. Light 4ab0f4bd39 Fix bundled deps option not being propagated to library.
Issue #1641.
6 years ago
Roger Light 986bf89f47 Prototype separate poll/epoll files. 6 years ago
Roger A. Light c3e824ee22 Remove duplicate strlen() calls. 6 years ago
Roger A. Light 95faff36aa Fix ref counting of retained messages. 6 years ago
Roger A. Light 0b7b7389b0 Remove duplicate UTF-8 check
All strings are already validated in packet__read_string().
6 years ago
Karl Palsson 07d73c7e3a bridge: support bridge local clean session
This adds the ability to separating bridge clean session settings between
the local and remote endpoints.  Some broker implmentations refuse to allow
non-clean sessions, as they don't support storing messages to be sent to
the connecting broker.  However, this doesn't mean that the local
broker can't be queueing messages to send _out_ to the remote broker.

This PR adds a new bridge connection setting, local_cleansession, that
allows controlling this split. Naming is chosen to be local_ in keeping
with the other local_ settings for bridges.

A test for the six cases of queued/not queued messages in both
directions is added, but v5 testing is currently disabled.  The changes
to support the split are ~independent of protocol version.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Michael 24e34434a4 Move SSL prepare and accept operations out of deep loop
Since all resources are ready, do not need lookup again.

Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
6 years ago
Michael Liu 7953649b1c Fix potential memory leak.
WebSocket context may lost since db->ll_for_free = NULL; operation on the bottom of context__free_disused() function.

Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
6 years ago
Roger A. Light c84d175b3d Fixes for the poor souls stuck on <c99.
Closes #1622.
6 years ago
Roger A. Light c175e836a7 Print openssl error when unable to load server key. 6 years ago
Roger A. Light d96543c0b8 Merge branch 'fixes' into develop 6 years ago
Roger A. Light b0a065f790 Update changelog. Release page. Bump copyright. 6 years ago
Roger A. Light 0c68c20d2b Fix `mosquitto_client_protocol()` returning incorrect values. 6 years ago
Roger A. Light db02c9162d Add plugin that prints out calls, to help debugging. 6 years ago
Roger A. Light 032af6bf69 Add missing header 6 years ago
Roger A. Light c4e41f3444 Back port db_dump from develop.
Closes #1519. Thanks to Christoph Krey.
6 years ago
Roger A. Light 2a8c1d03f5 Merge branch 'coverity-fixes' into fixes 6 years ago
Gianfranco Costamagna 078ad752cd cmake: add ADNS enable/disable dynamic support
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
6 years ago
Gianfranco Costamagna e9a7150031 Bugfix: enabling DLT was overriding everything else on linker flags because of error in cmake set keyword
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
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 ed5db1bd6b Fix `bind_interface` not working for the default listener.
Closes #1533. Thanks to Markus Gothe.
6 years ago
Roger A. Light e188a6b500 More whitespace trimming fixes/consolidation. 6 years ago
Roger A. Light 32969169f7 Trim whitespace from acl topics. 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 9a0de5ef61 Free log_timestamp_format on exit.
Closes #1523. Thanks to Basavesh Shivakumar.
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 3220790790 Merge branch 'bugfix-MemoryLeak_in_persist_read' of git://github.com/panava/mosquitto into panava-bugfix-MemoryLeak_in_persist_read 6 years ago
Roger A. Light 50735afb5b Fix for internal logging not printing. 6 years ago
Panagiotis Vasilikos 618413e1d2 Resource leak in persist_read.c
Reason: In lines 435 and 439, the function returns without calling closing
fptr which was opened at line 399.

Fix: I added fclose(fptr) statements before each of the returns.
Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
6 years ago
Roger A. Light 9ae38788dc Fix config->user not being freed on exit.
Closes #1564. Thanks to back1127.
6 years ago
Roger A. Light 812c0636d5 Satisfy valgrind when exiting on error.
This is when due to not being able to open a listening socket, solved by
calling freeaddrinfo in the error cases.

Closes #1565. Thanks to back1127.
6 years ago
Roger A. Light e7c9f009bd Strip whitespace from end of config file string options.
Closes #1566. Thanks to kollokollo.
6 years ago
Panagiotis Vasilikos 49bf788862 Memory leak in handle_unsubscribe.c
Reason: In line 70, the memory allocation for the pointer reasons_codes may
result to a memory leak due to the many returns (e.g as the one in line 78)
occuring in the program's path until reaching the mosquitto__free at line 122.

Fix: I added a mosquitto__free(reason_codes) statement before each return
statement that could result to a memory leak

Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
6 years ago
Panagiotis Vasilikos 0f7052564c Memory leak in handle_unsubscribe.c
Reason: In line 70, the memory allocation for the pointer reasons_codes may
result to a memory leak due to the many returns (e.g as the one in line 78)
occuring in the program's path until reaching the mosquitto__free at line 122.

Fix: I moved the memory allocation code block (lines 69-73) just before
the line 102. This is the first place the pointer reason_codes is used, while
the following mosquitto__free operators free the allocated memory correctly.

Signed-off-by: Panagiotis Vasilikos <panagiotis.vasilikos@alexandra.dk>
6 years ago
Roger A. Light 5528dde56a Fix possible null dereferences. 6 years ago
Roger A. Light 05ec02b3f3 Remove dead values. 6 years ago
Roger A. Light 18f0508a6e Fix dereference before null check.
Coverity Scan 1405815.
6 years ago
Roger A. Light db62f9843f Fix unused value being overwritten.
Coverity Scan 1400727.
6 years ago
Roger A. Light d452ea138b Use presence of password file as indicator for authentication checks.
Previously, authentication checks would only take place if usernames
were defined in the password file.

Closes #1545. Thanks to Timothy Godfrey.
6 years ago
Roger A. Light b6119bb759 Check ACL patterns for validity when loading.
Closes #1539. Thanks to Leon Poon.
6 years ago
Roger A. Light e5561cd09e Fix db_dump compilation.
Closes #1520.
6 years ago
Roger A. Light c8789180f3 Fix session expiry with very large expiry intervals.
Closes #1525. Thanks to Christoph Krey.
6 years ago
Roger A. Light 8a6f179c83 Fix comment. 6 years ago
Roger A. Light 3f0c202aa5 Reduce heap allocation churn when tokenising topics. 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 6dec2b468b Remove redundant expiry checks
This is all now handled in session_expiry.c, through session expiry interval/time.
6 years ago
Roger A. Light a46b45b006 Fix persistent_client_expiration not being used
Closes #1494. Thanks to Christoph Krey.
6 years ago
Roger Light d92360dd8e Split sub and retain trees. 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 05171b266d Fix TLS Websockets clients not receiving messages.
This can occurs after one client takes over a previous connection.

Closes #1489. Thanks to Bas Verhoeven.
6 years ago
Roger A. Light b622aaeee4 Fix messages with an expiry interval missing the property.
They would be be sent without an expiry interval property just before
they were expired.

Closes #1464. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 06a27e799f Fix retained messages with an expiry interval not being expired.
This happened after being restored from persistence.

Closes #1464. Thanks to Dustin Sallings.
6 years ago
Roger A. Light d49988fa6f Rejig unix socket support. 6 years ago
Roger A. Light 253326dcc9 Fix problems with reloading config when `per_listener_settings` was true.
Closes #1459. Thanks to Thomas Markin Klein.
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 847c3f1f8b Move bridge on connect code to bridge.c. 6 years ago
Roger A. Light 1ab19f2b3d Make error messages clearer when bridge misconfigured 6 years ago
Roger A. Light 17c32d89d9 Restrict access to unix socket. 6 years ago
Roger A. Light 43a692dfbe Add new files to cmakelists. 6 years ago
Roger A. Light 499e2f2e98 Add support for unix sockets to broker, lib, and clients. 6 years ago
Roger A. Light fad184c9c2 Bridge remapping refactoring and tests. 6 years ago
Roger A. Light 8463c33720 Refactor property remaining length calculation. 6 years ago
Roger A. Light cfacd961c9 Only a single CRL could be loaded at once. This has been fixed.
Closes #1442. Thanks to charlemagnelasse.
6 years ago
Roger A. Light c471dfb201 Fix sub topics being limited to 200 chars instead of 200 levels
Closes #1441. Thanks to Christoph Krey.
6 years ago
Roger A. Light b942b73b6d Fix incorrect memory tracking causing problems with memory_limit option.
Closes #1437. Thanks to Guillaume Bour.
6 years ago
Roger A. Light 4db1e80410 More allow_zero_length_clientid fixes.
Closes #1429. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 539c1b9bcb Tests for zero length client id, plus fix for one case where it was allowed 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 9584463c75 Fix potential crash when reloading config.
Closes #1424, #1425. Thanks to JinPingChng and peteakalad.
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 096380fbdc Add workaround for libwebsockets 3.2.0. 6 years ago
Roger A. Light 2fd7f5270a mosquitto_passwd returns 1 on an error condition
When attempting to update a user that does not exist.

Closes #1414. Thanks to kdgde.
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 0a0ad4cd6c Fix for old libwebsockets versions. 6 years ago
Roger A. Light ce68040f22 Refuse to compile with lws 3.2.0. 6 years ago
Roger A. Light 8f6ac1b64a Fix for websockets regression. 6 years ago
Roger A. Light 5941291bd5 Fix build WITH_TLS=no 6 years ago
Roger A. Light 9ad5fe7d95 Fix repeated "Error in poll" messages on Windows.
This occurs when only websockets listeners are defined.

Closes #1391. Thanks to stopak.
6 years ago
Roger A. Light 4dc98c4cef Fix CRL file not being reloaded on HUP.
Closes #35.
6 years ago
Roger Light 31f09d1206
Merge pull request #1405 from woelfman/fix-engine-key-uri
Fix usage of tls_engine and tls_keyform.
6 years ago
Matt Woelfel 39803e538f Fix usage of tls_engine and tls_keyform.
The current implementation does not properly forward the engine
parameters to OpenSSL causing OpenSSL to incorrectly attempt to open the
engine key uri as a file.

Sponsored-by: Trimble, Inc.
Signed-off-by: Matt Woelfel <matt@woelfware.com>
6 years ago
Roger A. Light 034324c46d Fix websockets 3.2 causing slow connection on non-websockets listeners
Closes #1406. Thanks to pbrenna.
6 years ago
Roger A. Light 5fd92cbfbd Further fix for #1401. 6 years ago
Roger A. Light 3c35c6cdd9 Fix Will not being sent if will delay greater than session expiry.
Closes #1401. Thanks to Will Lisac.
6 years ago
Roger A. Light f1516f86cb Improve error messages in some situations when clients disconnect.
Reduces the number of "Socket error on client X, disconnecting"
messages.
6 years ago
Roger A. Light 779c6cc234 Fix leak introduced in previous commit. 6 years ago
Roger A. Light f6b22f8248 Fix clients using `use_identity_as_*` being disconnected on SIGHUP.
Closes #1402. Thanks to twegener-embertec.
6 years ago
Roger A. Light 4658dba6b3 Fix slow websockets performance when sending large messages.
Closes #1390. Thanks to aalibasic.
6 years ago
Roger A. Light 4c4ca38938 Fix support for libwebsockets 3.x. 6 years ago
YangHau abfdc2f8a6 Remove useless if statement
If statement for detecting if a pointer is NULL
is totally unnecessary.

Signed-off-by: YangHau <vulxj0j8j8@gmail.com>
6 years ago
Roger A. Light 570c3674fb Drop privs to nobody if mosquitto user does not exist. 6 years ago
Roger A. Light 1c1ccaee52 Merge branch 'master' into develop 6 years ago
Roger A. Light cbced051e7 Better check for printable db_dump payloads. 6 years ago
Roger A. Light 9c3e6b4ccc Remove debug printfs. 6 years ago
Roger A. Light 50695f8103 Fix v5 DISCONNECT packets with remaining length == 2.
These were being treated as a protocol error.

Closes #1367. Thanks to Frank Pagliughi.
6 years ago
Roger A. Light c269e6f019 db_dump: Update for version 5 file format
Closes #1320. Thanks to Christoph Krey.
6 years ago
Roger Light 07d2504bf5
Merge pull request #1254 from ccvca/fix_passwd_len
Fix password input when MAX_BUFFER_LEN is not 1024 in mosquitto_passwd.c
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 696a9b8019 Fix incomgin QoS 2 with max_inflight_messages set to 1.
Closes #1332. Thanks to xmas79.
6 years ago
Roger A. Light 13ac1080a0 Refactoring bridge code
This separates out a good amount from the main loop code.
6 years ago
Roger A. Light d17d7c9229 Fix persistent clients being incorrectly expired on Raspberry Pis.
Closes #1272. Thanks to BowenMarmot and addendumE.
6 years ago
Matevz Mihalic 0a5fbc403b
Fix plugin psk_key_get for v4
Signed-off-by: Matevz Mihalic <matevz.mihalic@gmail.com>
6 years ago
Roger A. Light 587debc013 Fix incoming/outgoing quota problems for QoS>0. 6 years ago
Roger A. Light 142d07f45a Fix MQTT v5 overlapping subscription behaviour.
Clients now receive message from all matching subscriptions rather than
the first one encountered, which ensures the maximum QoS requirement is
met.
6 years ago
Roger A. Light de695af8c0 Fix zero length client ids being rejected for MQTT v5 clients.
This was happening when clean start was set to true.
6 years ago
Roger A. Light e51e40e95c Fix incorrect shared subscription topic of '$shared.' 6 years ago
Roger A. Light b42bb99ba6 Disable TLS renegotiation.
Client initiated renegotiation is considered to be a potential attack
vector against servers.

Closes #1257. Thanks to Daniele Sluijters.
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 96d0a26902 Only add to disused if session expiry is 0. 6 years ago
Roger A. Light 5088202529 Fix persistent Websockets clients not receiving messages.
This occurs after they reconnect, having sent DISCONNECT
on a previous session.

Closes #1227. Thanks to usernametaken.
6 years ago
Roger A. Light 3dd8eb722b Colour internal logs for visibility. 6 years ago
Roger A. Light 00eee59ad9 Add 'extern "C"' on public headers.
mosquitto_broker.h and mosquitto_plugin.h

Thanks to Wolfgang Petroschka.

Closes #1290.
6 years ago
Roger A. Light a900e3a1a7 Mention mosquitto_broker.h in mosquitto_plugin.h. 6 years ago
Roger A. Light f974b91084 Consistent ref counting inc and dec functions. 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 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 ef3e52d40b Fix default max_topic_alias listener config not being used.
This was not being copied to the in-use listener when compiled without
TLS support.
6 years ago
Roger A. Light cd3877e628 Fix detection of incoming v3.1/v3.1.1 bridges.
Closes #1263. Thanks to vrst37.
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
Christian von Arnim 324ed6be76
Fix password input when MAX_BUFFER_LEN is not 1024 in mosquitto_passwd.c
Signed-off-by: Christian von Arnim <christian.vonarnim@gmail.com>
7 years ago
Roger A. Light e742c1c2f1 Fix $SYS/broker/version being incorrectly expired after 60 seconds.
Close #1245. Thanks to Christoph Krey.
7 years ago
Roger A. Light f64d3b1e5c Fix broker originated messages not being sent.
This occurred when `check_retain_source` was set to true.

Closes #1245. Thanks to Christoph Krey.
7 years ago
Roger A. Light a9f17cea95 Fix Will message not allowing user-property properties. 7 years ago
Roger A. Light eebdbc86c4 Fix access after free when v5 client with Will message disconnects.
The Will message has as its first property one of content-type,
correlation-data, payload-format-indicator, or response-topic.

Closes #1244. Thanks to Christoph Krey.
7 years ago
Roger A. Light 42fb2f5538 Fix build for WITH_TLS=no.
Closes #1250. Thanks to bmparr.
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 4dcd977932 Windows build fixes. 7 years ago
Roger A. Light 449103e960 Merge remote-tracking branch 'refs/remotes/origin/fixes'
Conflicts:
	ChangeLog.txt
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 6438ce861e Minor build variant fixes. 7 years ago
Roger A. Light 32fde3885c Fix missing errors for websockets. 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 fb1979c0ea Fix build on SmartOS due to missing IPV6_V6ONLY.
Thanks to Matt Ingenthron.

Closes #1212.
7 years ago
Roger Light 77aaec686e
Merge pull request #1224 from omenlabs/ALPN
Bridge TLS Application-Layer Protocol Negotiation
7 years ago
Roger A. Light 638ab2f969 Fix unexpected behaviour when reusing a mid after a publish is denied. 7 years ago
Roger A. Light 8a651ff6c3 Remove remnant from before the conversion to utlist. 7 years ago
Roger A. Light ad3b7ec778 Fix Coverity Scan 1400486-1400487. Unused values. 7 years ago
Roger A. Light 0d3c7fe778 Fix Coverity 1302840. No effect comparison. 7 years ago
Roger A. Light e4d0d52b01 Fix Coverity Scan 1400483-1400485.
Logically dead code.
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 2e7dcee342 Multistep auth, plus reauth, plus tests. 7 years ago
Roger A. Light c1776a0b39 Add reauth parameter for extended auth. 7 years ago
Roger A. Light 0f6e51d582 Code and tests for returning single stage auth data back to client. 7 years ago
Roger A. Light 494f35bd8d Add mosquitto_set_username() plugin function. 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 758e1edbe7 Handle error condition correctly. 7 years ago
Roger A. Light fb8a2baaad Refactor client msgs to use utlist to reduce code complexity. 7 years ago
Roger A. Light 8097ec24f9 Fix some property leaks. 7 years ago
Roger A. Light fe854d3a64 Refactor handle__connect() ahead of extended auth changes. 7 years ago
Roger A. Light 73cd44ac7f Move handle__disconnect() to its own file. 7 years ago
Roger A. Light ec3fd361be https links where possible. 7 years ago
Roger A. Light 75c2a39d2c Send topic alias maximum from the broker. 7 years ago
Roger A. Light 12e5efbee2 Typo. 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 834ffdf82b Fix Coverity Scan defect 1400435. 7 years ago
Roger A. Light 0ca093060c Fix Coverity Scan defect 1400433. Integer overflow. 7 years ago
Roger A. Light 9faad1e078 Fix a variety of scan-build warnings. 7 years ago
Roger A. Light 67707b819d Fix some -Wextra compiler warnings. 7 years ago
Roger A. Light 2a5995106a Fix Coverity Scan defect 140436. Null dereference. 7 years ago
Roger A. Light 87197bf9d4 Fix Coverity Scan defect 1400441, dereference of pointer after earlier null check. 7 years ago
Roger A. Light 42732f4cca Fix mosquitto_passwd segfault on corrupt file.
Thanks to srasku-ge.

Closes #1207
7 years ago
Roger A. Light 43c159b9a5 Support and tests for saving message expiry interval. 7 years ago
Roger A. Light 61fe26474e Test and fix for client message prop persistence. 7 years ago
Roger A. Light 5841da2c36 Tests for persisting message store properties. 7 years ago
Roger A. Light efb20625fb Code and tests for persisting client msg properties. 7 years ago
Roger A. Light c95ae6a6fd Remove one instance of recursion. 7 years ago
Roger A. Light 48253bc12c Persist message store publish properties. 7 years ago
Roger A. Light 2f15a7be2b Add subscription-identifier and options to persistence. 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 a0e54ac065 Function for reading persist file chunk header. 7 years ago
Roger A. Light ee5412b060 Persist write fix. 7 years ago
Roger A. Light a50d129a3c Fix db_dump. 7 years ago
Roger A. Light e249ca7e91 Separate the persistence actual writing functions. 7 years ago
Roger A. Light 7a53b28080 Start of persistence writing tests. 7 years ago
Roger A. Light 54a35ed0ed Free clients with >0 session expiry on exit. 7 years ago
Roger A. Light 94450eb8bc Keep log open until we are ready to quit. 7 years ago
Roger A. Light 8024a30d1d Fix potential leak. 7 years ago
Roger A. Light c90bd4e0c6 Add helper function for internal debug logging. 7 years ago
Roger A. Light b29c8ced55 Fix compilation warning for WITH_WEBSOCKETS=no. 7 years ago
Roger A. Light ad2ce6c4e6 Add internal logging type, for development debugging. 7 years ago
Roger A. Light c5699da5ce Don't remove unused websockets contexts until lws is finished with them. 7 years ago
Roger A. Light 0ced003880 Always remove from by_id when adding to disused list. 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 a7d0660749 Separate out persist reading code from restoring code. 7 years ago
Roger A. Light 110f4aada6 Don't overwrite disused client state. 7 years ago
Roger A. Light 9411d94842 Start of tests for persistence reading. 7 years ago
Roger A. Light b6356735b4 Split persist read/write into separate files for easier testing. 7 years ago
Roger A. Light c944f840a6 Don't advertise shared subs as unavailable any more. 7 years ago
Roger Light 8a8d13cf96 Shared subscription support. 7 years ago
Roger A. Light 173b209bd8 Remove unnecessary calls to time(). 7 years ago
Roger A. Light 89f51aa54a Search sub topics, don't iterate (where possible). 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 b82370a997 Free clients with session expiry > 0 on exit. 7 years ago
Roger A. Light 08249313a4 Don't leak sockets. 7 years ago
Roger Light 1a234323a3 Add support for custom log timestamps.
Closes #1121.
7 years ago
Vinod Kumar e9350fbb56 print error when listener bind address is not valid
Signed-off-by: Vinod Kumar <kumar003vinod@gmail.com>
7 years ago
Roger Light a57bba0aae Don't use uhpa for topics, incompatible with uthash. 7 years ago
Roger A. Light 2ea97a6cd9 Check for authentication method on CONNECT, and reject. 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 1d4bf55165 Tidy previous commit and add to changelog. 7 years ago
Roger Light bb6da93e93
Merge pull request #993 from bbabbi01/origin/develop
Implement DLT logging
7 years ago
Roger A. Light ce31269e05 Update changelog, bump version, bump copyright year. 7 years ago
Roger A. Light 7207041428 Fix delayed bridge local subs causing missing messages.
Closes #1174. Thanks to beville.

Bug: https://github.com/eclipse/mosquitto/issues/1174
7 years ago
Roger A. Light acf478eca2 Fix broken mosquitto_passwd on FreeBSD.
Closes #1032. Thanks to jkoopman, Joseph Benden and Ari Suutari.

Bug: https://github.com/eclipse/mosquitto/issues/1032
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
Roger A. Light 463de0a2c1 Make error messages for missing config file clearer. 7 years ago
Roger A. Light 0632549ce9 Doc improvements for websockets_header_size. 7 years ago
Pierre Fersing 1aaf5f2348 Add websockets_headers_size option
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.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 130ddf47f7 Add `dhparamfile` option, to allow DH parameters to be loaded.
This is for Ephemeral DH support on listeners.
7 years ago
Roger A. Light 4564ff1232 Set umask for temp file. 7 years ago
Roger A. Light 87b3ca35f1 Use mkstemp with mosquitto_passwd on non-Windows. 7 years ago
Roger A. Light 48d731ecb5 Use better random numbers for everything, where possible. 7 years ago
Roger A. Light dfbd33e0f4 Update documentation for bridge backup, plus tweaks
Sets default to use the backoff mechanism.
7 years ago
Abilio Marques 87eb535307 bridge: add decorrelated jitter backoff mechanism
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
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
Steven Lawrance 208c3d3e85 Allow binding a listener to a specific network interface
Signed-off-by: Steven Lawrance <stl@koffein.net>
7 years ago
Roger A. Light b2c0c3d573 Handle DISCONNECT with will. 7 years ago
Roger A. Light 3b6b6d5fa8 Test improvements
And some related fixes.
7 years ago