Commit Graph

631 Commits (2e36d523c8e07d7391847ed6ecfe26a1aa5eadb9)

Author SHA1 Message Date
Roger A. Light 10b9452c6c Fix Coverity Scan 1499821 3 years ago
Roger A. Light 5b44035eba Fix Coverity Scan 1499798, 1499803, 1499813. 3 years ago
Roger A. Light 3250d20fc8 Fix Coverity Scan 1499800 3 years ago
Roger A. Light a000ca2b60 Fix test leak 3 years ago
Roger A. Light 3544d935e0 Fix various Coverity Scan issues. 3 years ago
Roger A. Light 44cf973abb Fix Coverity Scan 982726 3 years ago
Roger A. Light 52da5c0b78 Fix Coverity Scan 1499829, double free. 3 years ago
Roger A. Light f0d7c27a67 Add tests to coverity scan 3 years ago
Roger A. Light 9d3f19b3bb Test tidy 3 years ago
Roger A. Light 74ef9eec4c Don't use deprecated wrap_socket. 3 years ago
Roger A. Light ad8a841a4a More robust SSL test. 3 years ago
Roger A. Light 7fb760ef27 Split config parse tests by tls/not. 3 years ago
Roger A. Light d8bdc17a39 Fix slightly flaky test. 3 years ago
Roger A. Light f2524ee413 Mark unused parameters 3 years ago
Roger A. Light 01dfb6fea1 Persist: Improve tests 3 years ago
Roger A. Light 16feb14a57 Persistence interface updates and sqlite plugin fixes
The MOSQ_EVT_PERSIST_CLIENT_MSG_CLEAR event has been removed, due to
never being called. It is the responsibility of the plugin to remove
client subscriptions and client messages when the client is removed.

Lots of persist test improvements and additions - mostly checking item
counts.
3 years ago
Roger A. Light ef078b31b5 Make persistence tests easier to use for other plugins. 3 years ago
Roger A. Light afc575aa1c Simplify function calls. 3 years ago
Roger A. Light 1d230bd255 dynsec: Fix listClients/getClient crashing if an anon user present
This only affects the unreleased `develop` branch.
3 years ago
Roger A. Light 4997b40259 Report persistence stats when starting. 3 years ago
Roger A. Light 7ec8417e54 Client tests: --version dummy, and float printing for sub. 3 years ago
Roger A. Light 3b56a89b0a Improved client tests 3 years ago
Roger A. Light 3c4d2d0772 Fix persisted clients being restored without a session expiry time. 3 years ago
Roger A. Light 9ab0bc3cbe Build auth_plugin_v5_handle_tick plugin for cmake tests 3 years ago
Roger A. Light fd68bf00c7 Merge branch 'master' into develop 3 years ago
Roger A. Light ba13edc6a4 dynsec: Forbid deleting the anon group. 3 years ago
Roger A. Light 4d1b587e29 dynsec: Forbid deleting the anon group. 3 years ago
Roger A. Light 5d18962486 Improve custom SSL_CTX tests.
Issue #2463.
3 years ago
Roger A. Light 02b92b97ef Fix use of MOSQ_OPT_SSL_CTX when used with MOSQ_OPT_SSL_CTX_DEFAULTS
Closes #2463. Thanks to Tim Nordell.
3 years ago
Roger A. Light 351911bd8f Fix incorrect return code being sent in DISCONNECT.
This is for when a client session is taken over.

Closes #2607. Thanks to der-b
3 years ago
Norbert Heusser f2c59e4048 Split client python tests into test with/without TLS/PSK
Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
Roger A. Light 570d54e4e8 Fix tests on when running under valgrind 3 years ago
Roger A. Light 9b04d0dd36 dynsec: Add roles to group test. 3 years ago
Roger A. Light 684c99261a argv tests for mosquitto_rr 3 years ago
Roger Light ac98c2135f
Merge pull request #2529 from NorbertHeusser/develop
Create github actions to trigger build and tests on devevlop branch
3 years ago
Roger A. Light ca61baf5e3 Merge branch 'add-common-options-target-to-enable-compiler-warnings' of https://github.com/buschulte/mosquitto into buschulte-add-common-options-target-to-enable-compiler-warnings 3 years ago
Norbert Heusser f424667fca Merge branch 'develop' into NorbertHeusser:develop 3 years ago
Kai Buschulte 71456077ad Introduce a common-options cmake target
this makes it possible to explicitly share compile options, without
using the `add_definition` function. This function declares options for
the current directory and below (in our case also for `deps`).

