Roger A. Light
758e1edbe7
Handle error condition correctly.
2019-04-03 16:46:49 +01:00
Roger A. Light
fb8a2baaad
Refactor client msgs to use utlist to reduce code complexity.
2019-04-03 14:13:12 +01:00
Roger A. Light
8097ec24f9
Fix some property leaks.
2019-04-03 11:23:31 +01:00
Roger A. Light
fe854d3a64
Refactor handle__connect() ahead of extended auth changes.
2019-04-03 10:50:19 +01:00
Roger A. Light
73cd44ac7f
Move handle__disconnect() to its own file.
2019-04-02 10:56:17 +01:00
Roger A. Light
ec3fd361be
https links where possible.
2019-03-30 20:34:40 +00:00
Roger A. Light
75c2a39d2c
Send topic alias maximum from the broker.
2019-03-27 17:38:35 +00:00
Roger A. Light
12e5efbee2
Typo.
2019-03-26 22:20:04 +00:00
Roger A. Light
ea046c2405
Merge branch 'master' of git://github.com/LarsVoelker/mosquitto into LarsVoelker-master
2019-03-26 18:36:13 +00:00
Roger A. Light
834ffdf82b
Fix Coverity Scan defect 1400435.
2019-03-26 14:22:25 +00:00
Roger A. Light
0ca093060c
Fix Coverity Scan defect 1400433. Integer overflow.
2019-03-26 14:14:46 +00:00
Roger A. Light
9faad1e078
Fix a variety of scan-build warnings.
2019-03-26 14:00:42 +00:00
Roger A. Light
67707b819d
Fix some -Wextra compiler warnings.
2019-03-26 12:15:34 +00:00
Roger A. Light
2a5995106a
Fix Coverity Scan defect 140436. Null dereference.
2019-03-26 12:05:23 +00:00
Roger A. Light
87197bf9d4
Fix Coverity Scan defect 1400441, dereference of pointer after earlier null check.
2019-03-26 11:35:20 +00:00
Roger A. Light
42732f4cca
Fix mosquitto_passwd segfault on corrupt file.
...
Thanks to srasku-ge.
Closes #1207
2019-03-26 10:03:17 +00:00
Roger A. Light
43c159b9a5
Support and tests for saving message expiry interval.
2019-03-25 23:17:57 +00:00
Roger A. Light
61fe26474e
Test and fix for client message prop persistence.
2019-03-25 06:55:45 +00:00
Roger A. Light
5841da2c36
Tests for persisting message store properties.
2019-03-24 21:38:00 +00:00
Roger A. Light
efb20625fb
Code and tests for persisting client msg properties.
2019-03-23 22:52:08 +00:00
Roger A. Light
c95ae6a6fd
Remove one instance of recursion.
2019-03-23 08:08:15 +00:00
Roger A. Light
48253bc12c
Persist message store publish properties.
2019-03-21 21:43:36 +00:00
Roger A. Light
2f15a7be2b
Add subscription-identifier and options to persistence.
2019-03-21 14:19:48 +00:00
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.
2019-03-21 00:35:56 +00:00
Roger A. Light
a0e54ac065
Function for reading persist file chunk header.
2019-03-19 17:13:08 +00:00
Roger A. Light
ee5412b060
Persist write fix.
2019-03-19 17:02:51 +00:00
Roger A. Light
a50d129a3c
Fix db_dump.
2019-03-19 16:42:47 +00:00
Roger A. Light
e249ca7e91
Separate the persistence actual writing functions.
2019-03-19 16:27:34 +00:00
Roger A. Light
7a53b28080
Start of persistence writing tests.
2019-03-19 16:27:34 +00:00
Roger A. Light
54a35ed0ed
Free clients with >0 session expiry on exit.
2019-03-18 23:06:53 +00:00
Roger A. Light
94450eb8bc
Keep log open until we are ready to quit.
2019-03-18 23:04:34 +00:00
Roger A. Light
8024a30d1d
Fix potential leak.
2019-03-18 21:57:49 +00:00
Roger A. Light
c90bd4e0c6
Add helper function for internal debug logging.
2019-03-17 21:30:56 +00:00
Roger A. Light
b29c8ced55
Fix compilation warning for WITH_WEBSOCKETS=no.
2019-03-17 20:57:04 +00:00
Roger A. Light
ad2ce6c4e6
Add internal logging type, for development debugging.
2019-03-17 20:54:43 +00:00
Roger A. Light
c5699da5ce
Don't remove unused websockets contexts until lws is finished with them.
2019-03-17 07:40:01 +00:00
Roger A. Light
0ced003880
Always remove from by_id when adding to disused list.
2019-03-16 10:29:24 +00:00
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
2019-03-16 10:05:38 +00:00
Roger A. Light
a7d0660749
Separate out persist reading code from restoring code.
2019-03-16 09:42:15 +00:00
Roger A. Light
110f4aada6
Don't overwrite disused client state.
2019-03-15 21:38:24 +00:00
Roger A. Light
9411d94842
Start of tests for persistence reading.
2019-03-14 20:57:25 +00:00
Roger A. Light
b6356735b4
Split persist read/write into separate files for easier testing.
2019-03-14 11:08:30 +00:00
Roger A. Light
c944f840a6
Don't advertise shared subs as unavailable any more.
2019-03-14 10:58:15 +00:00
Roger Light
8a8d13cf96
Shared subscription support.
2019-03-14 06:48:33 +00:00
Roger A. Light
173b209bd8
Remove unnecessary calls to time().
2019-03-13 16:07:37 +00:00
Roger A. Light
89f51aa54a
Search sub topics, don't iterate (where possible).
2019-03-13 16:07:37 +00:00
Roger A. Light
2dd24449ad
Fix "unused parameter" warnings.
2019-03-13 14:46:05 +00:00
Roger A. Light
0941638143
Fix signed/unsigned comparion warnings.
...
Closes #1196 .
2019-03-13 13:51:08 +00:00
Roger A. Light
b82370a997
Free clients with session expiry > 0 on exit.
2019-03-13 13:22:14 +00:00
Roger A. Light
08249313a4
Don't leak sockets.
2019-03-13 12:58:42 +00:00
Roger Light
1a234323a3
Add support for custom log timestamps.
...
Closes #1121 .
2019-03-13 11:24:14 +00:00
Vinod Kumar
e9350fbb56
print error when listener bind address is not valid
...
Signed-off-by: Vinod Kumar <kumar003vinod@gmail.com>
2019-03-13 08:14:45 +00:00
Roger Light
a57bba0aae
Don't use uhpa for topics, incompatible with uthash.
2019-03-08 23:11:21 +00:00
Roger A. Light
2ea97a6cd9
Check for authentication method on CONNECT, and reject.
2019-03-06 16:12:36 +00:00
Roger A. Light
ac91144495
Session expiry interval support - not working for file persistence.
2019-03-06 14:47:16 +00:00
Roger A. Light
cd07c2b802
Windows build fixes.
2019-03-05 14:01:29 +00:00
Roger A. Light
105ad17dc6
Tests and support for QoS 1 reporting of no subscribers on publish.
2019-03-04 07:36:35 +00:00
Roger A. Light
6a1ac70ee6
Disallow writing to $ topics where appropriate.
2019-03-03 22:00:30 +00:00
Roger A. Light
1d4bf55165
Tidy previous commit and add to changelog.
2019-03-02 22:52:23 +00:00
Roger Light
bb6da93e93
Merge pull request #993 from bbabbi01/origin/develop
...
Implement DLT logging
2019-03-02 22:51:36 +00:00
Roger A. Light
ce31269e05
Update changelog, bump version, bump copyright year.
2019-02-28 16:56:15 +00:00
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
2019-02-28 15:38:15 +00:00
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
2019-02-28 14:26:14 +00:00
Roger A. Light
a6f845bc67
Fix openssl deprecated function use.
2019-02-28 12:21:11 +00:00
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.
2019-02-28 11:45:13 +00:00
Roger A. Light
d3d6f3a980
Fix compiling with openssl < 1.1.1.
2019-02-28 11:23:26 +00:00
Roger A. Light
463de0a2c1
Make error messages for missing config file clearer.
2019-02-28 11:13:47 +00:00
Roger A. Light
0632549ce9
Doc improvements for websockets_header_size.
2019-02-28 00:34:23 +00:00
Pierre Fersing
1aaf5f2348
Add websockets_headers_size option
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2019-02-28 00:25:19 +00:00
Roger A. Light
1924afe49e
Add explicit support for TLS v1.3 and drop TLS v1.0.
2019-02-27 22:50:01 +00:00
Roger A. Light
130ddf47f7
Add dhparamfile
option, to allow DH parameters to be loaded.
...
This is for Ephemeral DH support on listeners.
2019-02-27 22:26:40 +00:00
Roger A. Light
4564ff1232
Set umask for temp file.
2019-02-27 17:49:19 +00:00
Roger A. Light
87b3ca35f1
Use mkstemp with mosquitto_passwd on non-Windows.
2019-02-27 16:38:54 +00:00
Roger A. Light
48d731ecb5
Use better random numbers for everything, where possible.
2019-02-27 14:15:31 +00:00
Roger A. Light
dfbd33e0f4
Update documentation for bridge backup, plus tweaks
...
Sets default to use the backoff mechanism.
2019-02-27 13:52:19 +00:00
Abilio Marques
87eb535307
bridge: add decorrelated jitter backoff mechanism
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2019-02-27 13:25:20 +00:00
Roger A. Light
72941db546
Coverity fixes
...
1399064
1399065
1398655
1398656
1398654
1399067
1399066
1399063
1399060
1399059
1399068
1399062
1398657
1398653
1302848
1302847
1399070
2019-02-27 12:38:20 +00:00
Steven Lawrance
208c3d3e85
Allow binding a listener to a specific network interface
...
Signed-off-by: Steven Lawrance <stl@koffein.net>
2019-02-27 09:38:39 +00:00
Roger A. Light
b2c0c3d573
Handle DISCONNECT with will.
2019-02-27 09:27:34 +00:00
Roger A. Light
3b6b6d5fa8
Test improvements
...
And some related fixes.
2019-02-27 09:27:34 +00:00
Roger A. Light
c506c8335b
Will delay tests and implementation.
2019-02-27 09:27:34 +00:00
Roger A. Light
b0c60fb6e1
Separate will reading code.
2019-02-27 09:27:34 +00:00
Roger A. Light
5aabc171b0
Merge branch 'mqtt5' into develop
2019-02-26 18:51:31 +00:00
Roger A. Light
e862a047a8
Rework TLS engine support.
2019-02-26 17:11:29 +00:00
Nicolás Pernas Maradei
20894fcbce
Add engine private key password support
...
Some OpenSSL engines (selectable via tls_engine option) may require a
password to make use of private keys created with them in the first place.
The TPM engine for example, will require a password to access the underlying
TPM's Storage Root Key (SRK), which is the root key of a hierarchy of keys
associated with a TPM; it is generated within a TPM and is a non-migratable
key. Each owned TPM contains a SRK, generated by the TPM at the request
of the Owner. [1]
By default, the engine will prompt the user to introduce the SRK password
before any private keys created with the engine can be used. This could
be inconvenient when running on an unattended system.
Here's where the new tls_engine_kpass_sha option comes in handy. The user
can specify a SHA1 hash of its engine private key password via command
line or config file and it will be passed on to the engine directly.
This commit adds support for both clients (libmosquitto) and broker.
[1] https://goo.gl/qQoXBY
Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:50:37 +00:00
Nicolás Pernas Maradei
d5f039ec7c
Add TLS engine and keyform support to mosquitto
...
Add same OpenSSL engine support to mosquitto (server side) previously added to
client side only.
Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:50:37 +00:00
Roger A. Light
c3c8c99f5d
Fix dropping oversize messages for QoS>0.
2019-02-21 08:31:54 +00:00
Roger A. Light
1d17ced449
Broker configurable max_packet_size
...
Plus tests.
2019-02-19 15:57:20 +00:00
Roger A. Light
1877f8a326
Tests and implementation for maximum packet size.
...
This is for broker outgoing connack and publish packets only.
2019-02-18 19:50:51 +00:00
Roger A. Light
8db16591fa
Test and fix for subscription identifiers not being updated.
...
Closes #1169 . Thanks to Christoph Krey.
2019-02-18 12:24:19 +00:00
Roger A. Light
66c1e2ccf0
Add mosquitto_unsubscribe_multiple(), plus tests.
2019-02-17 20:59:16 +00:00
Roger A. Light
1479c57e34
v5 report reason code=no sub when unsubscribing.
2019-02-17 10:14:02 +00:00
Roger A. Light
1ec0cea34a
Fix missing reason_code on v5 UNSUBACK.
...
Closes #1167 . Thanks to Christoph Krey.
2019-02-17 09:30:06 +00:00
Roger A. Light
5e8199323b
Fix clients being disconnected when ACLs are in use.
...
This only affects the case where a client connects using a username, and
the anonymous ACL list is defined but specific user ACLs are not
defined.
Closes #1162 . Thanks to quonb.
2019-02-14 17:46:01 +00:00
Roger A. Light
8350956a08
Make include_dir sort usefully case sensitive.
2019-02-13 22:55:15 +00:00
Roger A. Light
321e566af6
Fix unref'd messages being saved to the persistence file.
...
This was leaving dangling messages that were never freed.
Closes #389 . Thanks to pjchx.
2019-02-13 12:08:05 +00:00
Roger A. Light
084062c85e
Merge branch 'fixes' into mqtt5
2019-02-12 17:05:42 +00:00
Roger A. Light
9999faf9da
Add rewritten build test script and remove some build warnings.
2019-02-12 13:24:54 +00:00
Roger A. Light
04e89450c0
Don't require C99 compiler.
2019-02-09 13:52:09 +00:00
Roger A. Light
715da28602
Fix include_dir not sorting config files before loading.
...
Thanks to momoskitto.
2019-02-08 23:52:11 +00:00
Roger A. Light
2e1c2c430f
per_listener_settings true
must come before other security settings.
...
Produce error if this is not the case. Closes #1164 , thanks to
momoskitto.
2019-02-08 23:14:43 +00:00
Roger A. Light
9378016b19
Fix build failure when using WITH_ADNS=yes
2019-02-08 21:34:08 +00:00
Roger A. Light
05458eb35d
Fix some unused variable warnings.
2019-02-08 13:01:07 +00:00
Roger A. Light
1c075988ca
Log message for disconnecting a client with invalid UTF-8 topic.
...
Closes #1144 . Thanks to Kris Mattheus.
2019-02-08 13:01:07 +00:00
Roger A. Light
17b52bd5d1
Windows: Fix possible crash when client disconnects.
...
Closes #1137 . Thanks to Kris Mattheus.
2019-02-08 13:01:07 +00:00
Roger A. Light
d6a690aa8d
Fix Will not being sent for Websockets clients.
...
Closes #1143 . Thanks to salcedo.
2019-02-08 13:01:07 +00:00
Roger A. Light
29a1936c77
Fix spaces not being allowed in the bridge remote_username option.
...
Closes #1131 . Thanks to beville.
2019-02-08 13:01:07 +00:00
Roger Light
c40957a7d8
Fix and tests for CVE-2018-12546.
2019-02-08 13:01:07 +00:00
Roger A. Light
d8505624d0
Fix and tests for security bug #541870 .
2019-02-08 13:01:07 +00:00
Roger A. Light
36b5421c59
Fix and tests for security bug #543401 .
2019-02-08 13:01:07 +00:00
Steven Lawrance
84d5028c2e
Include sys/socket.h for AF_INET definition
...
Without this, mosquitto doesn't build on FreeBSD with websockets enabled
Signed-off-by: Steven Lawrance <stl@koffein.net>
2019-02-08 13:01:07 +00:00
Roger Light
5236295159
Handle mismatched handshakes properly.
...
For example, a QoS1 PUBLISH with QoS2 reply.
2019-02-08 13:01:07 +00:00
Vinod Kumar
78259850ed
ignore inline comments while parsing optional config params
...
Signed-off-by: Vinod Kumar <kumar003vinod@gmail.com>
2019-02-08 13:01:07 +00:00
Roger A. Light
be9c1071b0
Fix compilation when openssl deprecated APIs are not available.
...
Closes #1094 . Thanks to Rosen Penev.
2019-02-08 13:01:07 +00:00
Roger A. Light
70c4097b6f
Fix comparison of boolean values in CMake build.
...
Closes #1101 . Thanks to Mojca Miklavec and Andrew L. Moore.
2019-02-08 13:01:07 +00:00
Roger A. Light
873ffce27a
Send DISCONNECT on invalid topic alias, plus test.
2019-01-25 22:53:31 +00:00
Roger A. Light
5e7f43c9ea
Temporarily disable all extended AUTH.
2019-01-25 22:02:12 +00:00
Roger A. Light
6b977fa198
Test and fixes for expiring retained messages.
2019-01-23 10:00:13 +00:00
Roger A. Light
ca3782b38d
Test and fixes for will message expiry interval.
2019-01-22 17:51:57 +00:00
Roger A. Light
6a59e92db8
Set remaining message expiry interval when republishing.
2019-01-22 12:43:52 +00:00
Roger A. Light
85615c1bae
AUTH packet can be truncated.
2019-01-18 21:38:29 +00:00
Roger A. Light
f9a17e2782
Add alias support to the broker.
2019-01-18 21:30:34 +00:00
Roger A. Light
37727b402b
Fix maximum qos on listener conf.
2019-01-17 21:04:46 +00:00
Roger Light
8513af4da5
Tests and fixes for shortened DISCONNECT packets.
2019-01-17 18:51:23 +00:00
Roger A. Light
5f8d86b4ee
Fix sub-denied test.
2019-01-10 22:10:32 +00:00
Roger A. Light
326292681a
Add maximum-qos support to broker and client.
...
This comes in the form of:
* Per listener maximum_qos option, which can be in the range 0-2.
* Changes to mosquitto_publish*() to return MOSQ_ERR_QOS_NOT_SUPPORTED
if attempting to publish with a higher QoS than supported.
* Bridges will downgrade messages to match the maximum QoS.
More tests on the broker side (specifically bridges) are required. This
needs bridge support for MQTT 5 first.
2019-01-09 18:03:01 +00:00
Roger Light
740a128769
Support PUBREC reason code >=0x80 as partial qos2 flow.
2019-01-09 15:00:12 +00:00
Roger Light
84660e1cbe
Send maximum limits for QoS>0.
...
This needs more work on the broker front to simplify the design.
2019-01-08 18:38:47 +00:00
Roger A. Light
16e83bfe5d
Process receive maximum (as max_inflight_messages).
2018-12-30 21:53:50 +00:00
Roger A. Light
7c3666d593
Subscription identifier support.
2018-12-20 15:32:43 +00:00
Roger A. Light
dab6452a1d
Add test for duplicate CONNECT.
2018-12-19 22:17:39 +00:00
Roger A. Light
ec1178806c
Fix bridge tests.
2018-12-19 14:38:49 +00:00
Roger A. Light
fcf4cd0b27
Merge branch 'master' into mqtt5
2018-12-19 14:11:11 +00:00
Roger A. Light
31e6dbbe74
Tests and fixes for subscription options.
2018-12-19 12:54:04 +00:00
Roger A. Light
72fdb590b1
Fix no local and retain as published for local bridges.
2018-12-19 10:45:40 +00:00
Roger A. Light
2919510384
No local support.
2018-12-14 13:54:26 +00:00
Roger A. Light
db7901884f
Retain-as-published support.
2018-12-14 13:36:02 +00:00
Roger A. Light
89f3d7bb3f
Don't print connect/disconnect messages when connection_messages false.
...
Closes #772 . Closes #613 . Closes #537 .
Thanks to Christopher Maynard, Brandon Arrendondo, and qubeck.
2018-12-11 10:55:39 +00:00
Roger A. Light
a00dd29af8
Fix building where TLS-PSK is not available.
...
Closes #68 .
2018-12-11 10:55:31 +00:00
Roger A. Light
9097577b49
Fix acl_file being ignore for default listener if with per_listener_settings
...
Close #1073 . Thanks to Jef Driesen.
Bug: https://github.com/eclipse/mosquitto/issues/1073
2018-12-09 21:23:46 +00:00
Jelle van der Waa
1a6f8d3c28
src: ASN1_STRING_data is deprecated in OpenSSL 1.1
...
ASN1_STRING_get0_data replaces ASN1_STRING_data in OpenSSL 1.1 therefore
add an #ifdef for backwards compatibility.
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
2018-12-09 21:22:04 +00:00
Roger A. Light
f90ba23738
Retain handling support.
2018-12-06 22:25:45 +00:00
Roger A. Light
9896e61727
Test and small fix for response-topic and correlation-data props.
2018-12-06 09:29:25 +00:00
Roger A. Light
6ef2c79e9a
Add max_keepalive, for limiting keepalives of MQTT v5 clients.
2018-12-06 08:49:02 +00:00
Roger A. Light
48c2217015
auto_id_prefix now defaults to 'auto-'.
2018-12-05 17:17:35 +00:00
Roger A. Light
1d3949bce0
Improve broker generated client ids for the non-Linux case.
...
Removes libuuid dependency.
2018-12-05 16:39:45 +00:00
Abilio Marques
ead440e47d
bridge: fix issue where keepalive_interval gets added to restart_timeout using ADNS
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2018-12-05 11:42:24 +00:00
Roger A. Light
3a871828ac
Print message on error when installing as a Windows service.
2018-12-05 11:25:41 +00:00
Roger A. Light
c9ed2708f6
Don't reload auth_opt_ options on reload.
...
This matches the behaviour of the other plugin options.
Closes #1068 . Thanks to Jason McFadyen.
Bug: https://github.com/eclipse/mosquitto/issues/1068
2018-12-04 20:51:25 +00:00
Roger A. Light
464b12f3d6
Fix outgoing retained messages not being sent by bridges.
...
This now happens on initial connection, after CONNACK is processed,
before it was happening (and being dropped) before the connection was
made.
Closes #1040 . Thanks to giover.
Bug: https://github.com/eclipse/mosquitto/issues/1040
2018-12-04 20:45:15 +00:00
Roger A. Light
e169f1c7c2
When using ADNS, don't ask for all network protocols when connecting.
...
This can lead to confusing "Protocol not supported" errors if the
network is down, because UDP sockets are provided.
Thanks to jsaak.
Closes #1062 .
Bug: https://github.com/eclipse/mosquitto/issues/1062
2018-12-04 12:39:00 +00:00
Roger A. Light
d29dac087d
Add socket_domain option.
2018-12-04 11:48:29 +00:00
Roger A. Light
7020fad86c
Add server support for Assigned Client Identifier.
2018-11-29 17:19:26 +00:00
Roger A. Light
d5108956bf
Process session-expiry-interval on CONNECT and DISCONNECT.
...
Add test to check for invalid values.
2018-11-27 12:23:21 +00:00
Roger A. Light
54db895cb3
Rename clean_session to clean_start for v5.
2018-11-27 10:02:10 +00:00
Roger A. Light
1241f68ff5
Macro update
2018-11-27 09:58:39 +00:00
Roger Light
17d213b79a
Declare lack of support for shared subs and sub IDs.
2018-11-22 18:54:12 +00:00
Roger Light
9560c5bac7
Add retain_available support.
2018-11-22 18:21:40 +00:00
Roger Light
6ca746695f
Pass db to send__connack() to give it access to config.
2018-11-22 17:32:43 +00:00
Roger A. Light
9464e3fe19
Guard against possible null client id.
2018-11-20 10:15:34 +00:00
Roger A. Light
098a1c8ecf
Fix subscribe_multiple datatypes.
2018-11-13 14:05:03 +00:00
Roger A. Light
beb96c6b8b
Merge branch 'master' into develop
2018-11-11 21:41:44 +00:00
Roger A. Light
b54e379fba
Fix websockets listeners not verifying client certs.
...
When using a TLS enabled websockets listener with "require_certificate"
enabled, the mosquitto broker does not correctly verify client certificates.
This is now fixed. All other security measures operate as expected, and in
particular non-websockets listeners are not affected by this. Closes #996 .
Thanks to creising.
2018-11-08 12:10:28 +00:00
Roger A. Light
ba67e1ffe5
Don't use gnu-specific strerror_r.
2018-11-07 18:27:15 +00:00
Roger A. Light
34c752a0d0
Give better error message if a client sends a password without a username.
...
Closes #1015 . Thanks to TabascoEye.
2018-11-07 17:29:39 +00:00
Roger A. Light
9f7577aab6
$SYS/broker/clients/disconnected should never be negative.
...
Closes #287 . Thanks to Lovisa Johansson.
Bug: https://github.com/eclipse/mosquitto/issues/287
2018-11-07 17:23:43 +00:00
Roger A. Light
d7bcec4878
Don't disconnect clients when a plugin denies SUBSCRIBE.
...
Thanks to Ibrahim Koujar.
Bug: https://github.com/eclipse/mosquitto/issues/1016
2018-11-07 10:06:32 +00:00
Abilio Marques
a4a5236568
fix bug where bridge doesn't honor restart_timeout setting
...
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2018-11-06 23:28:40 +00:00
Bartosz Taczała
e86b27a2da
Adding support for QNX7.0.0
...
Change-Id: Id01e2880aa5cadc0e93a46b95fe675e1938051fa
Signed-off-by: Bartosz Taczała <bartosz.taczala@mobica.com>
2018-11-06 23:11:09 +00:00
Roger A. Light
eff8fab1b4
Only process network errors for clients that have nothing to read.
...
Closes #7 .
2018-11-06 23:02:33 +00:00
Roger A. Light
93f9e965a8
Only remove context from hash if there is a client id.
...
This should never happen, but just in case.
2018-11-06 23:01:06 +00:00
Roger A. Light
f77c1ca91b
private struct mqtt5__property -> public mosquitto_property.
2018-11-01 23:50:54 +00:00
Roger A. Light
80f526a5e5
Message Expiry Interval support.
2018-11-01 21:51:35 +00:00
Roger A. Light
4ca83c1768
Fix leak when handling publish props.
2018-11-01 16:50:23 +00:00
Roger A. Light
de3a9af1f7
Client+library support for unsubscribe properties.
2018-11-01 14:12:52 +00:00
Roger A. Light
383608613a
Client+lib will property support.
2018-11-01 11:37:57 +00:00
Roger A. Light
12cba75c73
Client support for adding properties.
2018-10-31 12:38:39 +00:00
Roger A. Light
636e813d1c
Load of constant renames ahead of making mqtt_protocol.h public.
2018-10-30 11:11:31 +00:00
Roger A. Light
9eebcf6704
Rename property__free_all->mosquitto_property_free_all
...
Make public function.
2018-10-30 10:16:42 +00:00
Roger A. Light
12fa336140
Handle some incoming PUBLISH properties.
...
PAYLOAD_FORMAT_INDICATOR, CORRELATION_DATA, USER_PROPERTY, CONTENT_TYPE
are now all passed on to subscribing clients from an incoming PUBLISH
only (not from Wills). The other PUBLISH properties are silently
dropped.
2018-10-25 16:35:24 +01:00
Roger A. Light
b6c667689d
Write properties for all commands apart from AUTH.
2018-10-25 13:21:42 +01:00
Roger A. Light
8077376a79
Add read support for AUTH packets.
2018-10-25 12:54:17 +01:00
Roger A. Light
ca40255720
mid == 0 is a protocol error.
2018-10-25 12:12:57 +01:00
Roger A. Light
eefa7f7604
All existing commands read properties.
2018-10-25 12:11:00 +01:00
Roger A. Light
723d9c2782
Check whether properties are on the correct commands.
2018-10-25 11:23:04 +01:00
Roger A. Light
267178bd99
User properties are copied from PUBLISH to PUBLISH.
2018-10-25 10:24:19 +01:00
Roger A. Light
0baf358cf8
Add properties member to will struct.
2018-10-24 14:07:09 +01:00
Roger A. Light
35dea07dcd
Merge branch 'master'
2018-10-23 10:39:20 +01:00
JaeHoon Lee
2cb0354163
Implement DLT logging feature for automotive platform
...
Signed-off-by: JaeHoon Lee <bbabbi01@gmail.com>
2018-10-21 14:34:03 +00:00
Roger A. Light
5edc87bcdf
Build options for building with coverage support.
2018-10-16 14:35:03 +01:00
Roger A. Light
a7fff2ad2e
Topic test improvements.
2018-10-16 13:49:38 +01:00
Roger A. Light
8210c1fa7a
All outgoing packets now write property length for MQTT 5.
...
At the moment this only writes a 0 property length, i.e. no properties.
It does mean that output packets are more correct than before.
2018-10-10 12:42:27 +01:00
Roger A. Light
246c9e6565
Read will properties, and free properties immediately for the moment.
2018-10-10 08:41:10 +01:00
Roger A. Light
abb3fee1f8
Coverage reporting for whole broker.
2018-10-06 21:56:48 +01:00
Roger A. Light
f4b2838574
Property reading, and tests for byte properties.
2018-10-04 17:18:57 +01:00
Roger A. Light
366744bad7
Fix subscribe_multiple datatypes.
2018-10-04 09:46:51 +01:00
Roger A. Light
400db91166
Handle UTF-8 validation in packet__read_string.
2018-10-03 15:04:24 +01:00
Roger A. Light
99a1c0e43a
Move simple datatype reading functions to own file.
...
This facilitates easier testing.
2018-10-03 10:23:58 +01:00
Roger A. Light
1488992ea8
Naive reading of MQTT 5 properties. No processing done.
2018-10-02 16:43:40 +01:00
Roger Light
6c9e8d51c2
Merge branch 'develop' into mqtt5
2018-10-02 11:28:03 +01:00
Roger A. Light
1867f30785
Merge branch 'master'
...
Conflicts:
ChangeLog.txt
2018-10-02 08:31:54 +01:00
Vinod Kumar
e492a61cd8
return MOSQ_ERR_INVAL if config has invalid boolean value
...
Signed-off-by: Vinod Kumar <kumar003vinod@gmail.com>
2018-09-29 07:51:12 +01:00
Roger A. Light
cf9a72d8db
Add mosquitto_subscribe_multiple.
2018-09-27 22:05:15 +01:00
Roger A. Light
588d39efdc
Fix Windows version not starting if include_dir did not contain any files.
...
Closes #566 .
Thanks to marleau.
2018-09-25 16:14:57 +01:00
Roger A. Light
f9c9f3d396
Fix incorrect hash usage with duplicate clients.
...
Fix duplicate clients being added to by_id hash before the old client
was removed.
Closes #645 .
2018-09-25 14:25:54 +01:00
Roger A. Light
7b1892caef
Fix retained msgs not sent by bridges.
...
This occurred when a bridge connected for the first time and so made a
local subscription for outgoing topics.
Closes #701 .
2018-09-25 14:25:54 +01:00
Roger A. Light
f7474d3482
Revert "Remove some test that was always true"
...
This reverts commit 6fc7cadb63
.
2018-09-25 14:25:54 +01:00
Kurt Van Dijck
e3b4bd8937
fix signal handler on win32
...
The signal handler thread on win32 did listen to 4 HANDLEs,
of which only 3 were initialized.
The result was 1 thread eating 100% cpu.
This commit reduces the HANDLE array storage.
Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
2018-09-25 10:34:28 +01:00
Roger A. Light
7ca3a24686
Remove requirement to use user root
in snap package config files.
2018-09-20 12:05:02 +01:00
Roger A. Light
0e16a248f2
Elevate log level to warning for situation when socket limit is hit.
2018-09-20 12:00:51 +01:00
Roger A. Light
55ca61f14e
Fix segfault on HUP when bridges and security options are configured.
...
Closes #849 . Closes #965 . Thanks to Wolfgand Hottgenroth and Dustin Sallings.
2018-09-19 17:52:23 +01:00
Roger A. Light
2b4ba10b3d
Fix "round_robin false" behaviour.
...
Closes #481 .
2018-09-19 17:30:38 +01:00
Roger A. Light
3ae387e232
Close spare sock at exit.
2018-09-19 13:01:13 +01:00
Roger A. Light
1e47ee4cad
Fix for bridge connections when using WITH_ADNS=yes.
2018-09-19 12:55:08 +01:00
Roger A. Light
4ee6941188
Primitive v5 CONNACK support - no properties.
2018-09-19 11:13:50 +01:00
Roger A. Light
561513fdd4
Very simple v5 CONNECT support - no properties.
2018-09-19 11:00:15 +01:00
Roger A. Light
33a523eea9
Add identifiers for v5.
...
Clients know about v5, just need library support...
2018-09-19 10:59:41 +01:00
Roger A. Light
99c6ec7f6e
Protocol name will never be changed from MQTT.
2018-09-19 10:58:36 +01:00
Roger A. Light
0bacff11df
Rename mqtt3_protocol.h -> mqtt_protocol.h.
2018-09-19 10:58:12 +01:00
Roger A. Light
d1b36507db
Better implementation of #948 .
2018-09-18 12:08:49 +01:00
Roger A. Light
ee8e20de75
Fix excessive CPU usage when the number of sockets exceeds the system limit.
...
Closes #948 . Thanks to wiebeytec.
2018-09-18 11:54:58 +01:00
Roger A. Light
dceb02f444
Make it easier to build without bundled uthash.h.
...
Use "make WITH_BUNDLED_DEPS=no".
2018-09-08 10:24:12 +01:00
Roger A. Light
e6a0199bb2
Fix incorrect call to setsockopt() for TCP_NODELAY.
...
Closes #941 . Thanks to rfalke.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-30 21:01:43 +01:00
Roger A. Light
2221deb7a7
Fix build when using WITH_ADNS=yes.
2018-08-30 20:44:17 +01:00
Roger A. Light
11395f9852
Fix accessor functions for username and client id when used in plugin auth check.
2018-08-16 17:00:00 +01:00
Roger A. Light
9d157f86ff
Fix for building on Windows with static lws.
2018-08-16 13:31:15 +01:00
Roger A. Light
14bd96e1e1
Add support for compiling with static libwebsockets library.
2018-08-16 11:28:26 +01:00
Roger A. Light
88765a5e80
Consistent use of config.h across the project.
2018-08-16 11:14:51 +01:00
Roger A. Light
0a4810286b
Check for 918
2018-08-15 17:41:14 +01:00
Roger A. Light
a199cac69e
Don't confuse expiring and duplicate clients.
2018-08-15 17:27:59 +01:00
Roger A. Light
ab5af8f0b9
Fix building for libwebsockets < 1.6.
2018-08-14 17:20:22 +01:00
Pierre Fersing
6fc7cadb63
Remove some test that was always true
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-08-14 14:56:07 +01:00
Roger A. Light
af2678ea49
Fix possible endian issue when reading the memory_limit
option.
...
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-09 22:31:03 +01:00
Roger A. Light
945b3283a6
No need to calculate topic len twice.
2018-08-09 15:37:26 +01:00
Tatsuzo Osawa
cb56a75bbb
Fix subs memory issue #505
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-08-09 15:25:52 +01:00
Roger A. Light
10b19a42ed
Fixes for building on NetBSD.
...
Closes #258 .
Thanks to Daniel Ölschlegel.
2018-08-09 15:21:40 +01:00
Roger A. Light
ecb4006f38
Don't reject ACL patterns without %u or %c, just warn.
...
Using `pattern blah/#` is a legitimate method of getting a global ACL.
We shouldn't be changing behaviour in a fixes release.
2018-08-09 14:32:02 +01:00
Natanael Copa
9e92cb0129
Flush stdout when asking for password.
...
Make sure the prompt is actaually printed by flushing stdout when asking
for passwords.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2018-08-09 13:47:11 +01:00
Tobias Assarsson
cc96485330
Add missing parameters to internal mosquitto_acl_check
...
Signed-off-by: Tobias Assarsson <tobias.assarsson@gmail.com>
2018-08-09 13:05:35 +01:00
Roger A. Light
7c94a73c17
Fix UNSUBACK messages not being logged.
...
Closes #903 .
Thanks to Christoph Krey.
2018-08-09 11:54:24 +01:00
Roger A. Light
0d25cb58b4
Fix use_identity_as_username true
not working.
...
Closes #833 .
Thanks to David Crook and Brice Waegeneire.
Bug: https://github.com/eclipse/mosquitto/issues/833
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 15:36:42 +01:00
bricewge
2a3305a4a2
fix #833
...
Signed-off-by: Brice Waegeneire <brice.wge@gmail.com>
2018-08-08 15:27:05 +01:00
Roger A. Light
e185d18917
Better fix for #851 .
...
Ensure all sockets that are closed are set to INVALID_SOCKET.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 15:23:03 +01:00
Wolfgang Hottgenroth
88456c655f
Move check whether context is a bridge in front of check whether a listener
...
exists for context. New test now passes.
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
2018-08-08 13:42:50 +01:00
Roger A. Light
39170d1181
ACL patterns that do not contain either %c or %u are now rejected.
...
Closes #209 .
Bug: https://github.com/eclipse/mosquitto/issues/209
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 13:15:54 +01:00
Pierre Fersing
abaceb9c9e
Fix missing rename of mosquitto__socket_get_address
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-08-02 21:32:08 +01:00
Roger A. Light
2f6f5dbf9d
Fix problem on Pi caused by unsigned char being default.
...
Found via #849 .
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 21:06:47 +01:00
Roger A. Light
fc9a0db966
All clients now time out if they exceed their keepalive*1.5
...
This was inconsistent before.
Partially addresses #865 .
2018-08-02 13:05:36 +01:00
Roger A. Light
b07e0c08bf
Fix IPv6 addresses not being able to be used as bridge addresses.
...
Closes #886 .
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 13:01:02 +01:00
Roger A. Light
bcf76b9cb6
Remove use of AI_ADDRCONFIG.
...
Closes #869 , #901 .
Thanks to Alex Richman.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 01:11:31 +01:00
Roger A. Light
286400abcf
Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX.
...
Closes #863 .
Thanks to denigmus and Patrick TJ McPhee.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 00:27:52 +01:00
Roger A. Light
a954081673
Print more OpenSSL errors when loading certificates/keys fail.
...
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-01 21:24:02 +01:00
Dave Miller
81a82f6fe2
Fix for issue #874
...
With special acknowledgement to sxsing (his github login) for his
help in development and testing of this fix.
NOTE: Pull-request is against master as the fixes branch has not
been updated with the v1.5 file src/handle_connect.c
Signed-off-by: Dave Miller <dmiller@tibco.com>
2018-08-01 19:30:40 +01:00
Roger A. Light
8bbb5887d0
[Broker] Fix auth plugin cleanup function not being called.
...
Closes #900 .
Thanks to Julian Zhao.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-01 15:53:29 +01:00
Roger A. Light
5e60136449
Merge branch 'develop'
2018-05-03 07:55:45 +01:00
Roger A. Light
e9d03c8ffd
Merge branch 'fixes'
2018-05-02 22:33:27 +01:00
Roger A. Light
e90a32835b
Merge branch 'fixes' into develop
2018-05-02 22:24:49 +01:00
Roger A. Light
1a913bddd9
Fix realpath() usage for nonexistant files.
2018-05-02 21:21:07 +01:00
Roger A. Light
377dc82d3f
Fix parsing of configuration options that end with a space.
...
Closes #804 .
Thanks to Nicola Lunghi.
2018-05-02 21:04:46 +01:00
Roger A. Light
6c7ecd7e97
Fix compiling without TLS.
2018-05-02 21:04:42 +01:00
Roger A. Light
51ec5601c2
Fix memory leak that could be caused by a malicious CONNECT packet.
...
Closes #533493 (on Eclipse bugtracker)
Thanks to Daniel Romero.
2018-05-02 21:04:39 +01:00
Roger A. Light
cec1af1386
Don't print uninteresting epoll warnings.
2018-05-02 17:33:33 +01:00
Roger A. Light
5b4a4cfc6a
Fix compilation warnings around _BSD_SOURCE.
2018-05-02 09:39:36 +01:00
Roger A. Light
2d1667b120
Remove c99-isms due to problems with dependencies.
2018-05-02 09:32:37 +01:00
Roger A. Light
23230b7b18
Add per-listener acl handling.
2018-05-01 22:54:25 +01:00
Roger A. Light
62d99ecbc2
Build fixes.
2018-04-23 23:56:39 +01:00
Roger A. Light
caa9e46fda
Fix bad merge.
2018-04-19 20:38:10 +01:00
Roger A. Light
57ee8b92bc
Mac build fixes.
2018-04-16 11:48:42 +01:00
Roger A. Light
7bf16919f3
Validate config strings as UTF-8.
2018-04-13 14:53:10 +01:00
Eric Schneeberger
e4e6a67959
Increase maximum connections (Windows) from 512 to 2048 (Maximum)
...
Signed-off-by: Eric Schneeberger <eric.schneeberger@gtt.com>
2018-04-13 12:10:45 +01:00
Roger A. Light
7615ae24ce
Handle CONNECT protocol errors.
...
Don't allow username when no username flag set.
Don't allow password when no password flag set.
Closes #730 . Closes #731 .
Thanks to Umberto Boscolo.
2018-04-12 22:53:49 +01:00
Roger A. Light
729a09310a
Add UTF-8 tests, plus some validation fixes.
...
Closes #693 .
2018-04-12 22:20:10 +01:00
Roger A. Light
6a2172f472
Windows fixes.
2018-04-12 11:09:02 +01:00
Roger A. Light
f4c9435f54
Use server methods in the broker.
2018-04-12 10:24:03 +01:00
hailinzeng
a6aa3bc5f9
remove dead code
...
Signed-off-by: hailinzeng <hailinzeng@gmail.com>
2018-04-11 23:44:33 +01:00
Roger A. Light
5ff8127f44
Fix will sending for duplicate clients.
...
When a client with an in-use client-id connects, if the old client has a
will, send the will message. Closes #26 .
Thanks to Pierre F.
2018-04-11 23:17:17 +01:00
Roger A. Light
943b311344
Don't use deprecated openssl functions.
2018-04-11 22:10:48 +01:00
Roger A. Light
a5781c0b46
Missing #endif.
2018-04-11 21:13:18 +01:00
Roger A. Light
24d68b5af8
Remove support for openssl 1.0.0 and 1.0.1.
...
These are no longer supported by openssl.
2018-04-11 17:12:25 +01:00
Roger A. Light
f4d238be18
Bump copyright years.
2018-04-11 15:24:29 +01:00
Roger A. Light
d982c265cb
Fix signed/unsigned comparison.
...
Closes #747 , closes #753 .
2018-04-09 22:59:15 +01:00
Tifaifai Maupiti
f2376551bc
Fix: use websockets without OpenSSL / TLS.
...
Signed-off-by: Tifaifai Maupiti <tifaifai.maupiti@gmail.com>
2018-04-09 21:29:22 +01:00
Roger A. Light
40e6a75709
Use c99 as compiling standard.
...
Closes : #765 .
2018-04-06 00:33:22 +01:00
Roger A. Light
c3314fd593
Add missing tests ( Closes #748 ).
2018-04-05 23:57:03 +01:00
Roger A. Light
2a05602d84
Obtain canonical name for password file.
2018-03-27 07:33:48 +01:00
Roger A. Light
d09d7c47c5
Further Coverity Scan fixes.
2018-03-27 00:06:39 +01:00
Roger A. Light
dbdd113c86
Merge branch 'develop' of github.com:eclipse/mosquitto into develop
2018-03-26 22:57:32 +01:00
Roger A. Light
e273c2593e
Fix uninitialised variable.
2018-03-26 22:50:41 +01:00
Roger A. Light
8a22b918c0
Fix Coverity Scan defects.
2018-03-26 22:47:46 +01:00
Roger A. Light
a979ed6535
Per listener plugins.
2018-03-26 15:23:00 +01:00
Roger A. Light
a3b859a995
Remove name confusion
2018-03-25 21:49:14 +01:00
Roger A. Light
600217649b
Merge branch 'develop' of github.com:eclipse/mosquitto into develop
2018-03-23 10:36:57 +00:00
Roger A. Light
13753f7661
Fix building mosquitto_passwd on Windows.
2018-03-23 10:35:50 +00:00
Roger A. Light
26bc3206cd
Per listener allow_zero_length_clientid.
2018-03-18 21:23:50 +00:00
Roger A. Light
7271893966
Per listener auto_id_prefix.
2018-03-18 21:08:39 +00:00
Roger A. Light
4e266ff28f
Copy default parameters.
2018-03-15 22:03:17 +00:00
Roger A. Light
fd7b08c0eb
Per listener psk_file.
2018-03-15 21:39:42 +00:00
Roger A. Light
b2e1592376
Per listener allow_anonymous.
2018-03-15 14:29:07 +00:00
Roger A. Light
7046691b7d
Reload password files properly.
2018-03-15 14:29:02 +00:00
Roger A. Light
aa87f3c170
Per listener allow_anonymous.
2018-03-15 12:18:19 +00:00
Roger A. Light
a571104809
Check correct password list.
2018-03-15 11:08:19 +00:00
Roger A. Light
0fef6bdee8
Maximum connections on Windows increased to 2048.
...
Thanks to ericGTT.
2018-03-14 10:01:47 +00:00
Peter Korsgaard
01ead7e73e
websockets.c: unbreak build without TLS
...
Commit 7943072b1f
(Fix use_identity_as_username not working on websockets
clients) added code which unconditionally accesses mosq-ssl, breaking the
build when TLS support is disabled.
Fix it by guarding this logic inside #ifdef WITH_TLS.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-03-13 23:16:25 +00:00
Roger A. Light
57e852db05
Per listener password file.
2018-03-13 17:52:04 +00:00
Roger A. Light
bc13eab9d6
Add per_listener_settings, which isn't used yet.
2018-03-13 17:52:03 +00:00
Roger A. Light
4d3f5b2b39
Ensure pollfd_index is initialised.
2018-03-13 17:52:03 +00:00
Thomas Pedley
ba8734b749
Add LWT message logging.
...
Signed-off-by: Thomas Pedley <me@shallax.com>
2018-03-13 13:41:58 +00:00
Roger A. Light
9ea0d38002
[706] Serve http /dir/ as /dir/index.html.
...
Thanks to Jean-Claude Wippler.
2018-03-13 09:12:54 +00:00
Roger A. Light
4f838e5161
Windows fixes.
2018-02-28 15:53:24 +00:00
Roger A. Light
5b2bf3d1c1
Bump version number, update copyrights.
2018-02-28 11:15:20 +00:00
Roger A. Light
e6cbff0e94
Fix unauthorised clients being able to cause OOM on connect.
2018-02-24 22:09:19 +00:00
Roger A. Light
b76982db13
Fix reloading of config when fds are exhausted.
2018-02-24 21:44:38 +00:00
Roger A. Light
ec63d7bfc7
Add set_tcp_nodelay option to disable Nagle's algorithm.
...
Bug: https://github.com/eclipse/mosquitto/issues/433
2018-02-14 23:51:16 +00:00
Roger A. Light
81cb7ab547
Merge branch 'fixes' into develop
2018-02-13 14:16:47 +00:00
Roger A. Light
c001e778c1
[693] Fix handling of null bytes in received strings.
...
Thanks to Umberto Boscolo.
Bug: https://github.com/eclipse/mosquitto/issues/693
2018-02-13 12:19:34 +00:00
Roger A. Light
3066f89a24
packet__read_string() returns the string length.
2018-02-11 20:47:17 +00:00
Roger A. Light
ff55499725
Fix persistence reloading.
2018-01-13 21:11:07 +00:00
Roger A. Light
027c5d7f6e
Don't remove invalid socket from epoll fd.
2018-01-13 21:10:24 +00:00
Roger A. Light
2283585e39
Remove build timestamp information for reproducible builds.
2018-01-12 13:41:09 +00:00
Pierre Fersing
59380cef2d
Fix CONNACK not send over WebSocket for bad auth
...
When client over WebSockets fail to authenticate, the CONNACK packet was
not sent because the connection was closed too early. Closes #18 .
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-01-12 13:34:12 +00:00
Roger A. Light
b4c72e8fc0
Fix HUP disconnecting clients incorrectly.
...
Bug: https://github.com/eclipse/mosquitto/issues/657
2018-01-10 22:34:03 +00:00
Roger A. Light
9c6a5f3cf0
[656] Fix building on Windows.
...
Thanks to Arun Kirthi Cherian.
Bug: https://github.com/eclipse/mosquitto/issues/656
2018-01-06 22:42:40 +00:00
Tatsuzo Osawa
024fd400d4
Fix Unsubscribe with No Topic
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-01-06 12:11:06 +00:00
Pierre Fersing
7775924bae
[534]Fix upgrade_outgoing_qos for retained message
2018-01-03 18:50:34 +01:00
Pierre Fersing
7df5c40004
Fix $SYS counters when message is sent over WS
...
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-01-02 16:51:56 +01:00
Roger A. Light
7f82cdc753
[652] Don't limit config file lines to 1024 chars.
...
Bug: https://github.com/eclipse/mosquitto/issues/652
2017-12-20 11:00:16 +00:00
Michael Heimpold
48dec391f7
Quote ${DESTDIR} usage in various Makefiles
...
This prevents failures during make install when whitespace
is part of DESTDIR pathname.
Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2017-12-01 22:28:26 +00:00
Roger A. Light
d3239920d7
Validate UTF-8 client ids, usernames and topics.
2017-08-16 11:28:54 +01:00
Roger A. Light
0745bcdb91
Improve some struct ordering.
2017-08-12 00:25:59 +01:00
Roger A. Light
8795f063d4
Add ability to deny access to SUBSCRIBE messages.
...
This is as well as the current read/write accesses. Currently for auth
plugins only.
2017-08-11 22:15:37 +01:00
Roger A. Light
7096d57c3a
Documentation fix.
2017-08-09 22:17:11 +01:00
Roger A. Light
36e86355d7
Improve documentation and formatting.
2017-08-09 21:59:12 +01:00
toast-uz
df9ad5f0bd
Add Epoll. ( #495 )
...
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2017-07-27 18:43:09 +01:00
Roger A. Light
7943072b1f
Fix use_identity_as_username not working on websockets clients.
...
Thanks to achest.
2017-07-26 23:27:04 +01:00
Roger A. Light
53c71b2a77
Fix memory leak related to use_identity_as_username.
2017-07-26 23:25:49 +01:00
Roger A. Light
c26b852c53
Don't double free when using remote_clientid/username/password.
2017-07-19 22:04:56 +01:00
Roger A. Light
ac6997d7bc
Fix merge error.
2017-07-19 14:49:49 +01:00
Roger A. Light
5a267368d7
Merge branch 'master' into develop
2017-07-19 00:15:42 +01:00
Roger A. Light
ba0122f9a9
Don't disable IPv6 support for websockets.
2017-07-18 22:12:51 +01:00
Roger A. Light
d8cc5bc4fe
Merge branch 'fixes' of github.com:eclipse/mosquitto into fixes
2017-07-17 22:02:30 +01:00
Roger A. Light
0ba0bc434e
Use constant time memcmp for password checks.
2017-07-16 23:20:58 +01:00
Fredrik Fornwall
366194cde4
Replace getdtablesize() with sysconf(_SC_OPEN_MAX)
...
From http://man7.org/linux/man-pages/man3/getdtablesize.3.html :
"It is not specified in POSIX.1; portable applications should employ
sysconf(_SC_OPEN_MAX) instead of this call."
Specifically this fixes a build failure on Android which does not
have getdtablesize().
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-07-16 23:16:30 +01:00
Roger A. Light
e74203de2c
Merge branch 'master' into develop
2017-07-16 22:52:01 +01:00
Roger A. Light
2a50b2e9bd
Fix regression from 1.4.13 where persistence data was not being saved.
2017-07-10 23:43:42 +01:00
Dr. Lars Voelker
74adb43cc1
Adding OCSP Stapling support to mosquitto
...
Adding OCSP Stapling support to mosquitto, so that the TLS client side
requests the certificate status and checks it.
This code uses the OpenSSL-based OCSP implementation and is somewhat
based on the libcurl code for OCSP stapling.
Signed-off-by: Dr. Lars Voelker <lars.voelker@bmw.de>
2017-07-07 13:05:17 +02:00
Roger A. Light
8de5ed4464
Remove "error in poll" messages.
2017-06-27 22:32:10 +01:00
Roger A. Light
cd17ca45cd
[462] Relax CVE-2017-7650 checks.
...
Checks for '/' are no longer made, this character is a much lower risk
and is widely used in usernames.
Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 15:10:43 +01:00
Roger A. Light
c3823c0a81
[462] Add auth_plugin_deny_special_chars option.
...
Auth plugins can be configured to disable the check for +# in
usernames/client ids with the auth_plugin_deny_special_chars option.
Thanks to wiebeytec.
Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 14:59:37 +01:00
Roger A. Light
5246a76f87
[477] Send will messages for connected clients when broker stops.
...
Thanks to mikeS7.
Bug: https://github.com/eclipse/mosquitto/issues/477
2017-06-27 14:33:02 +01:00
Roger A. Light
96db6d6644
Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3.
2017-06-27 11:11:43 +01:00
Roger A. Light
6e7d02ba16
Fix for CVE-2017-9868 for Windows.
2017-06-26 14:53:33 +01:00
Pierre Fersing
408972ddc1
Fix two issues with Websocket ( #472 )
...
* Websocket were always marked as "want_write" (even if they only
want to read, or worse want nothing).
* Websocket FD was read twice in some case (when socket recv queue was
larger that size read by libwebsocket)
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-06-23 22:30:57 +01:00
Roger A. Light
09cb1b61c8
[468] Set persistence file to only be readable by owner.
...
Not implemented on Windows.
Thanks to Moshe Zioni.
Bug: https://github.com/eclipse/mosquitto/issues/468
2017-06-23 14:50:39 +01:00
Roger A. Light
ab45f86d74
Prevent out of bounds array access.
2017-06-22 09:47:03 +01:00
Roger A. Light
c78678607d
[427] Fix large retained messages over websockets.
...
Thanks to Brian Block.
Bug: https://github.com/eclipse/mosquitto/issues/427
2017-06-19 21:40:19 +01:00
Roger A. Light
bb61cd2dee
Fix merge error.
2017-06-19 18:31:58 +01:00
Roger A. Light
8f59d5ad28
Remove unused vars and reset pollfd_index on disconnect.
2017-06-19 16:14:59 +01:00
Roger A. Light
c07ba2a3da
Experimental fix for poor websockets performance.
2017-06-18 12:52:59 +01:00
Jan Lukavsky
621f18d696
#419 Broker sometimes kills connection to client
...
Signed-off-by: Jan Lukavsky <je.ik@seznam.cz>
2017-06-11 22:00:45 +01:00
Roger A. Light
b61fefcf08
Merge branch 'master' into develop
2017-05-31 21:05:26 +01:00
Roger A. Light
9af3c6958f
Fix for CVE-2017-7650.
2017-05-28 21:51:50 +01:00
Roger A. Light
ca8a507607
[446] Don't segfault on duplicate bridge names.
...
Thanks to Tifaifai Maupiti.
Bug: https://github.com/eclipse/mosquitto/issues/446
2017-05-12 22:29:54 +01:00
Riccardo Magliocchetti
059ba5f00b
Fix use of unitialized memory in gets_quiet
...
Spotted by cppcheck
Signed-off-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2017-05-05 22:10:25 +01:00
YuLun Shih
97572610c0
Fix bridge->restart_t won't be reset
...
Signed-off-by: YuLun Shih <shih@yulun.me>
2017-05-05 22:02:05 +01:00
Roger A. Light
a93a0c9bb1
[424]
...
Fix mosquitto.db from becoming corrupted due to client messages being
persisted with no stored message.
Thanks to codami.
Bug: https://github.com/eclipse/mosquitto/issues/424
2017-04-13 13:40:12 +01:00
Roger A. Light
91b308a11d
Merge branch 'master' into develop
2017-03-06 21:19:53 +00:00
Jiří Pinkava
1ed39b9aac
Add (missing) plugin.c into build
...
Signed-off-by: Jiří Pinkava <j-pi@seznam.cz>
2017-03-06 10:50:04 +00:00
Roger A. Light
1a0240b5d5
[379] Improve mosquitto_passwd error messages.
...
Thanks to Jaimyn Mayer. Closes #379 .
Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-20 23:48:30 +00:00
Roger A. Light
b55e7035ff
[344] Fix non-async case.
2017-02-20 23:48:30 +00:00
Roger A. Light
433ee5c4d6
[344] Don't compile in async dns support by default for makefiles.
2017-02-20 23:48:30 +00:00
Roger A. Light
8406c08124
[344] Detect libanl in cmake.
2017-02-20 23:48:30 +00:00
Roger A. Light
6f45ab9624
[344] Only do async dns on glibc.
2017-02-20 23:48:30 +00:00
Roger A. Light
e0e8cc9f3e
[344] Fix leaks and incorrect connect call.
2017-02-20 23:48:30 +00:00
Roger A. Light
e13af18ed9
Start of fix for [344].
2017-02-20 23:48:30 +00:00
Fredrik Fornwall
54a467d782
Include <syslog.h> instead of <sys/syslog.h>
...
Using the standard <syslog.h> header instead of <sys/syslog.h> makes it
consistent with other source files and fixes compilation on Android.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-02-20 23:48:30 +00:00
Fredrik Fornwall
35cc1eb21e
Check for rt and pthread libraries before linking
...
This fixes building on Android which does not have separate librt
or libpthread libraries.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-02-20 23:48:30 +00:00
Roger A. Light
2c92d3b837
More file closing fixes.
2017-02-20 23:48:30 +00:00
Roger A. Light
e7c1507f88
Fix error message when websockets http_dir directory does not exist.
2017-02-20 23:48:30 +00:00
Roger A. Light
b01e32bd8b
[354] Close http files even on bad clients.
...
Thanks to jbwdevries.
Bug: https://github.com/eclipse/mosquitto/issues/354
2017-02-20 23:48:30 +00:00
Roger A. Light
7279e48191
[316] Don't error on zero length persistence files.
...
Closes #316 .
Bug: https://github.com/eclipse/mosquitto/issues/316
2017-02-20 23:48:30 +00:00
Roger A. Light
ed80a9a526
[295] Usage should say we support 3.1.1 as well as 3.1.
...
Closes #295 .
Bug: https://github.com/eclipse/mosquitto/issues/295
2017-02-20 23:48:30 +00:00
tucic
9f743d5972
Maximum connections for websockets listener ( #271 )
...
Check current number of connections before accepting new websockets clients.
Signed-off-by: tucic <tucic.milan@gmail.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
6b68371dbe
[259] Fix crash when "lazy" type bridge attempts to reconnect.
...
Thanks to hakofugu41.
Bug: https://github.com/eclipse/mosquitto/issues/259
2017-02-20 23:48:30 +00:00
Karl Palsson
20197e2496
websockets: fix compatibility with older lws versions ( #260 )
...
In 1.3, 1.4 and 1.5, the function was "libwebsockets_get_protocol" not
"libwebsocket_get_protocol" While the #define name doesn't matter on
newer libwebsockets, where it redirects to lws_get_protocol, the naming
is critical for older versions.
Fixes: 477cd3e399
(Fix missing context->listener for websocket client)
Signed-off-by: Karl Palsson <karlp@etactica.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
f72d9b3a34
[17] Sort include_dir files before loading them.
...
Bug: https://github.com/eclipse/mosquitto/issues/17
2017-02-19 20:29:04 +00:00
Roger A. Light
ebad302119
[379] Improve mosquitto_passwd error messages.
...
Thanks to Jaimyn Mayer. Closes #379 .
Bug: https://github.com/eclipse/mosquitto/issues/379
2017-02-12 21:22:58 +00:00
Roger A. Light
565c9c3432
[344] Fix non-async case.
2017-02-09 16:41:48 +00:00
Roger A. Light
f0485d1398
[344] Don't compile in async dns support by default for makefiles.
2017-02-08 22:30:00 +00:00
Roger A. Light
fb824e7f1e
[344] Detect libanl in cmake.
2017-02-08 16:24:50 +00:00
Roger A. Light
3d40ffe18b
[344] Only do async dns on glibc.
2017-02-08 15:40:44 +00:00
Roger A. Light
f464970fcf
[344] Fix leaks and incorrect connect call.
2017-02-06 23:10:43 +00:00
Roger A. Light
ef7a230365
Start of fix for [344].
2017-02-06 22:41:34 +00:00
Fredrik Fornwall
23b0891048
Include <syslog.h> instead of <sys/syslog.h>
...
Using the standard <syslog.h> header instead of <sys/syslog.h> makes it
consistent with other source files and fixes compilation on Android.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:15:19 +00:00
Fredrik Fornwall
532273250c
Check for rt and pthread libraries before linking
...
This fixes building on Android which does not have separate librt
or libpthread libraries.
Signed-off-by: Fredrik Fornwall <fredrik@fornwall.net>
2017-01-30 21:00:25 +00:00
Roger A. Light
9b05b12039
More file closing fixes.
2017-01-21 07:54:48 +00:00
Roger A. Light
a2a2099fa1
Fix error message when websockets http_dir directory does not exist.
2017-01-20 21:18:18 +00:00
Roger A. Light
8171a975ae
[354] Close http files even on bad clients.
...
Thanks to jbwdevries.
Bug: https://github.com/eclipse/mosquitto/issues/354
2017-01-20 18:25:04 +00:00
Roger A. Light
7f66bf1f65
[316] Don't error on zero length persistence files.
...
Closes #316 .
Bug: https://github.com/eclipse/mosquitto/issues/316
2017-01-06 00:44:17 +00:00
Ben Hardill
740b710a0b
Add support for local only bridge notifications ( #328 )
...
This update adds an option to only publishes bridge
notification messages to the local side of the bridge.
It adds a config file option called notifications_local_only
that accepts a boolean value, defaults to false to be
consistent with existing behaviour.
Fixes #233
Signed-off-by: Ben Hardill <hardillb@uk.ibm.com>
2016-12-04 21:47:38 +00:00
Roger A. Light
1abd089afb
[295] Usage should say we support 3.1.1 as well as 3.1.
...
Closes #295 .
Bug: https://github.com/eclipse/mosquitto/issues/295
2016-10-20 13:48:30 +01:00