Commit Graph

356 Commits

Author SHA1 Message Date
Roger A. Light
a65f946e83 Move headers to own directory. 2020-10-07 22:06:01 +01:00
Roger A. Light
c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 2020-09-24 17:03:14 +01:00
Roger A. Light
54b9571516 Enable TLS with certfile+keyfile, not capath/cafile. 2020-09-23 23:31:00 +01:00
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.
2020-09-22 14:49:28 +01:00
Roger A. Light
97bd527df0 Breaking: allow_anonymous defaults to false. 2020-09-17 11:29:32 +01:00
Roger A. Light
1b269270bc Sort failed tests when reporting. 2020-09-16 14:45:28 +01:00
Roger A. Light
4372a2b925 Default test timeout of 60s by default is too long. 2020-09-16 14:45:22 +01:00
Roger A. Light
f87ef68fae Detect closed socket in tests. 2020-09-16 14:32:23 +01:00
Roger A. Light
cec24116d8 Add very basic client tests. 2020-09-15 13:25:44 +01:00
Roger A. Light
5daa5ee162 Add support for $CONTROL/ topics in plugins. 2020-09-10 15:32:47 +01:00
Roger A. Light
748e5f69c8 Fix acl-access-variants test. 2020-09-07 16:11:18 +01:00
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.
2020-08-12 15:29:08 +01:00
Roger A. Light
69f84bbca9 Simplify "expect_packet" tests. 2020-08-12 15:18:18 +01:00
Roger A. Light
ba2c00137d Fix client test leaks. 2020-08-12 15:18:17 +01:00
Roger A. Light
2dc8d2a19a Allow plugins to send messages to specific clients. 2020-08-12 15:18:17 +01:00
Roger A. Light
c94e111d73 expect_packet now raises an exception
This should allow tests to be simpler - no more nested ifs.
2020-08-12 15:18:17 +01:00
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>
2020-08-07 08:56:52 +02:00
Roger A. Light
84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 2020-08-02 23:12:47 +01:00
Roger A. Light
b1e9377a20 Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs. 2020-08-02 15:10:12 +01:00
Roger A. Light
8416b007ec Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs. 2020-08-02 14:22:40 +01:00
Roger A. Light
0edb3e49e7 Remove debug mode 2020-07-16 11:23:25 +01:00
Roger A. Light
b5be4fb4af Fix test 2020-07-16 09:36:42 +01:00
Roger A. Light
6deb417804 Simplify db__message_store() interface. 2020-07-10 16:09:33 +01:00
Roger A. Light
e3e8dc4ea4 Allow send__pub{ack,rec,rel,comp} to send properties. 2020-07-10 12:29:53 +01:00
Roger A. Light
c343812c42 Improve client test for unexpected pubrel. 2020-05-05 23:25:42 +01:00
Roger A. Light
ee7d1981ff Merge branch 'rfc-bridge-local-clean' of git://github.com/etactica/mosquitto into etactica-rfc-bridge-local-clean 2020-05-05 14:33:02 +01:00
Roger A. Light
bb0e5bb7d3 Add missing header. 2020-05-05 14:20:56 +01:00
Roger A. Light
b2e72a7e7c Fix memory leaks only in tests. 2020-05-05 14:19:04 +01:00
Roger A. Light
cef9d891ae Tidy up main(). 2020-04-08 11:34:31 +01:00
Roger A. Light
fdaeaee6dd Fix test. 2020-04-07 16:10:02 +01:00
Roger A. Light
904284595f Add missing test file. 2020-03-30 20:47:30 +01:00
Roger A. Light
21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 2020-03-28 23:33:01 +00:00
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>
2020-03-20 12:35:06 +00:00
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>
2020-03-20 10:47:17 +00:00
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>
2020-03-20 10:47:17 +00:00
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>
2020-03-20 10:47:11 +00:00
Roger A. Light
a16d7e0661 iDon't treat an unexpected PUBREL as fatal.
Issue #1629. Thanks to radcrabs.
2020-03-19 15:38:29 +00:00
Michael
4d658bd569 Fix compile error/warning
Signed-off-by: Michael Liu <michael.liu.point@gmail.com>
2020-03-12 12:13:26 +00:00
Roger A. Light
d96543c0b8 Merge branch 'fixes' into develop 2020-03-03 12:54:57 +00:00
Roger A. Light
c2ec6f002e Fix test to match fixed protocol check. 2020-02-27 23:12:28 +00:00
Roger A. Light
3ff0d04910 Update test key length to 2048 to avoid new openssl rejections. 2020-02-25 14:54:25 +00:00
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.
2020-02-07 22:55:50 +00:00
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>
2020-02-06 15:20:29 +00:00
Roger A. Light
27b4518d7e Improve password file parsing in the broker and mosqitto_passwd.
Closes #1584. Thanks to panava.
2020-02-04 16:38:51 +00:00
Roger A. Light
70fd600c3a Fix trailing whitespace not being trimmed on acl users.
Closes #1539. Thanks to CliveJL and LeonPoon.
2020-01-30 19:52:46 +00:00
Roger A. Light
17db97584e Fix client keepalive test using too low keepalive. 2020-01-30 15:06:15 +00:00
Roger A. Light
c8789180f3 Fix session expiry with very large expiry intervals.
Closes #1525. Thanks to Christoph Krey.
2019-12-12 09:40:37 +00:00
Roger A. Light
3f0c202aa5 Reduce heap allocation churn when tokenising topics. 2019-12-11 13:23:59 +00:00
Roger A. Light
9ee6e2725c Start of tests for adding subscriptions. 2019-12-04 11:02:52 +00:00
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
2019-12-03 13:59:05 +00:00