Adding -Wall, -Wconversion and -Wextra to at least make compiler
warnings visible for the cmake build.

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Kai Buschulte f486b45619 CMake: introduce a coverage target
to produce coverage information while running the tests, call cmake with
the following options:

cmake -DCMAKE_C_FLAGS=-coverage -DCMAKE_CXX_FLAGS=-coverage <build-dir>

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Kai Buschulte a883bda9c1 Add CMake test target
Use `ctest` or `make test` to run all tests.
With this it's also possible to run tests on a Mac.

Relative paths used in tests become absolute ones to make tests
executable from any build folder.

Also fixed race condition in
  test/broker/11-persistent-subscription-no-local.py

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Kai Buschulte 0fe397603b Workaround problem with sqlite3-wal files
These files are not removed but empty for some versions of sqlite3

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Kai Buschulte 4eadc96bcb Add Traceback to failing packet_match
This helps finding the caller/cause of the failure

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Norbert Heusser 71e1b92564 Fixed race condition in test/broker/11-persistent-subscription-no-local.py 3 years ago
Roger Light 6c1bb33e86
Merge pull request #2573 from buschulte/throw-broken-pipe-error-when-loosing-connection
throw BrokenPipeError if nothing received on socket
3 years ago
Roger A. Light 34391080d6 Add dynsec init by simple file. 3 years ago
Kai Buschulte a7304083f8 throw BrokenPipeError if nothing received on sock
instead of ignoring this error, we throw an exception
the previous way might cause hard to find issues

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Roger A. Light 3e1cf8a80b Fix tests build. 3 years ago
Roger A. Light 09ac578459 Fix unused flags in CONNECT command being forced to be 0 in MQTT v3.1
This check is not required until v3.1.1.

Closes #2522. Thanks to garinocyr
3 years ago
Norbert Heusser 6fbf6fc5cb
Merge branch 'eclipse:develop' into develop 3 years ago
Roger A. Light 4487b98dbb Fix clean 3 years ago
Norbert Heusser 6150ae6560 Remove mosquitto__set_state after error from send__connect in mosquitto__reconnect to
fix failing test test/lib/02-subscribe-qos1.py $@/02-subscribe-qos1-async2.test

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
Norbert Heusser 306b76d7f6 Create github build action to build Mosquitto and added timeout
to python tests waiting for subprocess to avoid github actione being blocked

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
Roger A. Light 4fd51e9681 Fix incorrect earlier commit 3 years ago
Roger A. Light 4c72542eae Move mosquittopp header to include dir. 4 years ago
Roger A. Light 8a9d8ece37 Fix sqlite test 4 years ago
Roger A. Light 0433b8ee9b Update changelog, fix usage of m_set_clientid(), add test. 4 years ago
Roger A. Light b4a0255f1c Process retain persist events only every 10 seconds. 4 years ago
Roger A. Light 1bb16a68dc Test fixes for running under valgrind 4 years ago
Roger A. Light cbb01193a0 Rename persist retain_add to retain_set 4 years ago
Roger A. Light 2d3b152a22 Rename of mosquitto_msg_store struct.
struct mosquitto_msg_store -> struct mosquitto_base_msg

This is the base message which client messages and retained messages
refer to. The base messages are still held in the message store.

