Commit Graph
37 Commits
Author SHA1 Message Date
Roger Light 2f8573b456 Add property helper functions.
mosquitto_property_identifier()
mosquitto_property_identifier_to_string()
mosquitto_property_next()
2019-10-15 13:47:46 +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 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 66c1e2ccf0 Add mosquitto_unsubscribe_multiple(), plus tests. 2019-02-17 20:59:16 +00:00
Roger Light 0546e7bebc Add mosquitto_int_option and mosquitto_void_option
This deprecates mosquitto_opts_set().
2019-01-08 14:21:02 +00:00
Roger A. Light 4fe75b1af0 Make user functions for reading properties easier to use. 2018-12-06 16:59:53 +00:00
Roger A. Light 0123ff1efe Rename *_with_properties() -> *_v5(). 2018-11-22 18:55:04 +00:00
Roger A. Light d64ce2e242 Make mosquitto_reason_string public. 2018-11-22 10:17:16 +00:00
Roger A. Light 59b3fdfdf8 Add client property value reading functions. 2018-11-20 17:54:26 +00:00
Roger A. Light 158189393e Add v5 client callbacks. 2018-11-20 14:36:18 +00:00
Roger A. Light f9e0fa246a Validate properties coming into client library. 2018-11-01 18:53:06 +00:00
Roger A. Light de3a9af1f7 Client+library support for unsubscribe properties. 2018-11-01 14:12:52 +00:00
Roger A. Light 741a8a9cc3 Client disconnect property support, plus disconnect packet fix. 2018-11-01 11:57:47 +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 446ad6290a Add mosquitto_string_to_property_info. 2018-10-30 11:54:36 +00:00
Roger A. Light c19b3598c0 Add mosquitto_string_to_command. 2018-10-30 11:40:06 +00:00
Roger A. Light 63a479564b Add mosquitto_property_command_check() 2018-10-30 11:32:37 +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 cf9a72d8db Add mosquitto_subscribe_multiple. 2018-09-27 22:05:15 +01:00
Roger A. Light 86ced4d98f Add mosquitto_connect_with_flags_callback_set().
This allows a second connect callback to be used that exposes the
MQTT connect flags parameter.

Closes #738, #128.
2018-04-11 14:06:16 +01:00
Roger A. Light 1b702538f9 Add check and matches functions which take length arguments.
mosquitto_pub_topic_check2()
mosquitto_sub_topic_check2()
mosquitto_topic_matches_sub2()
2018-02-11 21:31:34 +00: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 e4e81a0fb1 [111] Add mosquitto_userdata function to libmosquitto.
This allows retrieving mosq->userdata.

Bug: https://github.com/eclipse/mosquitto/issues/111
2017-02-19 20:45:52 +00:00
Roger A. Light a8a5daf06b Check client topic inputs for valid UTF-8. 2016-06-20 22:56:01 +01:00
Roger A. Light 0a95c9a3af Add mosquitto_subscribe_callback(). 2016-01-26 17:00:08 +00:00
Roger A. Light 1288b14dcb Fixes and cleanup for subscribe_simple. 2016-01-26 09:55:32 +00:00
Roger A. Light b83c58763d Add mosquitto_subscribe_single()/multiple(). 2016-01-25 23:12:33 +00:00
Roger A. Light 8a35c3cd0d Add client support for MQTT v3.1.1. 2015-01-27 00:32:20 +00:00
Roger A. Light 42420cae46 Add experimental SOCKS5 support for the clients. 2014-09-30 00:56:57 +01:00
Roger A. Light 06bec1083d Expose mosquitto_pub_topic_check() and mosquitto_sub_topic_check(). 2014-09-10 15:57:20 +01:00
Roger A. Light 5c7512b8ba Add mosquitto_threaded_set(). 2014-07-02 20:45:26 +01:00
Roger Light 0364bd1be7 Initial contribution. 2014-05-07 23:27:00 +01:00