Commit Graph

424 Commits (fd0e39846023af89c09f03b460528f9768720785)

Author SHA1 Message Date
Roger A. Light f2630f9c58 Attempt to fix travis on osx and unreliable test. 5 years ago
Roger A. Light eee34613b4 Fix building of old tests. 5 years ago
Roger A. Light b816d46508 Use db as a global var instead of passing to functions.
This allows a big swath of ifdefs to be removed. It also means savings as the db var is not passed around all of the time, and makes it easier to remove the final broker call to mosquitto_time() call in packet_mosq.c. In one test this reduced the calls to mosquitto_time() from 295k to 48k.
5 years ago
Roger A. Light 255ae24a6d Fix basic dynsec tests. 5 years ago
Roger A. Light 4d9afc835b Fix missing functions in test. 5 years ago
Roger A. Light 042c2733f2 Test and fix for message expiry not increasing send quota. 5 years ago
Roger A. Light a1ad4cfcc4 Dynsec: Rename ACL types for clarity.
publishBrokerToClient -> publishClientReceive
publishClientToBroker -> publishClientSend
5 years ago
Roger A. Light e3ed8879f2 Fix test compilation. 5 years ago
Roger A. Light fdff255916 New dynamic security plugin. 5 years ago
Roger A. Light 3eb39b38da Use atomics in test. 5 years ago
Roger A. Light e104645279 msgps clients now report continuously. 5 years ago
Roger A. Light 899695261a Fix invalid character conversions in test. 5 years ago
Roger A. Light 4ae8971ce1 The broker now sends the receive-maximum property for MQTT v5 CONNACKs. 5 years ago
Roger A. Light 4f61f6c161 Fix conversion errors. 5 years ago
Roger A. Light f18f1a08a9 Merge branch 'feature/add-deny-option-for-acl' of git://github.com/BrandtHill/mosquitto into BrandtHill-feature/add-deny-option-for-acl 5 years ago
Roger A. Light c6b94f6266 Fix running of basic client tests. 5 years ago
Roger A. Light 79028bcb14 Fix duplicate frees in tests. 5 years ago
Roger A. Light a65f946e83 Move headers to own directory. 5 years ago
Roger A. Light c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 5 years ago
Roger A. Light 54b9571516 Enable TLS with certfile+keyfile, not capath/cafile. 5 years ago
Roger A. Light cf1c156765 New plugin interface
This is not specific to authentication, and allows plugins greater flexibility in what events they are interested in. It also adds message handling, and $CONTROL handling.
5 years ago
Roger A. Light 97bd527df0 Breaking: allow_anonymous defaults to false. 5 years ago
Roger A. Light 1b269270bc Sort failed tests when reporting. 5 years ago
Roger A. Light 4372a2b925 Default test timeout of 60s by default is too long. 5 years ago
Roger A. Light f87ef68fae Detect closed socket in tests. 5 years ago
Roger A. Light cec24116d8 Add very basic client tests. 5 years ago
Roger A. Light 5daa5ee162 Add support for $CONTROL/ topics in plugins. 5 years ago
Roger A. Light 748e5f69c8 Fix acl-access-variants test. 5 years ago
Brandt Hill 16eecfcbc5 Add 'deny' as an option for topics/patterns in acl file to allow certain topics to be explicitly denied when they might otherwise be allowed through a more open read/write/readwrite option. Example: 'topic readwrite test/#' and 'topic deny test/hello/#' may be added so that a user can read/write to all test/# topics, except for test/hello/#.
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Change variable name for clarity. Remember to initialize bool (I'm bad at C).

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add documentation to config man page

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add test case for deny option

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

Add deny acls to top of the list to preserve early exit

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>

change comments

Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
5 years ago
Roger Light 58aa41c813 Optimise use of db__message_write()
New messages are now queued for clients when old ones are sent, rather than on every iteration of the main loop. This produces good performance improvements.
5 years ago
Roger A. Light 69f84bbca9 Simplify "expect_packet" tests. 5 years ago
Roger A. Light ba2c00137d Fix client test leaks. 5 years ago
Roger A. Light 2dc8d2a19a Allow plugins to send messages to specific clients. 5 years ago
Roger A. Light c94e111d73 expect_packet now raises an exception
This should allow tests to be simpler - no more nested ifs.
5 years ago
david-beinder c11d20f82c Database v6 tests
keep v5 client read test to test for backwards compatability
adds username="usrname" and listener_port=1883 for v6 tests

Signed-off-by: david-beinder <david.beinder@mce.li>
5 years ago
Roger A. Light 84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 5 years ago
Roger A. Light b1e9377a20 Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs. 5 years ago
Roger A. Light 8416b007ec Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs. 5 years ago
Roger A. Light 0edb3e49e7 Remove debug mode 5 years ago
Roger A. Light b5be4fb4af Fix test 5 years ago
Roger A. Light 6deb417804 Simplify db__message_store() interface. 5 years ago
Roger A. Light e3e8dc4ea4 Allow send__pub{ack,rec,rel,comp} to send properties. 5 years ago
Roger A. Light c343812c42 Improve client test for unexpected pubrel. 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 bb0e5bb7d3 Add missing header. 5 years ago
Roger A. Light b2e72a7e7c Fix memory leaks only in tests. 5 years ago
Roger A. Light cef9d891ae Tidy up main(). 6 years ago
Roger A. Light fdaeaee6dd Fix test. 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
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
Roger A. Light a16d7e0661 iDon't treat an unexpected PUBREL as fatal.
Issue #1629. Thanks to radcrabs.
6 years ago
Michael 4d658bd569 Fix compile error/warning
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
6 years ago
Roger A. Light d96543c0b8 Merge branch 'fixes' into develop 6 years ago
Roger A. Light c2ec6f002e Fix test to match fixed protocol check. 6 years ago
Roger A. Light 3ff0d04910 Update test key length to 2048 to avoid new openssl rejections. 6 years ago
Roger A. Light 8d5fd7d1e2 Fix `mosquitto_topic_matches_sub()` behaviour with wildcards in topic.
It was not returning MOSQ_ERR_INVAL if the topic contains a wildcard.

Closes #1589. Thanks to mdelete.
6 years ago
Gianfranco Costamagna 7a5c2d4da5 Bugfix: include "deps" directory only if BUNDLED_DEPS has been provided and set to true
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
6 years ago
Roger A. Light 27b4518d7e Improve password file parsing in the broker and mosqitto_passwd.
Closes #1584. Thanks to panava.
6 years ago
Roger A. Light 70fd600c3a Fix trailing whitespace not being trimmed on acl users.
Closes #1539. Thanks to CliveJL and LeonPoon.
6 years ago
Roger A. Light 17db97584e Fix client keepalive test using too low keepalive. 6 years ago
Roger A. Light c8789180f3 Fix session expiry with very large expiry intervals.
Closes #1525. Thanks to Christoph Krey.
6 years ago
Roger A. Light 3f0c202aa5 Reduce heap allocation churn when tokenising topics. 6 years ago
Roger A. Light 9ee6e2725c Start of tests for adding subscriptions. 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
Roger Light d92360dd8e Split sub and retain trees. 6 years ago
Roger A. Light 16dc5456bd Enable MQTT v5 in outgoing retain test. 6 years ago
Roger A. Light 2af260ba58 Add `bridge_outgoing_retain` option
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
6 years ago
Roger A. Light 28c11f4cce Fix tests where broker suddenly disconnects client
This seems to be required just on more modern Python versions.
6 years ago
Roger A. Light aceabcdef2 Tidy up async test outputs. 6 years ago
Jerome Malinge fba1f6bc0a Fix test on invalid null will topic value in connect packet
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
6 years ago
Jerome Malinge 11dc077d15 Fix test on invalid reserved bit value in connect packet
Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
6 years ago
Jerome Malinge ce0b0d23d6 Add send of pubcomp in 02-subpub-qos2 script
To keep the broker session working while launching several tests on
the same broker, the last packet of this transaction must be sent.

Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
6 years ago
Jerome Malinge d76e5fd199 Fix way of sending packets in compliance tests
According to the documentation of python 3 socket::send method
(https://docs.python.org/3/library/socket.html#socket.socket.send),
the call to send must be retry until all data is sent while sending
packet with a "large" amount of data.

Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
6 years ago
Roger A. Light b2a9daf1db 02 broker subpub tests with v5 support 6 years ago
Roger A. Light b966455f21 02 broker subscribe tests with v5 support 6 years ago
Roger A. Light 3261c30d08 02 broker unsubscribe tests with v5 support 6 years ago
Roger A. Light e0d0af54a5 01 broker tests with v5 support 6 years ago
Roger A. Light 7b73cd2bf7 04 broker tests with v5 support 6 years ago
Roger A. Light b9360bb147 Fixes for 06 broker v5 tests 6 years ago
Roger A. Light cae7ddeec1 10 broker tests with v5 support 6 years ago
Roger A. Light feb79d5880 11 broker tests with v5 support 6 years ago
Roger A. Light c453d2cb3e 07 broker tests with v5 support 6 years ago
Roger A. Light 48f1ca8538 05 broker tests with v5 support 6 years ago
Roger A. Light 16f57cc834 Simpler v5 session expiry in tests. 6 years ago
Roger A. Light 98d600099b 03 broker tests with v5 support 6 years ago
Roger A. Light 7ea5ba845b Add "ready" message to will takeover test. 6 years ago
Roger A. Light 09e95fff5a Add test for session takeover and wills. 6 years ago
Roger A. Light 87bd08b0e0 Add MQTT v5 support to bridge tests. 6 years ago
Roger A. Light fad184c9c2 Bridge remapping refactoring and tests. 6 years ago
Roger A. Light 8463c33720 Refactor property remaining length calculation. 6 years ago
Roger A. Light c471dfb201 Fix sub topics being limited to 200 chars instead of 200 levels
Closes #1441. Thanks to Christoph Krey.
6 years ago
Roger A. Light 093c8f90f5 Fix publish props not being passed to v5 msg callback for QoS 2 msgs.
Closes #1432. Thanks to Magnus Galåen.
6 years ago
Roger A. Light 4db1e80410 More allow_zero_length_clientid fixes.
Closes #1429. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 539c1b9bcb Tests for zero length client id, plus fix for one case where it was allowed 6 years ago
Roger A. Light 8dcb993274 Some tests weren't using python3. 6 years ago
Roger A. Light 1a8c44b84f Fix regression on use of `mosquitto_connect_async()` not working.
Closes #1415 and #1422. Thanks to Karl Palsson, Till Zimmermann and Liam Fry.
6 years ago