Commit Graph

322 Commits (c8e1cd963a70bdbf64c1f56d27ffb7de792fba27)

Author SHA1 Message Date
Roger A. Light 214feb8f6b Merge branch 'fixes' into develop 4 years ago
Roger Light be96d21e7b Fix potential double free. 4 years ago
Roger Light 0a90e62f93 CMake tidy. 4 years ago
Roger Light 07399c2f3c Fix `mosquitto_pub -l` quitting if broker unavailable.
This could occur when a message publication is attempted when the broker
is temporarily unavailable.

Closes #2187. Thanks to JsBergbau.
4 years ago
Roger A. Light c8cd3590f1 Check for NULL. 4 years ago
Roger Light e1c8f09372 Remove C++ style comments. 4 years ago
Roger Light 5434931dbc Merge branch 'fixes' of git://github.com/bk138/mosquitto into bk138-fixes 4 years ago
Roger Light ef7662ca8e Merge branch 'master' into develop 4 years ago
Roger A. Light 613489f735 Fix typo. 5 years ago
Christian Beier fe10226cc9 Fix building with Visual Studio 2008
This older Microsoft compiler does not support mixing declarations and
code and misses some error defines. This commit enables building with
VS2008 by moving up some variable declarations and defining error
codes to their WinSock counterparts in case they're not defined.

Signed-off-by: Christian Beier <info@christianbeier.net>
5 years ago
Roger A. Light 8dbfdc0495 Add `--no-tls` option for all clients.
This disables all TLS options for that instance. This is useful for
negating TLS options provided in a config file, or to disable the
automatic use of TLS when using port 8883.

Closes #2180. Thanks to Elliott Balsley.
5 years ago
Roger Light efad820706 Add `-o` option for all clients loading options from a specific file. 5 years ago
Roger A. Light ec54bce037 Fix mosquitto_sub pipe close detection.
If sending mosquitto_sub output to a pipe, mosquitto_sub will now detect
that the pipe has closed and disconnect.

Closes #2164. Thanks to Frantisek Fuka.
5 years ago
Roger A. Light 7d214a445d Fix TLS-PSK mode not working with port 8883.
Closes #2152. Thanks to jetpax.
5 years ago
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