Commit Graph

35 Commits

Author SHA1 Message Date
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
59bd07627d Various build improvements to help packaging. 2018-09-25 14:25:54 +01:00
Michael Heimpold
a459e93498 Install pkg-config files also for non-CMake builds
At the moment, pkg-config hint files are only installed when CMake is
used as build system. However, it is very convenient for programs using
libmosquitto to have these files always in place, so let's add it
here, too.

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2018-09-18 15:25:22 +01:00
Roger A. Light
f4d238be18 Bump copyright years. 2018-04-11 15:24:29 +01:00
Roger A. Light
ff79432364 C++ on_connect_with_flags() support. 2018-04-11 14:11:02 +01: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
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
91b308a11d Merge branch 'master' into develop 2017-03-06 21:19:53 +00:00
Roger A. Light
b5b5e6f27d Don't use reserved identifiers in public headers. 2017-02-20 23:48:30 +00:00
Jens Breitbart
b9d4ebfba3 Fix compiler warnings (unused parameter, additional semicolon).
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.

Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
2017-02-20 23:48:30 +00:00
Roger A. Light
8378fe44cf Update copyrights. 2016-07-08 09:42:24 +01:00
jbwdevries
1c90a4487c Fixes a bug where the C++ wrapper would always claim SOCKS was not supported. (#198)
The WITH_* flags are not handed over to the C++ wrapper, instead it relies on
the actual library to check status.

Signed-off-by: Johan de Vries (Ubuntu VM) <devries@wivion.nl>
2016-06-29 17:12:20 +01:00
Roger A. Light
1c3988a397 Merge branch 'master' into develop 2016-06-21 23:33:58 +01:00
Roger A. Light
a8a5daf06b Check client topic inputs for valid UTF-8. 2016-06-20 22:56:01 +01:00
Roger A. Light
fa2d3143a4 Separate the C and C++ static libraries. 2016-06-15 21:11:46 +01:00
Roger A. Light
2286caaca2 Merge branch 'enhance-bare-makefile-static-library-build' of https://github.com/Lance0312/mosquitto into Lance0312-enhance-bare-makefile-static-library-build 2016-06-15 20:59:34 +01:00
Roger A. Light
d90cd585dd Add WITH_STRIP build option. 2016-06-13 21:36:41 +01:00
Lance Chen
5ccd0dbb80
Add an build option to control building static libraries or not
The option WITH_STATIC_LIBRARIES is default to yes

Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-03 01:59:37 +08:00
Lance Chen
97847fa95b
Rename option BUILD_STATIC_LIBRARY to WITH_STATIC_LIBRARIES
to conform to the bare Makefiles

Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-03 01:59:10 +08:00
Lance Chen
4b4817c3f0
Build the CPP static library with bare Makefiles
In order to make the CPP static library include all
objects from the C static library, the list of objects
(MOSQ_OBJS) is isolated into objects.mk to be used for
building the C and CPP static libraries.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-06-02 18:02:26 +08:00
Lance Chen
f18e8e12a8
Add build configuration for CPP static library
The CPP static library respects options
BUILD_STATIC_LIBRARY and WITH_PIC as well.

Signed-off-by: Lance Chen <cyen0312@gmail.com>
2016-05-31 17:03:52 +08:00
Ian Johnson
87112a7e21 On Mac, we don't want to run /sbin/ldconfig as it doesn't exist
Signed-off-by: Ian Johnson <ijohnson@wolfram.com>
2016-04-19 16:56:10 -05:00
Roger A. Light
69a08ab905 Fix string quoting in CMakeLists.txt. Closes #4. 2016-03-13 20:33:08 +00:00
Roger A. Light
7709621911 Reorder helper function arguments for consistency. 2016-01-26 17:06:32 +00:00
Roger A. Light
0a95c9a3af Add mosquitto_subscribe_callback(). 2016-01-26 17:00:08 +00:00
Roger Light
322d9624a1 Fix CMake dependencies for libmosquittopp.
Enables parallel build mode.

Accepted without CLA after discussion with Eclipse Foundation legal
about very small patches that can only be implemented in one way.

See bug report for acceptance of Certificate of Origin.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463884
Also-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
2015-04-17 21:51:14 +01:00
Roger A. Light
fe933dee99 Don't require socks_mosq.c in cpp library. 2015-03-30 22:11:18 +01:00
Roger A. Light
8a35c3cd0d Add client support for MQTT v3.1.1. 2015-01-27 00:32:20 +00:00
Roger A. Light
9332a731bf [452915] mosquittopp now has a virtual destructor.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452915
2015-01-15 22:48:24 +00:00
Roger A. Light
fdc8c08ca3 Add socks to cpp library. 2014-09-30 01:04:10 +01:00
Roger A. Light
5c7512b8ba Add mosquitto_threaded_set(). 2014-07-02 20:45:26 +01:00
Roger A. Light
330a7a882e Add CROSS_COMPILE to Makefiles. 2014-05-25 23:36:38 +01:00
Roger Light
0364bd1be7 Initial contribution. 2014-05-07 23:27:00 +01:00