Commit Graph

2209 Commits (0b414c6fff8b5d389ecb67562b471689f7833c21)
 

Author SHA1 Message Date
Martin Kelly d103174b5c correct mosquitto.h return code documentation
We currently erroneously claim that mosquitto_lib_init cannot fail,
while it can fail on Windows, if WSAStartup fails in net__init. Correct
this.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
5 years ago
Martin Kelly 61a50c60d2 add a refcount to library init/cleanup
Add a refcount around mosquitto_lib_init and mosquitto_lib_cleanup so
that multiple calls to init/cleanup don't trigger memory leaks or
double-frees.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
5 years ago
Roger A. Light eae8c9aab4 Fix check when loading persistence file of a different version
Closes #1684. Thanks to grekhss.
5 years ago
Roger A. Light 762ad432e8 Fix support for openssl 3.0 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 c343812c42 Improve client test for unexpected pubrel. 5 years ago
Roger A. Light 946257bf30 Remove spurious version heading. 5 years ago
Roger A. Light e755827f4f Free outgoing client messages even for non-bridges. 5 years ago
Roger A. Light ee7d1981ff Merge branch 'rfc-bridge-local-clean' of git://github.com/etactica/mosquitto into etactica-rfc-bridge-local-clean 5 years ago
Roger A. Light d3247a830a Fix memory leak when connecting clients are rejected. 5 years ago
Roger A. Light bb0e5bb7d3 Add missing header. 5 years ago
Roger A. Light b2e72a7e7c Fix memory leaks only in tests. 5 years ago
Roger A. Light bfc82ea91a Fix incorrect check. 5 years ago
Roger A. Light 4960fc0702 Don't disconnect clients that are already disconnected.
This prevents the session expiry being extended on SIGHUP.

Closes #1521. Thanks to Christoph Krey.
5 years ago
Roger A. Light c5d6f32341 Be more tolerant when loading persistence files. 5 years ago
Roger A. Light eeaafed485 Fix memory leak when connecting clients rejected. 5 years ago
Roger A. Light ff2b111cb3 Fix minor memory leak when load bridge prefixes. 5 years ago
Roger A. Light 4392320bc3 Fix memory leak when cleaning all shared subs. 5 years ago
Roger A. Light ea47f6b0dc Clearer client disconnection message. 5 years ago
Roger A. Light 5908585afd Fix mosquitto_passwd -b not updating passwords for existing users
Closes #1664. Thanks to Leon Kiefer.
6 years ago
Roger A. Light 0296bd2e55 Update example Docker ports.
Port 9001 is used by Intel drivers on Windows, so some users are
suddenly seeing a problem.

Issue #1580.
6 years ago
Roger A. Light 40bad1a999 Fix conversion warnings in client code
Issue #1653.
6 years ago
Roger A. Light 3758e0c328 Fix mosquitto_passwd not being able to create pwfile with -b. 6 years ago
Roger A. Light cef9d891ae Tidy up main(). 6 years ago
Roger A. Light fdaeaee6dd Fix test. 6 years ago
Roger A. Light c72dd39f92 Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1
This applies if connecting to a v3.x only broker.
6 years ago
Roger A. Light 3e9eae401e Missing / in bridge remapping doc. 6 years ago
Roger A. Light 904284595f Add missing test file. 6 years ago
Roger A. Light 21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 6 years ago
Roger A. Light de25ff694e Report invalid bridge prefix+pattern combinations at config parsing time
Rather than letting the bridge fail later.

Issue #1635. Thanks to pokerazor.
6 years ago
Roger A. Light f0deb9a5a1 CMake: Make building clients, broker and C++ library optional.
Issue #1641.
6 years ago
Roger A. Light 4ab0f4bd39 Fix bundled deps option not being propagated to library.
Issue #1641.
6 years ago
Roger A. Light 76248320d7 Travis: Use bionic distro. 6 years ago
Roger Light 986bf89f47 Prototype separate poll/epoll files. 6 years ago
Roger A. Light c3e824ee22 Remove duplicate strlen() calls. 6 years ago
Roger A. Light 95faff36aa Fix ref counting of retained messages. 6 years ago
Roger A. Light 0b7b7389b0 Remove duplicate UTF-8 check
All strings are already validated in packet__read_string().
6 years ago
Karl Palsson 07d73c7e3a bridge: support bridge local clean session
This adds the ability to separating bridge clean session settings between
the local and remote endpoints.  Some broker implmentations refuse to allow
non-clean sessions, as they don't support storing messages to be sent to
the connecting broker.  However, this doesn't mean that the local
broker can't be queueing messages to send _out_ to the remote broker.

This PR adds a new bridge connection setting, local_cleansession, that
allows controlling this split. Naming is chosen to be local_ in keeping
with the other local_ settings for bridges.

A test for the six cases of queued/not queued messages in both
directions is added, but v5 testing is currently disabled.  The changes
to support the split are ~independent of protocol version.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 1a93bab80a mosq_test: add do_receive_send counterpart
Like do_send_receive() but aimed for mocking the other side.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson e700c1c523 mosq_test: print stderr from failure to start broker
Doesn't matter when the tests are running, but useful when you're
writing tests.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 3d45c3186c test/broker: align identical code
06-bridge-b2br-disconnect-qos1 and
06-bridge-br2b-disconnect-qos1 have ~identical header code.

unify the identical bits to make it easier to visually see this.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson efb21fb09c doc: lib clarify _topic_check functions
Removed some whitespace and copy paste errors.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 8c16d7cd50 doc: add mqtt5 property options.
This just gets them all listed, explaining the available apis where they
could be used is left as further work.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 1b4b6f4a2c doc: lib: properly flag code samples for formatting
Uses the NaturalDocs 1.5 compatible style. (Forward compatible with v2)
Uses > for short snippets and the tagged style for longer snippets.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson fd83d2274f doc: lib: avoid unintended code formatting
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 1331399228 doc: lib: specifically document mqtt5_sub_options
This makes the documentation of the options available in
https://mosquitto.org/api/files/mosquitto-h.html#mosquitto_subscribe_v5
a lot cleaner. (and also _subscribe_multiple())

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson d46707fe02 doc: lib_vesion: correctly format return values
Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson 765f7343c2 doc: lib: _xxx_option() and opts_set() cleanup list syntax
This change improves the option list rendering by correctly triggering
naturaldocs detection of the lists.  No change other than line breaks
and whitespace.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago