Commit Graph

254 Commits (debian)

Author SHA1 Message Date
Roger A. Light 6438ce861e Minor build variant fixes. 7 years ago
Roger A. Light 810940dd5d Fix mosquitto_rr cmake build. 7 years ago
Roger A. Light cba3380b98 Fix mosquitto_sub encoding of special characters with %j format.
Thanks to Ben Barbour.

Closes #1220.
7 years ago
Roger A. Light cd8f12f68a Improve some client error messages. 7 years ago
Roger A. Light 54be8d0a46 Fix rr static build. 7 years ago
Roger A. Light 4995436b5a Add --repeat and --repeat-delay to mosquitto_pub. 7 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 e4d0d52b01 Fix Coverity Scan 1400483-1400485.
Logically dead code.
7 years ago
Roger A. Light 925debb8a5 Add mosquitto_rr, the "request-response" client. 7 years ago
Roger A. Light b95a5d87d2 Alphabetic client option order. 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 0941638143 Fix signed/unsigned comparion warnings.
Closes #1196.
7 years ago
Roger A. Light 754ac55151 Add warning to mosquitto_pub if publish rejected. 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 deb2fdfc98 Use lib provided random id. Change lib generated id to alphanumeric only. 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 A. Light 084062c85e Merge branch 'fixes' into mqtt5 7 years ago
Roger A. Light 9999faf9da Add rewritten build test script and remove some build warnings. 7 years ago
Roger A. Light 05458eb35d Fix some unused variable warnings. 7 years ago
Roger A. Light a4f68869bf Fix cmake client build with TLS. 7 years ago
Roger A. Light 70c4097b6f Fix comparison of boolean values in CMake build.
Closes #1101. Thanks to Mojca Miklavec and Andrew L. Moore.
7 years ago
Roger A. Light 4a2e569171 -V now accepts `5, `311`, `31`, as well as `mqttv5` etc. 7 years ago
Roger A. Light 326292681a Add maximum-qos support to broker and client.
This comes in the form of:

* Per listener maximum_qos option, which can be in the range 0-2.
* Changes to mosquitto_publish*() to return MOSQ_ERR_QOS_NOT_SUPPORTED
  if attempting to publish with a higher QoS than supported.
* Bridges will downgrade messages to match the maximum QoS.

More tests on the broker side (specifically bridges) are required. This
needs bridge support for MQTT 5 first.
7 years ago
Roger Light 930a314caf Add reason_code to on_publish_v5 callback. 7 years ago
Roger Light 1f9383d59a Helper test scripts for client properties. 7 years ago
Roger Light 0546e7bebc Add mosquitto_int_option and mosquitto_void_option
This deprecates mosquitto_opts_set().
7 years ago
Roger A. Light 2f54b16544 Fix mosquitto_pub not always sending everything with -l and QoS>0. 7 years ago
Roger A. Light 7c3666d593 Subscription identifier support. 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 34293d07c1 Always print leading zeros in mosquitto_sub when output format is hex.
Closes #1066.

Thanks to skiizo.

Bug: https://github.com/eclipse/mosquitto/issues/1066
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 36e8659762 Only keep reading from stdin if we are connected. 7 years ago
Roger Light 47129e395e Use v5 callback in pub client. 7 years ago
Roger Light 3cb8a52ef3 Add reason code to mosquitto_disconnect_with_properties() 7 years ago
Roger A. Light 85d9cfa2fa Fix pub client stdin mode. 7 years ago
Roger A. Light dd158ffeb3 Split common publish code into separate file. 7 years ago
Roger A. Light 098a1c8ecf Fix subscribe_multiple datatypes. 7 years ago
Roger A. Light beb96c6b8b Merge branch 'master' into develop 7 years ago
Roger A. Light ba67e1ffe5 Don't use gnu-specific strerror_r. 7 years ago
Bartosz Taczała e86b27a2da Adding support for QNX7.0.0
Change-Id: Id01e2880aa5cadc0e93a46b95fe675e1938051fa
Signed-off-by: Bartosz Taczała <bartosz.taczala@mobica.com>
7 years ago
Roger A. Light f9e0fa246a Validate properties coming into client library. 7 years ago
Roger A. Light 4c0c632dfa Client memory "leak" fixes. 7 years ago
Roger A. Light 8aa936936e Library and client support for topic-alias. 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 49a8642986 Disallow properties that are invalid for a command. 7 years ago
Roger A. Light 741a8a9cc3 Client disconnect property support, plus disconnect packet fix. 7 years ago
Roger A. Light 383608613a Client+lib will property support. 7 years ago
Roger A. Light 12cba75c73 Client support for adding properties. 7 years ago
majekw 7f1419e4de Fix mosquitto_pub -l if compiled using cmake.
Since dde005ef92 mosquito_pub is throwing error
that 'threading support has not been compiled' when compiled using cmake.
It looks like WITH_THREADING flag is not set at top level Makefile and used
only in lib/ directory, so library is correctly compiled with threading.
But for client this flag is undefined, so it gives error on '-l' option.

This commit moves part related to WITH_THREADING flag out of lib/CMakeLists.txt
to top levele CMakeLists.txt, so it could be accessible to all subdirectories.

Signed-off-by: Marek Wodzinski <majek@w7i.pl>
7 years ago
Roger A. Light 35dea07dcd Merge branch 'master' 7 years ago
Roger A. Light e5eb03b2e6 Allow building without shared library. 7 years ago
Roger A. Light abb3fee1f8 Coverage reporting for whole broker. 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 dde005ef92 Return error in mosquitto_pub -l if compiled without threading. 7 years ago
Roger A. Light e240a692a7 Fix compiling on Mac OS X <10.12 due to clock_gettime()
Closes #813 and #240.

Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light 3d3b7fc46f Fix default port problem when compiling clients using WITH_TLS=no. 7 years ago
Roger A. Light 3c517e617c Fix static mosquitto_sub compiling. 8 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
Tifaifai Maupiti 4fc90248c5 Fix _POSIX_C_SOURCE : 199309L to 200809L
Signed-off-by: Tifaifai Maupiti <tifaifai.maupiti@gmail.com>
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 40e6a75709 Use c99 as compiling standard.
Closes: #765.
8 years ago
Roger A. Light 8a22b918c0 Fix Coverity Scan defects. 8 years ago
Roger A. Light d55da837aa Add %X for upper case hex printing. 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
Roger A. Light 81cb7ab547 Merge branch 'fixes' into develop 8 years ago
Roger A. Light 15486f48e7 [636] Correctly handle empty files with "mosquitto_pub -l".
Thanks to Aleksandr Makarov.

Bug: https://github.com/eclipse/mosquitto/issues/676
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 9c6a5f3cf0 [656] Fix building on Windows.
Thanks to Arun Kirthi Cherian.

Bug: https://github.com/eclipse/mosquitto/issues/656
8 years ago
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>
8 years ago
Roger A. Light 712cbfe599 Default to mqtt v3.1.1 for clients. 8 years ago
Roger A. Light 59f11aa094 Improve static client building. 8 years ago
Roger A. Light ef7a7850ac Add -c to mosquitto_pub. 8 years ago
Roger A. Light e74203de2c Merge branch 'master' into develop 8 years ago
Roger A. Light 6d63468a28 Don't use / in auto-generated client ids. 8 years ago
Roger A. Light 91b308a11d Merge branch 'master' into develop 9 years ago
Roger A. Light 9a2987c145 Missing malloc check. 9 years ago
Roger A. Light cac5464f7f Use of --ciphers no longer requires you to also pass --tls-version.
Closes #380.

Bug: https://github.com/eclipse/mosquitto/issues/380
9 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 1c3988a397 Merge branch 'master' into develop 9 years ago
Roger A. Light a8a5daf06b Check client topic inputs for valid UTF-8. 9 years ago
Roger A. Light d90cd585dd Add WITH_STRIP build option. 9 years ago
Roger A. Light 99ea5cab7c Default to using port 8883 when using TLS. 10 years ago
Roger A. Light 37dceb38f9 Fix some defects discovered by coverity. 10 years ago
Roger A. Light 49936c8ec3 Incorrect quoting. 10 years ago
Roger A. Light 69a08ab905 Fix string quoting in CMakeLists.txt. Closes #4. 10 years ago
Roger A. Light 35c4d3d59a Handle some unchecked malloc() calls. Closes #1.
Thanks to Markus Elfring.
10 years ago
Roger A. Light 556c629ab5 Don't use reserved names in header guards.
Closes #3.
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 7f9db87f30 Makefile target for static compiled pub/sub clients. 10 years ago
Roger A. Light 1961404ec9 Add --retained-only to mosquitto_sub. 10 years ago
Roger A. Light fca9ac84f7 Merge fixes into develop. 10 years ago
Roger A. Light 3aa698d023 Add -U to mosquitto_sub for unsubscribing from topics. 10 years ago
Roger A. Light c5a376489e [483979] Fix "mosquitto_pub -l" stripping the final character on a line.
Thanks to Allan Kobelansky.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=483979
10 years ago
Roger A. Light 89763a51d9 [478917] Don't truncate lines with "mosquitto_pub -l"
Thanks to Jan-Piet Mens.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=478917
10 years ago
Roger A. Light 9a2eb2038f Drop Windows XP support, misc fixes on Windows. 10 years ago
Roger Light e2324ff9bb Merge remote-tracking branch 'remotes/origin/master' into develop
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	THANKS.txt
	appveyor.yml
	config.mk
	installer/mosquitto-cygwin.nsi
	installer/mosquitto.nsi
	lib/messages_mosq.c
	lib/messages_mosq.h
	lib/mosquitto.c
	lib/mosquitto.h
	lib/net_mosq.c
	lib/net_mosq.h
	lib/send_client_mosq.c
	lib/send_mosq.c
	lib/socks_mosq.c
	lib/will_mosq.c
	src/bridge.c
	src/conf.c
	src/context.c
	src/database.c
	src/loop.c
	src/mosquitto.c
	src/mosquitto_broker.h
	src/net.c
	src/read_handle.c
	src/read_handle_server.c
	src/subs.c
10 years ago
Anmol Sarma a354dd53ae Remove superfluous NULL checks before free()
Change-Id: I39db613c8e75c1437b909de263df4f96a7f76880
Signed-off-by: Anmol Sarma <me@anmolsarma.in>
10 years ago
Roger A. Light 6f88ba3225 Use mosquitto_strerror() instead of displaying the rc. 10 years ago
Roger A. Light c1974e5402 Report error string on connection failure rather than error code. 10 years ago
Eduardo Sanchez dae1f95371
Adding a new temporary variable for realloc memory in order to keep the reference to the allocated memory before the function returns.
In case that realloc fails (i.e. OOM), before exiting with "return(1)", the application is still able to free the corresponding allocated memory.

Signed-off-by: Eduardo Sanchez <ledusanchez@gmail.com>
10 years ago
Roger A. Light 8de6b92e3c Fix calls to mosquitto_connect*_async() not completing. 11 years ago
Roger A. Light 2e05e40350 [464458] mosquitto_sub: Add option to print the payload in hex.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=464458
11 years ago
Roger A. Light a9cd86f206 Fix usage text. 11 years ago
Roger A. Light 15e0236d43 [453850] Add -C option to mosquitto_sub.
Allows the client to quit after receiving count messages.

Replaces the (unreleased) -1 option.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=453850
11 years ago
Roger A. Light be6a6430dd Fix change in macro name. 11 years ago
Roger A. Light 8a35c3cd0d Add client support for MQTT v3.1.1. 11 years ago
Roger A. Light b6a0b01e1e [457162] Fix mosquitto_sub not honouring --qos.
Thanks to Christoph Krey.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457162
11 years ago
Roger A. Light c12d3ebc0b [454852] Support setting keepalive on pub client.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=454852
11 years ago
Roger A. Light d9e41fe065 Remove dead code. 11 years ago
Roger A. Light 41f5d1fd43 Fix parsing of malformed socks urls. 11 years ago
Roger A. Light 166bc2c481 Cleanup client memory on error. 11 years ago
Roger A. Light 36f88d902d Fix errors from big code import. 11 years ago
Roger A. Light 0c3e4e50cc Windows implementation of client config files. 11 years ago
Roger A. Light 42420cae46 Add experimental SOCKS5 support for the clients. 11 years ago
Roger A. Light d9d1f2f7b8 Don't display usage information on every error. 11 years ago
Roger A. Light 65a4b790f3 Check for invalid topics before connecting. 11 years ago
Roger A. Light ae1477c08f Windows fixes. 11 years ago
Roger A. Light e6c5f5af7e Add missing usage text. 11 years ago
Roger A. Light fd7fbba3a5 Use shared config code for debug arg. 12 years ago
Roger A. Light 2db22f3abd Merge 1.3.2 branch in 1.4 branch. 12 years ago
Roger A. Light 58204d984c Fixes for WITH_TLS=no. 12 years ago
Roger A. Light 330a7a882e Add CROSS_COMPILE to Makefiles. 12 years ago
Roger A. Light aab7a2688c Fix SRV support when building with CMake. 12 years ago
Roger A. Light cb0e355d9e Only provide srv capabilities ifdef WITH_SRV. 12 years ago
Roger A. Light dc71f9157d Use $(STRIP) for stripping binaries when installing, to allow easier cross compilation.
Thanks to Frank Pagliughi.
12 years ago
Roger A. Light 0bbdda2c4e Allow comments in config files. 12 years ago
Roger A. Light 7e410eb7f0 CMake fixes for client shared code. 12 years ago