Commit Graph

64 Commits (1079a1b6971f69041899873f026dfa8e49842a22)

Author SHA1 Message Date
YangHau 9bb9b6e721 Remove redundant initialization in clients
the `memset(&cfg, 0, sizeof(struct mosq_config));` already exsits in
`client_config_load()`'s `init_config()` function call.
So calling it in main function is totally unnecessary.

Signed-off-by: YangHau <vulxj0j8j8@gmail.com>
6 years ago
Roger A. Light b4dfeb3767 Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
6 years ago
Roger A. Light 7a33a129d6 Stop some error messages being printed even when `--quiet` was used.
Thanks to Rob de Jonge.

Closes #1284.
6 years ago
Roger A. Light dec769ce33 Client and doc ALPN additions
Add ALPN support for all clients, update documentation, and add to ChangeLog.
7 years ago
Roger A. Light ec3fd361be https links where possible. 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 2dd24449ad Fix "unused parameter" warnings. 7 years ago
Roger A. Light 1ce1bce941 Add --remove-retained to mosquitto_sub
This can be used to clear retained messages on a broker.
7 years ago
Roger A. Light ce31269e05 Update changelog, bump version, bump copyright year. 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 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 Light 930a314caf Add reason_code to on_publish_v5 callback. 7 years ago
Roger A. Light fcf4cd0b27 Merge branch 'master' into mqtt5 7 years ago
Roger A. Light db7901884f Retain-as-published support. 7 years ago
Roger A. Light a00dd29af8 Fix building where TLS-PSK is not available.
Closes #68.
7 years ago
Roger A. Light 5073d83bf8 Don't generate client ids in v5 mode. 7 years ago
Roger A. Light 0123ff1efe Rename *_with_properties() -> *_v5(). 7 years ago
Roger Light a9d19d0911 Use MQTT 5 reason strings where appropriate in clients. 7 years ago
Roger Light 3cb8a52ef3 Add reason code to mosquitto_disconnect_with_properties() 7 years ago
Roger A. Light 098a1c8ecf Fix subscribe_multiple datatypes. 7 years ago
Roger A. Light 4c0c632dfa Client memory "leak" fixes. 7 years ago
Roger A. Light 55b46037da Change -y to -D in clients. 7 years ago
Roger A. Light de3a9af1f7 Client+library support for unsubscribe properties. 7 years ago
Roger A. Light 741a8a9cc3 Client disconnect property support, plus disconnect packet fix. 7 years ago
Roger A. Light 12cba75c73 Client support for adding properties. 7 years ago
Roger A. Light 366744bad7 Fix subscribe_multiple datatypes. 7 years ago
Roger Light 6c9e8d51c2 Merge branch 'develop' into mqtt5 7 years ago
Roger A. Light 1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
7 years ago
Roger A. Light 0e76bed50e Add -E option to mosquitto_sub.
This causes the client to exit immediately after its subscriptions are
acknowledged by the broker, and can be used to create a durable client
session without requiring messages to be delivered.

Closes #952.
7 years ago
Roger A. Light 33a523eea9 Add identifiers for v5.
Clients know about v5, just need library support...
7 years ago
Roger A. Light 88765a5e80 Consistent use of config.h across the project. 7 years ago
Roger A. Light 9852f94ee0 Merge branch 'sub_client_timeout_upstream' of git://github.com/I2SE/mosquitto into I2SE-sub_client_timeout_upstream 8 years ago
Roger A. Light f4d238be18 Bump copyright years. 8 years ago
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.
8 years ago
Roger A. Light 17029c1e11 Minor usage string updates. 8 years ago
Roger A. Light 5cdfe3239c Separate sub client output code into its own file. 8 years ago
Roger A. Light 611ad222bb Don't keep trying to connect in sub client if CONNACK negative. 8 years ago
Michael Heimpold 338322fa9c sub_client: allow to specify a timeout (refs #275)
This add a new command line parameter to give a timeout for message
processing. It is implemented using alarm(2) and thus available at
the moment only for POSIX platforms (also because I have no WIN32
build environment at hand).

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
8 years ago
Roger A. Light 712cbfe599 Default to mqtt v3.1.1 for clients. 8 years ago
Roger A. Light 840453c14f Remove -x from mosquitto_sub - this is provided by -F now. 9 years ago
Roger A. Light 8140ce1f24 Add -F to mosquitto_sub to allow users to choose the output format. 9 years ago
Roger A. Light 8378fe44cf Update copyrights. 9 years ago
Roger A. Light 37dceb38f9 Fix some defects discovered by coverity. 10 years ago
Roger A. Light bd61d18e92 Small tidy up. 10 years ago
Matteo Croce 59c80d9197 Add MQTT URL scheme support
Add option -L to specify user, password, hostname, port and topic at once.
The URL must provided with the -L or --url in the form:
mqtt(s)://[username[:password]@]host[:port]/topic

Change-Id: Ia626a28981a38807a254ae32c6ffb29b122b8a28
Signed-off-by: Matteo Croce <matteo@openwrt.org>
10 years ago
Roger A. Light 1961404ec9 Add --retained-only to mosquitto_sub. 10 years ago
Roger A. Light 3aa698d023 Add -U to mosquitto_sub for unsubscribing from topics. 10 years ago