This change comes about because the persistence interface exposes these
message types. Prior to this commit the different messages were "msg",
"client_msg", and "retain". After this commit there is "base_msg",
"client_msg", and and "retain_msg" in the persist interface.
4 years ago
Roger A. Light 41b1b0c6d1 Merge branch 'XavierDooms-fix-support-tick-with-per-listener-settings' into fixes 4 years ago
Roger A. Light 62c0d0c9c8 Merge branch 'fix-support-tick-with-per-listener-settings' of https://github.com/XavierDooms/mosquitto into XavierDooms-fix-support-tick-with-per-listener-settings 4 years ago
Norbert Heusser e7e8b6e832 * Added list of connections to dynsec/getClient response
* Added new helper function mosquitto_apply_on_all_clients to broker
* Refactoring in dynamic-security plugin

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
4 years ago
Olivier Gayot b7fb911428 tests: replace use of ssl.wrap_socket that throws warnings in Python 3.10
The function ssl.wrap_socket() is deprecated starting Python 3.7 because
it does not support hostname matching (which is considered insecure). In
Python 3.10, the function now throws warnings at runtime, which makes
Ubuntu / Debian autopkgtest fail.

The function ssl.SSLContext.wrap_socket comes in as the replacement and
has support for SNI and hostname matching.

Replaced all uses of ssl.wrap_socket() by equivalent using
ssl.SSLContext.wrap_socket().

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
4 years ago
Roger A. Light 3bb8be6ea2 Client tests should not run in parallel. 4 years ago
Roger A. Light ffb7661d86 Move shared code to common directory
This is currently limited to "utility" type functions and does not include code common to the library and broker that are protocol related.
4 years ago
Roger A. Light 5a3b42d4a4 Use path vars in Makefiles. 4 years ago
Roger A. Light df2a4a666f Add missing hunk from previous commit. 4 years ago
Roger A. Light 6f8ced5038 Test fixes. 4 years ago
Roger A. Light c87148ac3e userdata function testing. 4 years ago
Roger A. Light 92c6fcf547 Tests should exit gracefully rather than being terminated. 4 years ago
Roger A. Light 5e601c3853 Library connect tests. 4 years ago
Roger A. Light 3ce8de32ff Fix typo 4 years ago
Roger A. Light 223d9eae66 mosquitto_sub json output tests, and user-properties fix. 4 years ago
Roger A. Light 5006943d9a 'mosquitto_pub -f' and 'mosquitto_pub -L' tests. 4 years ago
Roger A. Light 57ef2be8d3 More client tests. 4 years ago
Roger A. Light 6051a65f51 mosquitto_pub stdin file and line tests. 4 years ago
Roger A. Light 7d9aba112c Remove unused start_broker checks. 4 years ago
Roger A. Light 74b9ed0808 More client tests. 4 years ago
Roger A. Light 9b2c64135f listPlugins command, and test. 4 years ago
Roger A. Light 82658805c7 listListeners command. 4 years ago
Roger A. Light db6b59a336 sqlite retain clear test. 4 years ago
Roger A. Light 73f03983fb Socks proxy test plus fixes. 4 years ago
Roger A. Light ab67dbcacd More client tests, and an output format fix. 4 years ago
Roger A. Light 3139eb3252 More client tests. 4 years ago
Roger A. Light a96615bd4a More client tests. 4 years ago
Roger A. Light dc906c5221 Sqlite persistence plugin. 4 years ago
Roger A. Light 0a0f4ead42 Plugin interface interface and test improvements. 4 years ago
Roger A. Light 33f2817b1e Facility for running tests under failgrind. 4 years ago
Roger A. Light d546ba461a Test fixes. 4 years ago
Roger A. Light ea553619fb Basic client websockets tests. 4 years ago
Roger A. Light eefafdeff7 Fix unix socket test. 4 years ago
Roger A. Light e25cb05fc9 Command arg tests. 4 years ago
Roger A. Light 1ac099ebdd More config parse errors. 4 years ago
Roger A. Light 2d045dbc85 Fix option name. 4 years ago
Roger A. Light 7bd9c5cce1 More config parse error tests. 4 years ago
Roger A. Light 5fab104467 Auth plugin v2, v3 testings. 4 years ago
Roger A. Light 4cd2f85e77 Unix socket connect test. 4 years ago
Roger A. Light aa7e09948b Start of config file parsing error tests. 4 years ago
Roger A. Light 249edc6ba2 include_dir test. 4 years ago