Commit Graph

308 Commits (b8b1674183ae4a451677cf0320222c1c53dc7f06)

Author SHA1 Message Date
Roger Light a5d9986cbd More compiler warning fixes. 5 years ago
Roger Light 2de8c15bc9 Minor build fixes. 5 years ago
Roger Light 9faf89be8d Set `receive-maximum` to not exceed the `-C` message count.
This is for mosquitto_sub and mosquitto_rr, to avoid potentially lost
messages.

Closes #2134. Thanks to Frantisek Fuka.
5 years ago
Roger A. Light 24920c9a08 Fix possible loss of data in `mosquitto_pub -l` when sending multiple long lines.
Closes #2078. Thanks to Ysincit.
5 years ago
Roger A. Light 6c2dca51c3 Clients: Fix config files truncating options after the first space.
Closes #2059. Thanks to Jason White.
5 years ago
Roger A. Light 706a1f3f29 Fix more minor compiler warnings. 5 years ago
Roger A. Light a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
5 years ago
Roger A. Light 370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 5 years ago
Roger A. Light de141540fb Fix mosquitto_sub being unable to terminate with Ctrl-C.
This occured if a successful connection was not made.

Closes #1957. Thanks to Peoh.
5 years ago
Roger A. Light 791c63372b Fix cjson include paths. 5 years ago
Roger A. Light 6ad5f19aef CMake build fixes for Windows. 5 years ago
Roger A. Light 6fe3279436 Build fixes from Windows changes. 5 years ago
Roger A. Light 26ffe1300a Various Windows build fixes. 5 years ago
Roger A. Light 550c54701e Fix cmake build when cjson not available. 5 years ago
Roger A. Light 27967f8885 Prevent possible unitialised use. 5 years ago
Roger A. Light 3731535298 Add SPDX license identifiers. 5 years ago
Roger A. Light 730fc34539 Build fix for WITH_TLS=no. 5 years ago
Roger A. Light 29c771cdd4 Add lib and client support for OS CA certs
- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and  trust OS provided CA certificates for use with TLS connections.
- All clients now load OS provided CA certificates if used with `-L
  mqtts://...`, or if port is set to 8883 and no other CA certificates are
  used. Closes #1824.
- Add the `--tls-use-os-certs` option to all clients.

Closes #1824. Thanks to Jens Reimann.
5 years ago
Roger A. Light b169dc0b1e mosquitto_sub will quit with an error on Windows if %U is used.
Seconds since the Unix epoch is not a parameter that can be obtained
with strftime on Windows.

Closes #1908. Thanks to Danil intl.
5 years ago
Roger A. Light 584cf51ba7 Update to EPL-2.0 5 years ago
Roger A. Light d142ff69a6 Fix Coverity Scan issues.
511427
1431133
1436823
1436837
1436838
1436929
5 years ago
Roger A. Light d26534e22b Fix Coverity scan issues.
1302840
1353078
1431131
1431134
1431135
1436826
1436827
1436828
1436830
1436831
1436834
1436835
1436838
1436839
1436840
1436844
1436846
1436853
1436854
1436859
1436860
1436861
1436863
1436867
5 years ago
Dan White a65242d74a mosquitto_pub: exit if broker actively refuses a connection
Fixes eclipse/mosquitto#1904

If the broker rejects the connection, as opposed to the broker being
down, then there is no hope to establish a connection.  This adds a
status flag so we can signal to the loop that we should just exit.

Signed-off-by: Dan White <dan.white@valpo.edu>
5 years ago
Dan White 61702d7acc mosquitto_pub: exit if server becomes unreachable and QOS > 0
Fixes eclipse/mosquitto#1899

In stdin line mode, mosquitto_pub will continue running and accepting
input even if/when/after publishing fails.  This condition is reached
when it first successfully establishes a connection and the server later
is unreachable.

Exiting with a non-zero exit code allows for much easier health
monitoring when used in a long-running pipe.

Signed-off-by: Dan White <dan.white@valpo.edu>
5 years ago
Roger A. Light a0c39b193b Fix description of `-e` and `-t` arguments in mosquitto_rr.
Closes #1881. Thanks to Arnav Singh.
5 years ago
Roger A. Light 8e7e4a9d9a Clients: Give warning if keepalive too low. 5 years ago
Roger A. Light fdff255916 New dynamic security plugin. 5 years ago
Roger A. Light 4f61f6c161 Fix conversion errors. 5 years ago
Roger A. Light 89733138bb CMake build fixes. 5 years ago
Roger Light 5b4e4f047b Fix mosquitto_sub JSON printing with empty payloads. 5 years ago
Roger Light ff2636b3ae Build fix for Windows. 5 years ago
Roger A. Light c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 5 years ago
Roger A. Light e2123b2561 Add --version for all clients. 5 years ago
Roger A. Light cd33670f6a Fix build with WITH_CJSON=no 5 years ago
Roger A. Light bab8cc2a6b mosquitto_sub now supports extra format specifiers.
These are for field width and precision for some parameters.
5 years ago
Roger A. Light a224a8f217 Don't busy loop with `mosquitto_pub -l` on a slow connection. 5 years ago
Roger A. Light 9929ce0a26 All clients exit with an error exit code on CONNACK failure.
Closes #1778. Thanks to jflambert.
5 years ago
Roger A. Light 1b060bb064 Guard against use-after-free.
Coverity Scan 1431131, 1431135, 1431141.
5 years ago
Roger A. Light e272f8fbca mosquitto_pub: Close file on file too large.
This wasn't a problem because this error caused the program to
exit, so there was no real resource leak.

