Commit Graph

179 Commits

Author SHA1 Message Date
Roger A. Light
8a4ae28fa9 Fix duplicate cfg definition in rr_client.
Closes #1453. Thanks to jveber.
2019-10-09 14:01:44 +01:00
Roger A. Light
0a8358243b mosquitto_sub: Fix -E not working unless -d was also specified.
Closes #1418. Thanks to Lichard Torman.
2019-09-21 22:30:21 +01:00
Roger A. Light
a0e7165a9c Fix WITH_STATIC_LIBRARIES using CMake on Windows
Closes #1369. Thanks to TimmvonderMehden
2019-08-06 12:01:29 +01:00
YangHau
b2aed5cb7e feat: Remove unecessary if statement
free() would take no action if the arguement is a NULL pointer.
Therefore, the if statement is totally unnecessary.
See ISO-IEC 9899

Signed-off-by: YangHau <vulxj0j8j8@gmail.com>
2019-08-01 19:28:39 +08:00
Roger A. Light
a22ccbd884 Clients: improve error msgs when connecting v3.x broker with v5 client
Closes #1344. Thanks to HowJMay.
2019-08-01 11:40:55 +01:00
Roger Light
1079a1b697
Merge pull request #1342 from HowJMay/remove_redundant_reset
Remove redundant initialization in clients
2019-08-01 09:59:52 +01:00
Roger A. Light
b807daed28 Fix error codes not being returned when mosquitto_pub exits.
Closes #1354. Thanks to Ben Barbour.
2019-07-24 12:08:43 +01:00
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>
2019-07-12 16:53:29 +08:00
Roger A. Light
af7760f1b6 Fix build for WITH_SOCKS=no. 2019-06-13 16:23:55 +01:00
Roger A. Light
c685b7ecf4 Fix mosquitto_pub -l not handling zero length input.
Closes #1302. Thanks to Marcus Watkins.
2019-06-06 23:21:07 +01:00
Roger A. Light
31f448f35a Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
2019-06-06 23:01:04 +01:00
Roger A. Light
4d54a51c62 Stop some error messages being printed even when --quiet was used.
Thanks to Rob de Jonge.

Closes #1284.
2019-06-06 22:58:02 +01:00
Roger A. Light
7d954fa52e Fix mosquitto_pub -l not handling network failures.
Closes #1152. Thanks to Dustin Sallings.
2019-05-29 18:49:08 +01:00
Roger A. Light
1bafe0ee2e Fix double free on exit in mosquitto_pub.
Closes #1280. Thanks to Lucky Saini.
2019-05-29 18:42:38 +01:00
Roger A. Light
b4dfeb3767 Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
2019-05-21 23:56:22 +01:00
Roger A. Light
999c478c88 Fixes for bug #1273
* Fix Will message for a persistent client incorrectly being sent when the client reconnects after a clean disconnect.
* Fix Will message for a persistent client not being sent on disconnect.
* Fix mosquitto_pub not using the `-c` option.

Thanks to Yannic Schröder.

Closes #1273.
2019-05-21 17:08:52 +01:00
Roger A. Light
29cf965b4f Fix mosquitto_pub exiting with error code 0 when an error occurred.
Thanks to janniswarnat.

Closes #1285.
2019-05-21 11:39:19 +01:00
Roger A. Light
7a33a129d6 Stop some error messages being printed even when --quiet was used.
Thanks to Rob de Jonge.

Closes #1284.
2019-05-21 11:23:00 +01:00
Roger A. Light
a47da31679 Update changelog, improve warning message from last commit. 2019-05-10 07:25:49 +01:00
Till Zimmermann
8518d08ff3 Fixed Segmentation Fault / NULLptr dereference
Signed-off-by: Till Zimmermann <tzimmermann@uni-osnabrueck.de>
2019-05-09 13:08:19 +02:00
Roger A. Light
203949a512 Fix -L url parsing.
Closes #1248. Thanks to Andrew J Freyer.
2019-04-30 13:24:33 +01:00
Roger A. Light
439575475c Use CMAKE_INSTALL_* variables when installing in CMake.
Closes #1049. Thanks to Greg Troxel.
2019-04-26 17:07:05 +01:00
Roger A. Light
3b4a5419c3 Build fixes around CFLAGS et al.
- Split CFLAGS and CPPFLAGS, and LDFLAGS and LDADD/LIBADD.
- test/unit now respects CPPFLAGS and LDFLAGS.

Closes #1232. Thanks to Greg Troxel.
2019-04-26 17:06:54 +01:00
Roger A. Light
5c0c830229 Fix compilation on musl C systems due to missing sys/time.h header.
Thanks to maxice8.
2019-04-25 21:22:51 +01:00
Roger A. Light
4dcd977932 Windows build fixes. 2019-04-17 20:09:59 +01:00
Roger A. Light
6438ce861e Minor build variant fixes. 2019-04-17 11:00:54 +01:00
Roger A. Light
810940dd5d Fix mosquitto_rr cmake build. 2019-04-17 10:39:51 +01:00
Roger A. Light
cba3380b98 Fix mosquitto_sub encoding of special characters with %j format.
Thanks to Ben Barbour.

Closes #1220.
2019-04-11 21:05:47 +01:00
Roger A. Light
cd8f12f68a Improve some client error messages. 2019-04-11 19:34:01 +01:00
Roger A. Light
54be8d0a46 Fix rr static build. 2019-04-11 19:34:01 +01:00
Roger A. Light
4995436b5a Add --repeat and --repeat-delay to mosquitto_pub. 2019-04-11 19:13:59 +01:00
Roger A. Light
dec769ce33 Client and doc ALPN additions
Add ALPN support for all clients, update documentation, and add to ChangeLog.
2019-04-11 11:52:34 +01:00
Roger A. Light
e4d0d52b01 Fix Coverity Scan 1400483-1400485.
Logically dead code.
2019-04-05 22:02:11 +01:00
Roger A. Light
925debb8a5 Add mosquitto_rr, the "request-response" client. 2019-04-01 22:31:05 +01:00
Roger A. Light
b95a5d87d2 Alphabetic client option order. 2019-03-30 21:18:30 +00:00
Roger A. Light
ec3fd361be https links where possible. 2019-03-30 20:34:40 +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
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
754ac55151 Add warning to mosquitto_pub if publish rejected. 2019-03-13 11:24:14 +00:00
Roger A. Light
1ce1bce941 Add --remove-retained to mosquitto_sub
This can be used to clear retained messages on a broker.
2019-03-02 22:14:54 +00:00
Roger A. Light
ce31269e05 Update changelog, bump version, bump copyright year. 2019-02-28 16:56:15 +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
deb2fdfc98 Use lib provided random id. Change lib generated id to alphanumeric only. 2019-02-27 14:53:07 +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
084062c85e Merge branch 'fixes' into mqtt5 2019-02-12 17:05:42 +00:00
Roger A. Light
9999faf9da Add rewritten build test script and remove some build warnings. 2019-02-12 13:24:54 +00:00