Roger A. Light
4fad9aaf24
Consistent message formats.
2019-04-04 22:09:12 +01:00
Roger A. Light
2e7dcee342
Multistep auth, plus reauth, plus tests.
2019-04-04 22:08:55 +01:00
Roger A. Light
a29a7dadc6
Basic plugin support for single step extended auth.
2019-04-04 11:37:04 +01:00
Roger A. Light
da84b9a983
Restrict what packets are allowed in what client state.
2019-04-03 20:46:21 +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
fe854d3a64
Refactor handle__connect() ahead of extended auth changes.
2019-04-03 10:50:19 +01:00
Roger A. Light
1220ba4bfe
Rejig OCSP code.
2019-03-26 22:13:42 +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
67707b819d
Fix some -Wextra compiler warnings.
2019-03-26 12:15:34 +00:00
Roger A. Light
830f814264
Fix Coverity Scan defect 1400439. Access without lock.
2019-03-26 11:37:31 +00:00
Roger A. Light
5691456ac7
Remove errant header from merge.
2019-03-21 09:48:27 +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
ad2ce6c4e6
Add internal logging type, for development debugging.
2019-03-17 20:54:43 +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
110f4aada6
Don't overwrite disused client state.
2019-03-15 21:38:24 +00:00
Roger A. Light
cc153cfc90
Cleanup TLS UI method on exit.
2019-03-14 09:53:23 +00:00
Roger Light
8a8d13cf96
Shared subscription support.
2019-03-14 06:48:33 +00:00
Roger A. Light
5be83ec1d7
Topic matching optimisations.
2019-03-13 16:03:28 +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
08249313a4
Don't leak sockets.
2019-03-13 12:58:42 +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
ce31269e05
Update changelog, bump version, bump copyright year.
2019-02-28 16:56:15 +00:00
Roger A. Light
988554e7f0
Fix openssl deprecated warnings.
2019-02-28 16:47:16 +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
krismattheus
479d8e5f1a
fix incorrect return code when connecting in non-blocking mode
...
Signed-off-by: krismattheus <kris.mattheus@visionbms.com>
2019-02-28 00:16:04 +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
1a3eaeabce
Only use getrandom on recent glibc, when TLS not in use.
2019-02-27 20:58:29 +00:00
Roger A. Light
38711fc3f3
Fix merge error for C90 compile fail.
2019-02-27 17:34:32 +00:00
Roger A. Light
deb2fdfc98
Use lib provided random id. Change lib generated id to alphanumeric only.
2019-02-27 14:53:07 +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
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
Roger A. Light
b2c0c3d573
Handle DISCONNECT with will.
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
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
f88cc06435
Add TLS engine and keyform support to libmosquitto
...
- Clients can now offload crypto tasks to an external crypto device through
the OpenSSL ENGINE API.
- The keyfiles can now be treated as PEM or ENGINE keys.
- Two new functions were added to libmosquitto to set up the previously
mentioned features.
- Both mosquitto_sub and mosquitto_pub include support to turn on the mentioned
features through command line options.
Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:48:00 +00:00
Roger A. Light
f4e24f9524
Use higher resolution timer for random client id generation.
2019-02-26 14:26:05 +00:00
Roger A. Light
1d17ced449
Broker configurable max_packet_size
...
Plus tests.
2019-02-19 15:57:20 +00:00
Roger A. Light
8fb4ad48b5
Strings for new error codes.
2019-02-19 15:53:15 +00:00
Roger A. Light
b9b8e0ff2a
Add client support for outgoing maximum packet size.
2019-02-19 15:14:34 +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
66c1e2ccf0
Add mosquitto_unsubscribe_multiple(), plus tests.
2019-02-17 20:59:16 +00:00
Roger A. Light
458a9840ad
Bump version for test release.
2019-02-14 10:52:49 +00:00