Coverity Scan 1430457.
5 years ago
Roger A. Light f846711ea2 mosquitto_pub now sends 0 length files without an error when using `-f`. 5 years ago
Roger A. Light cadcde52a4 Remove duplicate code.
Coverity Scan 1430458.
5 years ago
Roger A. Light 5b4b079105 mosquitto_pub: Print reason string on publish error, if it exists. 5 years ago
Abilio Marques 22ffefe7f6 remove cjson stranded reference when building WITH_CJSON=no
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
5 years ago
Roger A. Light 24049b1a1e Fix mosquitto_sub %j or %J not working on Windows.
Closes #1674. Thanks to amigian74.
5 years ago
Roger A. Light c766bdfeb0 Display time out message only on SIGALRM. 5 years ago
Roger A. Light b726e2f1ec mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format. 5 years ago
Roger A. Light 40bad1a999 Fix conversion warnings in client code
Issue #1653.
6 years ago
Roger A. Light 0da723c1ec Add `--random-filter` to mosquitto_sub. 6 years ago
Roger A. Light d96543c0b8 Merge branch 'fixes' into develop 6 years ago
Roger A. Light b0a065f790 Update changelog. Release page. Bump copyright. 6 years ago
Roger A. Light f16d9e2bcf Add file missing from earlier commit. 6 years ago
Roger A. Light 17e20de9e7 Fix session-expiry-interval for v5 clients using -c.
Default behaviour for v5 clients using `-c` is now to use infinite length
sessions, as with v3 clients.

Closes #1546. Thanks to Kiran Pradeep.
6 years ago
Roger A. Light 019d4214b8 Fix session-expiry-interval for v5 clients using -c.
Default behaviour for v5 clients using `-c` is now to use infinite length
sessions, as with v3 clients.

Closes #1546. Thanks to Kiran Pradeep.
6 years ago
Roger A. Light 56d0b950ac Fix `--remove-retained` not obeying the `-T` option.
This means `--remove-retained -t bbc/# -T bbc/one/#` would remove all
retained messages in `bbc/#`, instead of leaving all of the topics in
`bbc/one/#`.

Closes #1585. Thanks to Simon Moser.
6 years ago
Roger A. Light 3671a6dfdb Add `-x` argument to all clients.
This allows the session-expiry-interval property to be easily set for
MQTT v5 clients.
6 years ago
Roger A. Light 4e1e0f955f Record of which client argument letters are in use. 6 years ago
Roger A. Light 6aa9b91fff Add `testing` target for compiling test client fixes. 6 years ago
Roger A. Light d60e86d2a3 Add TCP_NODELAY support to lib and clients.
Closes #1526. Thanks to Felix Moessbauer.
6 years ago
Roger A. Light c0443637e8 Merge branch 'master'
Conflicts:
	ChangeLog.txt
	config.mk
	src/context.c
	src/loop.c
	src/subs.c
	test/broker/01-connect-bad-packet.py
	test/broker/02-subpub-qos1-bad-pubcomp.py
	test/broker/02-subpub-qos1-bad-pubrec.py
	test/broker/02-subpub-qos2-bad-puback-1.py
	test/broker/02-subpub-qos2-bad-puback-2.py
	test/broker/02-subpub-qos2-bad-pubcomp.py
	test/broker/02-subpub-qos2.py
	test/broker/07-will-null-topic.py
6 years ago
Basavesh Shivakumar 9bebab46ca In sub_client.c, call mosquitto_destroy()
Fixes: #1513 and frees resources when someone terminates
via SIGTERM or SIGINT.

Signed-off-by: Basavesh Shivakumar <basavesh.shivakumar@gmail.com>
6 years ago
Roger A. Light 1e04b22833 Fix `mosquitto_pub -l` not sending the final line of stdin
This would happen if the final line did not end with a new line.

Closes #1473. Thanks to majekw.
6 years ago
Roger A. Light 6bde209799 Added `CLIENT_STATIC_LDADD` to makefile builds
This allow more libraries to be linked when compiling the clients with a
static libmosquitto, as required for e.g. openssl on some systems.

