Commit Graph

476 Commits (925debb8a5d241964a5aa9a041c97fdb8a7fa409)

Author SHA1 Message Date
Roger A. Light 1220ba4bfe Rejig OCSP code. 7 years ago
Roger A. Light ea046c2405 Merge branch 'master' of git://github.com/LarsVoelker/mosquitto into LarsVoelker-master 7 years ago
Roger A. Light 67707b819d Fix some -Wextra compiler warnings. 7 years ago
Roger A. Light 830f814264 Fix Coverity Scan defect 1400439. Access without lock. 7 years ago
Roger A. Light 5691456ac7 Remove errant header from merge. 7 years ago
Roger A. Light 214a5f3aab v5 persistence file format
This includes changes to improve read/write performance.
It is not complete, and will have further changes to add properties and anything else required for MQTT v5.
7 years ago
Roger A. Light ad2ce6c4e6 Add internal logging type, for development debugging. 7 years ago
Roger A. Light 320ddc1303 Merge branch 'master'
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	client/Makefile
	config.mk
	installer/mosquitto.nsi
	installer/mosquitto64.nsi
	lib/mosquitto.h
	lib/mqtt3_protocol.h
	lib/util_mosq.c
	set-version.sh
	snap/snapcraft.yaml
	src/bridge.c
	src/database.c
	src/handle_connack.c
	src/loop.c
	src/persist.c
	test/broker/Makefile
7 years ago
Roger A. Light 110f4aada6 Don't overwrite disused client state. 7 years ago
Roger A. Light cc153cfc90 Cleanup TLS UI method on exit. 7 years ago
Roger Light 8a8d13cf96 Shared subscription support. 7 years ago
Roger A. Light 5be83ec1d7 Topic matching optimisations. 7 years ago
Roger A. Light 2dd24449ad Fix "unused parameter" warnings. 7 years ago
Roger A. Light 0941638143 Fix signed/unsigned comparion warnings.
Closes #1196.
7 years ago
Roger A. Light 08249313a4 Don't leak sockets. 7 years ago
Roger A. Light ac91144495 Session expiry interval support - not working for file persistence. 7 years ago
Roger A. Light cd07c2b802 Windows build fixes. 7 years ago
Roger A. Light 105ad17dc6 Tests and support for QoS 1 reporting of no subscribers on publish. 7 years ago
Roger A. Light 6a1ac70ee6 Disallow writing to $ topics where appropriate. 7 years ago
Roger A. Light ce31269e05 Update changelog, bump version, bump copyright year. 7 years ago
Roger A. Light 988554e7f0 Fix openssl deprecated warnings. 7 years ago
Roger A. Light a6f845bc67 Fix openssl deprecated function use. 7 years ago
Roger A. Light 4490d06a63 Coverity fixes.
1398654, 1398656 - lib missing unlock on fatal protocol error
1398655 - broker potential double free on startup after fatal persist
          error.
7 years ago
Roger A. Light d3d6f3a980 Fix compiling with openssl < 1.1.1. 7 years ago
krismattheus 479d8e5f1a fix incorrect return code when connecting in non-blocking mode
Signed-off-by: krismattheus <kris.mattheus@visionbms.com>
7 years ago
Roger A. Light 1924afe49e Add explicit support for TLS v1.3 and drop TLS v1.0. 7 years ago
Roger A. Light 1a3eaeabce Only use getrandom on recent glibc, when TLS not in use. 7 years ago
Roger A. Light 38711fc3f3 Fix merge error for C90 compile fail. 7 years ago
Roger A. Light deb2fdfc98 Use lib provided random id. Change lib generated id to alphanumeric only. 7 years ago
Roger A. Light 48d731ecb5 Use better random numbers for everything, where possible. 7 years ago
Roger A. Light 72941db546 Coverity fixes
1399064
1399065
1398655
1398656
1398654
1399067
1399066
1399063
1399060
1399059
1399068
1399062
1398657
1398653
1302848
1302847
1399070
7 years ago
Roger A. Light b2c0c3d573 Handle DISCONNECT with will. 7 years ago
Roger A. Light c506c8335b Will delay tests and implementation. 7 years ago
Roger A. Light 5aabc171b0 Merge branch 'mqtt5' into develop 7 years ago
Roger A. Light e862a047a8 Rework TLS engine support. 7 years ago
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>
7 years ago
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>
7 years ago
Roger A. Light f4e24f9524 Use higher resolution timer for random client id generation. 7 years ago
Roger A. Light 1d17ced449 Broker configurable max_packet_size
Plus tests.
7 years ago
Roger A. Light 8fb4ad48b5 Strings for new error codes. 7 years ago
Roger A. Light b9b8e0ff2a Add client support for outgoing maximum packet size. 7 years ago
Roger A. Light 1877f8a326 Tests and implementation for maximum packet size.
This is for broker outgoing connack and publish packets only.
7 years ago
Roger A. Light 66c1e2ccf0 Add mosquitto_unsubscribe_multiple(), plus tests. 7 years ago
Roger A. Light 458a9840ad Bump version for test release. 7 years ago
Roger A. Light bb72cf9088 Bump version number, update webpage. 7 years ago
Roger A. Light f9f3fdbfe3 Fix pattern matching test. 7 years ago
Roger A. Light 084062c85e Merge branch 'fixes' into mqtt5 7 years ago
Roger A. Light b6dc4e5780 Fix datatype_read test. 7 years ago
Roger A. Light bb914b985c Fix `mosquitto_topic_matches_sub()` rc with sub=="topic/#abc".
This now returns MOSQ_ERR_INVAL as expected.
7 years ago
Roger A. Light e72d1d6ff5 Fix `mosquitto_topic_matches_sub()` rc with sub=="topic/#abc".
This now returns MOSQ_ERR_INVAL as expected.
7 years ago