Closes #1371. Thanks to Fabrice Fontaine.
6 years ago
Roger A. Light 22eb193309 Merge branch 'stdin-fix-1' of git://github.com/majekw/mosquitto into majekw-stdin-fix-1 6 years ago
Roger A. Light 9cdc822a19 Add changelog, change msg text for previous merge. 6 years ago
Roger Light dc21bc513c
Merge pull request #1430 from abiliojr/exit-on-no-subscription
mosquitto_sub: Exit on all subscription denied
6 years ago
Roger A. Light aabf850a62 Separate pub client loops for better readability. 6 years ago
Roger A. Light 74e1f77310 Fix for previous commit
Stdin mode wouldn't work with normal compiler optimisation levels.
6 years ago
Roger Light 4e7e6c641f
Merge pull request #1473 from majekw/stdin-rewrite
mosquitto_pub: split main loop.
6 years ago
Roger Light 1c6666b63a Add user-property output support to sub/rr. 6 years ago
Roger A. Light 59c0bfe6e1 Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode. 6 years ago
Roger A. Light 9e4226622f Add `--pretty` option to mosquitto_sub/rr
If active, this produces formatted JSON output rather than the normal
minimised output.
6 years ago
Roger Light e5237ae7e5 Add support for sub/rr v5 prop output in JSON mode 6 years ago
Roger A. Light ad5c2e11d9 Use cJSON for producing JSON output in clients.
Closes #1222. Thanks to Ben Barbour.
6 years ago
majekw 50c9a4b0b0 Fix `mosquitto_pub -l` hang when stdin stream ends. Closes #1448.
Signed-off-by: Marek Wodzinski <majek@w7i.pl>
6 years ago
Roger A. Light 8a4ae28fa9 Fix duplicate cfg definition in rr_client.
Closes #1453. Thanks to jveber.
6 years ago
Roger A. Light 499e2f2e98 Add support for unix sockets to broker, lib, and clients. 6 years ago
Marek Wodzinski ede9f2a51d mosquitto_pub: split main loop.
Main loop has two different logics inside: one for stdin input,
second for all other cases. Exit loop condition is also different
for both variants. This commit splits these two variants into
two separate loops.

Signed-off-by: Marek Wodzinski <majek@w7i.pl>
6 years ago
Abilio Marques fb8d03db28 mosquitto_sub exits if no subscription is granted
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
6 years ago
Roger A. Light 54ed3c0fc9 Merge branch 'master' into develop 6 years ago
Roger A. Light 0a8358243b mosquitto_sub: Fix `-E` not working unless `-d` was also specified.
Closes #1418. Thanks to Lichard Torman.
6 years ago
Roger A. Light c1e488cb88 Add timeout return code (27) for sub/rr using -W.
Closes #275.
6 years ago
Roger A. Light a0e7165a9c Fix WITH_STATIC_LIBRARIES using CMake on Windows
Closes #1369. Thanks to TimmvonderMehden
6 years ago
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>
6 years ago
Roger A. Light a22ccbd884 Clients: improve error msgs when connecting v3.x broker with v5 client
Closes #1344. Thanks to HowJMay.
6 years ago
Roger Light 1079a1b697
Merge pull request #1342 from HowJMay/remove_redundant_reset
Remove redundant initialization in clients
6 years ago
Roger A. Light b807daed28 Fix error codes not being returned when mosquitto_pub exits.
Closes #1354. Thanks to Ben Barbour.
6 years ago
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 af7760f1b6 Fix build for WITH_SOCKS=no. 6 years ago
Roger A. Light c685b7ecf4 Fix `mosquitto_pub -l` not handling zero length input.
Closes #1302. Thanks to Marcus Watkins.
6 years ago
Roger A. Light 31f448f35a 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 4d54a51c62 Stop some error messages being printed even when `--quiet` was used.
Thanks to Rob de Jonge.

Closes #1284.
6 years ago
Roger A. Light 7d954fa52e Fix `mosquitto_pub -l` not handling network failures.
Closes #1152. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 1bafe0ee2e Fix double free on exit in mosquitto_pub.
Closes #1280. Thanks to Lucky Saini.
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 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.
6 years ago
Roger A. Light 29cf965b4f Fix mosquitto_pub exiting with error code 0 when an error occurred.
Thanks to janniswarnat.

Closes #1285.
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 a47da31679 Update changelog, improve warning message from last commit. 6 years ago
Till Zimmermann 8518d08ff3 Fixed Segmentation Fault / NULLptr dereference
Signed-off-by: Till Zimmermann <tzimmermann@uni-osnabrueck.de>
6 years ago
Roger A. Light 203949a512 Fix -L url parsing.
Closes #1248. Thanks to Andrew J Freyer.
7 years ago